Files
radarsargasses/frontend/vite.config.js
Gwadaking 9712cb54db feat: phase A — backup B2, healthcheck /api/status, vector tiles Tippecanoe
- A1: scripts/backup-postgres.sh — pg_dump quotidien compressé → Backblaze B2 (rclone), rétention 30j
- A2: StatusController retourne HTTP 503 + healthy/alertReason si dernière observation > 6h
- A4: Dockerfile installe tippecanoe, GenerateTilesCommand génère 5 tilesets (obs + h6/12/24/48), Caddyfile sert /tiles/* sans fallback SPA, SargassesMap.jsx passe en sources vector tiles statiques
- chore: backend/public/assets/ ajouté au .gitignore (build artifacts)
- chore: setup vitest frontend + ImpactScoreServiceTest (session précédente)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 03:40:32 -04:00

35 lines
842 B
JavaScript

import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import { rmSync } from 'fs';
import path from 'path';
// Plugin qui nettoie uniquement public/assets/ avant chaque build
const cleanAssetsPlugin = () => ({
name: 'clean-assets',
buildStart() {
const dir = path.resolve(__dirname, '../backend/public/assets');
try { rmSync(dir, { recursive: true, force: true }); } catch {}
},
});
export default defineConfig({
plugins: [react(), cleanAssetsPlugin()],
test: {
environment: 'jsdom',
globals: true,
setupFiles: './src/test/setup.js',
},
server: {
proxy: {
'/api': {
target: 'http://localhost:8000',
changeOrigin: true,
},
},
},
build: {
outDir: '../backend/public',
emptyOutDir: false, // ne pas supprimer index.php
},
});