🕵️ Audit your NPM dependencies and reject any forbidden license.
Check our wiki!
Description
This package allows you to do a quick audit on your NPM dependencies by adding it in your hooks.
You can optionally add options to exclude generating the report or avoid generating the error report in case a forbidden license is found (see more details here).
How to use it in your project
npx @guidesmiths/license-checker --failOn license1 license2
- If you are using yarn you may want to run it from the node modules instead of using npx
node_modules/.bin/license-checker --failOn /licenseRegex/
- Use the script wherever you want (husky hook, in your CI/CD pipeline, ...)
Options
Option | Description | Type | Default |
---|
--start | Path of the initial json to look for | string | process.cwd() |
--version | Shows the version of the package | string | |
--failOn | Fail (exit with code 1) on the first occurrence of the licenses of the list. If the argument is enclosed in slashes, it will handled like a RegExp | string[] | |
--generateOutputOn | Generates an output file only if any the licenses of the comma-separated list exist (output generated by default) | string | |
--outputFileName | Name of the output file generated | string | license-report-<timestamp>.md |
--errorReportFileName | Name of the file generated when a license in the failOn option is found | string | license-error-<timestamp>.md |
--disableErrorReport | Flag to disable the error report file generation | boolean | false |
--disableReport | Flag to disable the report file generation, whether there is an error or not | boolean | false |
--customHeader | Name of a text file containing the custom header to add at the start of the generated report | string | |
-h, --help | Shows help | boolean | |
Examples
failOn
If the argument is enclosed in slashes, it will be handled like a regular expression where the pattern is the content enclosed.
In the following example, license1
is the pattern to test:
npx @guidesmiths/license-checker --failOn /license1/
You may combine both string and regex-like arguments. In this example, license1
will be handled as a RegExp whereas license2
will be handled as a string:
npx @guidesmiths/license-checker --failOn /license1/ license2
Useful links
Contributors ✨
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!