import { paraglideVitePlugin } from '@inlang/paraglide-js'; import devtoolsJson from 'vite-plugin-devtools-json'; import tailwindcss from '@tailwindcss/vite'; import { defineConfig } from 'vitest/config'; import { playwright } from '@vitest/browser-playwright'; import { sveltekit } from '@sveltejs/kit/vite'; // Standalone config for browser-project Istanbul coverage. // Uses a dedicated root-level coverage block because Vitest 4 ignores // per-project coverage overrides inside test.projects. // Plugins mirrored from vite.config.ts: tailwindcss, sveltekit, devtoolsJson, paraglideVitePlugin // Update here whenever vite.config.ts plugins change. export default defineConfig({ optimizeDeps: { include: ['pdfjs-dist', '@tiptap/core', '@tiptap/starter-kit', '@tiptap/extension-mention'] }, plugins: [ tailwindcss(), sveltekit(), devtoolsJson(), paraglideVitePlugin({ project: './project.inlang', outdir: './src/lib/paraglide' }) ], test: { expect: { requireAssertions: true }, browser: { enabled: true, provider: playwright(), instances: [{ browser: 'chromium', headless: true }], screenshotDirectory: 'test-results/screenshots', screenshotFailures: true }, include: ['src/**/*.svelte.{test,spec}.{js,ts}'], exclude: ['src/lib/server/**'], coverage: { provider: 'istanbul', reporter: ['text', 'lcov'], reportsDirectory: 'coverage/client', include: ['src/**/*.svelte', 'src/**/*.svelte.ts'], exclude: ['src/lib/paraglide/**', 'src/lib/generated/**', 'src/hooks/**', '**/__mocks__/**'], thresholds: { lines: 80, functions: 80, branches: 80, statements: 80 } } } });