Skip to content

Commit 9339daf

Browse files
committed
fix: upgrade nodemailer to 8.x with override, fix Docker arm64 build
- Upgrade nodemailer 7.0.13 → 8.0.4 (fixes GHSA-c7w3-x93f-qmm8) - Add npm overrides to resolve next-auth peer dep conflict - Remove --legacy-peer-deps from Dockerfile (no longer needed) - Key Docker cache mounts by TARGETPLATFORM to fix ETXTBSY on QEMU arm64 cross-compilation
1 parent e9e31d0 commit 9339daf

3 files changed

Lines changed: 15 additions & 9 deletions

File tree

Dockerfile

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,10 @@ COPY package.json package-lock.json* ./
2727

2828
# Install dependencies using npm ci (faster for CI/Docker)
2929
# Uses BuildKit cache mount for npm cache (~30-50% faster on rebuilds)
30-
RUN --mount=type=cache,target=/root/.npm \
31-
npm ci --legacy-peer-deps
30+
# Cache keyed by TARGETPLATFORM to avoid ETXTBSY on QEMU cross-compilation
31+
ARG TARGETPLATFORM
32+
RUN --mount=type=cache,target=/root/.npm,id=npm-${TARGETPLATFORM} \
33+
npm ci
3234

3335
# -----------------------------------------------------------------------------
3436
# Builder stage - build the application
@@ -72,8 +74,9 @@ FROM base AS prisma-deps
7274
WORKDIR /prisma-deps
7375

7476
COPY --from=builder /app/package.json ./
75-
RUN --mount=type=cache,target=/root/.npm \
76-
npm install --no-save --legacy-peer-deps prisma tsx esbuild get-tsconfig resolve-pkg-maps
77+
ARG TARGETPLATFORM
78+
RUN --mount=type=cache,target=/root/.npm,id=npm-prisma-${TARGETPLATFORM} \
79+
npm install --no-save prisma tsx esbuild get-tsconfig resolve-pkg-maps
7780

7881
# -----------------------------------------------------------------------------
7982
# Production stage - minimal runtime image

package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
"next": "^16.2.2",
7171
"next-auth": "^4.24.13",
7272
"next-themes": "^0.4.4",
73-
"nodemailer": "^7.0.13",
73+
"nodemailer": "^8.0.4",
7474
"pg": "^8.20.0",
7575
"react": "^19.2.4",
7676
"react-dom": "^19.2.4",
@@ -126,5 +126,8 @@
126126
},
127127
"prisma": {
128128
"seed": "tsx prisma/seed.ts"
129+
},
130+
"overrides": {
131+
"nodemailer": "$nodemailer"
129132
}
130133
}

0 commit comments

Comments
 (0)