@gkalpak/ng-cla-check
v0.2.4
Published
A utility for checking if an (AngularJS-related) GitHub PR has a signed CLA (based on its labels).
Readme
ng-cla-check 
Description
A utility for checking if an (AngularJS-related) GitHub PR has a signed CLA (based on its labels).
Usage
Using from the command-line
# Show version info
ng-cla-check --version
# Show usage instructions
ng-cla-check --usage
# Check a PR
ng-cla-check 12345You 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.
Using from other modules
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);Testing
The following test-types/modes are available:
Code-linting:
npm run lintLint JavaScript files using ESLint.Unit tests:
npm run test-unitRun all the unit tests once. These tests are quick and suitable to be run on every change.E2E tests:
npm run test-e2eRun 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 testRun all of the above tests (code-linting, unit tests, e2e tests). This command is automatically run beforenpm versionandnpm publish."Watch" mode:
npm run test-watchWatch all files and rerun the unit tests whenever something changes. For performance reasons, code-linting and e2e tests are omitted.
