Skip to content

fix: require Node.js 24.18.1 and npm 12 and use TypeScript v7 - #23

Merged
coderbyheart merged 1 commit into
mainfrom
node-v24.18.1-npm-v12.0.2-typecript-v7.0.2
Aug 4, 2026
Merged

fix: require Node.js 24.18.1 and npm 12 and use TypeScript v7#23
coderbyheart merged 1 commit into
mainfrom
node-v24.18.1-npm-v12.0.2-typecript-v7.0.2

Conversation

@coderbyheart

@coderbyheart coderbyheart commented Aug 3, 2026

Copy link
Copy Markdown
Member

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.

@coderbyheart
coderbyheart requested a review from a team as a code owner August 3, 2026 11:39
@coderbyheart coderbyheart self-assigned this Aug 3, 2026
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.
@coderbyheart
coderbyheart force-pushed the node-v24.18.1-npm-v12.0.2-typecript-v7.0.2 branch from bf84a09 to b766cb9 Compare August 3, 2026 11:53
@coderbyheart
coderbyheart merged commit 6f19f57 into main Aug 4, 2026
2 checks passed
@coderbyheart
coderbyheart deleted the node-v24.18.1-npm-v12.0.2-typecript-v7.0.2 branch August 4, 2026 07:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants