import react from "@vitejs/plugin-react"; import tailwindcss from "@tailwindcss/vite"; import { defineConfig } from "vite"; // Operator SPA. Built by Vite and served by Fastify in production // (see wiki/entities/react-vite-spa.md). The dev proxy points the API at the // local Fastify server. export default defineConfig({ plugins: [react(), tailwindcss()], server: { port: 5173, proxy: { // Use 127.0.0.1 (not "localhost") so the proxy never tries IPv6 ::1 // first and stall — the backend binds IPv4. Avoids slow/hung requests, // notably under WSL2 mirrored networking. "/api": { target: "http://127.0.0.1:3000", // The live booth feed (/api/ws) is a WebSocket — without `ws: true` the // proxy would not forward the upgrade. The backend's Origin allowlist must // include the dev origin (http://localhost:5173) via WS_ALLOWED_ORIGINS. ws: true, }, "/health": "http://127.0.0.1:3000", }, }, build: { outDir: "dist", }, });