From 9445a3bd8af33d4d2d436eaf42c52edc2f3d01e4 Mon Sep 17 00:00:00 2001 From: Mark Probst Date: Fri, 10 Jul 2026 07:50:31 -0400 Subject: [PATCH] Pin publish workflow to npm 11: npm 12 EBADENGINEs on our Node MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit npm@latest moved to 12.0.0, which requires Node ^22.22.2 || ^24.15.0 || >=26; the publish job runs the .nvmrc-pinned Node v22.14.0, so 'npm install -g npm@latest' fails with EBADENGINE and every npm publish since July 10 has failed. Trusted Publishing only needs npm >= 11.5.1, so pin to major 11 (currently 11.18.0), which supports Node ^20.17.0 || >=22.9.0 — the exact configuration of the last successful publish. Co-Authored-By: Claude Fable 5 --- .github/workflows/publish-npm.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish-npm.yaml b/.github/workflows/publish-npm.yaml index 468c3b8fe3..d4c0069b0f 100644 --- a/.github/workflows/publish-npm.yaml +++ b/.github/workflows/publish-npm.yaml @@ -24,7 +24,10 @@ jobs: - uses: ./.github/workflows/setup # Trusted Publishing requires npm >= 11.5.1; the pinned Node # runtime ships an older npm, so upgrade it before publishing. - - run: npm install -g npm@latest + # Pinned to major 11: npm@latest moved to 12.0.0, which requires + # Node ^22.22.2 || ^24.15.0 || >=26 and EBADENGINEs on our pinned + # Node (.nvmrc), breaking every publish. + - run: npm install -g npm@11 # Run via npm so node_modules/.bin is on PATH (patch-npm-version.ts # is executed through its ts-node shebang). - run: npm run pub:npm