{"id":15552284,"url":"https://github.com/bahmutov/deps-ok","last_synced_at":"2025-09-28T18:31:49.001Z","repository":{"id":470443,"uuid":"12939354","full_name":"bahmutov/deps-ok","owner":"bahmutov","description":"Fast checking of top level dependencies based on version numbers","archived":false,"fork":false,"pushed_at":"2024-09-27T19:13:31.000Z","size":619,"stargazers_count":17,"open_issues_count":17,"forks_count":8,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-03T14:14:44.985Z","etag":null,"topics":["checker","dependencies","devdependencies","npm"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bahmutov.png","metadata":{"files":{"readme":"README.md","changelog":"History.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-09-19T02:34:50.000Z","updated_at":"2021-02-12T19:14:59.000Z","dependencies_parsed_at":"2023-10-01T19:39:17.872Z","dependency_job_id":"0e806125-d3b3-4cb7-9442-fbf010298a4d","html_url":"https://github.com/bahmutov/deps-ok","commit_stats":{"total_commits":191,"total_committers":6,"mean_commits":"31.833333333333332","dds":"0.32460732984293195","last_synced_commit":"a51deabf2d9aeeb69bd740b5e29c8091eee4d761"},"previous_names":[],"tags_count":39,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bahmutov%2Fdeps-ok","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bahmutov%2Fdeps-ok/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bahmutov%2Fdeps-ok/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bahmutov%2Fdeps-ok/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bahmutov","download_url":"https://codeload.github.com/bahmutov/deps-ok/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234551096,"owners_count":18851184,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["checker","dependencies","devdependencies","npm"],"created_at":"2024-10-02T14:14:44.138Z","updated_at":"2025-09-28T18:31:43.673Z","avatar_url":"https://github.com/bahmutov.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# deps-ok\n\nFast checking of top level NPM and Bower dependencies based on version numbers.\n\n[![NPM info][nodei.co]](https://npmjs.org/package/deps-ok)\n\n[![Build status][ci-image]][ci-url]\n[![dependencies][dependencies-image]][dependencies-url]\n[![devdependencies][deps-ok-devdependencies-image] ][deps-ok-devdependencies-url]\n[![manpm](https://img.shields.io/badge/manpm-%E2%9C%93-3399ff.svg)](https://github.com/bahmutov/manpm)\n[![semantic-release][semantic-image] ][semantic-url]\n[![renovate-app badge][renovate-badge]][renovate-app]\n\nSee [grunt-deps-ok](https://github.com/bahmutov/grunt-deps-ok) for\nintegrating this task into grunt pipeline.\n\n## Install\n\nInstall as a global tool\n\n    npm install -g deps-ok\n\nInstall as a project's dependency\n\n    npm install --save-dev deps-ok\n\n## Use as a global tool\n\nChecks modules until the first module without valid install.\nPrints first found error and exits with code 1 if one of the\ntop level dependencies is missing or out of date.\n\n    // from the package's root folder execute\n    deps-ok\n\n    deps-ok --verbose\n    // prints declared and installed version numbers\n\n    deps-ok --filename path/to/package.json\n    // checks give package.json (not in this folder)\n\nChecks both dependencies listed in your *package.json* and *bower.json*\n\nIf **deps-ok** finds a problem, then run `npm install` or `bower install`\n\n## Use as 3\u003csup\u003erd\u003c/sup\u003e party module\n\nYou can use **deps-ok** from another module\n\n```javascript\nnpm install deps-ok --save\nvar depsOk = require('deps-ok');\nvar ok = depsOk(process.cwd(), false /* verbose */);\n```\n\n## Use with gulp\n\nIf you prefer using [gulp](), you can quickly just add a task\n\n```js\ngulp.task('deps-ok', function () {\n  var gutil = require('gulp-util');\n  var depsOk = require('deps-ok');\n  var ok = depsOk(process.cwd(), false /* verbose */);\n  if (!ok) {\n    gulp.emit('error', new gutil.PluginError('deps-ok', 'Found outdated installs'));\n  }\n});\ngulp.task('default', ['deps-ok', ...]);\n```\n\n## Options\n\n* `--allow-duplicate \u003cname\u003e` allows same dependency to be declared in dev and peer dependencies (or other combinations). Useful if you are developing a plugin that requires the main tool (peer) but also uses the main tool for testing (dev).\n\n```\n$ deps-ok --allow-duplicate angular\n$ deps-ok --allow-duplicate angular --allow-duplicate jquery\n```\n\n* `--verbose` prints verbose console messages, but using `DEBUG=deps-ok` is a better method\n\n* `--skip-version-check` is used to load and check versions but skip actual physical file checks. Useful in end to end testing.\n\n## Notes\n\nThis check will reject packages without \"version\" property in the `package.json`\nfile.\n\n## Debug\n\nSee debug messages by running module with `DEBUG=deps-ok` environment variable\n\n## Small print\n\nAuthor: Gleb Bahmutov \u0026copy; 2013\n\n* [@bahmutov](https://twitter.com/bahmutov)\n* [glebbahmutov.com](http://glebbahmutov.com)\n* [blog](http://glebbahmutov.com/blog/)\n\nLicense: MIT - do anything with the code, but don't blame me if it does not work.\n\nSupport: if you find any problems with this module, email / tweet / open issue on Github\n\n[ci-image]: https://travis-ci.org/bahmutov/deps-ok.svg?branch=master\n[ci-url]: https://travis-ci.org/bahmutov/deps-ok\n[nodei.co]: https://nodei.co/npm/deps-ok.svg?downloads=true\n[dependencies-image]: https://david-dm.org/bahmutov/deps-ok.svg\n[dependencies-url]: https://david-dm.org/bahmutov/deps-ok\n[deps-ok-devdependencies-image]: https://david-dm.org/bahmutov/deps-ok/dev-status.svg\n[deps-ok-devdependencies-url]: https://david-dm.org/bahmutov/deps-ok#info=devDependencies\n[endorse-image]: https://api.coderwall.com/bahmutov/endorsecount.svg\n[endorse-url]: https://coderwall.com/bahmutov\n[semantic-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-url]: https://github.com/semantic-release/semantic-release\n[renovate-badge]: https://img.shields.io/badge/renovate-app-blue.svg\n[renovate-app]: https://renovateapp.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbahmutov%2Fdeps-ok","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbahmutov%2Fdeps-ok","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbahmutov%2Fdeps-ok/lists"}