Skip to content

build: align Dockerfile pnpm with packageManager via corepack - #13

Merged
SabaTech-dev merged 1 commit into
mainfrom
fix/dockerfile-pnpm-corepack
Aug 31, 2026
Merged

build: align Dockerfile pnpm with packageManager via corepack#13
SabaTech-dev merged 1 commit into
mainfrom
fix/dockerfile-pnpm-corepack

Conversation

@SabaTech-dev

Copy link
Copy Markdown
Owner

Contexto

PR #12 pineo pnpm 9.15.9 via packageManager en package.json (ya en main). El Dockerfile sin embargo instalaba pnpm por otro mecanismo:

RUN npm install -g pnpm@9

Esto instala la ultima 9.x flotante en el momento del build, no la 9.15.9 pineada → divergencia imagen vs repo: la imagen podia usar una minor/patch distinta de la que genero pnpm-lock.yaml y la que usa CI.

Fix

Reemplazado por corepack (incluido en node:22-slim, corepack 0.34.x), de forma que la version viene unicamente de packageManager en package.json — ninguna version hardcodeada en el Dockerfile:

ENV COREPACK_ENABLE_DOWNLOAD_PROMPT=0
RUN corepack enable pnpm

COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
# Fail fast if the corepack-resolved pnpm drifts from the pinned packageManager.
RUN pnpm --version
  • corepack enable pnpm crea el shim; el shim resuelve la version exacta desde packageManager del package.json copiado.
  • RUN pnpm --version tras el COPY sirve de fail-fast y hace visible la version resuelta en el log de build.
  • COREPACK_ENABLE_DOWNLOAD_PROMPT=0 evita prompts interactivos (no-op en build no-TTY, defensivo).

Unica fuente de verdad: bump de pnpm = tocar solo packageManager (via corepack use), imagen y CI siguen automaticamente.

Verificacion (AC real, ejecutada)

  • docker build --no-cache -t amc-pnpm-corepack-verify .EXIT=0, build completo (Next.js build + export de imagen OK).
  • Log de build: #10 [ 6/10] RUN pnpm --version9.15.9.
  • pnpm install --frozen-lockfile ejecutado con Done in 22.6s using pnpm v9.15.9.
  • Exec en imagen final: docker run --rm amc-pnpm-corepack-verify pnpm --version9.15.9.
  • Aviso de pnpm "Update available! 9.15.9 → 11.24.0" confirma que el pin esta activo (corepack NO salta a 11.x).

Scope

Solo Dockerfile. Sin cambios en otros ficheros. Card ded42f4d (hija de de29e8f8).

@SabaTech-dev
SabaTech-dev merged commit 4c3b639 into main Aug 31, 2026
4 checks passed
@SabaTech-dev
SabaTech-dev deleted the fix/dockerfile-pnpm-corepack branch August 31, 2026 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant