Archived
35 lines
1.2 KiB
TypeScript
35 lines
1.2 KiB
TypeScript
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 },
|
|
},
|
|
},
|
|
});
|