From a8fa17a94783894b0e5d2c0b709e55c123a5eb5e Mon Sep 17 00:00:00 2001 From: kunthawat Date: Thu, 6 Aug 2026 14:50:06 +0700 Subject: [PATCH] Fix Docker build: use pnpm 11 (corepack) to match lockfile/allowBuilds schema - pnpm-workspace.yaml from Astro v7 uses allowBuilds (pnpm 10.14+ schema); pnpm 9 in old Dockerfile errored 'packages field missing or empty' - Switch Dockerfile to corepack + pnpm@11, matching pnpm-lock.yaml - Verified pnpm install --frozen-lockfile passes with pnpm 11 --- Dockerfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index a0e2c70..aacdafc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # ============================================================================= # มิตซูชัยพร สมุทรสาคร — Astro static site -# Multi-stage: 1) build with node/pnpm 2) serve dist with nginx. +# Multi-stage: 1) build with node + pnpm 2) serve dist with nginx. # # Env vars (GA_ID, FORM_EMAIL, GMAP_LAT/LNG) are injected into HTML by # entrypoint.sh at container startup (see .env.example). @@ -11,8 +11,9 @@ FROM node:22-alpine AS build WORKDIR /app -# pnpm -RUN npm install -g pnpm@9 +# pnpm via corepack (uses the version pinned by packageManager / pnpm-workspace) +# Use pnpm 11 to match the pnpm-lock.yaml + allowBuilds schema from Astro v7. +RUN corepack enable && corepack prepare pnpm@11 --activate # Install deps (uses pnpm-lock.yaml) COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./