node library to check your dependencies (through npm outdated)
npm install check-depsGulp plugin to check your dependencies (through npm outdated)
NPM and its outdated command are good tools to gather informations about the state of a project's dependencies. The problem with
it is that it never fails. Even when there are outdated dependencies, the command exits with a 0 status.
Moreover, you cannot configure it to warn only if some criteria are satisifed, for example if you want to consider a dependency outdated
only when there is a new minor or patch release.
This plugin adresses those two issues:
* It fails when there is something outdated
* It lets you configure when you want it to fail
It is really CI friendly !
Globally installed, simply run it
```
check-deps -p path/to/package.json
See help for configuration:
``
check-deps --help
When saved in a project:
``
//package.json
{
//...
"scripts": {
"check-deps": "check-deps -d -l 1"
},
"devDependencies": {
"gulp-check-deps": "*"
}
}
| Option | Type | Default | Description |
|------------------------|------------|---------|-------------------------------------------------------------------------------------------------------------------|
| npmPath | string | npm | Path to the npm binary |string[]
| npmArgs | | [] | Extra arguments passed to npm outdated (for example --registry) |boolean
| failForDevDependencies | | true | Fail if any dev. dependency is outdated |boolean
| failForGitDependencies | | false | Fail if there is any dependency required through git |boolean
| failForPrerelease | | true | Fail if there is any dependency available as alpha, beta or rc |string
| failLevel | | minor | Fail if at least a release of the given level exists (minor will fail if there is a new minor or patch release) |string[]
| ignore | | [] | Do not make the task fail for the given dependencies |
Here is how you would do to use a custom NPM registry and make the task fail if it finds any git dependency:
`js
//gulpfile.js
var checkDeps = require('check-deps');
var packageFilePath = 'package.json';
fs.readFile(packageFilePath, function(err, data) {
var checkDepsConfig = {
npmArgs: ['--registry', 'http://private-npm.local'],
failForGitDependencies: true
};
checkDeps(checkDepsConfig).write({ path: packageFilePath, contents: data });
});
``
Copyright (c) 2015 PMSIpilot