This is an automated email from the ASF dual-hosted git repository.

aglinxinyuan pushed a commit to branch xinyuan-frontend-node-24
in repository https://gitbox.apache.org/repos/asf/texera.git

commit 29440eda41ab86e37da1c46124fdf2579dc7ca62
Author: Xinyuan Lin <[email protected]>
AuthorDate: Fri May 1 23:55:36 2026 -0700

    chore(deps): upgrade frontend Node engine to 24
    
    Bump the frontend Node engine from 20.x to 24.x ahead of the Node 20
    end-of-life window. Updates the package engines field, the CI matrix,
    the @types/node devDependency, the docker build stage that compiles
    the frontend bundle, and the Node references in AGENTS.md. Also fixes
    a stale literal `18` in the frontend job-name format string in
    build.yml that no longer matched the matrix.
    
    Closes #4657
---
 .github/workflows/build.yml           |  4 ++--
 AGENTS.md                             |  4 ++--
 bin/texera-web-application.dockerfile |  2 +-
 frontend/package.json                 |  4 ++--
 frontend/yarn.lock                    | 20 ++++++++++----------
 5 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 81bcffab63..5cdc296ab4 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -59,7 +59,7 @@ env:
 jobs:
   frontend:
     if: ${{ inputs.run_frontend }}
-    name: ${{ format('frontend{0} ({1}, 18)', inputs.job_name_suffix, 
matrix.os) }}
+    name: ${{ format('frontend{0} ({1}, 24)', inputs.job_name_suffix, 
matrix.os) }}
     runs-on: ${{ matrix.os }}
     strategy:
       matrix:
@@ -72,7 +72,7 @@ jobs:
           - os: windows-latest
             arch: x64
         node-version:
-          - 20.19.0
+          - 24.10.0
     steps:
       - name: Checkout Texera
         uses: actions/checkout@v5
diff --git a/AGENTS.md b/AGENTS.md
index 70e31175d3..360f99224b 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -17,7 +17,7 @@ Major areas:
 - `config-service/`, `access-control-service/`, `file-service/`,
   `computing-unit-managing-service/`, `workflow-compiling-service/`: backend
   services wired through `build.sbt`.
-- `frontend/`: Angular application. Uses Yarn 4.14.1, Node >= 20.19.0, Nx,
+- `frontend/`: Angular application. Uses Yarn 4.14.1, Node >= 24.0.0, Nx,
   Prettier, ESLint, Karma/Jasmine, and ng-zorro.
 - `agent-service/`: TypeScript Elysia service for Texera LLM agents. CI uses
   Bun 1.3.3.
@@ -113,7 +113,7 @@ outside CI.
 
 The Angular frontend lives in `frontend/`.
 
-- Node engine: `>=20.19.0`.
+- Node engine: `>=24.0.0`.
 - Package manager: Yarn 4.14.1 via Corepack.
 - Formatting is Prettier plus prettier-eslint. Prettier uses 2 spaces,
   semicolons, double quotes, `printWidth: 120`, and LF endings.
diff --git a/bin/texera-web-application.dockerfile 
b/bin/texera-web-application.dockerfile
index 1caff2dad4..724e4aa5ea 100644
--- a/bin/texera-web-application.dockerfile
+++ b/bin/texera-web-application.dockerfile
@@ -15,7 +15,7 @@
 # specific language governing permissions and limitations
 # under the License.
 
-FROM node:22-bookworm AS build-frontend
+FROM node:24-bookworm AS build-frontend
 
 RUN apt-get update && apt-get install -y --no-install-recommends \
         python3 build-essential git ca-certificates
diff --git a/frontend/package.json b/frontend/package.json
index c9330e88d9..9407f6282e 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -2,7 +2,7 @@
   "name": "gui",
   "version": "0.0.0",
   "engines": {
-    "node": ">=20.19.0"
+    "node": ">=24.0.0"
   },
   "license": "Apache-2.0",
   "scripts": {
@@ -113,7 +113,7 @@
     "@types/karma-coverage": "^2",
     "@types/lodash": "4.14.179",
     "@types/lodash-es": "4.17.4",
-    "@types/node": "20.19.39",
+    "@types/node": "24.10.1",
     "@types/papaparse": "5.3.5",
     "@types/plotly.js-basic-dist-min": "2.12.4",
     "@types/quill": "2.0.9",
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
index 74a3634a13..e7769419e9 100644
--- a/frontend/yarn.lock
+++ b/frontend/yarn.lock
@@ -6144,12 +6144,12 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@types/node@npm:20.19.39":
-  version: 20.19.39
-  resolution: "@types/node@npm:20.19.39"
+"@types/node@npm:24.10.1":
+  version: 24.10.1
+  resolution: "@types/node@npm:24.10.1"
   dependencies:
-    undici-types: "npm:~6.21.0"
-  checksum: 
10c0/1d16da7b5f47a7415b827fcf3b94d279febf4c14671afec74a03e47856b5270023d9beb1b9aeab4d3b622fd97d61a60206cfc2cca588663181331bc592468289
+    undici-types: "npm:~7.16.0"
+  checksum: 
10c0/d6bca7a78f550fbb376f236f92b405d676003a8a09a1b411f55920ef34286ee3ee51f566203920e835478784df52662b5b2af89159d9d319352e9ea21801c002
   languageName: node
   linkType: hard
 
@@ -10813,7 +10813,7 @@ __metadata:
     "@types/karma-coverage": "npm:^2"
     "@types/lodash": "npm:4.14.179"
     "@types/lodash-es": "npm:4.17.4"
-    "@types/node": "npm:20.19.39"
+    "@types/node": "npm:24.10.1"
     "@types/papaparse": "npm:5.3.5"
     "@types/plotly.js-basic-dist-min": "npm:2.12.4"
     "@types/quill": "npm:2.0.9"
@@ -17376,10 +17376,10 @@ __metadata:
   languageName: node
   linkType: hard
 
-"undici-types@npm:~6.21.0":
-  version: 6.21.0
-  resolution: "undici-types@npm:6.21.0"
-  checksum: 
10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04
+"undici-types@npm:~7.16.0":
+  version: 7.16.0
+  resolution: "undici-types@npm:7.16.0"
+  checksum: 
10c0/3033e2f2b5c9f1504bdc5934646cb54e37ecaca0f9249c983f7b1fc2e87c6d18399ebb05dc7fd5419e02b2e915f734d872a65da2e3eeed1813951c427d33cc9a
   languageName: node
   linkType: hard
 

Reply via email to