-
-
Notifications
You must be signed in to change notification settings - Fork 227
test: separate coverage runs from default tests and replace Makefile
#757
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 5 commits
0a4618c
3918015
fe05f95
6ac42aa
6185414
4fcaa90
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,82 @@ | ||
| /** | ||
| * @fileoverview Build file | ||
| * @author nzakas | ||
| * @copyright OpenJS Foundation and other contributors, https://openjsf.org/ | ||
| * MIT License | ||
| */ | ||
|
|
||
| //------------------------------------------------------------------------------ | ||
| // Requirements | ||
| //------------------------------------------------------------------------------ | ||
|
|
||
| import { fileURLToPath } from "node:url"; | ||
| import checker from "npm-license"; | ||
|
|
||
| //------------------------------------------------------------------------------ | ||
| // Settings | ||
| //------------------------------------------------------------------------------ | ||
|
|
||
| const OPEN_SOURCE_LICENSES = [ | ||
| /MIT/u, | ||
| /BSD/u, | ||
| /Apache/u, | ||
| /ISC/u, | ||
| /WTF/u, | ||
| /Public Domain/u, | ||
| ]; | ||
|
|
||
| //------------------------------------------------------------------------------ | ||
| // Helpers | ||
| //------------------------------------------------------------------------------ | ||
|
|
||
| /** | ||
| * Returns true if the given dependency's licenses are all permissable for use in OSS | ||
| * @param {Object} dependency object containing the name and licenses of the given dependency | ||
| * @returns {boolean} is permissable dependency | ||
| */ | ||
| function isPermissible(dependency) { | ||
| const licenses = dependency.licenses; | ||
|
|
||
| if (Array.isArray(licenses)) { | ||
| return licenses.some(license => | ||
| isPermissible({ | ||
| name: dependency.name, | ||
| licenses: license, | ||
| }), | ||
| ); | ||
| } | ||
|
|
||
| return OPEN_SOURCE_LICENSES.some(license => license.test(licenses)); | ||
| } | ||
|
|
||
| //------------------------------------------------------------------------------ | ||
| // License Checking | ||
| //------------------------------------------------------------------------------ | ||
|
|
||
| console.log("Validating licenses"); | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Updated it in 4fcaa90 |
||
|
|
||
| checker.init( | ||
| { | ||
| start: fileURLToPath(new URL("..", import.meta.url)), | ||
| meta: "./tools/licenses-meta-data.json", | ||
| }, | ||
| deps => { | ||
| const impermissible = Object.keys(deps) | ||
| .map(dependency => ({ | ||
| name: dependency, | ||
| licenses: deps[dependency].licenses, | ||
| })) | ||
| .filter(dependency => !isPermissible(dependency)); | ||
|
|
||
| if (impermissible.length) { | ||
| impermissible.forEach(dependency => { | ||
| console.error( | ||
| "%s license for %s is impermissible.", | ||
| dependency.licenses, | ||
| dependency.name, | ||
| ); | ||
| }); | ||
| process.exitCode = 1; | ||
| } | ||
| }, | ||
| ); | ||
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As
"no-console": "off"is also specified in the following config object, I removed it entirely, sinceshelljsis no longer used ineslint-scope, as noted in #757 (comment).js/eslint.config.js
Lines 84 to 90 in db0b9e4