UNPKG

check-packages

Version:

CLI tool to check your npm dependencies against a list of allowed/forbidden packages.

78 lines (60 loc) 4.1 kB
[![npm version](https://img.shields.io/npm/v/check-packages.svg?style=flat)](https://www.npmjs.org/package/check-packages) [![Dependency Status](https://david-dm.org/micromata/check-packages.svg)](https://david-dm.org/micromata/check-packages) [![devDependency Status](https://david-dm.org/micromata/check-packages/dev-status.svg)](https://david-dm.org/micromata/check-packages#info=devDependencies) [![Build Status](https://travis-ci.org/micromata/check-packages.svg?branch=master)](https://travis-ci.org/micromata/check-packages) [![Coverage](https://coveralls.io/repos/github/micromata/check-packages/badge.svg?branch=master)](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)