Files
metabuilder/frontends/nextjs/vitest.config.ts
2026-01-03 20:21:40 +00:00

40 lines
1.4 KiB
TypeScript

import react from '@vitejs/plugin-react-swc'
import { resolve } from 'path'
import { defineConfig } from 'vitest/config'
export default defineConfig({
plugins: [react()],
test: {
environment: 'jsdom',
globals: true,
include: ['src/**/*.test.{ts,tsx}'],
coverage: {
provider: 'v8',
reporter: ['text', 'json', 'html'],
},
deps: {
// Use inline to avoid duplicate React instances in tests
optimizer: {
web: {
include: ['@/fakemui', 'react', 'react-dom']
}
}
}
},
resolve: {
dedupe: ['react', 'react-dom'],
alias: [
// fakemui aliases must be first (more specific matches first)
{ find: /^@\/fakemui\/(.+)$/, replacement: resolve(__dirname, '../../fakemui/$1') },
{ find: /^@\/fakemui$/, replacement: resolve(__dirname, '../../fakemui/index.ts') },
// dbal aliases
{ find: /^@\/dbal\/(.+)$/, replacement: resolve(__dirname, '../../dbal/development/src/$1') },
{ find: /^@\/dbal$/, replacement: resolve(__dirname, '../../dbal/development/src') },
{ find: /^@dbal-ui\/(.+)$/, replacement: resolve(__dirname, '../../dbal/shared/ui/$1') },
{ find: /^@dbal-ui$/, replacement: resolve(__dirname, '../../dbal/shared/ui') },
// General @ alias last (least specific)
{ find: /^@\/(.+)$/, replacement: resolve(__dirname, './src/$1') },
],
},
})