https://github.com/trustbit/licenseguard
Command line tool for running license checks to guard you from using packages with blacklisted licenses. Integrates well into your ci workflow.
https://github.com/trustbit/licenseguard
ci jenkins license-checking license-scan nodejs
Last synced: about 1 year ago
JSON representation
Command line tool for running license checks to guard you from using packages with blacklisted licenses. Integrates well into your ci workflow.
- Host: GitHub
- URL: https://github.com/trustbit/licenseguard
- Owner: trustbit
- License: isc
- Created: 2018-01-19T14:22:52.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-01-05T09:37:10.000Z (over 3 years ago)
- Last Synced: 2025-03-25T10:17:25.313Z (about 1 year ago)
- Topics: ci, jenkins, license-checking, license-scan, nodejs
- Language: JavaScript
- Homepage:
- Size: 895 KB
- Stars: 8
- Watchers: 2
- Forks: 3
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# License Guard
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](https://www.npmjs.com/package/license-checker) under the hood.
[](https://travis-ci.org/Softwarepark/licenseguard)
[](https://coveralls.io/github/Softwarepark/licenseguard?branch=master)
## Install
```bash
npm i licenseguard -g
```
## Usage
```bash
Usage: licenseguard [options]
Options:
--production Test only production dependencies
--development Test only development dependencies
--blacklist Test that license is not used in any npm dependency
--ignore Ignore package matching allows star patterns
--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
```
## The `licenseguardrc` file
You can configure blacklist and ignore dependencies in a `.licenseguardrc` file in the directory you wish to license test
*Example*
```json
{
"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`.
## Valid License Ids
You can print a list of valid SPDX license ids `licenseguard --licenses`
## Integration with Jenkins
licenseguard comes with an integrated JUnit reporter. You will need to install [JUnit Plugin](https://wiki.jenkins.io/display/JENKINS/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.
```bash
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

