Checkpoint: Correction de l'échec de build cloud : remplacement de l'installation globale flottante de pnpm par Corepack 0.31.0 et pnpm 10.4.1 verrouillé par packageManager, compatible avec pnpm-lock.yaml. Installation figée, TypeScript, 22 tests et build de production vérifiés localement.
This commit is contained in:
@@ -2,14 +2,17 @@ FROM node:22-alpine AS builder
|
|||||||
|
|
||||||
WORKDIR /app
|
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 package.json pnpm-lock.yaml ./
|
||||||
COPY patches ./patches
|
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
|
# Copier le reste du code et builder
|
||||||
COPY . .
|
COPY . .
|
||||||
RUN pnpm build
|
RUN corepack pnpm build
|
||||||
|
|
||||||
# ── Image de production ──────────────────────────────────────────────────────
|
# ── Image de production ──────────────────────────────────────────────────────
|
||||||
FROM node:22-alpine AS runner
|
FROM node:22-alpine AS runner
|
||||||
|
|||||||
7
todo.md
7
todo.md
@@ -89,3 +89,10 @@
|
|||||||
- [x] Documenter les responsabilités et invariants des modules métier maintenus
|
- [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] Ajouter ou compléter les tests ciblant les régressions critiques
|
||||||
- [x] Vérifier TypeScript, tests, build et état de l'application avant checkpoint
|
- [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
|
||||||
|
|||||||
Reference in New Issue
Block a user