Skip to content

MIP 2.0

Choose a tag to compare

@kiwinatra kiwinatra released this 26 Jun 18:24
cee3560

Priority Building mip yourself when using pkg-ed executables

🚀 Mip 2.0 - Officially Released!

checksums.txt

After months of development, we are proud to announce the official release of Mip 2.0! This is a complete rewrite from the ground up, focusing on speed, simplicity, and extensibility. Forget npm, forget yarn—Mip is here to redefine package management.


⚡ What's New in 2.0?

🧠 Core Architecture Rebuild

  • Complete rewrite from a simple script to a robust, modular package manager.
  • Global cache (~/.mip/store/): All packages are stored once and symlinked into projects. This eliminates the massive duplication of node_modules.
  • Zero node_modules/: Say goodbye to the infamous black hole of disk space. Mip uses symlinks to the global cache.

⚡ Performance Unleashed

  • Up to 10x faster than npm on re-installs and 2x faster than pnpm.
  • Parallel downloads: Mip fetches packages concurrently, making cold installs blisteringly fast.
  • Streaming extraction: No temporary files, just pure speed.

🔌 Plugins System

  • Mip now has a first-class plugin system. Extend the CLI with custom commands, hooks, and integrations.
  • Official plugins are available for Webpack, Vite, and Tailwind CSS—with more to come.

📝 YAML Configs

  • mip.json is now mip.yml. YAML is easier to read, supports comments, and is a joy to edit.
  • Automatic migration from old mip.json files.

🌍 Custom Languages

  • i18n support is now extensible. Create your own language packs!
  • Community languages are available as plugins. (We're looking at you, Pirate and Lolcat 🌊🐱).

🔒 Security & Diagnostics

  • mip audit now provides detailed vulnerability reports with auto-fix capabilities.
  • mip doctor performs a full system check to ensure your environment is optimal.

🛠️ New Commands & Improvements

Core Commands

Command Description
mip init Creates a new mip.yml project.
mip install Fast, dependency installation.
mip update Update all packages with a single command.
mip uninstall Remove packages cleanly.

Plugin Management

Command Description
mip plugin create Scaffold a new plugin.
mip plugin compile Compile a plugin to the cache.
mip plugin activate Activate a plugin.
mip pe (Plugin Execute) Run a specific plugin command.

Developer Experience

| Command | Description |

| :--- | :--- |
| mip exec | Run a binary from a locally installed package. |
| mip why | Find out why a package is installed. |
| mip link | Link local packages for development. |
| mip workspaces | Full support for monorepos. |


📦 Package Management Redefined

  • Global Store: ~/.mip/store/ manages all versions, eliminating duplicates.
  • Lockfile: mip-lock.yml ensures deterministic installs.
  • Offline Mode: Once installed, packages are always available.
  • NPM Compatible: Works seamlessly with package.json for easy migration.

🔧 Technical Improvements

  • Developer Tools: Integrated mip doctor and mip audit for system health.
  • Modular Codebase: Cleanly separated concerns for easier maintenance.
  • Better Logging: Verbose logs are now hidden by default for cleaner output—enable DEBUG=1 to see the magic.

🚀 How to Get Started

Installation

git clone https://github.com/kiwinatra/mip
cd mip
npm install
npm run build

First Project

mip init
mip install express
mip run start

🌐 New Website & Documentation

The new sites are live and contain full guides, API references, and plugin documentation.


🎯 What's Next?

We're already planning Mip 3.0, with a focus on community-driven features:

  • More official plugins
  • Plugin marketplace
  • Performance benchmarks comparison tool
  • Enhanced monorepo support

🤝 Contributors & Community

A massive thank you to all the contributors, testers, and early adopters. This release wouldn't have been possible without you.


📄 Full Changelog

For a detailed list of all changes, check out the full changelog:

Full Changelog: 1.1.5...2.0


Mip 2.0 is here to set you free. Go ahead, give it a spin and let us know what you think! 🚀