import { defineConfig } from 'vitest/config'; import path from 'path'; export default defineConfig({ test: { environment: 'node', globals: true, exclude: ['e2e/**', 'node_modules/**', '.next/**'], coverage: { provider: 'v8', reporter: ['text', 'json', 'html'], exclude: [ 'node_modules/**', '.next/**', 'coverage/**', '**/*.test.ts', '**/*.test.tsx', '**/*.config.*', '**/e2e/**', ], // Vitest reads these keys directly under `thresholds` (the legacy `global` // nesting is ignored by the v8 provider and silently disables enforcement). thresholds: { branches: 80, functions: 80, lines: 80, statements: 80, }, }, }, resolve: { alias: { '@': path.resolve(__dirname, './src'), }, // Workspace packages (e.g. @bytelyst/charts) can resolve their own React // copy via the pnpm store; dedupe so SSR render tests use a single React // instance (avoids the "Invalid hook call" dual-package hazard). dedupe: ['react', 'react-dom'], }, });