import { defineConfig } from "vite"; import react from "@vitejs/plugin-react"; import { nodePolyfills } from "vite-plugin-node-polyfills"; const host = process.env.TAURI_DEV_HOST; // https://vite.dev/config/ export default defineConfig(async () => ({ root: "src", publicDir: "../public", build: { outDir: "../dist", emptyOutDir: true, }, plugins: [ nodePolyfills({ include: ["buffer", "process", "util", "os", "crypto", "stream"], globals: { Buffer: true, process: true, global: true, }, }), react(), ], // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build` // // 1. prevent Vite from obscuring rust errors clearScreen: false, // 2. tauri expects a fixed port, fail if that port is not available server: { port: 1420, strictPort: true, host: host || false, allowedHosts: [ "frontend-runner-openhuman-git-main-vezuresxyz.vercel.app", ], hmr: host ? { protocol: "ws", host, port: 1421, } : undefined, watch: { // 3. tell Vite to ignore watching `src-tauri` directory (includes src-tauri/ai) ignored: ["**/src-tauri/**"], }, }, resolve: { alias: { buffer: "buffer", process: "process/browser", util: "util", os: "os-browserify/browser", }, }, optimizeDeps: { include: ["buffer", "process", "util", "os-browserify"], }, }));