Skip to content

donfear/inup

Repository files navigation

🚀 inup

npm version Downloads Total downloads

Upgrade your dependencies interactively. Works with npm, yarn, pnpm, and bun.

Interactive Upgrade Demo

🚀 Usage

npx inup

Or install globally:

npm install -g inup

That's it. The tool scans your project, finds outdated packages, and lets you pick what to upgrade.

💡 Why inup?

  • Inclusive by Default: We load Dev, Peer, and Optional dependencies automatically. No more restarting the tool because you forgot a --peer flag.
  • Live Toggles: Toggle dependency types (d, p, o) on the fly without exiting.
  • Zero Config: Auto-detects your package manager.
  • Monorepo Ready: Seamlessly handles workspaces.
  • Modern UX: Search with /, view package details with i, and swap themes with t.

⌨️ Keyboard Shortcuts

  • ↑/↓ - Navigate packages
  • ←/→ - Select version (current, patch, minor, major)
  • Space - Toggle selection
  • m - Select all minor updates
  • l - Select all latest updates
  • u - Unselect all
  • / - Search packages
  • t - Change theme
  • i - View package info
  • Enter - Confirm and upgrade

⚙️ Options

inup [options]

-d, --dir <path>              Run in specific directory
-e, --exclude <patterns>      Skip directories (comma-separated regex)
-i, --ignore <packages>       Ignore packages (comma-separated, glob supported)
--max-depth <number>          Maximum scan depth for package discovery (default: 10)
--package-manager <name>      Force package manager (npm, yarn, pnpm, bun)
--debug                       Write verbose debug logs

🔒 Privacy

We don't track anything. Ever.

Version checks and package metadata are fetched from the npm registry. When needed for immutable exact-version manifests, inup may also fetch a pinned package.json from jsDelivr. Weekly download counts come from the npm downloads API.

📄 License

MIT