From 9a1b9f0ac67f4b940418ed04d444189a7fe90bbd Mon Sep 17 00:00:00 2001 From: Manus Date: Thu, 27 Aug 2026 09:51:28 +0000 Subject: [PATCH] =?UTF-8?q?Checkpoint:=20Correction=20de=20l'=C3=A9chec=20?= =?UTF-8?q?de=20build=20cloud=20:=20remplacement=20de=20l'installation=20g?= =?UTF-8?q?lobale=20flottante=20de=20pnpm=20par=20Corepack=200.31.0=20et?= =?UTF-8?q?=20pnpm=2010.4.1=20verrouill=C3=A9=20par=20packageManager,=20co?= =?UTF-8?q?mpatible=20avec=20pnpm-lock.yaml.=20Installation=20fig=C3=A9e,?= =?UTF-8?q?=20TypeScript,=2022=20tests=20et=20build=20de=20production=20v?= =?UTF-8?q?=C3=A9rifi=C3=A9s=20localement.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 9 ++++++--- todo.md | 7 +++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 50c401d..ff1b797 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,14 +2,17 @@ FROM node:22-alpine AS builder WORKDIR /app -# Copier les fichiers de dépendances (y compris les patches) +# Corepack lit packageManager et installe exactement pnpm 10.4.1, version +# compatible avec le lockfile. L'installation globale de pnpm récupérait une +# version plus récente, incompatible avec les métadonnées figées du lockfile. COPY package.json pnpm-lock.yaml ./ COPY patches ./patches -RUN npm install -g pnpm && pnpm install --frozen-lockfile +RUN npm install -g corepack@0.31.0 \ + && corepack pnpm install --frozen-lockfile # Copier le reste du code et builder COPY . . -RUN pnpm build +RUN corepack pnpm build # ── Image de production ────────────────────────────────────────────────────── FROM node:22-alpine AS runner diff --git a/todo.md b/todo.md index 2afb6c3..7438a2f 100644 --- a/todo.md +++ b/todo.md @@ -89,3 +89,10 @@ - [x] Documenter les responsabilités et invariants des modules métier maintenus - [x] Ajouter ou compléter les tests ciblant les régressions critiques - [x] Vérifier TypeScript, tests, build et état de l'application avant checkpoint + +## Correction du build de déploiement +- [x] Identifier la divergence de version pnpm entre le Dockerfile et le lockfile +- [x] Utiliser Corepack et la version pnpm verrouillée par le projet dans le Dockerfile +- [x] Vérifier TypeScript, les tests et le build avec Corepack et le lockfile figé +- [x] Sauvegarder un checkpoint contenant le Dockerfile corrigé +- [ ] Relancer le déploiement depuis ce checkpoint afin de confirmer le build cloud