import { defineConfig } from 'vitest/config' import path from 'path' export default defineConfig({ test: { globals: true, environment: 'node', setupFiles: ['./tests/setup.ts'], include: ['tests/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], coverage: { provider: 'v8', reporter: ['text', 'json', 'html'], include: ['src/**/*'], exclude: [ 'node_modules/', 'dist/', 'cjs/', 'es/', 'tests/', '**/*.d.ts', 'src/type-test.ts', // Exclude type test file from coverage ], thresholds: { global: { branches: 80, functions: 80, lines: 80, statements: 80 } } }, testTimeout: 10000, // 10 seconds timeout for integration tests }, resolve: { alias: { '@': path.resolve(__dirname, './src'), }, }, })