import { defineConfig, type PluginOption } from 'vite' import tailwindcss from '@tailwindcss/vite' import react from '@vitejs/plugin-react' import { visualizer } from 'rollup-plugin-visualizer' import path from 'path' import { readFileSync } from 'fs' const rootPkg = JSON.parse(readFileSync(path.resolve(__dirname, '../package.json'), 'utf-8')); // https://vite.dev/config/ export default defineConfig({ plugins: [ react(), tailwindcss(), // ANALYZE=true npm run build emits dist/stats.html for ad-hoc bundle // inspection. Off by default so CI / production builds skip the work. process.env.ANALYZE === 'true' && (visualizer({ filename: 'dist/stats.html', gzipSize: true, brotliSize: true }) as PluginOption), ].filter(Boolean) as PluginOption[], define: { __APP_VERSION__: JSON.stringify(rootPkg.version), }, resolve: { alias: { "@": path.resolve(__dirname, "./src"), }, }, build: { // Disable the module-preload polyfill inline script. // Vite injects a small inline