47 lines
1.5 KiB
TypeScript
47 lines
1.5 KiB
TypeScript
import { defineConfig } from 'vitest/config';
|
|
import react from '@vitejs/plugin-react';
|
|
import path from 'path';
|
|
|
|
export default defineConfig({
|
|
plugins: [react()],
|
|
test: {
|
|
globals: true,
|
|
environment: 'jsdom',
|
|
setupFiles: ['./resources/js/tests/setup.ts'],
|
|
include: [
|
|
'resources/js/**/*.{test,spec}.{ts,tsx}',
|
|
'templates/**/src/**/*.{test,spec}.{ts,tsx}',
|
|
// 학습용 샘플 템플릿: __tests__ 디렉토리도 루트에서 회귀 커버리지 확보
|
|
'templates/_bundled/gnuboard7-hello_admin_template/__tests__/**/*.{test,spec}.{ts,tsx}',
|
|
'templates/_bundled/gnuboard7-hello_user_template/__tests__/**/*.{test,spec}.{ts,tsx}',
|
|
],
|
|
exclude: [
|
|
'**/node_modules/**',
|
|
'templates/sirsoft-admin_sample/**',
|
|
// 업데이트/백업 임시 스테이징 디렉토리는 실제 코드가 아니므로 제외
|
|
'**/_pending/**',
|
|
// 활성 디렉토리 (sirsoft-basic, sirsoft-admin_basic) 는 _bundled 사본이며
|
|
// npm 의존성이 설치되지 않은 상태로 import 실패 발생. _bundled 원본만 테스트.
|
|
'templates/sirsoft-basic/**',
|
|
'templates/sirsoft-admin_basic/**',
|
|
],
|
|
coverage: {
|
|
provider: 'v8',
|
|
reporter: ['text', 'json', 'html'],
|
|
exclude: [
|
|
'node_modules/',
|
|
'resources/js/tests/',
|
|
'**/*.d.ts',
|
|
'**/*.config.*',
|
|
'**/mockData',
|
|
],
|
|
},
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
'@': path.resolve(__dirname, './resources/js'),
|
|
'@core': path.resolve(__dirname, './resources/js/core'),
|
|
},
|
|
},
|
|
});
|