import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' import { resolve } from 'path' // https://vitejs.dev/config/ export default defineConfig({ plugins: [react()], appType: 'mpa', server: { host: '0.0.0.0', // Listen on all available network interfaces port: 3000, headers: { 'Cross-Origin-Embedder-Policy': 'require-corp', 'Cross-Origin-Opener-Policy': 'same-origin' }, proxy: { '/api/aia': { target: 'http://aia:4000', changeOrigin: true, rewrite: (path) => { console.log('Rewriting path:', path); const rewritten = path.replace(/^\/api\/aia/, '/client/api'); console.log('Rewritten to:', rewritten); return rewritten; }, configure: (proxy, options) => { console.log('Configuring proxy:', options); proxy.on('error', (err, req, res) => { console.log('Proxy error:', err); console.log('Request:', req.method, req.url); }); proxy.on('proxyReq', (proxyReq, req, res) => { console.log('Proxying request:', { method: req.method, url: req.url, targetUrl: proxyReq.path }); }); proxy.on('proxyRes', (proxyRes, req, res) => { console.log('Received response:', { status: proxyRes.statusCode, url: req.url, headers: proxyRes.headers }); }); }, ws: true, secure: false, debug: true } } }, esbuild: { supported: { 'top-level-await': true, }, }, build: { rollupOptions: { input: { 'index.html': resolve(__dirname,'index.html'), 'react.html': resolve(__dirname,'react.html'), 'javascript.html': resolve(__dirname,'javascript.html'), 'javascript-shared.html': resolve(__dirname,'javascript-shared.html'), } }, chunkSizeWarningLimit: 2048, } })