From 94778449ebe1aad5deaee1bf2cef2cb2ac4df3bc Mon Sep 17 00:00:00 2001 From: ZeroIce <39822906+vicksiyi@users.noreply.github.com> Date: Thu, 2 Jul 2026 15:03:40 +0800 Subject: [PATCH] fix(docker): derive web pnpm version from packageManager (#4815) Co-authored-by: multica-agent --- Dockerfile.web | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Dockerfile.web b/Dockerfile.web index 82b41a818..f8c3d7fc5 100644 --- a/Dockerfile.web +++ b/Dockerfile.web @@ -1,8 +1,6 @@ # --- Dependencies --- FROM node:22-alpine AS deps -RUN corepack enable && corepack prepare pnpm@10.28.2 --activate - WORKDIR /app # Copy workspace config and all package.json files for dependency resolution @@ -16,15 +14,23 @@ COPY packages/views/package.json packages/views/ COPY packages/tsconfig/package.json packages/tsconfig/ COPY packages/eslint-config/package.json packages/eslint-config/ +RUN corepack enable && \ + PNPM_VERSION="$(node -p 'require("./package.json").packageManager')" && \ + corepack prepare "$PNPM_VERSION" --activate RUN pnpm install --frozen-lockfile # --- Build --- FROM node:22-alpine AS builder -RUN corepack enable && corepack prepare pnpm@10.28.2 --activate - WORKDIR /app +# Activate the same pnpm version declared by the repository before the +# offline frozen install validates package-manager metadata in pnpm-lock.yaml. +COPY package.json ./ +RUN corepack enable && \ + PNPM_VERSION="$(node -p 'require("./package.json").packageManager')" && \ + corepack prepare "$PNPM_VERSION" --activate + # Copy installed dependencies (preserves pnpm symlink structure) COPY --from=deps /app ./