diff --git a/vite.config.ts b/vite.config.ts index 38c0c01a..075552a6 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,7 +1,7 @@ import jitar, { JitarConfig } from '@jitar/plugin-vite'; import react from '@vitejs/plugin-react'; import { defineConfig } from 'vite'; -import { VitePWA } from 'vite-plugin-pwa'; +import { VitePWA, VitePWAOptions } from 'vite-plugin-pwa'; import tsconfigPaths from 'vite-tsconfig-paths'; const JITAR_URL = 'http://localhost:3000'; @@ -17,6 +17,29 @@ const jitarConfig: JitarConfig = { middleware: JITAR_MIDDLEWARES }; +const pwaConfig: Partial = { + strategies: 'generateSW', + manifest: false, + workbox: { + navigateFallbackDenylist: [/^\/rpc/], + additionalManifestEntries: [ + { url: '/manifest.webmanifest', revision: null } + ], + globPatterns: ['index.html', 'registerSW.js', 'assets/*', 'webui/**/*.{js,css,html,png,svg}'] + } +}; + +const addManifestLink = { + name: 'add-manifest-link', + transformIndexHtml(html) + { + return html.replace( + '', + '' + ); + } +}; + export default defineConfig({ publicDir: 'src/webui/public', build: { @@ -25,27 +48,8 @@ export default defineConfig({ }, plugins: [ react(), - VitePWA({ - strategies: 'generateSW', - manifest: false, - workbox: { - additionalManifestEntries: - [ - { url: '/manifest.webmanifest', revision: null } - ], - globPatterns: ['index.html', 'registerSW.js', 'assets/*', 'webui/**/*.{js,css,html,png,svg}'] - }, - }), - { - name: 'add-manifest-link', - transformIndexHtml(html) - { - return html.replace( - '', - '' - ); - } - }, + VitePWA(pwaConfig), + addManifestLink, tsconfigPaths(), jitar(jitarConfig) ]