FROM node:22-alpine AS builder WORKDIR /app # Copier les fichiers de dépendances (y compris les patches) COPY package.json pnpm-lock.yaml ./ COPY patches ./patches RUN npm install -g pnpm && pnpm install --frozen-lockfile # Copier le reste du code et builder COPY . . RUN pnpm build # ── Image de production ────────────────────────────────────────────────────── FROM node:22-alpine AS runner WORKDIR /app # Copier toutes les dépendances (y compris devDeps référencées dans le bundle comme vite) COPY --from=builder /app/node_modules ./node_modules # Copier le build COPY --from=builder /app/dist ./dist # Copier les fichiers de configuration nécessaires au runtime COPY drizzle ./drizzle COPY drizzle.config.ts ./ COPY package.json ./ EXPOSE 3000 ENV NODE_ENV=production CMD ["node", "dist/index.js"]