37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
import { resolve } from "node:path";
|
|
import { fileURLToPath } from "node:url";
|
|
|
|
import react from "@vitejs/plugin-react";
|
|
import { defineConfig } from "vite";
|
|
|
|
import { localRunnerBrowserServerPlugin } from "./scripts/local-runner-browser-server.mjs";
|
|
import { liveConsoleBrowserServerPlugin } from "./scripts/live-console-browser-server.mjs";
|
|
|
|
const packageRoot = fileURLToPath(new URL(".", import.meta.url));
|
|
|
|
export default defineConfig({
|
|
root: resolve(packageRoot, "devtools/browser"),
|
|
plugins: [react(), localRunnerBrowserServerPlugin(), liveConsoleBrowserServerPlugin()],
|
|
server: {
|
|
host: "127.0.0.1",
|
|
},
|
|
preview: {
|
|
host: "127.0.0.1",
|
|
},
|
|
// Vite's dev dependency optimizer has its own esbuild target. Keep it in
|
|
// sync with the standalone browser build so Ajv is never downlevelled.
|
|
optimizeDeps: {
|
|
esbuildOptions: {
|
|
target: "esnext",
|
|
},
|
|
},
|
|
build: {
|
|
outDir: resolve(packageRoot, "dist-browser"),
|
|
emptyOutDir: true,
|
|
// The standalone devtool targets current evergreen browsers. Keeping the
|
|
// emitted syntax modern also avoids asking Vite to downlevel Ajv's runtime
|
|
// validator, which recent esbuild releases intentionally do not support.
|
|
target: "esnext",
|
|
},
|
|
});
|