import { defineConfig, loadEnv } from "vite" import react from "@vitejs/plugin-react" import path from "node:path" // https://vite.dev/config/ export default defineConfig(({ mode }) => { const env = loadEnv(mode, process.cwd(), "") const useApiProxy = env.VITE_USE_API_PROXY === "true" const proxyTarget = env.VITE_PROXY_TARGET || env.VITE_BACKEND_API_URL || "http://localhost:3001" return { plugins: [react()], resolve: { alias: { "@": path.resolve(__dirname, "./src"), }, }, build: { sourcemap: false, rollupOptions: { output: { manualChunks: { "react-vendor": ["react", "react-dom", "react-router-dom"], "ui-vendor": [ "@radix-ui/react-avatar", "@radix-ui/react-dialog", "@radix-ui/react-dropdown-menu", "@radix-ui/react-select", ], "chart-vendor": ["recharts"], "query-vendor": ["@tanstack/react-query"], }, }, }, chunkSizeWarningLimit: 1000, }, server: { port: 5173, strictPort: false, host: true, ...(useApiProxy && { proxy: { "/api": { target: proxyTarget.replace(/\/$/, ""), changeOrigin: true, secure: true, rewrite: (p) => p.replace(/^\/api/, "") || "/", }, }, }), }, preview: { port: 4173, strictPort: false, host: true, }, } })