fix(admin-ui): pin pnpm@9 в Dockerfile — обойти v10 postinstall block в CI

pnpm@latest (= v10+) теперь блокирует postinstall scripts по умолчанию и
просит "Run pnpm approve-builds to pick which dependencies should be
allowed to run scripts". В CI нет интерактивного prompt'а → exit code 1.

Pin на v9 — keeps старое behaviour, совместимо с pnpm-lock.yaml v9.0.
Same подход что в docs/Dockerfile (pnpm@9.0.0 уже).

Если нужен v10 — добавь в package.json:
  "pnpm": { "onlyBuiltDependencies": ["esbuild", ...] }
либо --config.dangerouslyAllowAllBuilds=true в CI command.
This commit is contained in:
Zimin A.N.
2026-05-08 00:10:08 +03:00
parent b601c4636f
commit a73d0d31aa
+6 -1
View File
@@ -3,7 +3,12 @@ WORKDIR /app
# .npmrc нужен ДО pnpm install, иначе @nstart/* резолвятся в public npm и 404.
# pnpm-lock.yaml — для воспроизводимости (frozen lockfile в CI).
COPY package.json pnpm-lock.yaml .npmrc ./
RUN corepack enable && corepack prepare pnpm@latest --activate
# Pin pnpm@9 — v10+ блокирует postinstall scripts по умолчанию ("Run pnpm
# approve-builds to pick which dependencies should be allowed"). В CI
# интерактивного prompt'а нет → exit 1. v9 keeps старое поведение либо
# прокидывает --config.dangerouslyAllowAllBuilds; v9 проще и совместимо
# с lockfile'ом (lockfile v9.0).
RUN corepack enable && corepack prepare pnpm@9 --activate
RUN --mount=type=cache,target=/root/.local/share/pnpm/store pnpm install --frozen-lockfile
COPY . .
RUN pnpm build