import { defineConfig, mergeConfig } from "vite"; import { createBuildConfig } from "./vite.config.common.mts"; export default defineConfig(async () => { const baseConfig = await createBuildConfig('electron'); return mergeConfig(baseConfig, { plugins: [{ name: 'remove-sw-imports', transform(code: string, id: string) { if ( id.includes('registerServiceWorker') || id.includes('register-service-worker') || id.includes('sw_scripts') || id.includes('PushNotificationPermission') || code.includes('navigator.serviceWorker') ) { return { code: code .replace(/import.*registerServiceWorker.*$/mg, '') .replace(/import.*register-service-worker.*$/mg, '') .replace(/navigator\.serviceWorker/g, 'undefined') .replace(/if\s*\([^)]*serviceWorker[^)]*\)\s*{[^}]*}/g, '') }; } } }], build: { outDir: 'dist-electron', emptyOutDir: true, rollupOptions: { output: { manualChunks: { vendor: ['vue', 'vue-router', 'pinia'] } } }, assetsDir: 'assets', minify: 'terser', terserOptions: { compress: { drop_console: false, }, }, }, base: './', }); });