Depcheck provides a comprehensive command-line interface for analyzing project dependencies.
depcheck [directory] [arguments]The directory argument is the root directory of your project (where the package.json file is). If unspecified, defaults to current directory.
interface CLIOptions {
// Core options
'ignore-bin-package'?: boolean; // Default: false
'skip-missing'?: boolean; // Default: false
'json'?: boolean; // Output as JSON
'oneline'?: boolean; // Output as space-separated string
'quiet'?: boolean; // Suppress "No issue" messages
// Filtering options
'ignores'?: string; // Comma-separated package names/globs
'ignore-dirs'?: string; // DEPRECATED: use ignore-patterns
'ignore-path'?: string; // Path to ignore file
'ignore-patterns'?: string; // Comma-separated ignore patterns
// Advanced options
'parsers'?: string; // Custom parser configuration
'detectors'?: string; // Custom detector configuration
'specials'?: string; // Custom special parser configuration
'config'?: string; // Configuration file path
// Help
'help'?: boolean; // Show help message
}# Analyze current directory
npx depcheck
# Analyze specific directory
npx depcheck /path/to/project# JSON output
depcheck --json
# One-line output (space-separated)
depcheck --oneline
# Quiet mode (no "No issue" message)
depcheck --quiet# Ignore specific packages
depcheck --ignores="eslint,babel-*"
# Use ignore file
depcheck --ignore-path=.depcheckignore
# Ignore patterns (glob syntax)
depcheck --ignore-patterns="dist,coverage,*.log"
# Ignore binary packages
depcheck --ignore-bin-package=true# Skip missing dependency detection
depcheck --skip-missing=true
# Use custom configuration file
depcheck --config=.depcheckrc.jsonDepcheck supports configuration files with cosmiconfig. Supported formats:
.depcheckrc (YAML/JSON).depcheckrc.json.depcheckrc.yaml / .depcheckrc.yml.depcheckrc.jsdepcheck field in package.json{
"ignores": ["eslint", "babel-*"],
"skip-missing": true,
"ignore-patterns": ["dist", "coverage"],
"parsers": {
"**/*.js": ["es6", "jsx"],
"**/*.ts": "typescript"
},
"detectors": [
"importDeclaration",
"requireCallExpression"
],
"specials": [
"eslint",
"webpack"
]
}// Exit codes
0 // No issues found
-1 // Issues found (unused/missing dependencies)
-1 // Error occurred during analysisThe CLI is also available as a programmatic function:
function cli(
args: string[],
log: (message: string) => void,
error: (message: string) => void,
exit: (code: number) => void
): Promise<void>;Parameters:
args: Command line arguments arraylog: Function to handle standard outputerror: Function to handle error outputexit: Function to handle process exitUnused dependencies
* underscore
* lodash
Unused devDependencies
* mocha
* jest
Missing dependencies
* express: ./src/server.js{
"dependencies": ["underscore", "lodash"],
"devDependencies": ["mocha", "jest"],
"missing": {
"express": ["./src/server.js"]
},
"using": {
"react": ["./src/app.js", "./src/components/header.js"]
},
"invalidFiles": [],
"invalidDirs": []
}underscore lodash mocha jest express