Command line tool for running license checks to guard you from using packages with blacklisted licenses. Integrates well into your ci workflow. Uses license-checker under the hood.
npm i licenseguard -g
Usage: licenseguard [options]
Options:
--production Test only production dependencies
--development Test only development dependencies
--blacklist <license> Test that license is not used in any npm dependency
--ignore <package> Ignore package matching <package> allows star patterns
--path <path> Test "path" for license violations. Defaults to current directory
--reporter Reporter to use. Supported reporters: "text", "junit" and "silent" to supress output
--nofail Exit with error code 0 even if blacklisted licenses were found
--licenses Print a list of valid license names that can be used in blacklist
--help Print help
Examples:
Test that no "beerware license" dependency was used $ licenseguard --blacklist Beerware
List of blacklisted licenses $ licenseguard --blacklist beerware --blacklist AGPL-3.0
Ignore a dependency $ licenseguard --ignore yargs@10.0.3
Ignore multiple dependencies $ licenseguard --ignore yargs@10.0.3 --ignore doctrine@2.1.0
You can configure blacklist and ignore dependencies in a .licenseguardrc
file in the directory you wish to license test
Example
{
"blacklist": ["Apache-2.0", "CC-BY-3.0"],
"ignore": ["rc@1.2.3"]
}
Ignores dependency rc@1.2.3
and blacklists licenses Apache-2.0
, CC-BY-3.0
.
You can print a list of valid SPDX license ids licenseguard --licenses
licenseguard comes with an integrated JUnit reporter. You will need to install JUnit Plugin.
Add a build step
Add a "Execute Windows batch command" or "Execute shell" build step and configure the command like this to use the junit
reporter and pipe the output to a file.
licenseguard --reporter junit > licenseguard-results.xml
Add a post build action
Add a "Publish JUnit test result report" post build action and specify a file pattern matching the output file of the build step before.
After you run a build you should see something like this in jenkins project