import { defineConfig } from 'vite'; import tsconfigPaths from 'vite-tsconfig-paths'; import react from '@vitejs/plugin-react'; import { VitePWA } from 'vite-plugin-pwa'; import svgr from 'vite-plugin-svgr'; export default defineConfig({ plugins: [ tsconfigPaths(), react(), VitePWA({ selfDestroying: true, registerType: 'autoUpdate', devOptions: { enabled: true, /* other options */ }, manifest: { name: 'OpenWiFi Controller App', short_name: 'OpenWiFiController', description: 'OpenWiFi Controller App', theme_color: '#000000', icons: [ { src: 'android-chrome-192x192.png', sizes: '192x192', type: 'image/png', }, { src: 'android-chrome-384x384.png', sizes: '384x384', type: 'image/png', }, { src: 'android-chrome-512x512.png', sizes: '512x512', type: 'image/png', }, { src: 'android-chrome-512x512.png', sizes: '512x512', type: 'image/png', purpose: 'any maskable', }, ], }, }), svgr(), ], build: { outDir: './build', chunkSizeWarningLimit: 1000, }, server: { port: 3000, open: true, }, esbuild: { logOverride: { 'this-is-undefined-in-esm': 'silent' }, }, define: { __APP_VERSION__: JSON.stringify(process.env.npm_package_version), }, });