node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



Fast checking of top level NPM and Bower dependencies based on version numbers.

NPM info

Build status dependencies devdependencies manpm semantic-release

See grunt-deps-ok for integrating this task into grunt pipeline.


Install as a global tool

npm install -g deps-ok

Install as a project's dependency

npm install --save-dev deps-ok

Use as a global tool

Checks modules until the first module without valid install. Prints first found error and exits with code 1 if one of the top level dependencies is missing or out of date.

// from the package's root folder execute

deps-ok --verbose
// prints declared and installed version numbers

deps-ok --filename path/to/package.json
// checks give package.json (not in this folder)

Checks both dependencies listed in your package.json and bower.json

If deps-ok finds a problem, then run npm install or bower install

Use as 3rd party module

You can use deps-ok from another module

npm install deps-ok --save
var depsOk = require('deps-ok');
var ok = depsOk(process.cwd(), false /* verbose */);

Use with gulp

If you prefer using gulp, you can quickly just add a task

gulp.task('deps-ok', function () {
  var gutil = require('gulp-util');
  var depsOk = require('deps-ok');
  var ok = depsOk(process.cwd(), false /* verbose */);
  if (!ok) {
    gulp.emit('error', new gutil.PluginError('deps-ok', 'Found outdated installs'));
gulp.task('default', ['deps-ok', ...]);


This check will reject packages without "version" property in the package.json file.

Small print

Author: Gleb Bahmutov © 2013

License: MIT - do anything with the code, but don't blame me if it does not work.

Support: if you find any problems with this module, email / tweet / open issue on Github