chore(node): update Node.js version to 24.13.0 - #9933
Conversation
There was a problem hiding this comment.
Pull request overview
This PR attempts to update Node.js version from 22.14.0 to 24.6.0 across the project's configuration files. However, there is a critical issue: Node.js version 24.6.0 does not exist as of January 2025. The current version (22.14.0) is a valid LTS release.
Key Changes:
- Updated Node.js version references from 22.14.0 to 24.6.0 in workspace configuration
- Updated Docker base images and CI/CD pipeline configurations to use the new version
- Renamed CircleCI jobs from
*_node_22to*_node_24to reflect the version change
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| workspace.jsonc | Updated nodeVersion and BVM node version configurations to 24.6.0 |
| .circleci/config.yml | Updated default Docker image, NVM commands, Docker job names, base image arguments, and workflow dependencies to use Node.js 24.6.0 |
Critical Issue Identified: All version updates reference Node.js 24.6.0, which is a non-existent version. This will cause CI/CD pipeline failures, Docker build failures, and installation errors. The intended version should be verified - it may be 23.x (current latest) or the PR should keep 22.14.0 (current LTS).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Code Review by Qodo
1. Manual deploy workflow broken
|
| ``` */} | ||
| ```` |
|
|
||
| ```tsx title="A composition provider example" | ||
| import React, { ReactReact, ReactElement } from 'react' | ||
| import React, { ReactReact, ReactElement } from 'react'; |
| windows_set_node_version: | ||
| parameters: | ||
| version: | ||
| default: 22.22.0 | ||
| default: 24.13.0 | ||
| type: string | ||
| steps: | ||
| - run: choco upgrade nvm -y | ||
| - run: nvm -v | ||
| - run: nvm install 22.22.0 | ||
| - run: nvm use 22.22.0 | ||
| - run: nvm install 24.13.0 | ||
| - run: nvm use 24.13.0 | ||
| - run: node -v |
| docker_build_node_24: | ||
| machine: | ||
| image: ubuntu-2004:202111-02 | ||
| steps: | ||
| - attach_workspace: | ||
| at: ./ | ||
| - docker_build_and_push: | ||
| docker_build_base_image_arg_value: "node:22.22.0" | ||
| docker_tag_suffix: "-node-22.22.0" | ||
| docker_build_base_image_arg_value: "node:24.13.0" | ||
| docker_tag_suffix: "-node-24.13.0" | ||
|
|
| docker_build_node_24: | ||
| machine: | ||
| image: ubuntu-2004:202111-02 | ||
| steps: | ||
| - attach_workspace: | ||
| at: ./ | ||
| - docker_build_and_push: | ||
| docker_build_base_image_arg_value: "node:22.22.0" | ||
| docker_tag_suffix: "-node-22.22.0" | ||
| docker_build_base_image_arg_value: "node:24.13.0" | ||
| docker_tag_suffix: "-node-24.13.0" | ||
|
|
||
| docker_non_root_build_node_22: | ||
| docker_non_root_build_node_24: | ||
| machine: |
There was a problem hiding this comment.
1. Manual deploy workflow broken 🐞 Bug ☼ Reliability
.circleci/config.yml renames Docker build jobs to *_node_24, but harmony_deploy_manual still references the removed *_node_22 job names, causing CircleCI config validation/job resolution to fail for that workflow.
Agent Prompt
### Issue description
`harmony_deploy_manual` still calls `docker_build_node_22`, `docker_non_root_build_node_22`, and `server_docker_build_node_22`, but the PR renamed/defines only the `*_node_24` jobs. CircleCI will fail to run this workflow because it cannot find the referenced jobs.
### Issue Context
The PR updated job definitions and some workflows to Node 24 naming, but missed the manual deploy workflow.
### Fix Focus Areas
- .circleci/config.yml[1445-1481]
- .circleci/config.yml[1026-1072]
### Suggested fix
In `workflows: harmony_deploy_manual: jobs:`, rename:
- `docker_build_node_22` -> `docker_build_node_24`
- `docker_non_root_build_node_22` -> `docker_non_root_build_node_24`
- `server_docker_build_node_22` -> `server_docker_build_node_24`
Also update `requires:` to depend on `docker_build_node_24` where applicable.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
| # MDX files with JSX comments that prettier incorrectly escapes | ||
| scopes/react/aspect-docs/react/react.mdx | ||
| scopes/react/ui/loader-fallback/loader-fallback.docs.mdx No newline at end of file |
There was a problem hiding this comment.
1. .prettierignore missing final newline 📘 Rule violation ⚙ Maintainability
The updated .prettierignore file is committed without a trailing newline, which violates the repository’s formatting standard and can cause formatting/lint checks to fail in CI or pre-commit hooks.
Agent Prompt
## Issue description
`.prettierignore` is missing the required final newline (per `.editorconfig`).
## Issue Context
The repo enforces `insert_final_newline = true`, and the diff indicates `\ No newline at end of file` for `.prettierignore`.
## Fix Focus Areas
- .prettierignore[4-6]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
| "nodeVersion": "24.13.0", | ||
| "engineStrict": true, | ||
| // This is a temporary workaround to fix "bit compile" on macOS and Windows. |
There was a problem hiding this comment.
2. Node policy inconsistent 🐞 Bug ⚙ Maintainability
The PR updates CI and Bit workspace tooling to use Node 24.13.0, but the root package.json still declares engines.node ">=22.13.0", so the repo no longer has a single authoritative minimum Node version across tooling entry points. This can lead to developers/automation selecting Node 22 (allowed by engines) while CI/Bit expects Node 24, creating avoidable environment skew.
Agent Prompt
### Issue description
CI and the Bit workspace config now target Node 24.13.0, but the root `package.json` `engines.node` still allows Node 22.x. This leaves conflicting signals about the supported/minimum Node version.
### Issue Context
- `workspace.jsonc` sets `nodeVersion` to `24.13.0` and has `engineStrict: true`.
- `.circleci/config.yml` uses `cimg/node:24.13.0`.
- `package.json` still advertises `engines.node: ">=22.13.0"`.
### Fix Focus Areas
- package.json[5-7]
- workspace.jsonc[727-734]
- .circleci/config.yml[7-12]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
| "@pnpm/config.nerf-dart": "1.0.1" | ||
| }, | ||
| "nodeVersion": "22.22.0", | ||
| "nodeVersion": "24.13.0", |
There was a problem hiding this comment.
3. Node typings lag runtime 🐞 Bug ⚙ Maintainability
After bumping the enforced Node runtime to 24.13.0 in workspace.jsonc, the workspace still pins @types/node to 22.10.5, so TypeScript will not reflect the Node 24 API surface. This blocks/complicates adopting Node 24 APIs and can produce misleading type errors/omissions relative to the runtime the project now standardizes on.
Agent Prompt
### Issue description
The PR updates the workspace Node runtime target to 24.13.0, but `@types/node` is still pinned to 22.10.5 in `workspace.jsonc`. This leaves TypeScript typings behind the standardized runtime.
### Issue Context
`@types/node` is pinned in multiple dependency lists in `workspace.jsonc`, while `nodeVersion` is now 24.13.0.
### Fix Focus Areas
- workspace.jsonc[395-402]
- workspace.jsonc[698-734]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
|
Code review by qodo was updated up to the latest commit 7c4a283 |
|
Superseded by #10555 (branch renamed to chore/update-nodejs-24, version bumped to 24.18.1). |
Update Node.js version to 24.13.0 across the project. This ensures compatibility with the latest features and security patches.