Files
gridpilot.gg/vitest.config.ts
2025-12-04 11:54:42 +01:00

61 lines
1.4 KiB
TypeScript

import { defineConfig } from 'vitest/config';
import path from 'path';
export default defineConfig({
resolve: {
alias: {
'@': path.resolve(__dirname, './apps/website'),
packages: path.resolve(__dirname, './packages'),
'packages/': path.resolve(__dirname, './packages'),
'@gridpilot': path.resolve(__dirname, './packages'),
},
},
test: {
globals: true,
watch: false,
environment: 'jsdom',
setupFiles: ['./tests/setup.ts'],
include: ['tests/**/*.test.ts', 'tests/**/*.test.tsx'],
exclude: [
'tests/e2e/**/*',
'tests/smoke/companion-boot.smoke.test.ts',
'tests/smoke/electron-app.smoke.test.ts',
],
env: {
NODE_ENV: 'test',
},
coverage: {
provider: 'v8',
reporter: ['text', 'json', 'html'],
exclude: [
'node_modules/',
'tests/',
'**/*.d.ts',
'**/*.config.*',
'**/dist/**',
],
},
// Longer timeout for integration tests
testTimeout: 30000,
server: {
deps: {
inline: ['jsdom', 'parse5'],
},
},
},
});
// Separate E2E config - used when running test:e2e script
export const e2eConfig = defineConfig({
test: {
globals: true,
environment: 'node',
include: ['tests/e2e/**/*.e2e.test.ts'],
env: {
NODE_ENV: 'test',
},
// E2E tests need longer timeouts due to browser operations
testTimeout: 120000,
hookTimeout: 60000,
},
});