mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-05-28 10:22:16 +00:00
chore: update to node 24 (#65416)
This commit is contained in:
committed by
GitHub
parent
9b3bea4d4d
commit
4ea52e2639
@@ -17,7 +17,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [22]
|
node-version: [24]
|
||||||
# Exclude the languages that we currently run in the full CI suite.
|
# Exclude the languages that we currently run in the full CI suite.
|
||||||
locale:
|
locale:
|
||||||
- 'chinese'
|
- 'chinese'
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
// Constants
|
// Constants
|
||||||
const NODE_VERSION = 22;
|
const NODE_VERSION = 24;
|
||||||
|
|
||||||
// Input sanitization and validation
|
// Input sanitization and validation
|
||||||
const rawTargetLang = process.env.TARGET_LANG || 'all';
|
const rawTargetLang = process.env.TARGET_LANG || 'all';
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ jobs:
|
|||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [22]
|
node-version: [24]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -104,7 +104,7 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
# Extend this to include firefox and webkit once chromium is working.
|
# Extend this to include firefox and webkit once chromium is working.
|
||||||
browsers: [chromium]
|
browsers: [chromium]
|
||||||
node-version: [22]
|
node-version: [24]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Set Action Environment Variables
|
- name: Set Action Environment Variables
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ jobs:
|
|||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [22]
|
node-version: [24]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Source Files
|
- name: Checkout Source Files
|
||||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
@@ -93,7 +93,7 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
browsers: [chromium]
|
browsers: [chromium]
|
||||||
node-version: [22]
|
node-version: [24]
|
||||||
steps:
|
steps:
|
||||||
- name: Set Action Environment Variables
|
- name: Set Action Environment Variables
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ jobs:
|
|||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [22]
|
node-version: [24]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ jobs:
|
|||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [22]
|
node-version: [24]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ jobs:
|
|||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [22]
|
node-version: [24]
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -79,7 +79,7 @@ jobs:
|
|||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [22]
|
node-version: [24]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -115,7 +115,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [22]
|
node-version: [24]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -161,7 +161,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [22]
|
node-version: [24]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -209,7 +209,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [22]
|
node-version: [24]
|
||||||
locale: [portuguese, italian]
|
locale: [portuguese, italian]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
+2
-2
@@ -46,7 +46,7 @@
|
|||||||
"@total-typescript/ts-reset": "0.6.1",
|
"@total-typescript/ts-reset": "0.6.1",
|
||||||
"@types/jsonwebtoken": "9.0.5",
|
"@types/jsonwebtoken": "9.0.5",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"@types/node": "^24.10.2",
|
"@types/node": "^24.10.8",
|
||||||
"@types/nodemailer": "6.4.21",
|
"@types/nodemailer": "6.4.21",
|
||||||
"@types/supertest": "2.0.16",
|
"@types/supertest": "2.0.16",
|
||||||
"@types/validator": "13.15.10",
|
"@types/validator": "13.15.10",
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
"vitest": "^3.2.4"
|
"vitest": "^3.2.4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18",
|
"node": ">=24",
|
||||||
"npm": ">=8"
|
"npm": ">=8"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/freeCodeCamp/freeCodeCamp#readme",
|
"homepage": "https://github.com/freeCodeCamp/freeCodeCamp#readme",
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@
|
|||||||
"license": "BSD-3-Clause",
|
"license": "BSD-3-Clause",
|
||||||
"private": true,
|
"private": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=16",
|
"node": ">=24",
|
||||||
"pnpm": ">=10"
|
"pnpm": ">=10"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"license": "BSD-3-Clause",
|
"license": "BSD-3-Clause",
|
||||||
"private": true,
|
"private": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=16",
|
"node": ">=24",
|
||||||
"pnpm": ">=10"
|
"pnpm": ">=10"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
@@ -75,6 +75,6 @@
|
|||||||
"vitest": "^4.0.15"
|
"vitest": "^4.0.15"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/node": "^24.10.4"
|
"@types/node": "^24.10.8"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM node:22-bookworm AS builder
|
FROM node:24-bookworm AS builder
|
||||||
RUN apt-get update && apt-get install -y jq
|
RUN apt-get update && apt-get install -y jq
|
||||||
# global installs need root permissions, so have to happen before we switch to
|
# global installs need root permissions, so have to happen before we switch to
|
||||||
# the node user
|
# the node user
|
||||||
@@ -31,7 +31,7 @@ RUN pnpm turbo compile
|
|||||||
RUN pnpm build:curriculum
|
RUN pnpm build:curriculum
|
||||||
RUN pnpm -F=api build
|
RUN pnpm -F=api build
|
||||||
|
|
||||||
FROM node:22-bookworm AS deps
|
FROM node:24-bookworm AS deps
|
||||||
RUN apt-get update && apt-get install -y jq
|
RUN apt-get update && apt-get install -y jq
|
||||||
|
|
||||||
WORKDIR /home/node/build
|
WORKDIR /home/node/build
|
||||||
@@ -48,7 +48,7 @@ RUN pnpm config set dedupe-peer-dependents false
|
|||||||
RUN pnpm install --prod --ignore-scripts -F=api -F=packages/shared --frozen-lockfile
|
RUN pnpm install --prod --ignore-scripts -F=api -F=packages/shared --frozen-lockfile
|
||||||
RUN cd api && npx prisma@$(jq -r '.devDependencies.prisma' < package.json) generate
|
RUN cd api && npx prisma@$(jq -r '.devDependencies.prisma' < package.json) generate
|
||||||
|
|
||||||
FROM node:22-bookworm
|
FROM node:24-bookworm
|
||||||
USER node
|
USER node
|
||||||
WORKDIR /home/node/fcc
|
WORKDIR /home/node/fcc
|
||||||
COPY --from=builder --chown=node:node /home/node/build/api/dist/ ./
|
COPY --from=builder --chown=node:node /home/node/build/api/dist/ ./
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ LABEL org.opencontainers.image.source=https://github.com/freecodecamp/freecodeca
|
|||||||
org.opencontainers.image.licenses=BSD-3-Clause
|
org.opencontainers.image.licenses=BSD-3-Clause
|
||||||
|
|
||||||
# from https://www.gitpod.io/docs/introduction/languages/javascript#node-versions
|
# from https://www.gitpod.io/docs/introduction/languages/javascript#node-versions
|
||||||
RUN bash -c 'VERSION="20" \
|
RUN bash -c 'VERSION="24" \
|
||||||
&& source $HOME/.nvm/nvm.sh && nvm install $VERSION \
|
&& source $HOME/.nvm/nvm.sh && nvm install $VERSION \
|
||||||
&& nvm use $VERSION && nvm alias default $VERSION \
|
&& nvm use $VERSION && nvm alias default $VERSION \
|
||||||
&& npm i -g pnpm@10 \
|
&& npm i -g pnpm@10 \
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM node:22-bookworm AS builder
|
FROM node:24-bookworm AS builder
|
||||||
# global installs need root permissions, so have to happen before we switch to
|
# global installs need root permissions, so have to happen before we switch to
|
||||||
# the node user
|
# the node user
|
||||||
RUN npm i -g pnpm@10
|
RUN npm i -g pnpm@10
|
||||||
@@ -36,7 +36,7 @@ ENV SHOW_UPCOMING_CHANGES=$SHOW_UPCOMING_CHANGES
|
|||||||
RUN pnpm install --frozen-lockfile
|
RUN pnpm install --frozen-lockfile
|
||||||
RUN pnpm build:client
|
RUN pnpm build:client
|
||||||
|
|
||||||
FROM node:22-alpine
|
FROM node:24-alpine
|
||||||
RUN npm i -g serve@13 pm2@4
|
RUN npm i -g serve@13 pm2@4
|
||||||
USER node
|
USER node
|
||||||
WORKDIR /home/node/client
|
WORKDIR /home/node/client
|
||||||
|
|||||||
+2
-2
@@ -5,7 +5,7 @@
|
|||||||
"license": "BSD-3-Clause",
|
"license": "BSD-3-Clause",
|
||||||
"private": true,
|
"private": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=22",
|
"node": ">=24",
|
||||||
"pnpm": ">=10"
|
"pnpm": ">=10"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
@@ -82,7 +82,7 @@
|
|||||||
"@testing-library/dom": "10.4.0",
|
"@testing-library/dom": "10.4.0",
|
||||||
"@testing-library/jest-dom": "6.6.3",
|
"@testing-library/jest-dom": "6.6.3",
|
||||||
"@types/lodash": "4.14.202",
|
"@types/lodash": "4.14.202",
|
||||||
"@types/node": "20.12.8",
|
"@types/node": "^24.10.8",
|
||||||
"@types/testing-library__jest-dom": "^5.14.5",
|
"@types/testing-library__jest-dom": "^5.14.5",
|
||||||
"debug": "4.3.4",
|
"debug": "4.3.4",
|
||||||
"globals": "^15.14.0",
|
"globals": "^15.14.0",
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
"description": "Config and utils used in multiple workspaces",
|
"description": "Config and utils used in multiple workspaces",
|
||||||
"private": false,
|
"private": false,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=16",
|
"node": ">=24",
|
||||||
"pnpm": ">=10"
|
"pnpm": ">=10"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
Generated
+205
-280
File diff suppressed because it is too large
Load Diff
@@ -5,7 +5,7 @@
|
|||||||
"license": "BSD-3-Clause",
|
"license": "BSD-3-Clause",
|
||||||
"private": true,
|
"private": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=16",
|
"node": ">=24",
|
||||||
"pnpm": ">=10"
|
"pnpm": ">=10"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"license": "BSD-3-Clause",
|
"license": "BSD-3-Clause",
|
||||||
"private": true,
|
"private": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=16",
|
"node": ">=24",
|
||||||
"pnpm": ">=10"
|
"pnpm": ">=10"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"license": "BSD-3-Clause",
|
"license": "BSD-3-Clause",
|
||||||
"private": true,
|
"private": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18",
|
"node": ">=24",
|
||||||
"pnpm": ">=10"
|
"pnpm": ">=10"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"license": "BSD-3-Clause",
|
"license": "BSD-3-Clause",
|
||||||
"private": true,
|
"private": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=16",
|
"node": ">=24",
|
||||||
"pnpm": ">=10"
|
"pnpm": ">=10"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"license": "BSD-3-Clause",
|
"license": "BSD-3-Clause",
|
||||||
"private": true,
|
"private": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=16",
|
"node": ">=24",
|
||||||
"pnpm": ">=10"
|
"pnpm": ">=10"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"license": "BSD-3-Clause",
|
"license": "BSD-3-Clause",
|
||||||
"private": true,
|
"private": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=16",
|
"node": ">=24",
|
||||||
"pnpm": ">=10"
|
"pnpm": ">=10"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"license": "BSD-3-Clause",
|
"license": "BSD-3-Clause",
|
||||||
"private": true,
|
"private": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=16",
|
"node": ">=24",
|
||||||
"pnpm": ">=10"
|
"pnpm": ">=10"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
Reference in New Issue
Block a user