Files
LogiFlow/vite.config.ts
T
LogiFlowandClaude Opus 5.5 600627c632 feat(rust) : serveur réécrit en Rust, Node retiré ; Calendrier en tête du menu (#571)
- Serveur Rust (server-rs/, axum + sqlx) : les 148 adresses de l'API,
  l'interface, les migrations de démarrage et les tâches de fond ; même
  comportement que Node (banc : 2027 cas, 0 écart hors écarts déclarés
  USERS-02, RAPPRO-21, R4, R5).
- Node retiré : server/, dépendances serveur, image Docker sans Node
  (51 Mo), docker-compose à un seul service applicatif.
- R4 : écritures d'un autre site refusées (Sec-Fetch-Site / Origin).
- R5 : « aujourd'hui » et sauvegarde automatique à l'heure de Paris.
- R6 : mainteneur dans .github/CODEOWNERS.
- Menu latéral : Accueil puis Calendrier en tête.
- Plan et état : docs/PLAN-MIGRATION-RUST.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ke2qyS8rgacP3ap5iezDbM
2026-10-15 20:31:14 +02:00

65 lines
2.2 KiB
TypeScript

import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import path from "path";
import runtimeErrorOverlay from "@replit/vite-plugin-runtime-error-modal";
export default defineConfig({
plugins: [
react(),
runtimeErrorOverlay(),
...(process.env.NODE_ENV !== "production" &&
process.env.REPL_ID !== undefined
? [
await import("@replit/vite-plugin-cartographer").then((m) =>
m.cartographer(),
),
]
: []),
],
resolve: {
alias: {
"@": path.resolve(import.meta.dirname, "client", "src"),
"@shared": path.resolve(import.meta.dirname, "shared"),
},
},
// En production, les console.log/debug de debug sont retirés du bundle par
// le minifieur (console.warn et console.error sont conservés). En dev, tout
// reste visible.
esbuild: {
pure: process.env.NODE_ENV === "production" ? ["console.log", "console.debug"] : [],
},
root: path.resolve(import.meta.dirname, "client"),
build: {
outDir: path.resolve(import.meta.dirname, "dist/public"),
emptyOutDir: true,
rollupOptions: {
output: {
// Sépare les grosses dépendances stables du code applicatif :
// elles ne changent qu'aux montées de version et restent donc en
// cache navigateur entre deux déploiements, au lieu de faire
// retélécharger 1,7 Mo à chaque mise en production.
// recharts n'est volontairement pas listé ici : un chunk manuel
// embarque aussi les dépendances partagées (clsx...) importées par
// l'application, ce qui le faisait précharger dès l'écran de
// connexion. Sans entrée, il n'est téléchargé qu'avec la page
// Statistiques (chargée à la demande).
manualChunks: {
"vendor-react": ["react", "react-dom", "wouter"],
"vendor-query": ["@tanstack/react-query"],
"vendor-icons": ["lucide-react"],
},
},
},
},
server: {
// En développement, l'API est servie par le serveur Rust (npm run dev:server)
proxy: {
"/api": "http://localhost:3000",
},
fs: {
strict: true,
deny: ["**/.*"],
},
},
});