import { defineConfig } from "vite"; import react from "@vitejs/plugin-react"; import path from "node:path"; export default defineConfig({ plugins: [react()], resolve: { alias: { "@": path.resolve(__dirname, "./src"), }, }, server: { port: 5273, strictPort: true, proxy: { "/api": { target: "http://localhost:8000", changeOrigin: true, }, }, }, build: { outDir: "dist", sourcemap: true, chunkSizeWarningLimit: 800, rollupOptions: { output: { // Split heavy third-party libs into their own long-lived chunks so // page-level chunks stay small and the vendor cache is reused across // releases. manualChunks: (id) => { if (!id.includes("node_modules")) return undefined; if (id.includes("recharts") || id.includes("d3-")) return "vendor-recharts"; if (id.includes("framer-motion")) return "vendor-motion"; if (id.includes("@radix-ui") || id.includes("cmdk")) return "vendor-radix"; if (id.includes("@tanstack")) return "vendor-tanstack"; if (id.includes("react-router")) return "vendor-router"; if (id.includes("axios")) return "vendor-axios"; if (id.includes("lucide-react")) return "vendor-lucide"; if (id.includes("zustand")) return "vendor-state"; if (id.includes("sonner")) return "vendor-toast"; if ( id.includes("react/") || id.includes("react-dom") || id.includes("scheduler") ) return "vendor-react"; return "vendor"; }, }, }, }, });