🔧 Declare Node 26 as the supported runtime

- Add .node-version (single line: '26') so fnm/nvm/volta/mise and the
  VS Code Node version manager extension auto-switch when entering the
  project directory
- engines.node in package.json: bump from '>=22.6' to '>=26' (npm-side
  install-time declaration)
- Drop --experimental-strip-types flag from node --test invocations:
  Node 26 has --strip-types unflagged
- .github/workflows/ci.yml: switch from hard-coded node-version: 24 to
  node-version-file: .node-version in both build and publish jobs so CI
  follows the .node-version file (single source of truth)
- .npmignore: add .node-version (developer-tool file, not for publish)
- .vscode/settings.json: pin js/ts.tsdk.path to node_modules/typescript/lib
  so the editor uses the project's TS 7, not a different global install
- .vscode/extensions.json: swap ms-vscode.vscode-typescript-next for
  typescriptteam.native-preview (the official TS team extension that
  ships nightly TS support, including TS 7)
- cspell: add 'esbenp' and 'typescriptteam' to dictionary
- package-lock.json: regenerated for engines.node >=26

tsconfig.json target/lib are unchanged: es2024 is the highest stable ES
target TS 7.0.2 ships, and Node 26 supports all ES2024 features natively.
This commit is contained in:
tmu committed 2026-09-03 12:45:32 +00:00
1 parent e5df17310e
commit 77dc40da07
8 files changed
+741 -597

No files matched your search

+2 -2
View File
@@ -14,7 +14,7 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: actions/setup-node@v4 - uses: actions/setup-node@v4
with: with:
node-version: 24 node-version-file: .node-version
cache: "npm" cache: "npm"
- run: npm ci - run: npm ci
- run: npm run build - run: npm run build
@@ -34,7 +34,7 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: actions/setup-node@v4 - uses: actions/setup-node@v4
with: with:
node-version: 24 node-version-file: .node-version
registry-url: "https://registry.npmjs.org/" registry-url: "https://registry.npmjs.org/"
- run: npm ci - run: npm ci
- run: npm run build - run: npm run build
+1
View File
@@ -0,0 +1 @@
26
+1
View File
@@ -7,6 +7,7 @@ src/
.editorconfig .editorconfig
.oxfmtrc.json .oxfmtrc.json
.oxlintrc.json .oxlintrc.json
.node-version
cspell.json cspell.json
lefthook.yml lefthook.yml
.sortpackagerc.json .sortpackagerc.json
+1 -1
View File
@@ -2,6 +2,6 @@
"recommendations": [ "recommendations": [
"oxc.oxc-vscode", "oxc.oxc-vscode",
"streetsidesoftware.code-spell-checker", "streetsidesoftware.code-spell-checker",
"ms-vscode.vscode-typescript-next" "typescriptteam.native-preview"
] ]
} }
+2 -1
View File
@@ -17,5 +17,6 @@
"editor.formatOnSave": true "editor.formatOnSave": true
}, },
"editor.defaultFormatter": "oxc.oxc-vscode", "editor.defaultFormatter": "oxc.oxc-vscode",
"editor.formatOnSave": true "editor.formatOnSave": true,
"js/ts.tsdk.path": "node_modules/typescript/lib"
} }
+3 -1
View File
@@ -13,7 +13,9 @@
"oxfmtrc", "oxfmtrc",
"oxlintrc", "oxlintrc",
"sortpackagerc", "sortpackagerc",
"EDITMSG" "EDITMSG",
"esbenp",
"typescriptteam"
], ],
"ignorePaths": ["dist", "node_modules", "public", "coverage", "*.svg"] "ignorePaths": ["dist", "node_modules", "public", "coverage", "*.svg"]
} }
+727 -588
View File
File diff suppressed because it is too large. Load diff
+4 -4
View File
@@ -43,9 +43,9 @@
"fix:oxfmt": "oxfmt src", "fix:oxfmt": "oxfmt src",
"fix:oxlint": "oxlint --fix src", "fix:oxlint": "oxlint --fix src",
"fix:package": "sort-package-json --write", "fix:package": "sort-package-json --write",
"test": "npm run check:tsc && node --test --experimental-strip-types --no-warnings src/", "test": "npm run check:tsc && node --test --strip-types src/",
"test:ci": "c8 --reporter=text --reporter=lcov --reporter=html node --test --experimental-strip-types --no-warnings src/", "test:ci": "c8 --reporter=text --reporter=lcov --reporter=html node --test --strip-types src/",
"test:unit": "node --test --experimental-strip-types --no-warnings src/", "test:unit": "node --test --strip-types src/",
"use:git-commit-message": "cp commit-message-template .git/COMMIT_EDITMSG || true" "use:git-commit-message": "cp commit-message-template .git/COMMIT_EDITMSG || true"
}, },
"devDependencies": { "devDependencies": {
@@ -65,7 +65,7 @@
"typescript": "^7.0.2" "typescript": "^7.0.2"
}, },
"engines": { "engines": {
"node": ">=22.6" "node": ">=26"
}, },
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"