import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; import legacy from '@vitejs/plugin-legacy'; import esbuild from 'esbuild'; export default defineConfig(({ mode }) => { const isProd = mode === 'production'; return { oxc: { target: 'es2015' }, plugins: [ react(), legacy({ targets: [ "defaults", "Android >= 5", "Chrome >= 60" ], }), { name: 'downlevel-dev', enforce: 'post', async transform(code, id) { if (mode === 'development' && /\.(mjs|js|ts|jsx|tsx)(?:[?#]|$)/.test(id)) { try { const res = await esbuild.transform(code, { target: 'chrome64', loader: 'jsx' }); return res.code; } catch (e) { return code; } } } } ], base: '/', envDir: 'src', envPrefix: 'ENV_', server: { host: '0.0.0.0', port: process.env.PORT || 3015, hmr: { host: '192.168.1.35', port: 3015, protocol: 'ws', clientPort: 3015, } }, optimizeDeps: { include: ['jspdf'], }, build: { target: 'es2015', minify: 'esbuild', esbuild: { drop: isProd ? ['console', 'debugger'] : [], }, }, }; });