A utility for checking if an (AngularJS-related) GitHub PR has a signed CLA (based on its labels).
UNLICENSE License
A utility for checking if an (AngularJS-related) GitHub PR has a signed CLA (based on its labels).
# Show version info
ng-cla-check --version
# Show usage instructions
ng-cla-check --usage
# Check a PR
ng-cla-check 12345
You can optionally specify the GitHub repo and/or CLA label to check for (by default
angular/angular.js
and cla: yes
respectively):
# Use non-default repo and CLA label
ng-cla-check 12345 --repo="some-user/some-repo" --claLabel="some text"
Note: To use a GitHub access-token, make it available in an environment variable named
GITHUB_ACCESS_TOKEN
.
let Checker = require('@gkalpak/ng-cla-check');
let checker = new Checker(/* Use default options */);
checker.check(prNo).then(
() => {
// CLA verified successfully.
},
err => {
// Unable to verify CLA...
if (err) {
// ...because an error occurred (e.g. network error, authentication error, etc).
} else {
// ...because it was probably not signed.
}
});
You can also pass custom ghToken
, claLabel
or repo
options:
let checker = new Checker({
ghToken: '...', // Pass `false` to force anonymous (rate-limited) requests to the GitHub API.
claLabel: 'some text',
repo: 'some-user/some-repo'
});
Note: For convenience, the name of the GitHub access-token environment variable can be retrieved
with Checker.getGhTokenVar()
.
Finally, you can prevent the checker
from logging any messages to the console (e.g. warn when no
GitHub access-token is available), by passing true
as the second argument:
let quiet = true;
let checker = new Checker(null, quiet);
The following test-types/modes are available:
Code-linting: npm run lint
Lint JavaScript files using ESLint.
Unit tests: npm run test-unit
Run all the unit tests once. These tests are quick and suitable to be run on every change.
E2E tests: npm run test-e2e
Run all the end-to-end tests once. These test may hit actual API endpoints and are considerably
slower than unit tests.
All tests: npm test
/ npm run test
Run all of the above tests (code-linting, unit tests, e2e tests). This command is automatically
run before npm version
and npm publish
.
"Watch" mode: npm run test-watch
Watch all files and rerun the unit tests whenever something changes. For performance reasons,
code-linting and e2e tests are omitted.