build(functions): bump runtime Node 20 → 22 (Node 20 decommissioned 2026-10-30)

Node 20 was deprecated 2026-04-30 and deploys are blocked after 2026-10-30. nodejs22 is GA
for BOTH gens (deprecation 2027-04-30) — required because the runtime is codebase-wide and
onUserDelete stays gen1. nodejs24 was checked per plan and rejected: 2nd-gen only.

- functions/package.json engines.node 20 → 22 (the deploy-facing change; dist unaffected)
- .github/workflows/backend-ci.yml: both setup-node pins 20 → 22 so CI matches prod

Verified pre-deploy: tsc clean, 70 tests green, emulator discovery loads all 35 / 0 errors.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
null 2026-07-08 03:42:18 -05:00
parent 805ef9f2e7
commit 3cd3195e3f
2 changed files with 3 additions and 3 deletions

View File

@ -22,7 +22,7 @@ jobs:
- uses: actions/setup-node@v4 - uses: actions/setup-node@v4
with: with:
node-version: "20" node-version: "22"
cache: npm cache: npm
cache-dependency-path: functions/package-lock.json cache-dependency-path: functions/package-lock.json
@ -51,7 +51,7 @@ jobs:
- uses: actions/setup-node@v4 - uses: actions/setup-node@v4
with: with:
node-version: "20" node-version: "22"
cache: npm cache: npm
cache-dependency-path: firestore-tests/package-lock.json cache-dependency-path: firestore-tests/package-lock.json

View File

@ -3,7 +3,7 @@
"version": "1.0.0", "version": "1.0.0",
"private": true, "private": true,
"engines": { "engines": {
"node": "20" "node": "22"
}, },
"main": "dist/index.js", "main": "dist/index.js",
"scripts": { "scripts": {