47 lines
1.5 KiB
TypeScript
47 lines
1.5 KiB
TypeScript
|
|
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'),
|
||
|
|
},
|
||
|
|
},
|
||
|
|
});
|