Spaces:
Sleeping
Sleeping
| import { defineConfig } from 'vite' | |
| import react from '@vitejs/plugin-react' | |
| // File watching is set to polling because the project lives on a | |
| // WSL-mounted Windows drive where native fs.watch() throws EISDIR. | |
| // | |
| // `/api/*` is proxied to the FastAPI server in `server/visualizer_server.py`. | |
| // SSE works through Vite's proxy as long as we disable buffering. | |
| export default defineConfig({ | |
| plugins: [react()], | |
| server: { | |
| host: true, | |
| watch: { | |
| usePolling: true, | |
| interval: 300, | |
| }, | |
| proxy: { | |
| '/api': { | |
| target: process.env.VIZ_BACKEND_URL || 'http://127.0.0.1:8001', | |
| changeOrigin: true, | |
| ws: false, | |
| // Disable response buffering so SSE chunks arrive immediately. | |
| configure: proxy => { | |
| proxy.on('proxyRes', (proxyRes, req) => { | |
| if (req.url?.endsWith('/stream')) { | |
| proxyRes.headers['cache-control'] = 'no-cache, no-transform' | |
| proxyRes.headers['x-accel-buffering'] = 'no' | |
| } | |
| }) | |
| }, | |
| }, | |
| }, | |
| }, | |
| }) | |