feat: bump @types/node to 24.12.2, engines.node >= 22#22
Merged
Conversation
bb9b840 to
ed8b5c6
Compare
Partial fix for #19: ships type-level Node 24 support and raises the minimum supported runtime to Node 22.0.0. - @types/node: 20.19.16 → 24.12.2 across all 11 package.jsons - engines.node: >=20.10 → >=22.0.0 (Node 20 is end-of-life) - license allowlist: add BlueOak-1.0.0 + 0BSD (lru-cache@11.3.x relicense) - setup.test.ts: plugin manifest assertion 2.0.0 → 0.1.0 (stale from pre-release rip/replace) No TS4111 errors surface under the new types — the sarif package already uses bracket notation at every call site called out in #19. Not in this PR: Node 24 in the CI test matrix, Node 24 as the local-dev default. tree-sitter@0.25.0 on npm fails to compile against Node 24's V8 ABI; the upstream fix landed as tree-sitter/node-tree-sitter#268 / commit f8805e7 / git tag v0.25.1, but the npm publish is blocked on an OIDC Trusted-Publishing misconfig (tree-sitter/node-tree-sitter#276). Once 0.25.1 lands on npm, re-adding Node 24 to the matrix is a one-line CI diff — and we still get early type-level Node 24 coverage via @types/node@24.12.2 in this PR. Refs #19
ed8b5c6 to
0140a22
Compare
9 tasks
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Partial fix for #19. Raises the supported runtime floor and gets type-level Node 24 coverage in place ahead of the full Node 24 CI matrix.
@types/node→24.12.2across all 11package.jsonsengines.node→>=22.0.0(Node 20 is EOL)BlueOak-1.0.0+0BSD(lru-cache@11.3.x relicense from ISC)setup.test.tsplugin-version assertion fixed (2.0.0→0.1.0)Why no Node 24 in the CI matrix
tree-sitter@0.25.0(current latest on npm) does not compile against Node 24's V8 ABI — signatures likev8::Template::Setandv8::internal::Internals::ReadExternalPointerField<...>changed, and there are no prebuilt binaries in the 0.25.0 tarball to bypass the source compile.The upstream fix is already merged and tagged as
v0.25.1(commitf8805e7), but the npm publish is blocked on an OIDC Trusted-Publishing misconfig — see tree-sitter/node-tree-sitter#268 (the C++20/Node 24 compat bug) and #276 (the publish blocker). Both are open as of 2026-04-21.Once 0.25.1 lands on npm, re-adding Node 24 to the matrix is a one-line CI diff — and with
@types/node@24.12.2in this PR we still get early type-level Node 24 coverage today. Tracking: see follow-up issue.Why no TS4111 fixes?
Issue #19 listed 17 call sites that
@types/node@22+would break. In practice zero surfaced under@types/node@24.12.2— the sarif package already used bracket notation (record["rules"],pf["primaryLocationLineHash"], etc.) at every flagged site. The concern in #19 was forward-looking; the code had already evolved into the correct shape.Test plan
pnpm -r buildcleanpnpm -r exec tsc --noEmitclean under@types/node@24.12.2pnpm -r test→ 952 pass / 0 fail under Node 22.22.0pnpm -r test→ 952 pass / 0 fail under Node 24.15.0 (local-only, tree-sitter binaries already cached)biome ci .clean (52 warnings / 484 infos are pre-existing — separate PR)bash scripts/check-banned-strings.shcleanlicense-checker-rseidelsohnclean with expanded allowlistFollow-up
tree-sitter≥ 0.25.1 is published to npm.@biomejs/biome2.4.0 → 2.4.12 and review the 52 warnings in isolation).