2025-12-18 22:40:46 +00:00
|
|
|
import path from "node:path";
|
|
|
|
|
import { fileURLToPath } from "node:url";
|
|
|
|
|
import { defineConfig } from "vite";
|
|
|
|
|
|
|
|
|
|
const here = path.dirname(fileURLToPath(import.meta.url));
|
|
|
|
|
|
2026-01-03 17:54:52 +01:00
|
|
|
function normalizeBase(input: string): string {
|
|
|
|
|
const trimmed = input.trim();
|
2026-02-02 15:15:30 +09:00
|
|
|
if (!trimmed) {
|
|
|
|
|
return "/";
|
|
|
|
|
}
|
|
|
|
|
if (trimmed === "./") {
|
|
|
|
|
return "./";
|
|
|
|
|
}
|
|
|
|
|
if (trimmed.endsWith("/")) {
|
|
|
|
|
return trimmed;
|
|
|
|
|
}
|
2026-01-03 17:54:52 +01:00
|
|
|
return `${trimmed}/`;
|
|
|
|
|
}
|
|
|
|
|
|
2026-02-02 15:15:30 +09:00
|
|
|
export default defineConfig(() => {
|
2026-01-30 03:15:10 +01:00
|
|
|
const envBase = process.env.OPENCLAW_CONTROL_UI_BASE_PATH?.trim();
|
2026-01-09 12:21:13 +01:00
|
|
|
const base = envBase ? normalizeBase(envBase) : "./";
|
2026-01-03 17:54:52 +01:00
|
|
|
return {
|
|
|
|
|
base,
|
2026-01-06 10:41:19 -06:00
|
|
|
publicDir: path.resolve(here, "public"),
|
2026-01-05 17:15:17 +00:00
|
|
|
optimizeDeps: {
|
|
|
|
|
include: ["lit/directives/repeat.js"],
|
|
|
|
|
},
|
2026-01-03 17:54:52 +01:00
|
|
|
build: {
|
|
|
|
|
outDir: path.resolve(here, "../dist/control-ui"),
|
|
|
|
|
emptyOutDir: true,
|
|
|
|
|
sourcemap: true,
|
|
|
|
|
},
|
|
|
|
|
server: {
|
|
|
|
|
host: true,
|
2026-02-22 13:00:34 -06:00
|
|
|
port: 5173,
|
2026-01-03 17:54:52 +01:00
|
|
|
strictPort: true,
|
|
|
|
|
},
|
|
|
|
|
};
|
2025-12-18 22:40:46 +00:00
|
|
|
});
|