https://github.com/doowb/dependents-cli
CLI for listing an npm module's dependent projects and their download stats.
https://github.com/doowb/dependents-cli
cli dependents download-counts npm npm-dependents npm-downloads
Last synced: about 1 year ago
JSON representation
CLI for listing an npm module's dependent projects and their download stats.
- Host: GitHub
- URL: https://github.com/doowb/dependents-cli
- Owner: doowb
- License: mit
- Created: 2016-07-28T19:21:12.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2017-06-21T20:51:28.000Z (about 9 years ago)
- Last Synced: 2025-05-07T00:33:55.976Z (about 1 year ago)
- Topics: cli, dependents, download-counts, npm, npm-dependents, npm-downloads
- Language: JavaScript
- Size: 17.6 KB
- Stars: 13
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# dependents-cli [](https://www.npmjs.com/package/dependents-cli) [](https://npmjs.org/package/dependents-cli) [](https://npmjs.org/package/dependents-cli)
> CLI for listing an npm module's dependent projects and their download stats.
You might also be interested in [module-dependents](https://github.com/doowb/module-dependents).
## Install
Install globally with [npm](https://www.npmjs.com/)
```sh
$ npm install --global dependents-cli
```
## Usage
Once installed globally, there will be a `dependents` command that can be run from the command line.
To see all the dependents for a module, specify the module name after the `dependents` command like this:
```sh
$ dependents base
```
This will output a JavaScript array containing each dependent as an object with `name` and dependency version properties. The dependency version property key will be the specified module name with `-version` after it. So `base-version` for the command specified above.
Example output from running `$ dependents base`:

## Formatting
Use the `--format` option to format the results as a table (this is the default).
Run the following command to the dependents formatted as a table:
```sh
$ dependents base --format
```

You can also include the download counts when using formatting:
```sh
$ dependents base --downloads --format
```

If you need to use the results as a JSON object, use the `--format` command with `json` after it:
```sh
$ dependents base --format json
```
```json
[
{ "name": "base-app", "base-version": "^0.11.1" },
{ "name": "base-reporter", "base-version": "^0.11.0" },
{ "name": "benchmarked", "base-version": "^0.8.1" },
{ "name": "boilerplate", "base-version": "^0.11.1" },
{ "name": "expand-files", "base-version": "^0.11.1" },
{ "name": "expand-target", "base-version": "^0.11.1" },
{ "name": "npm-api", "base-version": "^0.8.1" },
{ "name": "saffronapp", "base-version": "file:packages/base" },
{ "name": "scaffold", "base-version": "^0.11.1" },
{ "name": "templates", "base-version": "^0.11.1" },
{ "name": "verbiage", "base-version": "^0.8.1" },
{ "name": "vinyl-collection", "base-version": "^0.11.0" },
{ "name": "vinyl-item", "base-version": "^0.8.1" }
]
```
This can be output to a json file using the `bash` `>` character:
```sh
$ dependents base --format json > base-dependents.json
```
Use this with the `--downloads` option to be able to use the json data and do your own sorting and filtering if necessary.
```sh
$ dependents base --format json --downloads > base-dependents.json
```
### Downloads
To include the download counts of each of the dependents, use the `--downloads` option. This will add a `downloads` object to each dependent with the `total` and `last30` (last 30 days) download counts:
```sh
$ dependents base --downloads --format json
```
```json
[
{ "name": "templates", "base-version": "^0.11.1", "downloads": { "total": 124383, "last30": 14517 } },
{ "name": "benchmarked", "base-version": "^0.8.1", "downloads": { "total": 528830, "last30": 5301 } },
{ "name": "vinyl-item", "base-version": "^0.8.1", "downloads": { "total": 6045, "last30": 5019 } },
{ "name": "expand-target", "base-version": "^0.11.1", "downloads": { "total": 4341, "last30": 577 } },
{ "name": "scaffold", "base-version": "^0.11.1", "downloads": { "total": 4212, "last30": 532 } },
{ "name": "boilerplate", "base-version": "^0.11.1", "downloads": { "total": 8845, "last30": 478 } },
{ "name": "base-app", "base-version": "^0.11.1", "downloads": { "total": 1091, "last30": 471 } },
{ "name": "expand-files", "base-version": "^0.11.1", "downloads": { "total": 7235, "last30": 399 } },
{ "name": "npm-api", "base-version": "^0.8.1", "downloads": { "total": 629, "last30": 52 } },
{ "name": "base-reporter", "base-version": "^0.11.0", "downloads": { "total": 103, "last30": 16 } },
{ "name": "vinyl-collection", "base-version": "^0.11.0", "downloads": { "total": 101, "last30": 15 } },
{ "name": "verbiage", "base-version": "^0.8.1", "downloads": { "total": 77, "last30": 7 } },
{ "name": "saffronapp", "base-version": "file:packages/base", "downloads": { "total": 112, "last30": 5 } }
]
```
When using the `--downloads` option, the list is sorted by the `downloads.last30` property so the most used dependents will be found at the top.
## About
### Related projects
* [download-stats](https://www.npmjs.com/package/download-stats): Get and calculate npm download stats for npm modules. | [homepage](https://github.com/doowb/download-stats "Get and calculate npm download stats for npm modules.")
* [module-dependents](https://www.npmjs.com/package/module-dependents): Retrieve list of dependents for an npm module. | [homepage](https://github.com/doowb/module-dependents "Retrieve list of dependents for an npm module.")
* [npm-api-dependents](https://www.npmjs.com/package/npm-api-dependents): npm-api plugin for getting module dependents. | [homepage](https://github.com/doowb/npm-api-dependents "npm-api plugin for getting module dependents.")
* [npm-api](https://www.npmjs.com/package/npm-api): Base class for retrieving data from the npm registry. | [homepage](https://github.com/doowb/npm-api "Base class for retrieving data from the npm registry.")
### Contributing
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
### Contributors
| **Commits** | **Contributor** |
| --- | --- |
| 18 | [doowb](https://github.com/doowb) |
| 1 | [panva](https://github.com/panva) |
### Building docs
_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
To generate the readme, run the following command:
```sh
$ npm install -g verbose/verb#dev verb-generate-readme && verb
```
### Running tests
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
```sh
$ npm install && npm test
```
### Author
**Brian Woodward**
* [github/doowb](https://github.com/doowb)
* [twitter/doowb](https://twitter.com/doowb)
### License
Copyright © 2017, [Brian Woodward](https://github.com/doowb).
Released under the [MIT License](LICENSE).
***
_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on June 21, 2017._