From ba99989c6657d11acdb58c132b1f9d6381b2994b Mon Sep 17 00:00:00 2001 From: Alexander Holliday Date: Mon, 1 Sep 2025 09:26:51 -0700 Subject: [PATCH 1/3] Revert "pin dependency" --- client/package.json | 3 --- docker/dist-arm/server.Dockerfile | 7 ++++--- docker/dist-mono/server.Dockerfile | 2 +- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/client/package.json b/client/package.json index c0bd9314e..611ba5093 100644 --- a/client/package.json +++ b/client/package.json @@ -62,8 +62,5 @@ }, "optionalDependencies": { "@rollup/rollup-linux-arm64-musl": "4.41.0" - }, - "overrides": { - "rollup": "^3.29.4" } } diff --git a/docker/dist-arm/server.Dockerfile b/docker/dist-arm/server.Dockerfile index 8ca7ead24..2b38e47d0 100644 --- a/docker/dist-arm/server.Dockerfile +++ b/docker/dist-arm/server.Dockerfile @@ -2,18 +2,19 @@ FROM node:20-slim AS frontend-build WORKDIR /app/client -COPY client/package.json ./ -RUN npm ci +COPY client/package*.json ./ +RUN npm ci --omit=optional COPY client ./ RUN npm run build + FROM node:20-slim AS backend WORKDIR /app/server COPY server/package*.json ./ -RUN npm ci +RUN npm ci --omit=optional COPY server ./ COPY --from=frontend-build /app/client/dist ./public diff --git a/docker/dist-mono/server.Dockerfile b/docker/dist-mono/server.Dockerfile index 4a627719c..778c822f6 100644 --- a/docker/dist-mono/server.Dockerfile +++ b/docker/dist-mono/server.Dockerfile @@ -2,7 +2,7 @@ FROM node:20-slim AS frontend-build WORKDIR /app/client -COPY client/package.json ./ +COPY client/package*.json ./ RUN npm install COPY client ./ From 619c5242db800b1f15f6353e07e312710135269c Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Mon, 1 Sep 2025 10:14:57 -0700 Subject: [PATCH 2/3] bump versions --- client/package-lock.json | 19 ++++++++----------- client/package.json | 5 +---- docker/dist-arm/server.Dockerfile | 12 ++++++------ 3 files changed, 15 insertions(+), 21 deletions(-) diff --git a/client/package-lock.json b/client/package-lock.json index 77391f012..32446c5d0 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -21,7 +21,7 @@ "dayjs": "1.11.13", "flag-icons": "7.3.2", "html2canvas": "^1.4.1", - "i18next": "^24.2.2", + "i18next": "25.4.2", "joi": "17.13.3", "mui-color-input": "^6.0.0", "react": "18.3.1", @@ -46,9 +46,6 @@ "eslint-plugin-react-refresh": "^0.4.6", "prettier": "^3.3.3", "vite": "6.3.5" - }, - "optionalDependencies": { - "@rollup/rollup-linux-arm64-musl": "4.41.0" } }, "node_modules/@ampproject/remapping": { @@ -283,9 +280,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.1.tgz", - "integrity": "sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.3.tgz", + "integrity": "sha512-9uIQ10o0WGdpP6GDhXcdOJPJuDgFtIDtN/9+ArJQ2NAfAmiuhTQdzkaTGR33v43GYS2UrSA0eX2pPPHoFVvpxA==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -4072,9 +4069,9 @@ } }, "node_modules/i18next": { - "version": "24.2.3", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-24.2.3.tgz", - "integrity": "sha512-lfbf80OzkocvX7nmZtu7nSTNbrTYR52sLWxPtlXX1zAhVw8WEnFk4puUkCR4B1dNQwbSpEHHHemcZu//7EcB7A==", + "version": "25.4.2", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-25.4.2.tgz", + "integrity": "sha512-gD4T25a6ovNXsfXY1TwHXXXLnD/K2t99jyYMCSimSCBnBRJVQr5j+VAaU83RJCPzrTGhVQ6dqIga66xO2rtd5g==", "funding": [ { "type": "individual", @@ -4091,7 +4088,7 @@ ], "license": "MIT", "dependencies": { - "@babel/runtime": "^7.26.10" + "@babel/runtime": "^7.27.6" }, "peerDependencies": { "typescript": "^5" diff --git a/client/package.json b/client/package.json index 611ba5093..92da6fd13 100644 --- a/client/package.json +++ b/client/package.json @@ -26,7 +26,7 @@ "dayjs": "1.11.13", "flag-icons": "7.3.2", "html2canvas": "^1.4.1", - "i18next": "^24.2.2", + "i18next": "25.4.2", "joi": "17.13.3", "mui-color-input": "^6.0.0", "react": "18.3.1", @@ -59,8 +59,5 @@ "eslint-plugin-react-refresh": "^0.4.6", "prettier": "^3.3.3", "vite": "6.3.5" - }, - "optionalDependencies": { - "@rollup/rollup-linux-arm64-musl": "4.41.0" } } diff --git a/docker/dist-arm/server.Dockerfile b/docker/dist-arm/server.Dockerfile index 2b38e47d0..cc721af0e 100644 --- a/docker/dist-arm/server.Dockerfile +++ b/docker/dist-arm/server.Dockerfile @@ -1,20 +1,20 @@ -FROM node:20-slim AS frontend-build +FROM node:24-slim AS frontend-build WORKDIR /app/client -COPY client/package*.json ./ -RUN npm ci --omit=optional +COPY client/package.json ./ +RUN npm install COPY client ./ RUN npm run build -FROM node:20-slim AS backend +FROM node:24-slim AS backend WORKDIR /app/server -COPY server/package*.json ./ -RUN npm ci --omit=optional +COPY server/package.json ./ +RUN npm install COPY server ./ COPY --from=frontend-build /app/client/dist ./public From 0ca00ca6a1036184149d72059a68a92e8ed014a2 Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Mon, 1 Sep 2025 10:28:41 -0700 Subject: [PATCH 3/3] esbuild --- docker/dist-arm/server.Dockerfile | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/docker/dist-arm/server.Dockerfile b/docker/dist-arm/server.Dockerfile index cc721af0e..16851bafd 100644 --- a/docker/dist-arm/server.Dockerfile +++ b/docker/dist-arm/server.Dockerfile @@ -1,22 +1,32 @@ -FROM node:24-slim AS frontend-build +# --------------------- +# Frontend build stage +# --------------------- +FROM --platform=$BUILDPLATFORM node:24-slim AS frontend-build WORKDIR /app/client -COPY client/package.json ./ -RUN npm install +COPY client/package*.json ./ + +RUN npm ci COPY client ./ + +RUN npm rebuild esbuild + RUN npm run build - -FROM node:24-slim AS backend +# --------------------- +# Backend stage +# --------------------- +FROM --platform=$BUILDPLATFORM node:24-slim AS backend WORKDIR /app/server -COPY server/package.json ./ -RUN npm install +COPY server/package*.json ./ +RUN npm ci COPY server ./ + COPY --from=frontend-build /app/client/dist ./public RUN chmod +x ./scripts/inject-vars.sh