38 lines
1.0 KiB
TypeScript
38 lines
1.0 KiB
TypeScript
import { defineConfig } from 'vitest/config';
|
|
import react from '@vitejs/plugin-react';
|
|
import path from 'path';
|
|
import fs from 'fs';
|
|
|
|
// 프로젝트 루트를 동적으로 탐색 (artisan 파일 기준 — _bundled/활성 모두 호환)
|
|
function findProjectRoot(startDir: string): string {
|
|
let dir = startDir;
|
|
while (dir !== path.dirname(dir)) {
|
|
if (fs.existsSync(path.join(dir, 'artisan'))) return dir;
|
|
dir = path.dirname(dir);
|
|
}
|
|
return path.resolve(startDir, '../..'); // fallback
|
|
}
|
|
|
|
const rootDir = findProjectRoot(__dirname);
|
|
|
|
export default defineConfig({
|
|
plugins: [react()],
|
|
server: {
|
|
fs: {
|
|
allow: [rootDir],
|
|
},
|
|
},
|
|
test: {
|
|
globals: true,
|
|
environment: 'jsdom',
|
|
setupFiles: [path.resolve(rootDir, 'resources/js/tests/setup.ts')],
|
|
include: ['src/**/*.{test,spec}.{ts,tsx}', '__tests__/**/*.{test,spec}.{ts,tsx}'],
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
'@': path.resolve(rootDir, 'resources/js'),
|
|
'@core': path.resolve(rootDir, 'resources/js/core'),
|
|
},
|
|
},
|
|
});
|