Skip to content

ci: run on Node 24 and require Node 22+ - #72

Merged
yashranaway merged 1 commit into
mainfrom
t3code/node-24
Aug 5, 2026
Merged

ci: run on Node 24 and require Node 22+#72
yashranaway merged 1 commit into
mainfrom
t3code/node-24

Conversation

@yashranaway

Copy link
Copy Markdown
Collaborator

Surfaced by the jsdom bump (#66), but a problem regardless of it.

CI pinned node-version: 20. Node 20 reached end of life in April 2026 — four months ago — and engines.node still said >=20.

jsdom 30 requires ^22.22.2 || ^24.15.0 || >=26.0.0, so on Node 20 the context-pruning suite did not fail a test, it crashed inside undici:

TypeError: webidl.util.markAsUncloneable is not a function
    at new CacheStorage (.../undici@8.10.0/lib/web/cache/cachestorage.js:20:17)

Change

  • CI runs on Node 24 — the current LTS, and what the suites are actually developed against locally.
  • engines.node raised to >=22.
  • CONTRIBUTING.md updated to match.

Verified

pnpm test:runtime passes locally on Node 24 and reproduces the documented pruning numbers (48,428 → 895 bytes, 94.5 % reduction).

Once this lands, #66 (jsdom 30) should be re-run and can go green.

CI pinned node-version 20, which reached end of life in April 2026, and the
root engines field still allowed it. The gap surfaced through the jsdom 30
bump (#66): jsdom now requires ^22.22.2 || ^24.15.0 || >=26, so the
context-pruning suite crashed inside undici on Node 20 rather than reporting
a test failure.

Runs CI on Node 24, the current LTS and what the suites are developed
against, and raises the engines floor to 22. Verified pnpm test:runtime still
passes locally and reproduces the documented pruning numbers.
@yashranaway
yashranaway requested a review from SarthakWade August 5, 2026 19:30
@yashranaway
yashranaway merged commit a8b5b2e into main Aug 5, 2026
7 checks passed
@yashranaway
yashranaway deleted the t3code/node-24 branch August 5, 2026 19:32
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.

1 participant