chore(toolchain): pin Node.js to 24.19.0 - #110
Open
kellylimmm wants to merge 1 commit into
Open
Conversation
Node floated at the major (^24.0.0 / node-version: 24 / node:24-alpine3.23) across package.json, ci.yml, the Dockerfile, and CONTRIBUTING.md, so CI, the image, and local machines could each resolve a different patch version with no commit in between. Pin all four to 24.19.0, matching how Go is already pinned exactly. Verified locally: pnpm install succeeds on Node 24.19.0 and fails with ERR_PNPM_UNSUPPORTED_ENGINE on 24.16.0, confirming pnpm-workspace.yaml's engineStrict enforces the pin. pnpm-lock.yaml is unaffected. Closes #105 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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
24.19.0in all four places it's declared, so local setup, CI, and the Docker image all resolve identical builds instead of floating on whatever24.xis current.package.json:engines.node^24.0.0→24.19.0.github/workflows/ci.yml:node-version: 24→24.19.0in both the Format and Lint jobsDockerfile:node:24-alpine3.23→node:24.19.0-alpine3.23(confirmed this tag is published for bothamd64andarm64)CONTRIBUTING.md: prerequisite line andmise use --globalexample updated to24.19.0pnpm is left untouched everywhere (tracked separately in #106).
Closes #105
Test plan
pnpm installsucceeds on Node 24.19.0pnpm installfails withERR_PNPM_UNSUPPORTED_ENGINE(naming24.19.0as required) when run on Node 24.16.0, confirmingpnpm-workspace.yaml'sengineStrict: trueenforces the pinpnpm-lock.yamlis not rewritten by the version bumpnode:24.19.0-alpine3.23base image tag exists foramd64/arm64on Docker Hubbuild-imagejob to confirm🤖 Generated with Claude Code