import { defineConfig } from "vite"; import { fileURLToPath } from "node:url"; import wasm from "vite-plugin-wasm"; export default defineConfig({ plugins: [wasm()], // Shared sensor TSX lives outside this app tsconfig; use the same JSX runtime. esbuild: { jsx: "automatic" }, // Design Guideline packages are linked during development. Their own React // must never become a second hook dispatcher in the portable production bundle. resolve: { alias: {"@mission-core/sensor-sdk": fileURLToPath(new URL("../../../packages/sensor-ui/src/pluginSdk.ts", import.meta.url))}, dedupe: ["react", "react-dom", "@nodedc/ui-react", "@rerun-io/web-viewer"] }, optimizeDeps: { exclude: ["@rerun-io/web-viewer"] }, build: { target: "esnext", rollupOptions: { input: { app: fileURLToPath(new URL("./index.html", import.meta.url)), rerun: fileURLToPath(new URL("./rerun-runtime.html", import.meta.url)), } } }, });