diff --git a/.github/actions/run-qunit-tests/action.yml b/.github/actions/run-qunit-tests/action.yml index f194ec7d4cc9..fe62a6b869f6 100644 --- a/.github/actions/run-qunit-tests/action.yml +++ b/.github/actions/run-qunit-tests/action.yml @@ -56,6 +56,11 @@ runs: with: run_install: false + - name: Use Node.js + uses: actions/setup-node@v4 + with: + node-version-file: '.node-version' + - name: Get pnpm store directory shell: bash run: | diff --git a/.github/workflows/build_all.yml b/.github/workflows/build_all.yml index 921b030ecf8f..c16647842ae4 100644 --- a/.github/workflows/build_all.yml +++ b/.github/workflows/build_all.yml @@ -29,7 +29,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: @@ -87,6 +87,11 @@ jobs: - name: Get sources uses: actions/checkout@v4 + - name: Use Node.js + uses: actions/setup-node@v4 + with: + node-version-file: '.node-version' + - uses: pnpm/action-setup@v4 with: run_install: false diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index d6e5f99ec8ce..d69519de5144 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -19,7 +19,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: diff --git a/.github/workflows/default_workflow.yml b/.github/workflows/default_workflow.yml index d4848f610d31..12d019988807 100644 --- a/.github/workflows/default_workflow.yml +++ b/.github/workflows/default_workflow.yml @@ -28,7 +28,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: diff --git a/.github/workflows/demos_unit_tests.yml b/.github/workflows/demos_unit_tests.yml index cc6201edcfe5..26a0ca2e063e 100644 --- a/.github/workflows/demos_unit_tests.yml +++ b/.github/workflows/demos_unit_tests.yml @@ -41,7 +41,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 18229eef1eb8..12631f950981 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -25,7 +25,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: @@ -79,7 +79,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: @@ -121,7 +121,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: @@ -157,7 +157,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: @@ -204,7 +204,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: diff --git a/.github/workflows/packages_publishing.yml b/.github/workflows/packages_publishing.yml index c349f81fd550..aac69838f0d4 100644 --- a/.github/workflows/packages_publishing.yml +++ b/.github/workflows/packages_publishing.yml @@ -36,7 +36,7 @@ jobs: - name: Set up nodejs uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: @@ -134,7 +134,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: diff --git a/.github/workflows/playgrounds_tests.yml b/.github/workflows/playgrounds_tests.yml index 95a67a266146..6c0cf51cfb61 100644 --- a/.github/workflows/playgrounds_tests.yml +++ b/.github/workflows/playgrounds_tests.yml @@ -30,7 +30,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: @@ -93,7 +93,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - name: Download artifacts uses: actions/download-artifact@v4 diff --git a/.github/workflows/pr-storybook-deploy-manual.yml b/.github/workflows/pr-storybook-deploy-manual.yml index 786829b759af..a31f6a85f2c7 100644 --- a/.github/workflows/pr-storybook-deploy-manual.yml +++ b/.github/workflows/pr-storybook-deploy-manual.yml @@ -53,7 +53,7 @@ jobs: if: inputs.action == 'deploy' uses: actions/setup-node@v4 with: - node-version: "20" + node-version-file: '.node-version' - name: Setup pnpm if: inputs.action == 'deploy' diff --git a/.github/workflows/publish-demos.yml b/.github/workflows/publish-demos.yml index ec9819bcf206..63e2e279e953 100644 --- a/.github/workflows/publish-demos.yml +++ b/.github/workflows/publish-demos.yml @@ -16,7 +16,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: @@ -68,7 +68,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - name: Download devextreme sources uses: actions/download-artifact@v4 @@ -167,7 +167,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - name: Download devextreme sources uses: actions/download-artifact@v4 diff --git a/.github/workflows/qunit_tests.yml b/.github/workflows/qunit_tests.yml index 00cd65a01a1a..7c3966d1775f 100644 --- a/.github/workflows/qunit_tests.yml +++ b/.github/workflows/qunit_tests.yml @@ -39,7 +39,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: diff --git a/.github/workflows/renovation.yml b/.github/workflows/renovation.yml index 66a661cfeeb5..b84452037051 100644 --- a/.github/workflows/renovation.yml +++ b/.github/workflows/renovation.yml @@ -25,7 +25,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: diff --git a/.github/workflows/run-testcafe-on-gh-pages.yml b/.github/workflows/run-testcafe-on-gh-pages.yml index d217ea999a59..95db8335fbc0 100644 --- a/.github/workflows/run-testcafe-on-gh-pages.yml +++ b/.github/workflows/run-testcafe-on-gh-pages.yml @@ -26,7 +26,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - name: Checkout gh-pages branch uses: actions/checkout@v4 diff --git a/.github/workflows/styles.yml b/.github/workflows/styles.yml index 6401dee62126..e2f86c357f3b 100644 --- a/.github/workflows/styles.yml +++ b/.github/workflows/styles.yml @@ -25,7 +25,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: diff --git a/.github/workflows/testcafe_tests.yml b/.github/workflows/testcafe_tests.yml index 45c408a39132..9906564ce5dd 100644 --- a/.github/workflows/testcafe_tests.yml +++ b/.github/workflows/testcafe_tests.yml @@ -53,7 +53,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: @@ -157,10 +157,10 @@ jobs: # with: # chrome-version: '145.0.7632.67' - # - name: Use Node.js - # uses: actions/setup-node@v4 - # with: - # node-version: '20' + - name: Use Node.js + uses: actions/setup-node@v4 + with: + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: diff --git a/.github/workflows/themebuilder_tests.yml b/.github/workflows/themebuilder_tests.yml index da7ccceed35d..bd22d691b811 100644 --- a/.github/workflows/themebuilder_tests.yml +++ b/.github/workflows/themebuilder_tests.yml @@ -28,7 +28,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: diff --git a/.github/workflows/ts_declarations.yml b/.github/workflows/ts_declarations.yml index 622795601064..1661734343aa 100644 --- a/.github/workflows/ts_declarations.yml +++ b/.github/workflows/ts_declarations.yml @@ -22,7 +22,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: @@ -71,7 +71,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: diff --git a/.github/workflows/update_version.yml b/.github/workflows/update_version.yml index 476ada2989b3..59f9f5dfd57f 100644 --- a/.github/workflows/update_version.yml +++ b/.github/workflows/update_version.yml @@ -26,7 +26,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: diff --git a/.github/workflows/visual-tests-demos.yml b/.github/workflows/visual-tests-demos.yml index ce83e52b25b8..7aa519460b18 100644 --- a/.github/workflows/visual-tests-demos.yml +++ b/.github/workflows/visual-tests-demos.yml @@ -117,7 +117,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: @@ -204,7 +204,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - name: Download devextreme sources uses: actions/download-artifact@v4 @@ -281,7 +281,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: @@ -351,7 +351,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: @@ -442,7 +442,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - name: Download devextreme sources uses: actions/download-artifact@v4 @@ -533,7 +533,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - name: Download devextreme sources uses: actions/download-artifact@v4 @@ -636,7 +636,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: @@ -805,7 +805,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - name: Download devextreme sources uses: actions/download-artifact@v4 @@ -933,7 +933,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - name: Download devextreme sources uses: actions/download-artifact@v4 @@ -1113,7 +1113,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: @@ -1185,7 +1185,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: @@ -1242,7 +1242,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - name: Download all CSP reports uses: actions/download-artifact@v4 diff --git a/.github/workflows/wrapper_tests.yml b/.github/workflows/wrapper_tests.yml index 24f7d9fec946..0c067b8beb87 100644 --- a/.github/workflows/wrapper_tests.yml +++ b/.github/workflows/wrapper_tests.yml @@ -22,7 +22,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: @@ -58,7 +58,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: @@ -111,7 +111,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: diff --git a/.github/workflows/wrapper_tests_e2e.yml b/.github/workflows/wrapper_tests_e2e.yml index 9670e28d5e46..673c1b617fe7 100644 --- a/.github/workflows/wrapper_tests_e2e.yml +++ b/.github/workflows/wrapper_tests_e2e.yml @@ -28,7 +28,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: @@ -101,7 +101,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.node-version' - uses: pnpm/action-setup@v4 with: diff --git a/.node-version b/.node-version new file mode 100644 index 000000000000..5bf4400f2292 --- /dev/null +++ b/.node-version @@ -0,0 +1 @@ +24.15.0 diff --git a/.npmrc b/.npmrc index ced9c5f510a0..77c180bd6b1b 100644 --- a/.npmrc +++ b/.npmrc @@ -1,4 +1,5 @@ link-workspace-packages=true prefer-workspace-packages=true save-workspace-protocol=false -package-manager-strict=false \ No newline at end of file +package-manager-strict=false +engine-strict=true diff --git a/.tool-versions b/.tool-versions index fd73f08c7531..7712cf3ddcdc 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ dotnet 8 -nodejs 20.19.4 +nodejs 24.15.0 diff --git a/apps/demos/package.json b/apps/demos/package.json index d7364ef13cf8..bc118eef81fc 100644 --- a/apps/demos/package.json +++ b/apps/demos/package.json @@ -7,6 +7,7 @@ "url": "https://github.com/DevExpress/devextreme-demos.git" }, "author": "Developer Express Inc.", + "engines": { "node": "24.15.0" }, "peerDependencies": { "devextreme": "workspace:*", "devextreme-angular": "workspace:*", diff --git a/package.json b/package.json index bd3eda03d7bf..4d77a92ada1f 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "26.1.0", "license": "MIT", "author": "Developer Express Inc.", + "engines": { "node": "24.15.0" }, "scripts": { "devextreme:inject-descriptions-to-bundle": "dx-tools inject-descriptions --target-path ./packages/devextreme/ts/dx.all.d.ts --artifacts ./node_modules/devextreme-metadata/dist", "devextreme:inject-descriptions-to-modules": "dx-tools inject-descriptions --collapse-tags --sources ./packages/devextreme/js --artifacts ./node_modules/devextreme-metadata/dist", diff --git a/packages/devextreme-scss/package.json b/packages/devextreme-scss/package.json index 6d80381a2f0b..242c20462960 100644 --- a/packages/devextreme-scss/package.json +++ b/packages/devextreme-scss/package.json @@ -1,6 +1,7 @@ { "name": "devextreme-scss", "type": "module", + "engines": { "node": "24.15.0" }, "devDependencies": { "clean-css": "5.3.3", "del": "2.2.2", diff --git a/packages/devextreme/package.json b/packages/devextreme/package.json index 3c0647ddf3d5..d4b56eb377e7 100644 --- a/packages/devextreme/package.json +++ b/packages/devextreme/package.json @@ -2,6 +2,7 @@ "name": "devextreme", "version": "26.1.0", "description": "JavaScript/TypeScript Component Suite for Responsive Web Development", + "engines": { "node": "24.15.0" }, "keywords": [ "devextreme", "devexpress",