Skip to content

donfear/inup

Repository files navigation

inup — Interactive Dependency Upgrader

npm version Downloads Total downloads CI License: MIT

Interactively upgrade outdated dependencies across npm, yarn, pnpm, and bun. Auto-detects your package manager, works in monorepos and workspaces, and requires zero configuration.

Interactive Upgrade Demo

Quick Start

npx inup

Or install globally with your preferred package manager:

npm install -g inup
pnpm add -g inup
yarn global add inup
bun add -g inup

Run inup in any project — it scans for outdated packages and lets you pick what to upgrade.

Why inup?

  • All Dependencies at Once — Dev, peer, and optional dependencies load automatically. No more re-running with --peer or --dev flags.
  • Live Toggles — Filter dependency types (d, p, o) on the fly without restarting.
  • Zero Config — Auto-detects npm, yarn, pnpm, or bun from your lockfile.
  • Monorepo Ready — Discovers and upgrades across workspaces seamlessly.
  • Vulnerability Audit — Flags known security vulnerabilities right in the package list so you know what's risky before upgrading.
  • Changelog Viewer — Read release notes and changelogs inline without leaving the terminal.
  • Built-in Search — Press / to filter packages instantly.
  • Package Details — Press i to view package info, download stats, and more.
  • Themes — Press t to switch between color themes.

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

Keyboard Shortcuts

Key Action
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
i View package info
t Change theme
Enter Confirm and upgrade

Privacy

No tracking, no telemetry, no data collection. Package metadata is fetched directly from the npm registry. Download counts come from the npm downloads API. When needed for exact-version manifests, inup may fetch a pinned package.json from jsDelivr.

License

MIT