import path from "node:path"; import { fileURLToPath } from "node:url"; /// import { defineConfig } from "vite"; import react from "@vitejs/plugin-react"; import tailwindcss from "@tailwindcss/vite"; const __dirname = path.dirname(fileURLToPath(import.meta.url)); function userManagementSpaFallback() { const rewrite = (req) => { const url = req.url || ''; if (!url.startsWith('/_um/') && url !== '/_um') return; if (/\.[a-zA-Z0-9]+$/.test(url.split('?')[0])) return; req.url = '/_um/index.html'; }; return { name: 'user-management-spa-fallback', configureServer(s){ s.middlewares.use((req,_r,next)=>{rewrite(req);next();}); }, configurePreviewServer(s){ s.middlewares.use((req,_r,next)=>{rewrite(req);next();}); }, }; } export default defineConfig({ plugins: [userManagementSpaFallback(), react(), tailwindcss()], resolve: { alias: { "@": path.resolve(__dirname, "./src"), // Resolve from TS source so Vite gets ESM named exports (dist is CommonJS). "@edr/types": path.resolve(__dirname, "../../../packages/types/src/index.ts"), }, }, server: { port: 5183, host: "0.0.0.0", }, test: { environment: "node", }, });