Check for deprecated packages
Since version 1.4.0, npm-deprecated-check requires Node.js 18 or higher.
npm install -g npm-deprecated-check- Check the packages of current project, global or specified is deprecated.
- According to the version range of lockfile and package.json.
- Additionally checks if the running node version reached End Of Life.
- Return the minimum upgradable version.
- Check if the current environment meets the Node.js version range required for dependency operation.
- Calculate the minimum Node.js version required across all dependencies.
- Suggest compatible dependency versions when Node.js version requirements are not met.
- Check Node.js version compatibility for a project or package when upgrading or downgrading Node.js.
- MCP Server support: expose tools for external AI agents to consume deprecation data.
The tool automatically analyzes Node.js version requirements across all dependencies and provides helpful information.
By default, you get a concise summary showing the recommended engines.node value:
Node Version Summary:
Minimum engines.node: >=20.0.0
Recommendation: Update package.json engines.node to ">=20.0.0"
Current: >=18.12
Use the --verbose flag for detailed information:
ndc current --verboseNode Version Summary (detailed):
Minimum Node version (production): 20.0.0
Determined by: eslint@9.35.0
Minimum Node version (development): 20.17.0
Determined by: typescript@5.7.2
Current Node version: v25.4.0
Project engines.node: >=18.12
Production dependencies require Node >=20.0.0, but package.json allows >=18.12
Consider updating engines.node to ">=20.0.0"
When a dependency requires a newer Node.js version than you're currently running, the tool suggests a compatible alternative version:
WARN eslint@9.35.0: 2024-10-05T18:45:12.345Z
Required node: ^18.18.0 || ^20.9.0 || >=21.1.0
Compatible version for current Node: 8.57.1
Usage: ndc <command> [options]
Options:
-V, --version output the version number
-h, --help display help for command
Commands:
current [options] check the packages of the current project
global [options] check global packages, default: npm
package [options] <packageName> check for specified package
compat [options] [packageName] check Node.js version compatibility for project or package
node check if used node version is deprecated (reached End Of Life)
config [options] inspect and modify the config
help [command] display help for commandFor current:
Options:
--registry <value> specify registry URL, default: https://registry.npmjs.org/
--ignore <value> ignore specific packages, example: request,tslint
--failfast exit the program if it has been deprecated
--deep deep inspection for monorepo projects
--verbose show detailed Node version compatibility informationFor global:
Options:
-m, --manager <value> check specified package manager (choices: "npm", "yarn", "pnpm")
--registry <value> specify registry URL, default: https://registry.npmjs.org/
--ignore <value> ignore specific packages, example: request,tslint
--failfast exit the program if it has been deprecatedFor package:
Options:
-r, --range <value> check specified versions
--registry <value> specify registry URL, default: https://registry.npmjs.org/For compat:
Usage: ndc compat [packageName] [options]
check Node.js version compatibility for project or package
Options:
--node <version> target Node.js version (e.g. "18", "20.11.0"), default: current Node version
--deep deep inspection for monorepo projects (project mode only)
--ignore <value> ignore specific packages, example: request,tslint
--registry <value> specify registry URL, default: https://registry.npmjs.org/Check current project against the current Node version:
ndc compatCheck current project against a target Node version:
ndc compat --node 18Check a specific package against a target Node version:
ndc compat esbuild --node 18Deep check monorepo projects:
ndc compat --node 20 --deepYou can also save options to global configuration:
Usage: ndc config [options]
inspect and modify the config
Options:
-g, --get <path> get value from option
-s, --set <path> <value> set option value
-d, --delete <path> delete option from config
-l, --list list all optionsnpm-deprecated-check can run as an MCP (Model Context Protocol) Server, exposing its checking capabilities as tools for AI agents.
npx -y npm-deprecated-check --mcpClaude Desktop / OpenCode (recommended: global install):
{
"mcpServers": {
"npm-deprecated-check": {
"command": "npm-deprecated-check",
"args": ["--mcp"]
}
}
}Install globally first:
npm install -g npm-deprecated-check
Claude Desktop / OpenCode (npx):
{
"mcpServers": {
"npm-deprecated-check": {
"command": "npx",
"args": ["-y", "npm-deprecated-check", "--mcp"]
}
}
}| Tool | Description |
|---|---|
check_package |
Check if a specific npm package is deprecated |
check_current_project |
Check all dependencies of the current project |
check_global |
Check globally installed packages |
check_node |
Check if the current Node.js version has reached EOL |
check_compat |
Check Node.js version compatibility for a project or package |
All tools return structured JSON data. The AI agent can use this data to provide recommendations, suggest alternatives, or generate reports.
check_package:
packageName(required) β npm package namerange(optional) β version range, e.g."^1.0.0"registry(optional) β custom npm registry URL
check_current_project:
ignore(optional) β comma-separated package names to ignoredeep(optional) β deep inspection for monorepo projectsregistry(optional) β custom npm registry URL
check_global:
manager(optional) β package manager:"npm","yarn", or"pnpm"(default:"npm")ignore(optional) β comma-separated package names to ignoreregistry(optional) β custom npm registry URL
check_node: No parameters.
check_compat:
packageName(optional) β npm package name. If not provided, checks the current projectnodeVersion(optional) β target Node.js version (e.g."18","20.11.0"). Defaults to current Node versionprojectPath(optional) β absolute path to project root (only used whenpackageNameis not provided)deep(optional) β deep inspection for monorepo projectsignore(optional) β comma-separated package names to ignoreregistry(optional) β custom npm registry URL
npm-deprecated-check is inspired by check-is-deprecated.
