import react from '@vitejs/plugin-react'; import tsconfigPaths from 'vite-tsconfig-paths'; import { defineConfig, defineWorkspace, mergeConfig, } from 'vitest/config'; const configShared = defineConfig({ plugins: [ tsconfigPaths(), ], test: { clearMocks: true, globals: true, exclude: [ 'test/**', 'test-with-vite/**', 'playwright/**', ], }, }); export default defineWorkspace([ // unit test mergeConfig( configShared, { test: { name: 'app-unit', environment: 'node', include: ['**/*.spec.{ts,js}'], }, }, ), // integration test mergeConfig( configShared, { test: { name: 'app-integration', environment: 'node', include: ['**/*.integ.ts'], setupFiles: [ './test-with-vite/setup/mongoms.ts', ], }, }, ), // component test mergeConfig( configShared, { plugins: [react()], test: { name: 'app-components', environment: 'happy-dom', include: [ '**/*.spec.{tsx,jsx}', ], }, }, ), ]);