import { fileURLToPath, URL } from 'node:url' import react from '@vitejs/plugin-react' import { defineConfig } from 'vite' const backendTarget = process.env.VITE_API_PROXY_TARGET || 'http://127.0.0.1:18089' export default defineConfig({ plugins: [react()], resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)), }, }, server: { port: Number(process.env.DEV_FRONTEND_PORT || 5289), strictPort: true, proxy: { '/api': backendTarget, '/r': backendTarget, '/health': backendTarget, }, }, build: { chunkSizeWarningLimit: 700, rollupOptions: { output: { manualChunks(id) { if (!id.includes('node_modules')) return undefined if (id.includes('antd-mobile')) return 'vendor-mobile' if ( id.includes('react-router') || id.includes('/react/') || id.includes('/react-dom/') || id.includes('/scheduler/') ) { return 'vendor-react' } if (id.includes('@tanstack') || id.includes('/zustand/') || id.includes('/axios/')) { return 'vendor-data' } if (id.includes('/@ant-design/icons/')) { return 'vendor-antd-icons' } if (id.includes('/dayjs/')) { return 'vendor-date' } return undefined }, }, }, }, })