/// import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; import { nxCopyAssetsPlugin } from '@nx/vite/plugins/nx-copy-assets.plugin'; export default defineConfig(() => ({ root: import.meta.dirname, cacheDir: '../../node_modules/.vite/apps/web', server: { port: 4200, host: 'localhost', // Proxy /api/* → API Nest em :3000 (default API_PORT). // Evita CORS em dev e mantém URL relativa no código da Web — em produção, // mesmo origin via Nginx (/api/* → backend). proxy: { '/api': { target: 'http://localhost:3000', changeOrigin: false, }, }, }, preview: { port: 4200, host: 'localhost', }, plugins: [react(), nxViteTsPaths(), nxCopyAssetsPlugin(['*.md'])], // Uncomment this if you are using workers. // worker: { // plugins: () => [ nxViteTsPaths() ], // }, build: { outDir: '../../dist/apps/web', emptyOutDir: true, reportCompressedSize: true, commonjsOptions: { transformMixedEsModules: true, }, }, test: { name: 'web', watch: false, globals: true, environment: 'jsdom', include: ['{src,tests}/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], reporters: ['default'], coverage: { reportsDirectory: '../../coverage/apps/web', provider: 'v8' as const, }, }, }));