chore: bump action runtime to Node 24 - #202
Merged
Merged
Conversation
- action.yml runs on node24 - CI workflows build and test on Node 24.x - @types/node bumped to v24, engines set to >=24 - TypeScript target/lib bumped to ES2024 - README notes the node24 runtime requirement Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UTdciRVE8crbaoxq4JyXt4
This was referenced Aug 28, 2026
aeaa1998
marked this pull request as ready for review
August 28, 2026 17:11
weiyin
approved these changes
Aug 28, 2026
| "prettier-eslint": "^16.3.0", | ||
| "ts-jest": "^29.2.5", | ||
| "typescript": "^5.8.2" | ||
| }, |
Contributor
There was a problem hiding this comment.
nit: I feel like the engines requirement should be set to whatever version the code requires, not what version the github action runs on. We should set something here, but I feel like it's probably less than 24. Fine to roll with this though.
Contributor
Author
There was a problem hiding this comment.
@weiyin Good catch, you're right. Fixed in c57e469 — dropped to the actual toolchain floor, ^18.18.0 || ^20.9.0 || >=21.1.0 (eslint 9 / typescript-eslint 8, the strictest things in here). Nothing needs 24.
Generated by Claude Code
eslint 9 and typescript-eslint 8 are the strictest constraint; nothing in the repo requires node 24. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UTdciRVE8crbaoxq4JyXt4
Merged
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.
Stack 1/3 — merge first.
mainWhat
Moves the action off the
node16runtime.action.ymlusing: node16→node24.github/workflows/check-dist.yml16.x→24.x.github/workflows/test.ymlsetup-nodeat all — added one pinned to24.xso it stops inheriting the runner defaultpackage.json@types/node^22→^24, addedengines: { node: ">=24" }tsconfig.base.jsontarget/libES2022→ES2024README.mddist/is unchanged — the ES2024 target produces identical output for this code, so there is no bundle churn to review here.Why now
This is already happening to us implicitly. The runner log on this branch says:
Consumer impact
node16→node24is visible to consumers: self-hosted runners need runnerv2.327.1or later. GitHub-hosted runners are fine. Documented in the README.Because of that, this release should be a minor bump (
v1.1.0), not a patch. Note the repo has no floatingv1tag — consumers pin exact versions — so nobody is upgraded without opting in.Validation
Dispatched CI on this branch, all green:
testjob ran the action viauses: ./, confirmingnode24resolves and runs on a real runnerAlso
npm run alllocally on Node 24.20.0: build, prettier, eslint, ncc, 15/15 tests.🤖 Generated with Claude Code
https://claude.ai/code/session_01UTdciRVE8crbaoxq4JyXt4
Generated by Claude Code