// vite.config.ts /// import path from 'path'; import { defineConfig as defineViteConfig } from 'vite'; import { defineConfig as defineVitestConfig } from 'vitest/config'; import react from '@vitejs/plugin-react'; console.log('--- [EXECUTION PROOF] vite.config.ts is being loaded. ---'); const vitestConfig = defineVitestConfig({ test: { environment: 'jsdom', // Use our new global setup file. globalSetup: './src/tests/setup/global-setup.ts', setupFiles: ['./src/vitest.setup.ts'], coverage: { provider: 'v8', // or 'istanbul' // Reporters to use. 'text' will show a summary in the console. // 'html' will generate a full report in the directory specified below. reporter: ['text', 'html'], reportsDirectory: './coverage', include: ['src/**/*.{ts,tsx}'], // This now correctly includes all src files for coverage analysis. // Exclude files that are not relevant for coverage. exclude: [ 'src/main.tsx', 'src/vite-env.d.ts', 'src/types.ts', 'src/vitest.setup.ts', 'src/**/*.test.{ts,tsx}', 'src/components/icons', 'src/services/logger.ts', 'src/services/notificationService.ts' ], } }, }); const viteConfig = defineViteConfig({ plugins: [react()], // No explicit 'css' block. Let Vite do its job. server: { port: 3000, host: '0.0.0.0', }, resolve: { alias: { '@': path.resolve(process.cwd(), './src'), } }, }); export default { ...viteConfig, test: vitestConfig.test };