66 lines
1.8 KiB
TypeScript
66 lines
1.8 KiB
TypeScript
import { fileURLToPath } from "node:url";
|
|
|
|
import { defineConfig, loadEnv } from "vite";
|
|
import react from "@vitejs/plugin-react";
|
|
import wasm from "vite-plugin-wasm";
|
|
|
|
export default defineConfig(({ mode }) => {
|
|
const env = loadEnv(mode, process.cwd(), "");
|
|
const apiTarget = env.VITE_API_TARGET || "http://127.0.0.1:8000";
|
|
|
|
return {
|
|
plugins: [react(), wasm()],
|
|
resolve: {
|
|
alias: {
|
|
"@mission-core/plugin-sdk": fileURLToPath(
|
|
new URL("./src/core/device-plugins/frontendSdk.ts", import.meta.url),
|
|
),
|
|
"@xgrids-k1/frontend": fileURLToPath(
|
|
new URL("../../plugins/xgrids-k1/frontend/src", import.meta.url),
|
|
),
|
|
},
|
|
dedupe: ["react", "react-dom", "@nodedc/ui-react"],
|
|
},
|
|
optimizeDeps: {
|
|
// Rerun resolves its WASM asset relative to the package entrypoint. Vite's
|
|
// dependency pre-bundler flattens that entrypoint and leaves the WASM URL
|
|
// pointing at the SPA fallback, which browsers reject as text/html.
|
|
exclude: ["@rerun-io/web-viewer"],
|
|
},
|
|
build: {
|
|
target: "esnext",
|
|
},
|
|
server: {
|
|
host: "127.0.0.1",
|
|
port: 5173,
|
|
strictPort: true,
|
|
fs: {
|
|
allow: [
|
|
fileURLToPath(new URL(".", import.meta.url)),
|
|
fileURLToPath(new URL("../../plugins/xgrids-k1", import.meta.url)),
|
|
fileURLToPath(new URL("../../../NODEDC_DESIGN_GUIDELINE/packages", import.meta.url)),
|
|
],
|
|
},
|
|
proxy: {
|
|
"/api": {
|
|
target: apiTarget,
|
|
changeOrigin: false,
|
|
ws: true,
|
|
},
|
|
},
|
|
},
|
|
preview: {
|
|
host: "127.0.0.1",
|
|
port: 4173,
|
|
strictPort: true,
|
|
proxy: {
|
|
"/api": {
|
|
target: apiTarget,
|
|
changeOrigin: false,
|
|
ws: true,
|
|
},
|
|
},
|
|
},
|
|
};
|
|
});
|