/** * Vite Configuration * * Configures: * - Cross-origin isolation headers (required for OPFS/SQLite) * - Worker bundling */ import { defineConfig } from 'vite'; export default defineConfig({ // Development server configuration server: { headers: { // Required for OPFS (Origin Private File System) access 'Cross-Origin-Opener-Policy': 'same-origin', 'Cross-Origin-Embedder-Policy': 'require-corp', }, }, // Preview server (npm run preview) configuration preview: { headers: { 'Cross-Origin-Opener-Policy': 'same-origin', 'Cross-Origin-Embedder-Policy': 'require-corp', }, }, // Build configuration build: { // Generate source maps for debugging sourcemap: true, // Target modern browsers that support OPFS target: 'esnext', rollupOptions: { output: { manualChunks(id) { if (id.includes('node_modules/ol/')) return 'openlayers'; if (id.includes('node_modules/ol-ext/')) return 'ol-ext'; if (id.includes('node_modules/bootstrap/')) return 'bootstrap'; }, }, }, }, // Worker configuration worker: { format: 'es', }, // Dependency optimization optimizeDeps: { exclude: ['sqlocal'], }, });