import { sveltekit } from '@sveltejs/kit/vite'; import tailwindcss from '@tailwindcss/vite'; import { playwright } from '@vitest/browser-playwright'; import { defineConfig } from 'vite'; export default defineConfig({ plugins: [tailwindcss(), sveltekit()], test: { coverage: { provider: 'v8', reporter: ['text', 'json', 'html'], include: ['src/**/*.{ts,svelte}'], exclude: ['src/**/*.test.ts', 'src/**/*.spec.ts'], // Coverage thresholds - starting baseline, target is 80% (CI-01 decision) // Current: statements ~12%, branches ~7%, functions ~24%, lines ~10% // These thresholds prevent regression and will be increased incrementally thresholds: { global: { statements: 10, branches: 5, functions: 20, lines: 8 } } }, projects: [ { extends: true, test: { name: 'client', testTimeout: 5000, browser: { enabled: true, provider: playwright(), instances: [{ browser: 'chromium' }] }, include: ['src/**/*.svelte.{test,spec}.{js,ts}'], setupFiles: ['./vitest-setup-client.ts'] } }, { extends: true, test: { name: 'server', environment: 'node', include: ['src/**/*.{test,spec}.{js,ts}'], exclude: ['src/**/*.svelte.{test,spec}.{js,ts}'] } } ] } });