// file: Web/game-realtime-webtransport-browser-smoke/vite.config.ts // version: 1 import { fileURLToPath } from "node:url"; import { resolve } from "node:path"; import { defineConfig, normalizePath } from "vite"; const appRoot = fileURLToPath(new URL(".", import.meta.url)); const repositoryRoot = normalizePath(resolve(appRoot, "../..")); const frontendRoot = normalizePath(resolve(appRoot, "frontend")); const externalBuildRoot = normalizePath(resolve(repositoryRoot, "../builds/sasedev-games/game-realtime-webtransport-browser-smoke")); const wasmRoot = normalizePath(resolve(externalBuildRoot, "wasm")); const wasmModule = normalizePath(resolve(wasmRoot, "game_realtime_webtransport_browser_smoke.js")); const frontendDist = normalizePath(resolve(externalBuildRoot, "dist")); const viteCacheDir = normalizePath(resolve(externalBuildRoot, "vite-cache")); export default defineConfig({ base: "./", cacheDir: viteCacheDir, clearScreen: false, root: frontendRoot, publicDir: false, input: { main: normalizePath(resolve(frontendRoot, "main.html")), }, resolve: { alias: { "@webtransport-browser-smoke-wasm": wasmModule, }, }, build: { outDir: frontendDist, emptyOutDir: true, minify: true, sourcemap: false, }, server: { host: "127.0.0.1", port: 1435, strictPort: true, fs: { allow: [appRoot, repositoryRoot, externalBuildRoot], }, }, preview: { host: "127.0.0.1", port: 4175, strictPort: true, }, });