import { defineConfig } from 'vitest/config'; import { playwright } from '@vitest/browser-playwright'; import { sveltekit } from '@sveltejs/kit/vite'; import tailwindcss from '@tailwindcss/vite'; import { readFileSync } from 'fs'; import { fileURLToPath } from 'url'; const pkg = JSON.parse(readFileSync(new URL('./package.json', import.meta.url), 'utf-8')); export default defineConfig({ plugins: [sveltekit(), tailwindcss()], define: { __APP_VERSION__: JSON.stringify(pkg.version) }, server: { proxy: { '/api': { target: 'http://localhost:8080', changeOrigin: true }, '/health': { target: 'http://localhost:8080', changeOrigin: true }, '/download': { target: 'http://localhost:8080', changeOrigin: true } } }, test: { expect: { requireAssertions: true }, projects: [ { extends: './vite.config.ts', test: { name: 'client', browser: { enabled: true, provider: playwright(), instances: [{ browser: 'chromium', headless: true }] }, include: ['src/**/*.svelte.{test,spec}.{js,ts}'], exclude: ['src/lib/server/**'] } }, { extends: './vite.config.ts', test: { name: 'server', environment: 'node', include: ['src/**/*.{test,spec}.{js,ts}'], exclude: ['src/**/*.svelte.{test,spec}.{js,ts}'] } } ] } });