import { defineConfig } from 'vitest/config'; import { fileURLToPath } from 'node:url'; // پروژه از .js برای فایل‌های حاوی JSX استفاده می‌کند (الگوی Next). // esbuild را وادار می‌کنیم .js را با loader=jsx و runtime خودکار پردازش کند، // و همین loader را در dep-optimizer هم ست می‌کنیم تا import-analysis نشکند. export default defineConfig({ resolve: { alias: { '@': fileURLToPath(new URL('.', import.meta.url)) }, }, esbuild: { loader: 'jsx', include: /\.(jsx?|tsx?)(\?.*)?$/, exclude: [], jsx: 'automatic', }, optimizeDeps: { esbuildOptions: { loader: { '.js': 'jsx' } }, }, test: { environment: 'jsdom', globals: true, setupFiles: ['./test/setup.js'], include: ['**/*.{test,spec}.{js,jsx}'], exclude: ['node_modules', '.next', 'e2e'], css: false, clearMocks: true, restoreMocks: true, env: { NEXT_PUBLIC_API_URL: 'http://api.test.local' }, }, });