imeeting/frontend/vite.config.ts

72 lines
2.1 KiB
TypeScript
Raw Normal View History

import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
2026-03-17 07:31:09 +00:00
import { fileURLToPath, URL } from "node:url";
export default defineConfig({
plugins: [react()],
2026-03-17 07:31:09 +00:00
resolve: {
alias: {
"@": fileURLToPath(new URL("./src", import.meta.url))
}
},
build: {
2026-07-01 03:01:38 +00:00
chunkSizeWarningLimit: 700,
rollupOptions: {
output: {
manualChunks(id) {
if (!id.includes("node_modules")) {
return undefined;
}
2026-07-02 00:36:49 +00:00
const normalizedId = id.replaceAll("\\", "/");
2026-07-01 03:01:38 +00:00
if (id.includes("node_modules/react/") || id.includes("node_modules/react-dom/") || id.includes("node_modules/scheduler/")) {
return "vendor-react";
}
2026-07-02 00:36:49 +00:00
if (normalizedId.includes("node_modules/react-router/") || normalizedId.includes("node_modules/react-router-dom/")) {
return "vendor-router";
}
if (normalizedId.includes("node_modules/i18next/") || normalizedId.includes("node_modules/react-i18next/") || normalizedId.includes("node_modules/i18next-browser-languagedetector/")) {
return "vendor-i18n";
}
if (normalizedId.includes("node_modules/axios/")) {
return "vendor-http";
}
if (normalizedId.includes("node_modules/zustand/")) {
return "vendor-state";
}
if (normalizedId.includes("node_modules/rc-") || normalizedId.includes("node_modules/@rc-component/")) {
return "vendor-rc";
}
2026-07-01 03:01:38 +00:00
if (id.includes("node_modules/jspdf/") || id.includes("node_modules/react-markdown/") || id.includes("node_modules/remark-") || id.includes("node_modules/rehype-") || id.includes("node_modules/unified/")) {
return "vendor-docs";
}
if (id.includes("node_modules/@dnd-kit/")) {
return "vendor-dnd";
}
return undefined;
}
}
}
2026-03-17 07:31:09 +00:00
},
server: {
port: 5174,
proxy: {
2026-07-02 01:39:17 +00:00
"/auth": "http://localhost:8080",
"/sys": "http://localhost:8080",
"/api": "http://localhost:8080",
"/ws": {
2026-07-02 01:39:17 +00:00
target: "ws://localhost:8080",
ws: true
}
}
}
});