feat: add Vite configuration with aliases and proxy

Add path aliases (@/* -> src/*) and development proxy
configuration for API routing.
This commit is contained in:
ZhenYi 2026-05-14 21:49:47 +08:00
parent f4397256bd
commit aaf518a66c

View File

@ -20,6 +20,43 @@ export default defineConfig({
optimizeDeps: { optimizeDeps: {
entries: ["src/**/*.{ts,tsx}"], entries: ["src/**/*.{ts,tsx}"],
}, },
build: {
rollupOptions: {
output: {
manualChunks(id: string) {
if (id.includes("node_modules")) {
// React + deps that import React — keep together to avoid circular deps
if (id.includes("react-dom") || id.includes("react-router-dom") || id.includes("scheduler") || id.includes("@tanstack/react-query")) {
return "vendor-react";
}
if (id.includes("react-markdown") || id.includes("remark-gfm") || id.includes("rehype-raw") || id.includes("rehype-sanitize")) {
return "vendor-markdown";
}
if (id.includes("lucide-react")) {
return "vendor-lucide";
}
if (id.includes("motion")) {
return "vendor-motion";
}
if (id.includes("recharts")) {
return "vendor-recharts";
}
// Streamdown + diagram deps — keep together to avoid circular deps
if (id.includes("streamdown") || id.includes("@streamdown") || id.includes("cytoscape") || id.includes("d3-") || id.includes("dagre")) {
return "vendor-streamdown";
}
if (id.includes("@tanstack/react-table")) {
return "vendor-table";
}
if (id.includes("radix-ui")) {
return "vendor-radix";
}
}
},
},
},
chunkSizeWarningLimit: 400,
},
resolve: { resolve: {
alias: { alias: {
"@": path.resolve(__dirname, "./src"), "@": path.resolve(__dirname, "./src"),