import { defineConfig } from 'vitest/config'; import path from 'path'; export default defineConfig({ test: { globals: true, environment: 'node', include: ['tests/**/*.test.ts'], exclude: [ 'node_modules', 'dist', 'tests/e2e/**/*', ], coverage: { provider: 'v8', reporter: ['text', 'json', 'html', 'lcov'], include: ['src/modules/**/*.ts', 'src/shared/**/*.ts'], exclude: [ 'src/modules/**/index.ts', 'src/modules/**/dtos/*.ts', 'src/modules/**/*.routes.ts', 'src/modules/**/*.controller.ts', 'src/shared/database/*.ts', 'src/shared/middleware/*.ts', 'src/shared/types/*.ts', 'src/config/*.ts', ], thresholds: { lines: 80, functions: 80, branches: 75, statements: 80, }, }, setupFiles: ['tests/setup.ts'], testTimeout: 10000, hookTimeout: 10000, }, resolve: { alias: { '@': path.resolve(__dirname, './src'), '@modules': path.resolve(__dirname, './src/modules'), '@shared': path.resolve(__dirname, './src/shared'), '@config': path.resolve(__dirname, './src/config'), }, }, });