import react, { reactCompilerPreset } from '@vitejs/plugin-react' import babel from '@rolldown/plugin-babel' import tailwindcss from '@tailwindcss/vite' import { defineConfig, type Plugin } from 'vite' import { startMockServer } from './mock/server.mjs' // Runs the mock API (mock/server.mjs) during `vite dev` and kills it on exit. function mockApi(): Plugin { let server: ReturnType | undefined return { name: 'mock-api', configureServer(devServer) { server = startMockServer() devServer.httpServer?.once('close', () => server?.close()) }, } } // https://vite.dev/config/ export default defineConfig({ plugins: [react(), tailwindcss(), babel({ presets: [reactCompilerPreset()] }), mockApi()], server: { proxy: { '/api': 'http://localhost:8787', }, }, })