import path from 'node:path'; import babel from '@rolldown/plugin-babel'; import react, { reactCompilerPreset } from '@vitejs/plugin-react'; import { defineConfig } from 'vite'; import { VitePWA } from 'vite-plugin-pwa'; export default defineConfig({ plugins: [ react(), babel({ presets: [reactCompilerPreset()], }), VitePWA({ registerType: 'autoUpdate', manifest: false, workbox: { globPatterns: ['**/*.{js,css,html,ico,png,svg,webmanifest}'], maximumFileSizeToCacheInBytes: 8 * 1024 * 1024, }, }), ], resolve: { alias: { '@': path.resolve(__dirname, 'src'), '~': path.resolve(__dirname, 'public'), }, }, build: { outDir: 'dist/client', emptyOutDir: true, }, });