Security: upgrade Next.js to 16.4.3 and pin Node 24 #1

Merged
joelbrock merged 1 commits from security/next-16.4.3-node-24 into main 2026-10-30 11:06:40 -07:00
6 changed files with 453 additions and 368 deletions
+1 -1
View File
@@ -1 +1 @@
20
24
+1 -1
View File
@@ -171,7 +171,7 @@ significantly, the costs scale roughly linearly with Lambda invocations.
## When something breaks
- **Build fails on `npm ci`** → usually a Node version mismatch. The
`.nvmrc` pins Node 20; if Amplify's build image doesn't have it, the
`.nvmrc` pins Node 24; if Amplify's build image doesn't have it, the
`amplify.yml` `nvm install` falls back. Open the build log, search
for "Node version".
- **Build fails on `next build`** → typecheck or lint error. Reproduce
+1 -1
View File
@@ -108,7 +108,7 @@ works while in stub mode. The report is at `/report?cid=1&cs=anything`.
The repo ships with `amplify.yml` for [AWS Amplify Hosting](https://aws.amazon.com/amplify/)
(see `AMPLIFY_DEPLOY.md` for a first-time walkthrough) and `render.yaml`
for [Render](https://render.com) (see `DEPLOYMENT.md`). The app is a
standard Next.js 16 App Router project and runs anywhere Node 20+ can
standard Next.js 16 App Router project and runs anywhere Node 24+ can
run `next start` — Vercel, App Runner, Fly, self-hosted, etc.
Build + start:
+446 -361
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -13,18 +13,18 @@
"test": "node --test lib/staff-field-mapping.test.mjs lib/mime.test.mjs"
},
"dependencies": {
"next": "16.2.6",
"next": "16.4.3",
"react": "19.2.4",
"react-dom": "19.2.4",
"react-hook-form": "^7.75.0"
},
"devDependencies": {
"@tailwindcss/postcss": "^4",
"@types/node": "^20",
"@types/node": "^24",
"@types/react": "^19",
"@types/react-dom": "^19",
"eslint": "^9",
"eslint-config-next": "16.2.6",
"eslint-config-next": "16.4.3",
"tailwindcss": "^4",
"typescript": "^5"
}
+1 -1
View File
@@ -17,7 +17,7 @@ services:
- key: NODE_ENV
value: production
- key: NODE_VERSION
value: "20"
value: "24"
# Set these manually in the Render dashboard (UI → Environment).
# Marked sync:false so they're not echoed in this committed file.
- key: CIVI_BASE_URL