From ead911e2147589b43f1c92806795e474f48dba9e Mon Sep 17 00:00:00 2001 From: Alexander Brandon Coles Date: Sun, 7 Jun 2026 19:15:24 +0100 Subject: [PATCH] Bump Node to 22.22.3, npm to ^10.9.8 Bumps supported Node engines to `^22.22.3 || ^24.15.0`. Updates to Node 22.22.3 for development, production, GitHub workflows and in documentation. --- .github/workflows/docker.yml | 2 +- .github/workflows/eslint-core.yml | 2 +- .github/workflows/npm-audit.yml | 2 +- .github/workflows/test-frontend-unit.yml | 2 +- AGENTS.md | 4 ++-- docker/ci/Dockerfile | 2 +- docker/dev/frontend/Dockerfile | 2 +- docker/prod/Dockerfile | 4 ++-- .../development-environment/linux/README.md | 10 +++++----- .../development-environment/macos/README.md | 10 +++++----- .../installation/manual/README.md | 2 +- frontend/AGENTS.md | 2 +- package-lock.json | 4 ++-- package.json | 4 ++-- 14 files changed, 26 insertions(+), 26 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 8ad544d194d..eb83751c3fe 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -124,7 +124,7 @@ jobs: bundler-cache: true - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: - node-version: 22.15 + node-version: 22.22.3 package-manager-cache: false cache: npm cache-dependency-path: | diff --git a/.github/workflows/eslint-core.yml b/.github/workflows/eslint-core.yml index 19e26516290..556be271976 100644 --- a/.github/workflows/eslint-core.yml +++ b/.github/workflows/eslint-core.yml @@ -23,7 +23,7 @@ jobs: persist-credentials: false - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: - node-version: '22.15' + node-version: '22.22.3' package-manager-cache: false cache: npm cache-dependency-path: frontend/package-lock.json diff --git a/.github/workflows/npm-audit.yml b/.github/workflows/npm-audit.yml index 6d2b82ecdb5..ea44634cce3 100644 --- a/.github/workflows/npm-audit.yml +++ b/.github/workflows/npm-audit.yml @@ -37,7 +37,7 @@ jobs: - name: Set up Node.js uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: - node-version: '22.21' + node-version: '22.22.3' package-manager-cache: false - name: Required git config diff --git a/.github/workflows/test-frontend-unit.yml b/.github/workflows/test-frontend-unit.yml index 0b072098376..26059f32398 100644 --- a/.github/workflows/test-frontend-unit.yml +++ b/.github/workflows/test-frontend-unit.yml @@ -41,7 +41,7 @@ jobs: - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: - node-version: '22.15' + node-version: '22.22.3' package-manager-cache: false - name: Install Dependencies diff --git a/AGENTS.md b/AGENTS.md index 079ebb555fe..874d139a442 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -8,7 +8,7 @@ - **Size**: Large monorepo (~840MB, ~1M+ lines of code) - **Backend**: Ruby 3.4.7, Rails ~8.0.3 -- **Frontend**: Node.js 22.21.0, npm 10.1.0+, TypeScript +- **Frontend**: Node.js 22.22.3 or 24.15.0+, npm 10.9.8+, TypeScript - **Database**: PostgreSQL (required) - **Architecture**: Server-rendered HTML with Hotwire (Turbo + Stimulus). Legacy Angular components exist and are being migrated to custom elements. Uses GitHub's Primer Design System via ViewComponent. - **Editions**: Community, Enterprise (SSO, LDAP, SCIM), and BIM (construction industry, code in `modules/bim/`) @@ -17,7 +17,7 @@ **ALWAYS verify versions before building:** - Ruby: `3.4.7` (see `.ruby-version`) -- Node: `^22.21.0` (see `package.json` engines) +- Node: `^22.22.3 || ^24.15.0` (see `package.json` engines) - Bundler: Latest 2.x ### Local Development Setup diff --git a/docker/ci/Dockerfile b/docker/ci/Dockerfile index 285338476ed..a2538855b38 100644 --- a/docker/ci/Dockerfile +++ b/docker/ci/Dockerfile @@ -2,7 +2,7 @@ ARG RUBY_VERSION FROM ruby:${RUBY_VERSION}-trixie -ENV NODE_VERSION="22.21.0" +ENV NODE_VERSION="22.22.3" ENV DEBIAN_FRONTEND=noninteractive ENV BUNDLE_WITHOUT="development:production:docker" diff --git a/docker/dev/frontend/Dockerfile b/docker/dev/frontend/Dockerfile index 985cd8c2bdb..7bf18fc6801 100644 --- a/docker/dev/frontend/Dockerfile +++ b/docker/dev/frontend/Dockerfile @@ -1,4 +1,4 @@ -FROM node:22.21.0 +FROM node:22.22.3 LABEL org.opencontainers.image.authors="operations@openproject.com" ARG DEV_UID=1000 diff --git a/docker/prod/Dockerfile b/docker/prod/Dockerfile index 1e6d1c509ee..080aaf73983 100755 --- a/docker/prod/Dockerfile +++ b/docker/prod/Dockerfile @@ -6,7 +6,7 @@ ARG BUILDKIT_SBOM_SCAN_STAGE=true FROM ruby:${RUBY_VERSION}-slim-trixie AS runtime-base LABEL maintainer="operations@openproject.com" -ARG NODE_VERSION="22.21.0" +ARG NODE_VERSION="22.22.3" ARG BIM_SUPPORT=true ENV USE_JEMALLOC=false ENV DEBIAN_FRONTEND=noninteractive @@ -61,7 +61,7 @@ COPY ./docker/prod/setup/preinstall-common.sh ./docker/prod/setup/preinstall-com RUN ./docker/prod/setup/preinstall-common.sh FROM runtime-base AS build-base -ARG NODE_VERSION="22.21.0" +ARG NODE_VERSION="22.22.3" # build-only dependencies COPY ./docker/prod/setup/preinstall-build.sh ./docker/prod/setup/preinstall-build.sh diff --git a/docs/development/development-environment/linux/README.md b/docs/development/development-environment/linux/README.md index 8b405235892..a0ce2b2977e 100644 --- a/docs/development/development-environment/linux/README.md +++ b/docs/development/development-environment/linux/README.md @@ -161,11 +161,11 @@ git clone https://github.com/nodenv/node-build.git $(nodenv root)/plugins/node-b You can find the latest LTS version here: [nodejs.org/en/download/](https://nodejs.org/en/download/) -At the time of writing this is v22.21.0 Install and activate it with: +At the time of writing this is v22.22.3 Install and activate it with: ```shell -nodenv install 22.21.0 -nodenv global 22.21.0 +nodenv install 22.22.3 +nodenv global 22.22.3 nodenv rehash ``` @@ -187,10 +187,10 @@ bundler --version 4.0.9 node --version -v22.21.0 +v22.22.3 npm --version -10.5.0 +10.9.8 ``` ## Install OpenProject Sources diff --git a/docs/development/development-environment/macos/README.md b/docs/development/development-environment/macos/README.md index b38a65a01ba..07a50df5937 100644 --- a/docs/development/development-environment/macos/README.md +++ b/docs/development/development-environment/macos/README.md @@ -115,11 +115,11 @@ nodenv init You can find the latest LTS version here: [nodejs.org/en/download](https://nodejs.org/en/download/) -At the time of writing this is v22.21.0. Install and activate it with: +At the time of writing this is v22.22.3. Install and activate it with: ```shell -nodenv install 22.21.0 -nodenv global 22.21.0 +nodenv install 22.22.3 +nodenv global 22.22.3 ``` #### Update NPM to the latest version @@ -140,10 +140,10 @@ $ bundler --version 4.0.3 node --version -v22.21.0 +v22.22.3 npm --version -10.5.0 +10.9.8 ``` ## Install OpenProject diff --git a/docs/installation-and-operations/installation/manual/README.md b/docs/installation-and-operations/installation/manual/README.md index ccc9758556d..3815a4d5609 100644 --- a/docs/installation-and-operations/installation/manual/README.md +++ b/docs/installation-and-operations/installation/manual/README.md @@ -145,7 +145,7 @@ time to finish. To check our Node installation we run `node --version`. It should output something very similar to: ```text -v22.21.0 +v22.22.3 ``` ## Installation of OpenProject diff --git a/frontend/AGENTS.md b/frontend/AGENTS.md index b4e9968d486..8786e61c93c 100644 --- a/frontend/AGENTS.md +++ b/frontend/AGENTS.md @@ -14,7 +14,7 @@ ## Version Requirements -- Node: `^22.21.0` (see `package.json` engines) +- Node: `^22.22.3 || ^24.15.0` (see `package.json` engines) ## Setup diff --git a/package-lock.json b/package-lock.json index 91d34ac3fca..3f49eb94f5c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,8 +15,8 @@ "@redocly/cli": "^2.17.0" }, "engines": { - "node": "^22.21.0", - "npm": "^10.1.0" + "node": "^22.22.3 || ^24.15.0", + "npm": "^10.9.8" } }, "node_modules/@babel/code-frame": { diff --git a/package.json b/package.json index efc58d163c4..d826eb57067 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,8 @@ }, "private": true, "engines": { - "node": "^22.21.0", - "npm": "^10.1.0" + "node": "^22.22.3 || ^24.15.0", + "npm": "^10.9.8" }, "devDependencies": { "@redocly/cli": "^2.17.0"