dependency-lint
Lints your NPM dependencies
and devDependencies
reporting which node modules are
- missing and should be added to your
dependencies
or devDependencies
- unused and should be removed from your
dependencies
or devDependencies
- mislabeled and should be moved from
dependencies
to devDependencies
or vice versa
Installation
Supported on Node.js versions 4, 5, and 6
$ npm install dependency-lint
Usage
$ dependency-lint
To automatically remove unused dependencies and move mislabeled dependencies:
$ dependency-lint --auto-correct
How it works
dependency-lint
compares the node modules listed in your package.json
and
the node modules it determines are used. A node module is used if:
- it is required in a javascript file (or a file that transpiles to javascript)
- one of its executables is used in a script in your
package.json
or in a shell script
Since this does not cover all the possible ways that a node module can be used,
dependency-lint
can be configured
to ignore specific errors. Please create an
issue
anytime you need to use this, so we can discuss new ways to determine if and
how a node module is used.
Configuration
Please see here for an explanation of all the options.
Custom configuration should be placed at dependency-lint.yml
in your project directory.
You can create a configuration file by running
dependency-lint --generate-config
Any options not set in your configuration file will be given there default value.