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