Skip to content

Commit b766cb9

Browse files
committed
fix: require Node.js 24.18.1 and npm 12 and use TypeScript v7
24.18.1 is a security release and NPM v12 also brings important security improvements. TypeScript 7 is now GA -> use it instead of the preview version See <https://nodejs.org/en/blog/release/v24.18.1> See <https://github.blog/changelog/2026-06-09-upcoming-breaking-changes-for-npm-v12/> - Bump `engines` to Node.js `>=24.18.1 <25` and npm `>=12.0.2 <13`. - Add `allow-remote=root` to `.npmrc`. npm 12 refuses to fetch dependencies from tarball URLs by default; `root` permits the URLs this project declares in its own `package.json`. This is needed for example for dependencies hosted on JSR. - Install the npm version from `engines.npm` in CI via a new `.github/actions/install-npm` composite action, so CI uses the version the project declares instead of whatever ships with the runner. - Run TypeScript 6 and 7 side by side: `@typescript/native` provides TypeScript 7 as `tsc`, while `typescript` resolves to TypeScript 6 so typescript-eslint keeps working. This replaces `@typescript/native-preview`, so `npx tsgo` becomes `npx tsc` in the pre-commit hook, CI and the docs.
1 parent d344cb9 commit b766cb9

2 files changed

Lines changed: 2 additions & 1 deletion

File tree

.github/workflows/test-and-release.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919

2020
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
2121
with:
22-
node-version: "24.x"
22+
node-version: ">=24.18.1 <25"
2323
cache: "npm"
2424

2525
- name: Install dependencies

.npmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
allow-remote=root

0 commit comments

Comments
 (0)