check-packages
Version:
CLI tool to check your npm dependencies against a list of allowed/forbidden packages.
78 lines (60 loc) • 4.1 kB
Markdown
[](https://www.npmjs.org/package/check-packages)
[](https://david-dm.org/micromata/check-packages)
[](https://david-dm.org/micromata/check-packages#info=devDependencies)
[](https://travis-ci.org/micromata/check-packages)
[](https://coveralls.io/github/micromata/check-packages?branch=master)
# check-packages
> CLI tool to check your npm dependencies against a list of allowed/forbidden packages.
## Install
To use it in your project:
```shell
$ npm install --save-dev check-packages
```
To use it globally:
```shell
$ npm install --global check-packages
```
*It requires Node.js (v6 or higher).*
## Usage
```shell
$ check-packages <checklist.json> [options]
```
### Checklist JSON File
The content of the checklist file must be an array of package names (with optional [semver ranges](https://semver.npmjs.com/)), e.g.:
```json
[
"react",
"react-dom",
"redux@>=1.0.0-rc.0 <1.0.1",
"react-redux@^2 <2.2 || > 2.3"
]
```
By default `check-packages` uses the checklist path `packages-whitelist.json`
(respectively `packages-blacklist.json` when called with option `--blacklist`),
but you can also call `check-packages` with a different checklist path as
first argument, e.g.:
```shell
$ check-packages "./config/whitelisted-dev-dependencies.json" --dev
```
### Options
| Option | Alias | Description |
|----------------|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `topLevelOnly` | | Checks only direct dependencies listed in the top level package.json (equivalent to `depth=0`).<br />Note: You cannot use `topLevelOnly` together with `depth`. |
| `depth` | | Max depth of the dependency tree analysis (default: inifity).<br />Note: You cannot use `depth` together with `topLevelOnly`. |
| `blacklist` | `black` | Interpret content of checklist as blacklist. |
| `development` | `dev` | Analyze the dependency tree for devDependencies. |
| `production` | `prod` | Analyze the dependency tree for dependencies. |
| `verbose` | | Lists unallowed dependencies. |
| `exitCode` | | Exit code in case of unallowed dependencies. Default: 1 |
| `version` | `v` | Displays the version number. |
| `help` | `h` | Displays the help. |
### Examples
```shell
$ check-packages
$ check-packages --blacklist
$ check-packages my-whitelist.json --dev --depth=10
$ check-packages my-whitelist.json --dev --topLevelOnly --verbose
$ check-packages my-blacklist.json --prod --blacklist
```
## License
MIT © [Christian Kühl](https://micromata.de)