From a6853219deb48dbb5830834f283dee7a8aaf3138 Mon Sep 17 00:00:00 2001 From: Johan Nyman Date: Wed, 9 Aug 2023 09:11:59 +0200 Subject: [PATCH 1/6] fix: use license-checker directly instead of CLI There was an issue with the previous approach on Windows, this seems to work better --- bin/checkLicenses.mjs | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/bin/checkLicenses.mjs b/bin/checkLicenses.mjs index 00cfbbe..2fd33ba 100755 --- a/bin/checkLicenses.mjs +++ b/bin/checkLicenses.mjs @@ -5,11 +5,13 @@ import { createRequire } from 'module' import { readPackageUpSync } from 'read-pkg-up' import shell from 'shelljs' import path from 'path' +import checker from 'license-checker' const cli = meow( ` Usage $ sofie-licensecheck + $ sofie-licensecheck --allowPackages "package-name@1.2.3;other-package@1.2.3" Options --debug Show full packages list @@ -28,15 +30,6 @@ const cli = meow( } ) -// Find the path of the license-checker executable -const require = createRequire(import.meta.url) -const dir = require.resolve('license-checker') -const licenseCheckerInfo = readPackageUpSync({ cwd: dir }) -const binName = licenseCheckerInfo.packageJson.bin?.['license-checker'] -if (licenseCheckerInfo.packageJson.name !== 'license-checker' || !binName) - throw new Error('Failed to find license-checker') -const binPath = path.join(path.dirname(licenseCheckerInfo.path), binName) - // This is so that when used in a private project it validates const pkgInfo = readPackageUpSync() const projectNameAndVersion = `${pkgInfo.packageJson.name}@${pkgInfo.packageJson.version}` @@ -49,11 +42,21 @@ if (cli.flags.allowPackages) { excludePackages += `;${cli.flags.allowPackages}` } -let cmd = [binPath, `--onlyAllow "${allowListForMit}"`, `--excludePackages "${excludePackages}"`] - -if (!cli.flags.debug) { - cmd.push('--summary') -} - -const res = shell.exec(cmd.join(' ')) -process.exit(res.code) +checker.init({ + start: path.resolve('.'), + onlyAllow: allowListForMit, + excludePackages: excludePackages, + summary: !cli.flags.debug +}, (err, packages) => { + + if (err) { + //Handle error + console.error(err) + process.exit(1) + } else { + if (cli.flags.debug) { + console.log(packages) + } + process.exit(0) + } +}); From 717eaa28c9bacd7a4bfb05c35439946ba35c5dc1 Mon Sep 17 00:00:00 2001 From: Johan Nyman Date: Wed, 9 Aug 2023 09:24:19 +0200 Subject: [PATCH 2/6] chore: update semver version after audit --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index cfbaf92..6a687a0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2252,11 +2252,11 @@ __metadata: linkType: hard "semver@npm:2 || 3 || 4 || 5, semver@npm:^5.5.0": - version: 5.7.1 - resolution: "semver@npm:5.7.1" + version: 5.7.2 + resolution: "semver@npm:5.7.2" bin: semver: ./bin/semver - checksum: 57fd0acfd0bac382ee87cd52cd0aaa5af086a7dc8d60379dfe65fea491fb2489b6016400813930ecd61fd0952dae75c115287a1b16c234b1550887117744dfaf + checksum: fb4ab5e0dd1c22ce0c937ea390b4a822147a9c53dbd2a9a0132f12fe382902beef4fbf12cf51bb955248d8d15874ce8cd89532569756384f994309825f10b686 languageName: node linkType: hard From 27cfd5be33e8b429721fda209af7d927e0a3107e Mon Sep 17 00:00:00 2001 From: Johan Nyman Date: Wed, 9 Aug 2023 11:37:07 +0200 Subject: [PATCH 3/6] chore: remove unused shelljs --- package.json | 3 +-- yarn.lock | 36 +++--------------------------------- 2 files changed, 4 insertions(+), 35 deletions(-) diff --git a/package.json b/package.json index dea366e..662f394 100644 --- a/package.json +++ b/package.json @@ -64,8 +64,7 @@ "meow": "^11.0.0", "prettier": "^2.8.8", "read-pkg-up": "^9.1.0", - "semver": "^7.5.2", - "shelljs": "^0.8.5" + "semver": "^7.5.2" }, "peerDependencies": { "typescript": "~4.9" diff --git a/yarn.lock b/yarn.lock index 6a687a0..6791474 100644 --- a/yarn.lock +++ b/yarn.lock @@ -156,7 +156,6 @@ __metadata: prettier: ^2.8.8 read-pkg-up: ^9.1.0 semver: ^7.5.2 - shelljs: ^0.8.5 peerDependencies: typescript: ~4.9 bin: @@ -1150,7 +1149,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.0.0, glob@npm:^7.1.1, glob@npm:^7.1.3": +"glob@npm:^7.1.1, glob@npm:^7.1.3": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -1334,13 +1333,6 @@ __metadata: languageName: node linkType: hard -"interpret@npm:^1.0.0": - version: 1.4.0 - resolution: "interpret@npm:1.4.0" - checksum: 2e5f51268b5941e4a17e4ef0575bc91ed0ab5f8515e3cf77486f7c14d13f3010df9c0959f37063dcc96e78d12dc6b0bb1b9e111cdfe69771f4656d2993d36155 - languageName: node - linkType: hard - "is-arrayish@npm:^0.2.1": version: 0.2.1 resolution: "is-arrayish@npm:0.2.1" @@ -2139,15 +2131,6 @@ __metadata: languageName: node linkType: hard -"rechoir@npm:^0.6.2": - version: 0.6.2 - resolution: "rechoir@npm:0.6.2" - dependencies: - resolve: ^1.1.6 - checksum: fe76bf9c21875ac16e235defedd7cbd34f333c02a92546142b7911a0f7c7059d2e16f441fe6fb9ae203f459c05a31b2bcf26202896d89e390eda7514d5d2702b - languageName: node - linkType: hard - "redent@npm:^4.0.0": version: 4.0.0 resolution: "redent@npm:4.0.0" @@ -2172,7 +2155,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.22.2": +"resolve@npm:^1.10.0, resolve@npm:^1.22.2": version: 1.22.3 resolution: "resolve@npm:1.22.3" dependencies: @@ -2185,7 +2168,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.22.2#~builtin": +"resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.22.2#~builtin": version: 1.22.3 resolution: "resolve@patch:resolve@npm%3A1.22.3#~builtin::version=1.22.3&hash=c3c19d" dependencies: @@ -2287,19 +2270,6 @@ __metadata: languageName: node linkType: hard -"shelljs@npm:^0.8.5": - version: 0.8.5 - resolution: "shelljs@npm:0.8.5" - dependencies: - glob: ^7.0.0 - interpret: ^1.0.0 - rechoir: ^0.6.2 - bin: - shjs: bin/shjs - checksum: 7babc46f732a98f4c054ec1f048b55b9149b98aa2da32f6cf9844c434b43c6251efebd6eec120937bd0999e13811ebd45efe17410edb3ca938f82f9381302748 - languageName: node - linkType: hard - "signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" From eaf60f2f6bca26d044ac38f0e7ae22f780a8ce09 Mon Sep 17 00:00:00 2001 From: Johan Nyman Date: Wed, 9 Aug 2023 11:48:09 +0200 Subject: [PATCH 4/6] chore: fix prerelease script --- .github/workflows/publish.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index affa671..60266a6 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -53,4 +53,5 @@ jobs: echo "**Published:** $NEW_VERSION" >> $GITHUB_STEP_SUMMARY env: + NPM_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} CI: true From f22f78fb20b9628955875817fc5cf313871056d8 Mon Sep 17 00:00:00 2001 From: Johan Nyman Date: Wed, 9 Aug 2023 13:27:47 +0200 Subject: [PATCH 5/6] fix: add BlueOak-1.0.0 to allowed licenses (#20) --- bin/checkLicenses.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/checkLicenses.mjs b/bin/checkLicenses.mjs index 00cfbbe..4f87837 100755 --- a/bin/checkLicenses.mjs +++ b/bin/checkLicenses.mjs @@ -42,7 +42,7 @@ const pkgInfo = readPackageUpSync() const projectNameAndVersion = `${pkgInfo.packageJson.name}@${pkgInfo.packageJson.version}` // TODO - Add option driven allowList selection with a list for GPL projects -const allowListForMit = 'MIT;BSD;ISC;Apache-2.0;CC0;CC-BY-3.0;CC-BY-4.0;Unlicense;Artistic-2.0;Python-2.0' +const allowListForMit = 'MIT;BSD;ISC;Apache-2.0;CC0;CC-BY-3.0;CC-BY-4.0;Unlicense;Artistic-2.0;Python-2.0;BlueOak-1.0.0' let excludePackages = projectNameAndVersion if (cli.flags.allowPackages) { From 450c4512e9bf7259aa64c7aa7aed42c244c5680b Mon Sep 17 00:00:00 2001 From: Johan Nyman Date: Wed, 9 Aug 2023 13:34:41 +0200 Subject: [PATCH 6/6] chore(release): v2.5.0 --- CHANGELOG.md | 12 ++++++++++++ package.json | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 73b8374..c1c66e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,18 @@ All notable changes to this project will be documented in this file. See [Convential Commits](https://www.conventionalcommits.org/en/v1.0.0/#specification) for commit guidelines. +## [2.5.0](https://github.com/nrkno/sofie-code-standard-preset/compare/v2.4.7...v2.5.0) (Wed Aug 09 2023) + + +### Fixes + +* add BlueOak-1.0.0 to allowed licenses (#20) [f22f78f](https://github.com/nrkno/sofie-code-standard-preset/commit/f22f78fb20b9628955875817fc5cf313871056d8) +* use license-checker directly instead of CLI [a685321](https://github.com/nrkno/sofie-code-standard-preset/commit/a6853219deb48dbb5830834f283dee7a8aaf3138) + +### Features + +* switch from eslint-plugin-node to eslint-plugin-n [722cad9](https://github.com/nrkno/sofie-code-standard-preset/commit/722cad945fed86c7c1c6c021d53f6fe0e7fdda09) + ## [2.4.7](https://github.com/nrkno/sofie-code-standard-preset/compare/v2.4.6...v2.4.7) (Wed May 10 2023) diff --git a/package.json b/package.json index 662f394..5aba4e5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@sofie-automation/code-standard-preset", - "version": "2.4.7", + "version": "2.5.0", "license": "MIT", "repository": { "type": "git",