1import { defineConfig } from "vite";
2import solid from "vite-plugin-solid";
3import { createRequire } from "node:module";
4import { dirname, resolve } from "node:path";
5
6export default defineConfig({
7 root: "web",
8 plugins: [solid()],
9 resolve: { alias: { "@novnc/keyboard": resolve(dirname(createRequire(import.meta.url).resolve("@novnc/novnc")), "input/keyboard.js") } },
10 build: { outDir: "../dist", emptyOutDir: true },
11 server: {
12 host: true,
13 allowedHosts: [".ts.net", "sandwich"],
14 // Stands in for forward auth.
15 proxy: {
16 "/api/": {
17 target: process.env.STUDIO_DEV_API_URL ?? "http://127.0.0.1:7070",
18 xfwd: true,
19 ws: true,
20 headers: { "User-Name": process.env.STUDIO_DEV_USER ?? "snow", "User-Groups": process.env.STUDIO_DEV_GROUPS ?? "infra-admin" },
21 },
22 },
23 },
24});