@asdsadw12312dwd2112xz/dep-check-cli
v1.0.0
Published
Check project dependencies for unused, missing, duplicate, and deprecated packages
Downloads
67
Maintainers
Readme
dep-check-cli
A fast CLI tool to check your Node.js project dependencies for common issues.
Features
- Find unused dependencies declared in
package.jsonbut never imported - Find missing dependencies imported in source files but not declared
- Detect duplicate packages installed at multiple levels of
node_modules - Show dependency sizes ranked by disk usage
- Check for deprecated packages via the npm registry
- Monorepo support with automatic workspace detection
- JSON output for CI/CD integration
- Color-coded output (red = unused, yellow = missing, green = ok)
Installation
npm install -g dep-check-cliOr run without installing:
npx dep-check-cliUsage
dep-check-cli [path] [options]Options
| Flag | Description |
|------|-------------|
| [path] | Project directory to check (default: .) |
| --sizes | Show installed package sizes ranked by disk usage |
| --deprecated | Check for deprecated packages (makes npm network calls) |
| --recursive | Scan all workspace packages in a monorepo |
| --json | Output results as JSON (useful for CI) |
| -v, --verbose | Show extra details (e.g. duplicate package locations) |
| --version | Print version number |
| --help | Show help |
Examples
Check current project:
dep-check-cliCheck a specific project:
dep-check-cli ./my-projectShow package sizes:
dep-check-cli --sizesMonorepo scan with sizes:
dep-check-cli --recursive --sizesCheck for deprecated packages:
dep-check-cli --deprecatedJSON output for CI:
dep-check-cli --json | jq '.summary'Output
Project: /path/to/my-project
────────────────────────────────────────────────────────────
Unused deps (2):
✗ lodash
✗ moment
Missing deps (1):
! axios
Duplicates: none
Summary
────────────────────────────────────────────────────────────
2 unused 1 missing 0 duplicatesJSON Output Schema
{
"results": [
{
"projectPath": "/absolute/path",
"unused": ["lodash", "moment"],
"missing": ["axios"],
"duplicates": [
{ "name": "semver", "locations": ["node_modules/semver", "node_modules/npm/node_modules/semver"] }
],
"sizes": [
{ "name": "typescript", "size": "62.3MB", "sizeBytes": 65323008 }
],
"deprecated": [
{ "name": "request", "version": "2.88.2", "message": "request has been deprecated..." }
]
}
],
"summary": {
"totalUnused": 2,
"totalMissing": 1,
"totalDuplicates": 0
}
}Exit Codes
| Code | Meaning |
|------|---------|
| 0 | No unused or missing dependencies found |
| 1 | Issues found, or fatal error |
How It Works
- Reads
package.jsonto collect all declared dependencies - Scans all source files (
.ts,.tsx,.js,.jsx,.mjs,.cjs) for import/require statements - Compares declared vs imported sets to find unused and missing packages
- Walks
node_modulestree to detect packages installed at multiple depths (duplicates) - Optionally queries
npm infofor deprecation notices
Node.js built-in modules (fs, path, node:fs, etc.) are automatically excluded from the missing check.
License
MIT
