import { sveltekit } from '@sveltejs/kit/vite'; import { SvelteKitPWA } from '@vite-pwa/sveltekit'; import { defineConfig } from 'vitest/config'; export default defineConfig({ plugins: [ sveltekit(), SvelteKitPWA({ srcDir: 'src', mode: 'development', strategies: 'generateSW', scope: '/', base: '/', manifest: { name: 'Classeo', short_name: 'Classeo', description: 'Application de gestion scolaire', theme_color: '#3b82f6', background_color: '#ffffff', display: 'standalone', start_url: '/', icons: [ { src: 'pwa-192x192.png', sizes: '192x192', type: 'image/png' }, { src: 'pwa-512x512.png', sizes: '512x512', type: 'image/png' }, { src: 'pwa-512x512.png', sizes: '512x512', type: 'image/png', purpose: 'any maskable' } ] }, workbox: { globPatterns: ['**/*.{js,css,html,ico,png,svg,webp,woff,woff2}'] }, devOptions: { enabled: false, type: 'module', navigateFallback: '/' } // eslint-disable-next-line @typescript-eslint/no-explicit-any }) as any ], test: { include: ['src/**/*.{test,spec}.{js,ts}', 'tests/**/*.{test,spec}.{js,ts}'], globals: true, environment: 'jsdom', server: { deps: { inline: [/svelte/] } }, alias: { $lib: '/src/lib', $app: '/node_modules/@sveltejs/kit/src/runtime/app' } }, resolve: { conditions: ['browser'] }, server: { host: '0.0.0.0', port: 5173, strictPort: true, // Autorise les sous-domaines pour le multi-tenant (dev + prod) allowedHosts: ['.classeo.local', '.classeo.fr', 'localhost'] } });