import { defineConfig } from 'vitest/config'; import path from 'path'; import viteTsconfigPaths from 'vite-tsconfig-paths'; export default defineConfig({ plugins: [viteTsconfigPaths()], resolve: { alias: [ { find: 'keytar', replacement: path.resolve(process.cwd(), './src/tests/unit/mocks/keytar.ts'), }, { find: 'better-sqlite3', replacement: path.resolve(process.cwd(), './src/tests/unit/mocks/better-sqlite3.ts'), }, ], }, test: { globals: true, environment: 'happy-dom', include: [ 'src/tests/unit/**/*.{test,spec}.{ts,tsx}', 'src/tests/integration/**/*.{test,spec}.{ts,tsx}', ], exclude: ['src/tests/e2e/**/*'], setupFiles: ['src/tests/unit/setup.ts'], coverage: { provider: 'v8', reporter: ['text', 'html', 'json'], exclude: [ 'node_modules/', 'src/tests/', 'src/mocks/', '**/*.config.*', '**/*.d.ts', '.vite/', 'forge.config.ts', ], thresholds: { lines: 60, functions: 60, branches: 50, statements: 60, }, }, }, });