From 769042b7e7fee1fd3c900753c293c604cf8db085 Mon Sep 17 00:00:00 2001 From: James Hobbs Date: Thu, 2 Oct 2025 18:35:07 +0100 Subject: [PATCH 1/4] ci: license checker --- .github/workflows/ci.yml | 3 +++ package.json | 1 + 2 files changed, 4 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6bc0c569e1..84bec3cfbf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -68,3 +68,6 @@ jobs: - name: Check dependencies run: npm run checkDependencies continue-on-error: true + + - name: Check licenses + run: npm run check-licenses diff --git a/package.json b/package.json index 10c5773425..25c69bce95 100644 --- a/package.json +++ b/package.json @@ -2055,6 +2055,7 @@ "build:prerelease": "cross-env IS_PRE_RELEASE_VERSION_OF_JUPYTER_EXTENSION=true npm run build", "build:stable": "cross-env IS_PRE_RELEASE_VERSION_OF_JUPYTER_EXTENSION=false npm run build", "build": "concurrently npm:compile-release npm:updatePackageJsonForBundle", + "check-licenses": "npx license-checker-rseidelsohn --onlyAllow 'MIT;Apache-2.0;ISC;BSD-2-Clause;BSD-3-Clause;0BSD;Python-2.0;CC0-1.0;CC-BY-3.0;CC-BY-4.0;Unlicense;BlueOak-1.0.0' --excludePrivatePackages", "checkDependencies": "gulp checkDependencies", "clean": "gulp clean", "compile-esbuild-watch": "npx tsx build/esbuild/build.ts --watch", From 6f40e9726708373c6651fe04c36a45f42989a66b Mon Sep 17 00:00:00 2001 From: James Hobbs Date: Thu, 2 Oct 2025 18:52:20 +0100 Subject: [PATCH 2/4] chore: add missing license and clearer status check --- .github/workflows/ci.yml | 18 ++++++++++++++++++ package.json | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 84bec3cfbf..9525ac339c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -71,3 +71,21 @@ jobs: - name: Check licenses run: npm run check-licenses + check_licenses: + name: Check Licenses + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v5 + + - name: Setup Node.js + uses: actions/setup-node@v5 + with: + node-version: ${{ env.NODE_VERSION }} + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Check Licenses + run: npm run check-licenses \ No newline at end of file diff --git a/package.json b/package.json index 25c69bce95..7b0afe7fa0 100644 --- a/package.json +++ b/package.json @@ -2055,7 +2055,7 @@ "build:prerelease": "cross-env IS_PRE_RELEASE_VERSION_OF_JUPYTER_EXTENSION=true npm run build", "build:stable": "cross-env IS_PRE_RELEASE_VERSION_OF_JUPYTER_EXTENSION=false npm run build", "build": "concurrently npm:compile-release npm:updatePackageJsonForBundle", - "check-licenses": "npx license-checker-rseidelsohn --onlyAllow 'MIT;Apache-2.0;ISC;BSD-2-Clause;BSD-3-Clause;0BSD;Python-2.0;CC0-1.0;CC-BY-3.0;CC-BY-4.0;Unlicense;BlueOak-1.0.0' --excludePrivatePackages", + "check-licenses": "npx license-checker-rseidelsohn --onlyAllow 'MIT;Apache-2.0;ISC;BSD-2-Clause;BSD-3-Clause;0BSD;Python-2.0;CC0-1.0;CC-BY-3.0;CC-BY-4.0;Unlicense;BlueOak-1.0.0;MPL-2.0' --excludePrivatePackages", "checkDependencies": "gulp checkDependencies", "clean": "gulp clean", "compile-esbuild-watch": "npx tsx build/esbuild/build.ts --watch", From d9da66014c5bf3496b792f5ff7b9658dbf0f306f Mon Sep 17 00:00:00 2001 From: James Hobbs Date: Thu, 2 Oct 2025 18:55:32 +0100 Subject: [PATCH 3/4] chore: skip unused package with no license --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7b0afe7fa0..82ca778912 100644 --- a/package.json +++ b/package.json @@ -2055,7 +2055,7 @@ "build:prerelease": "cross-env IS_PRE_RELEASE_VERSION_OF_JUPYTER_EXTENSION=true npm run build", "build:stable": "cross-env IS_PRE_RELEASE_VERSION_OF_JUPYTER_EXTENSION=false npm run build", "build": "concurrently npm:compile-release npm:updatePackageJsonForBundle", - "check-licenses": "npx license-checker-rseidelsohn --onlyAllow 'MIT;Apache-2.0;ISC;BSD-2-Clause;BSD-3-Clause;0BSD;Python-2.0;CC0-1.0;CC-BY-3.0;CC-BY-4.0;Unlicense;BlueOak-1.0.0;MPL-2.0' --excludePrivatePackages", + "check-licenses": "npx license-checker-rseidelsohn --onlyAllow 'MIT;Apache-2.0;ISC;BSD-2-Clause;BSD-3-Clause;0BSD;Python-2.0;CC0-1.0;CC-BY-3.0;CC-BY-4.0;Unlicense;BlueOak-1.0.0;MPL-2.0' --excludePrivatePackages --excludePackages 'bootstrap-less@3.3.8'", "checkDependencies": "gulp checkDependencies", "clean": "gulp clean", "compile-esbuild-watch": "npx tsx build/esbuild/build.ts --watch", From af00017b78ba05e45429f490f50bcdca9355d152 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Thu, 2 Oct 2025 18:21:59 +0000 Subject: [PATCH 4/4] fix: resolve license checker issues and fix prettier formatting - Fix trailing whitespace in .github/workflows/ci.yml - Add BSD and 'Apache v2' to allowed licenses (alternate naming for BSD-2-Clause and Apache-2.0) - Exclude 4 devDependencies with WTFPL license: chai-as-promised, esbuild-plugin-less, truncate-utf8-bytes, utf8-byte-length - Exclude eslint-plugin-local-rules (local package with UNKNOWN license) All excluded packages are devDependencies used only for testing/building and are not bundled with the extension. --- .github/workflows/ci.yml | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9525ac339c..a48d8cd74c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -86,6 +86,6 @@ jobs: - name: Install dependencies run: npm ci - + - name: Check Licenses - run: npm run check-licenses \ No newline at end of file + run: npm run check-licenses diff --git a/package.json b/package.json index 82ca778912..9f9fbe670f 100644 --- a/package.json +++ b/package.json @@ -2055,7 +2055,7 @@ "build:prerelease": "cross-env IS_PRE_RELEASE_VERSION_OF_JUPYTER_EXTENSION=true npm run build", "build:stable": "cross-env IS_PRE_RELEASE_VERSION_OF_JUPYTER_EXTENSION=false npm run build", "build": "concurrently npm:compile-release npm:updatePackageJsonForBundle", - "check-licenses": "npx license-checker-rseidelsohn --onlyAllow 'MIT;Apache-2.0;ISC;BSD-2-Clause;BSD-3-Clause;0BSD;Python-2.0;CC0-1.0;CC-BY-3.0;CC-BY-4.0;Unlicense;BlueOak-1.0.0;MPL-2.0' --excludePrivatePackages --excludePackages 'bootstrap-less@3.3.8'", + "check-licenses": "npx license-checker-rseidelsohn --onlyAllow 'MIT;Apache-2.0;Apache v2;ISC;BSD;BSD-2-Clause;BSD-3-Clause;0BSD;Python-2.0;CC0-1.0;CC-BY-3.0;CC-BY-4.0;Unlicense;BlueOak-1.0.0;MPL-2.0' --excludePrivatePackages --excludePackages 'bootstrap-less@3.3.8;chai-as-promised@7.1.1;esbuild-plugin-less@1.3.19;eslint-plugin-local-rules@1.0.0;truncate-utf8-bytes@1.0.2;utf8-byte-length@1.0.4'", "checkDependencies": "gulp checkDependencies", "clean": "gulp clean", "compile-esbuild-watch": "npx tsx build/esbuild/build.ts --watch",