https://github.com/canastro/bulk-run-nsp
🚓 Small library that will find all directories in a rootPath with a package.json file and will run nsp (Node Security Project) on them.
https://github.com/canastro/bulk-run-nsp
Last synced: 2 months ago
JSON representation
🚓 Small library that will find all directories in a rootPath with a package.json file and will run nsp (Node Security Project) on them.
- Host: GitHub
- URL: https://github.com/canastro/bulk-run-nsp
- Owner: canastro
- Created: 2017-01-15T12:29:20.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-01-16T10:04:03.000Z (over 9 years ago)
- Last Synced: 2025-10-07T22:40:03.199Z (9 months ago)
- Language: JavaScript
- Homepage:
- Size: 15.6 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

[](https://badge.fury.io/js/bulk-run-nsp)
[](https://codecov.io/gh/canastro/bulk-run-nsp)
# bulk-run-nsp
Small library that will find all directories in a rootPath with a `package.json` file and will run nsp (Node Security Project) on it.
## Why?
I had a lot of old projects that I didn't worked for a while and I was running out of free space on my disk. I ran a command that would delete all the `node_modules` folders in a given rootPath and I "instantly" gained 20GB of free disk.
After that I thought I should have a better way to deal with this and started creating a electron app to manage my workspace. I gathered some features I would like to have and started coding some core modules to later use in the electron app, such as:
* [query-paths](https://github.com/canastro/query-paths)
* [remove-git-ignored](https://github.com/canastro/remove-git-ignored)
* [bulk-run-nsp](https://github.com/canastro/bulk-run-nsp)
## How it works?
This module uses [query-paths](https://github.com/canastro/query-paths) to recursively find all the folders with a package.json file. Then it runs `nsp` and returns the json format from nsp in a object with the following structure:
```json
{
"isVulnerable": true,
"projectPath": "/users/username/project",
"results": []
}
```
Being the array results the output of the `json` formatter of nsp module.
If you pass `showLog` config as true, then you'll get a command line output in a table like structure, just as the one default formatter from `nsp`.
## Usage
### As cli
```js
> npm i -g bulk-run-nsp
# Go to the desired root folder
> bulk-nsp -s
# You can output the log into a file
> bulk-nsp -s > output.txt
```
### As a node module
```js
const bulkRunNsp = require('bulk-run-nsp');
const bulk = bulkRunNsp({ rootPath: '/Users/username/dev', showLog: true });
bulk.on('data', (report) => {
console.log('report received for: ', report.projectPath);
});
bulk.on('error', (report) => {
console.log('error received: ', report.error, ' for: ', report.projectPath);
});
bulk.on('end', () => {
console.log('end');
});
```