chore(node): migrate dev and CI runtime to Node 24 LTS - #676
Conversation
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (10)
📝 WalkthroughWalkthroughNode.js 실행 버전을 24.18.0으로 통일했습니다. CI와 문서 배포 작업이 ChangesNode.js 24 런타임 전환
Estimated code review effort: 2 (Simple) | ~10 minutes Mergeability Score: ⚪ Minimal · up to This PR standardizes local and CI execution on Node 24 and updates the related runtime contracts and build targets. The change is merge-ready after normal checks and review, with no actionable merge-blocking risk remaining. Possibly related issues
Possibly related PRs
🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1⚔️ Resolve merge conflicts 💡
📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Related Issues
Description of Changes
Node.js 20은 2026년 4월 30일로 지원이 끝났다.
.nvmrc는 여전히20.20.2를 가리키는데, CI는 이미24.18.0에서 모든 잡을 통과하고 있었다. 로컬과 CI가 다른 노드로 돌고 있었다..github/composite/install/action.yml이node-version-file: 'package.json'으로 루트engines.node를 읽은 게 원인이다. 값이">=20.20.2"범위라setup-node가 조건을 만족하는 최신 버전을 집었고, 커밋 하나 없이 CI 노드가 24로 올라갔다. 같은 이유로 Node 26이 LTS가 되면 또 조용히 넘어간다.이 PR은 실행 버전을
.nvmrc한 곳에 고정하고 CI가 그 파일을 읽게 한다.버전 정책
.nvmrc24.18.0engines.node>=24.18.0 <25ts-api-extractorengines.node>=24.18.0 <25codemodengines.node>=24.18.0 <25node24정확한 실행 버전과 허용 범위를 분리했다.
.nvmrc는 개발자와 CI가 같은 패치 버전을 쓰게 하고,engines.node는 같은 메이저의 이후 보안 패치는 허용하되 Node 25 이상은 거부한다.변경 파일
.nvmrc20.20.2→24.18.0package.jsonengines.node,@types/node→^24.13.3scripts/ts-api-extractor/package.jsonengines.node,@types/nodepackages/codemod/package.jsonengines.node,@types/nodeapps/website/package.json@types/node.github/composite/install/action.ymlnode-version-file:package.json→.nvmrc.github/workflows/release.ymlpromote-docs에setup-node@v4추가scripts/ts-api-extractor/tsup.config.tsnode20→node24, 낡은>=20.19주석 제거packages/codemod/tsup.config.tstarget: 'node24'명시.gemini/styleguide.mdpnpm-lock.yamlpromote-docs 예외
release.yml의promote-docs잡은 checkout을 하지 않아.nvmrc를 읽을 수 없다. Vercel CLI만 실행하는 잡이라 메이저 버전('24')으로 고정하고 그 이유를 주석에 남겼다. 실행 버전이 두 번 나타나는 유일한 지점이다.codemod 소비자 계약
@vapor-ui/codemod의engines는>=14.21.3에서>=24.18.0 <25로 바뀐다. 기존 값은 이미 사실과 달랐다. 의존성meow@14와globby@15가 Node 20 이상을 요구해서, Node 14에서는 설치조차 되지 않는다.changeset은 넣지 않았다. 이 변경은 다음 codemod 릴리스에 함께 나간다.
검증 —
v24.18.0로컬 실행node -vv24.18.0pnpm installpnpm install --frozen-lockfilepnpm buildpnpm lintpnpm typecheckpnpm testpnpm --filter @vapor-ui/ts-api-extractor test:runpnpm format:check는 exit 1이지만, 실패한 10개 파일은 모두 gitignore된 로컬 파일이다(.venv/6개,.claude/settings.local.json,docs/agents/component-criteria.md, 생성물apps/website/next-env.d.ts, 설계 문서). 이 PR이 건드린 11개 파일은 prettier를 통과한다.Screenshots
Checklist
.gemini/styleguide.mdNode 기준 갱신.CONTRIBUTING.md/CONTRIBUTING.ko.md는 이미.nvmrc를 참조하므로 수정 불필요.Summary by CodeRabbit