Upgrades your package.json dependencies to the latest versions while preserving existing semantic versioning policies.
npm-check-updates is a CLI tool that upgrades dependencies in your package.json to their latest versions. It solves the problem of manually checking and updating npm packages by automating the process while respecting your existing version constraints. The tool helps developers maintain up-to-date dependencies efficiently and safely.
JavaScript and Node.js developers who manage projects with npm, yarn, pnpm, deno, or bun package managers and want to automate dependency updates.
Developers choose npm-check-updates for its balance of automation and control—it offers powerful filtering, interactive selection, and safety features like cooldown protection and doctor mode, making dependency upgrades less error-prone than manual updates.
Find newer versions of package dependencies than what your package.json allows
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Maintains existing version range policies like ^ or ~ when upgrading, ensuring consistency—for example, updating "^17.0.2" to "^18.3.1" without altering range semantics.
Compatible with npm, yarn, pnpm, deno, and bun, automatically detecting lock files, making it versatile across JavaScript ecosystems without vendor lock-in.
Offers an interactive mode with visual prompts and keyboard controls (e.g., Space to toggle, Enter to upgrade) for granular control over which packages to update.
Includes doctor mode for iterative testing of breaking changes and cooldown protection to ignore recently published packages, reducing supply chain attack risks.
Only updates package.json, requiring a separate command like npm install to update lock files and node_modules, which adds overhead and potential for missed steps.
Predicate functions for filtering and targeting are only available in .ncurc.js or module usage, not on the command line, limiting advanced customization for casual users.
Cooldown periods can prevent all updates for frequently published packages (e.g., daily releases), as admitted in the README, potentially stalling dependency maintenance.