import { defineConfig } from "vite"; import { effectivePiWebConfig } from "./src/config"; const { config } = effectivePiWebConfig(); const apiPort = config.port ?? 8504; export default defineConfig({ root: "src/client", build: { outDir: "../../dist/client", emptyOutDir: true, rollupOptions: { output: { manualChunks(id) { if (!id.includes("node_modules")) return; if (id.includes("@codemirror/legacy-modes")) return "vendor-editor-legacy"; if (id.includes("@lezer/common") || id.includes("@lezer/highlight") || id.includes("@lezer/lr")) return "vendor-editor-core"; if (id.includes("@codemirror/lang-") || id.includes("@lezer/")) return "vendor-editor-languages"; if (id.includes("@codemirror") || id.includes("codemirror")) return "vendor-editor-core"; if (id.includes("@xterm")) return "vendor-terminal"; return undefined; }, }, }, }, server: { port: 8505, strictPort: true, ...(config.allowedHosts === undefined ? {} : { allowedHosts: config.allowedHosts }), proxy: { "/api": { target: `http://localhost:${String(apiPort)}`, ws: true }, }, }, });