licenz
Make sure your NPM modules have licenses.
Installation
Make sure you have Node.js and NPM installed. Then, run the following to use licenz system-wide:
npm install -g licenz
Alternatively, install it as a development dependency in your current module:
npm install licenz --save-dev
Use
CLI
licenz ./path/to/module/
Run licenz --help
for additional help.
White-listing Licenses
Does your project’s dependencies have licenses that you know are acceptable? Tell licenz they’re okay by using the --licenses
flag:
licenz --licenses "Apache 2, WTFPL, Public Domain" ./path/to/module
White-listing Modules
A are dependencies licenses undetectable by licenz? No problem! Use the --modules
flag to make them pass:
licenz --modules "module-1@1.0.0, module2@^2.1.0" ./path/to/module
Programatically
Licenz exports a single function which you can require
:
var licenz = ; ;
It expects two optional arguments:
-
options
(object): Hash of configurations for licenz. The following keys are used:-
path
(string): Path to the directory to scan. Example:var options =path: './path/to/module'; -
whitelistLicenses
(array): List of licenses to accept. Example:var options =whitelistLicenses: 'My Cool License' 'My Other License'; -
whitelistModules
(object): List of modules to accept. Use module names as the keys and corresponding semver-compatible versions or ranges as the values:var options =whitelistModules:'my-module': '^2.3.0''my-other-module': '0.5.2''my-best-module': '~8.0.0';
-
-
callback
(function): Node-style callback function. The “response” is an array of unlicensed module objects. A possible way of dealing with it:;In this example,
res
would be populated with these objects:licenses: 'UNKNOWN'licenseFile: undefinedname: 'unlicensed-module'repository: 'https://github.com/unlicensed-user/unlicensed-module'version: '1.0.0'
licenz also supports a Promise
interface:
;
Integrating With Pre-Commit
Integrating licenz with git’s pre-commit hook is easy using pre-commit. Make sure both pre-commit and licenz are installed (npm i pre-commit licenz --save-dev
). Then, add a licenz
to a script in your package.json:
//..."scripts": "validate": "licenz" //...//...
Then, create a precommit
key and add the script:
//..."precommit": "validate" //...//...