diff --git a/.github/actions/setup-repo/action.yml b/.github/actions/setup-repo/action.yml index 869ec4af0..860fb9872 100644 --- a/.github/actions/setup-repo/action.yml +++ b/.github/actions/setup-repo/action.yml @@ -4,7 +4,7 @@ inputs: node-version: description: "Version used by actions/setup-node" required: true - default: "20" + default: "22" yarn-version: description: "Version of Yarn used to install dependencies" required: true diff --git a/firebase.json b/firebase.json index b2ddccc3a..7f8927b97 100644 --- a/firebase.json +++ b/firebase.json @@ -9,7 +9,7 @@ "predeploy": ["yarn build:functions"], "source": "functions", "codebase": "maple", - "runtime": "nodejs20", + "runtime": "nodejs22", "runtimeConfig": ".runtimeconfig.json" }, { diff --git a/functions/.runtimeconfig.json b/functions/.runtimeconfig.json index e51e1e869..55b436d3e 100644 --- a/functions/.runtimeconfig.json +++ b/functions/.runtimeconfig.json @@ -1,6 +1,6 @@ { "runtime": { - "nodejs18": { + "nodejs22": { "apt": { "packages": ["ffmpeg"] } diff --git a/infra/Dockerfile.firebase b/infra/Dockerfile.firebase index bc17a8e08..34fcd2f06 100644 --- a/infra/Dockerfile.firebase +++ b/infra/Dockerfile.firebase @@ -1,8 +1,8 @@ -FROM andreysenov/firebase-tools:latest-node-20 +FROM andreysenov/firebase-tools:latest-node-22 USER root RUN apt update && apt install -y curl python3 python3-pip python3-venv ffmpeg WORKDIR /app RUN chown -R node:node . -USER node \ No newline at end of file +USER node diff --git a/infra/Dockerfile.node b/infra/Dockerfile.node index 6acce9d1a..b28d61797 100644 --- a/infra/Dockerfile.node +++ b/infra/Dockerfile.node @@ -1,4 +1,4 @@ -FROM node:20-alpine +FROM node:22-alpine USER root RUN apk update && apk add curl @@ -6,4 +6,4 @@ RUN apk add --no-cache python3 make g++ WORKDIR /app RUN chown -R node:node . -USER node \ No newline at end of file +USER node diff --git a/infra/firebase.compose.json b/infra/firebase.compose.json index d7be73a19..385236ec8 100644 --- a/infra/firebase.compose.json +++ b/infra/firebase.compose.json @@ -9,7 +9,7 @@ "predeploy": ["yarn build:functions"], "source": "functions", "codebase": "maple", - "runtime": "nodejs20" + "runtime": "nodejs22" }, { "predeploy": [ diff --git a/mcp-server/Dockerfile b/mcp-server/Dockerfile index 79496c632..2e2b029f7 100644 --- a/mcp-server/Dockerfile +++ b/mcp-server/Dockerfile @@ -1,5 +1,5 @@ # ── Build stage ─────────────────────────────────────────────────────────────── -FROM node:20-slim AS builder +FROM node:22-slim AS builder WORKDIR /app @@ -11,7 +11,7 @@ COPY *.ts ./ RUN npm run build # ── Runtime stage ───────────────────────────────────────────────────────────── -FROM node:20-slim AS runtime +FROM node:22-slim AS runtime WORKDIR /app diff --git a/package.json b/package.json index 6d2d70fd3..6a200dc2a 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "setRole": "ts-node -P tsconfig.script.json scripts/firebase-admin/setRole.ts" }, "engines": { - "node": "^20", + "node": "^22", "yarn": "^1.22.19" }, "browserslist": { @@ -167,7 +167,7 @@ "@types/luxon": "^2.0.9", "@types/marked": "^4.0.8", "@types/mustache": "^4.2.1", - "@types/node": "^20.0.0", + "@types/node": "^22.0.0", "@types/papaparse": "^5.3.5", "@types/react": "^18.2.43", "@types/react-copy-to-clipboard": "^5.0.4", diff --git a/yarn.lock b/yarn.lock index 03bd7ee1c..45806217e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5014,10 +5014,10 @@ dependencies: undici-types "~5.26.4" -"@types/node@^20.0.0": - version "20.19.41" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.19.41.tgz#bb266a1e0aaa2f4537d14ae8ebf238dd9ca73ce6" - integrity sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ== +"@types/node@^22.0.0": + version "22.20.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.20.1.tgz#84e7cdf63cdaa20c134aa317ccc901aa21e16f0e" + integrity sha512-EANqOCF9QFyra+4pfxUcX9STKJpCLjMbObVzljIJomAWSnuSIEAvyzEU53GaajbXJEgdh0iEcPL+DGvpUd4k1Q== dependencies: undici-types "~6.21.0"