From acda777fffac7764f580efc528752239b4c2fdd2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 28 Feb 2026 22:11:26 +0000 Subject: [PATCH 1/4] Initial plan From 9522a3df4cc62ee06901351dcc7d90223baf0d1c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 28 Feb 2026 22:40:06 +0000 Subject: [PATCH 2/4] fix(ci): allow Node 25 to fail due to c8/yargs incompatibility Co-authored-by: brendandburns <5751682+brendandburns@users.noreply.github.com> --- .github/workflows/test.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 21d36aa6c6..55d736f41f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,7 +9,13 @@ on: jobs: build: runs-on: ubuntu-latest + # Node 25 is odd/non-LTS and has a known incompatibility with c8 via yargs: + # extension-less files in "type: module" packages are treated as ESM in Node 25, + # causing c8's require('yargs/yargs') to fail with "require is not defined in ES module scope". + # Allow Node 25 to fail until upstream (c8/yargs) fixes this. + continue-on-error: ${{ matrix.node == '25' }} strategy: + fail-fast: false matrix: node: ['25', '24', '23', '22', '20', '18'] name: Node ${{ matrix.node }} validation From 528c9836a48ac9e9ab56d7a50d9f96e633621b2a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Mar 2026 01:16:47 +0000 Subject: [PATCH 3/4] fix(ci): run tests without c8 coverage on Node 25 as fallback Co-authored-by: brendandburns <5751682+brendandburns@users.noreply.github.com> --- .github/workflows/test.yml | 13 +++++++------ package.json | 1 + 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 55d736f41f..66625cf194 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,11 +9,6 @@ on: jobs: build: runs-on: ubuntu-latest - # Node 25 is odd/non-LTS and has a known incompatibility with c8 via yargs: - # extension-less files in "type: module" packages are treated as ESM in Node 25, - # causing c8's require('yargs/yargs') to fail with "require is not defined in ES module scope". - # Allow Node 25 to fail until upstream (c8/yargs) fixes this. - continue-on-error: ${{ matrix.node == '25' }} strategy: fail-fast: false matrix: @@ -28,7 +23,13 @@ jobs: # and package-lock.json. Needs to run before npm install - run: node version-check.js - run: npm ci - - run: npm test + # Node 25 has a known incompatibility: extension-less files in "type: module" + # packages are treated as ESM, causing c8's require('yargs/yargs') to fail. + # Fall back to plain unit tests without coverage on Node 25 until upstream fixes this. + - if: matrix.node != '25' + run: npm test + - if: matrix.node == '25' + run: npm run test-no-coverage - run: npm run lint - run: npm audit --audit-level=critical - run: npm run build-with-tests && npm run test-transpiled diff --git a/package.json b/package.json index da91ce9d6b..8c470ea6ce 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "generate": "./generate-client.sh", "watch": "tsc --watch", "test": "c8 node --test --test-reporter=spec --import tsx src/*_test.ts", + "test-no-coverage": "node --test --test-reporter=spec --import tsx src/*_test.ts", "test-transpiled": "node --test --test-reporter=spec dist/*_test.js", "integration-test": "tsx src/test/integration/index.ts", "prepare": "npm run build && husky", From 228e04a4092d2466b180beaf05e56d59ffd8ca5b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Mar 2026 01:20:27 +0000 Subject: [PATCH 4/4] fix(ci): remove unrelated fail-fast: false from workflow Co-authored-by: brendandburns <5751682+brendandburns@users.noreply.github.com> --- .github/workflows/test.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 66625cf194..6a41e5c4c1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,7 +10,6 @@ jobs: build: runs-on: ubuntu-latest strategy: - fail-fast: false matrix: node: ['25', '24', '23', '22', '20', '18'] name: Node ${{ matrix.node }} validation