import { svelte } from '@sveltejs/vite-plugin-svelte'; import { playwright } from '@vitest/browser-playwright'; import path from 'node:path'; import { defineConfig } from 'vitest/config'; export default defineConfig({ plugins: [svelte()], test: { name: 'component-browser', include: ['src/**/*.svelte.test.ts', 'src/**/*.svelte.test.js'], exclude: [ 'node_modules', 'dist', 'e2e', '.storybook', 'src/shared/shadcn/**/*', ], testTimeout: 10000, hookTimeout: 10000, restoreMocks: true, setupFiles: ['./vitest.setup.component.ts'], globals: false, // Use browser environment with Playwright (Vitest 4 format) browser: { enabled: true, headless: true, provider: playwright(), instances: [{ browser: 'chromium' }], screenshotFailures: true, screenshotDirectory: '.playwright/screenshots', }, }, resolve: { alias: { $lib: path.resolve(__dirname, './src/lib'), $app: path.resolve(__dirname, './src/app'), $shared: path.resolve(__dirname, './src/shared'), $entities: path.resolve(__dirname, './src/entities'), $features: path.resolve(__dirname, './src/features'), $routes: path.resolve(__dirname, './src/routes'), $widgets: path.resolve(__dirname, './src/widgets'), }, }, });