Skip to content

Update to NodeJS v24#33379

Open
dmlvr wants to merge 8 commits intoDevExpress:26_1from
dmlvr:26_1_fix_node_version
Open

Update to NodeJS v24#33379
dmlvr wants to merge 8 commits intoDevExpress:26_1from
dmlvr:26_1_fix_node_version

Conversation

@dmlvr
Copy link
Copy Markdown
Contributor

@dmlvr dmlvr commented Apr 23, 2026

No description provided.

Copilot AI review requested due to automatic review settings April 23, 2026 08:45
@dmlvr dmlvr requested a review from a team as a code owner April 23, 2026 08:45
@dmlvr dmlvr self-assigned this Apr 23, 2026
@dmlvr dmlvr added the 26_1 label Apr 23, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the monorepo’s Node.js baseline to v24 by enforcing Node requirements in workspace manifests and aligning CI to use a single version source (.node-version).

Changes:

  • Add engines.node >=24 across packages/apps to declare the new minimum Node version.
  • Add .node-version (24.15.0) / update .tool-versions, and switch GitHub Actions workflows to node-version-file.
  • Enable engine-strict=true in .npmrc (root and packages/sbom) to enforce engine checks during installs.

Reviewed changes

Copilot reviewed 48 out of 48 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
packages/testcafe-models/package.json Add Node >=24 engine requirement.
packages/sbom/package.json Add Node >=24 engine requirement.
packages/sbom/.npmrc Enforce engine checks for sbom workspace.
packages/nx-infra-plugin/package.json Add Node >=24 engine requirement.
packages/eslint-migration-utils/package.json Add Node >=24 engine requirement.
packages/devextreme/package.json Add Node >=24 engine requirement.
packages/devextreme-vue/package.json Add Node >=24 engine requirement.
packages/devextreme-themebuilder/package.json Add Node >=24 engine requirement.
packages/devextreme-scss/package.json Add Node >=24 engine requirement.
packages/devextreme-react/package.json Add Node >=24 engine requirement.
packages/devextreme-monorepo-tools/package.json Add Node >=24 engine requirement.
packages/devextreme-metadata/package.json Add Node >=24 engine requirement.
packages/devextreme-dist/package.json Add Node >=24 engine requirement.
packages/devextreme-angular/package.json Add Node >=24 engine requirement.
package.json Add Node >=24 engine requirement for the workspace root.
e2e/wrappers/package.json Add Node >=24 engine requirement.
e2e/testcafe-devextreme/package.json Add Node >=24 engine requirement.
e2e/devextreme-bundler/package.json Add Node >=24 engine requirement.
e2e/compilation-cases/package.json Add Node >=24 engine requirement.
e2e/bundlers/package.json Add Node >=24 engine requirement.
apps/vue/package.json Add Node >=24 engine requirement.
apps/react/package.json Add Node >=24 engine requirement.
apps/react-storybook/package.json Add Node >=24 engine requirement.
apps/demos/package.json Add Node >=24 engine requirement.
apps/angular/package.json Add Node >=24 engine requirement.
.tool-versions Bump asdf Node version to 24.15.0.
.npmrc Enforce engine checks at repo root.
.node-version Add canonical Node version file (24.15.0) for CI/local tools.
.github/workflows/wrapper_tests_e2e.yml Switch CI Node selection to .node-version.
.github/workflows/wrapper_tests.yml Switch CI Node selection to .node-version.
.github/workflows/visual-tests-demos.yml Switch CI Node selection to .node-version.
.github/workflows/update_version.yml Switch CI Node selection to .node-version.
.github/workflows/ts_declarations.yml Switch CI Node selection to .node-version.
.github/workflows/themebuilder_tests.yml Switch CI Node selection to .node-version.
.github/workflows/testcafe_tests.yml Switch CI Node selection to .node-version.
.github/workflows/styles.yml Switch CI Node selection to .node-version.
.github/workflows/run-testcafe-on-gh-pages.yml Switch CI Node selection to .node-version.
.github/workflows/renovation.yml Switch CI Node selection to .node-version.
.github/workflows/qunit_tests.yml Switch CI Node selection to .node-version.
.github/workflows/publish-demos.yml Switch CI Node selection to .node-version.
.github/workflows/pr-storybook-deploy-manual.yml Switch CI Node selection to .node-version.
.github/workflows/playgrounds_tests.yml Switch CI Node selection to .node-version.
.github/workflows/packages_publishing.yml Switch CI Node selection to .node-version.
.github/workflows/lint.yml Switch CI Node selection to .node-version.
.github/workflows/demos_unit_tests.yml Switch CI Node selection to .node-version.
.github/workflows/default_workflow.yml Switch CI Node selection to .node-version.
.github/workflows/codeql.yml Switch CI Node selection to .node-version.
.github/workflows/build_all.yml Switch CI Node selection to .node-version (partial; see comments).

Comment thread packages/devextreme-angular/package.json Outdated
Comment thread packages/devextreme-themebuilder/package.json Outdated
Comment thread apps/angular/package.json Outdated
Comment thread apps/vue/package.json Outdated
Comment thread .github/workflows/build_all.yml
Comment thread package.json Outdated
Comment thread packages/nx-infra-plugin/package.json Outdated
Comment thread .node-version Outdated
@@ -0,0 +1 @@
24.15.0 No newline at end of file
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't forget to add eols

Copilot AI review requested due to automatic review settings April 23, 2026 10:10
@dmlvr dmlvr force-pushed the 26_1_fix_node_version branch from 2e46a5b to fdf1d12 Compare April 23, 2026 10:10
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 23 out of 23 changed files in this pull request and generated 3 comments.

Comment thread .npmrc Outdated
Comment thread .node-version Outdated
Comment thread package.json Outdated
Comment thread package.json Outdated
"version": "26.1.0",
"license": "MIT",
"author": "Developer Express Inc.",
"engines": { "node": ">=24" },
Copy link
Copy Markdown
Contributor

@pharret31 pharret31 Apr 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

???
I would suggest use the syntax that renovate bot suggests in the documentation: node: ^24.15.0
https://docs.renovatebot.com/node/#configuring-which-version-of-npm-renovate-uses

UPD: node: 24.15.0, since the updation would be automatic by renovate and it won't update version with caret

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to fix major version here, renovate bot should update .node-version file, based on our last discussion.

Copilot AI review requested due to automatic review settings April 24, 2026 10:14
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 25 out of 25 changed files in this pull request and generated 1 comment.

Comment thread .github/workflows/run-testcafe-on-gh-pages.yml
Copilot AI review requested due to automatic review settings April 24, 2026 12:58
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 28 out of 28 changed files in this pull request and generated 2 comments.

Comment thread .github/actions/run-qunit-tests/action.yml
Comment thread packages/devextreme/package.json Outdated
Copilot AI review requested due to automatic review settings April 29, 2026 15:35
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 24 out of 24 changed files in this pull request and generated 3 comments.

Comment on lines 55 to +62
- uses: pnpm/action-setup@v4
with:
run_install: false

- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.node-version'
Copy link

Copilot AI Apr 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In this composite action, pnpm/action-setup runs before actions/setup-node. Most workflows in this repo set the Node version first, then install pnpm, which ensures pnpm is installed/used under the intended Node runtime. Consider moving the actions/setup-node step above pnpm/action-setup for consistency and to avoid subtle issues if the runner default Node differs from .node-version.

Copilot uses AI. Check for mistakes.
uses: actions/setup-node@v4
with:
node-version: '20'
node-version-file: '.node-version'
Copy link

Copilot AI Apr 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Switching workflows from node-version: ... to node-version-file: '.node-version' may break automated Node version updates via Renovate. The current .github/renovate.json custom manager only matches node-version: in workflow YAML, so Renovate will no longer detect/update the Node version after this change. Consider updating Renovate config to track .node-version (or to also match node-version-file) so Node updates remain automated.

Suggested change
node-version-file: '.node-version'
node-version: 20.x

Copilot uses AI. Check for mistakes.
Comment thread .npmrc
Comment on lines +5 to +6
manage-node-version=true
use-node-version=24.15.0 No newline at end of file
Copy link

Copilot AI Apr 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Node version is now pinned in multiple places (.node-version, .tool-versions, and use-node-version=24.15.0 here). This increases the risk of the versions drifting out of sync over time. Consider making one file the single source of truth (commonly .node-version) and either removing the duplicate pin here or adding automation (e.g., a sync script / Renovate rule) to update all locations together.

Suggested change
manage-node-version=true
use-node-version=24.15.0
manage-node-version=true

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants