import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' import { TanStackRouterVite } from '@tanstack/router-plugin/vite' // https://vitejs.dev/config/ export default defineConfig({ plugins: [ TanStackRouterVite({ routesDirectory: './src/routes', generatedRouteTree: './src/routeTree.gen.ts' }), react(), ], server: { proxy: { '/api/v1': { target: 'http://127.0.0.1:18888', changeOrigin: true, configure: (proxy) => { proxy.on('proxyReq', (req) => { req.setHeader('Remote-User', 'bigbes') }) }, }, '/healthz': { target: 'http://127.0.0.1:18888', changeOrigin: true, configure: (proxy) => { proxy.on('proxyReq', (req) => { req.setHeader('Remote-User', 'bigbes') }) }, }, '/readyz': { target: 'http://127.0.0.1:18888', changeOrigin: true, configure: (proxy) => { proxy.on('proxyReq', (req) => { req.setHeader('Remote-User', 'bigbes') }) }, }, '/metrics': { target: 'http://127.0.0.1:18888', changeOrigin: true, configure: (proxy) => { proxy.on('proxyReq', (req) => { req.setHeader('Remote-User', 'bigbes') }) }, }, }, }, build: { // DEVIATION: output goes directly into the Go embed directory so no copy step is needed in CI outDir: '../internal/server/web/dist', // emptyOutDir: false preserves the committed .gitkeep and placeholder // index.html so `go build` works on a fresh clone. Vite's hashed asset // filenames prevent stale chunk accumulation; use `just web-clean` for a // full reset when needed. emptyOutDir: false, }, })