import { svelte } from '@sveltejs/vite-plugin-svelte'; import path from 'node:path'; import { defineConfig } from 'vitest/config'; export default defineConfig({ plugins: [svelte()], test: { environment: 'node', include: [ 'src/**/*.test.ts', 'src/**/*.test.js', 'src/**/*.spec.ts', // Explicitly exclude component tests '!src/**/*.svelte.test.ts', '!src/**/*.svelte.test.js', ], exclude: [ 'node_modules', 'dist', 'e2e', '.storybook', 'src/shared/shadcn/**/*', ], restoreMocks: true, coverage: { provider: 'v8', reporter: ['text', 'json', 'html', 'lcov'], include: ['src/**/*.ts', 'src/**/*.svelte'], exclude: [ 'node_modules', 'dist', 'e2e', '.storybook', '**/*.test.ts', '**/*.test.js', '**/*.svelte.test.ts', '**/*.spec.ts', '**/*.d.ts', '**/*.stories.svelte', 'src/shared/shadcn/**/*', 'vitest.config.ts', ], thresholds: { lines: 70, functions: 70, branches: 60, statements: 70, }, }, setupFiles: [], globals: false, }, 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'), }, }, });