aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/frontend/vite.config.ts
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2022-08-19 21:23:31 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2022-08-20 21:41:50 +0200
commitbeda5138e018d9a853d57bd7274a35c21fa5c366 (patch)
tree3f6ff98c917db824a850c85eee7fbd76021adc27 /subprojects/frontend/vite.config.ts
parentfeat(frontend): add PWA manifest (diff)
downloadrefinery-beda5138e018d9a853d57bd7274a35c21fa5c366.tar.gz
refinery-beda5138e018d9a853d57bd7274a35c21fa5c366.tar.zst
refinery-beda5138e018d9a853d57bd7274a35c21fa5c366.zip
fix(frontend): destroy service worker in dev mode
If the application is run in both production and development mode on the same domain, make sure to clean up the production service worker.
Diffstat (limited to 'subprojects/frontend/vite.config.ts')
-rw-r--r--subprojects/frontend/vite.config.ts7
1 files changed, 7 insertions, 0 deletions
diff --git a/subprojects/frontend/vite.config.ts b/subprojects/frontend/vite.config.ts
index 7c0c2605..bb421788 100644
--- a/subprojects/frontend/vite.config.ts
+++ b/subprojects/frontend/vite.config.ts
@@ -66,6 +66,12 @@ export default defineConfig({
66 strategies: 'generateSW', 66 strategies: 'generateSW',
67 registerType: 'prompt', 67 registerType: 'prompt',
68 injectRegister: null, 68 injectRegister: null,
69 devOptions: {
70 enabled: true,
71 },
72 // Unregister service worker installed in production mode
73 // if Vite is started in development mode on the same domain.
74 selfDestroying: isDevelopment,
69 workbox: { 75 workbox: {
70 globPatterns: [ 76 globPatterns: [
71 '**/*.{css,html,js}', 77 '**/*.{css,html,js}',
@@ -74,6 +80,7 @@ export default defineConfig({
74 ], 80 ],
75 dontCacheBustURLsMatching: /\.(?:css|js|woff2?)$/, 81 dontCacheBustURLsMatching: /\.(?:css|js|woff2?)$/,
76 navigateFallbackDenylist: [/^\/xtext-service/], 82 navigateFallbackDenylist: [/^\/xtext-service/],
83 sourcemap: isDevelopment,
77 }, 84 },
78 includeAssets: ['apple-touch-icon.png', 'favicon.svg', 'mask-icon.svg'], 85 includeAssets: ['apple-touch-icon.png', 'favicon.svg', 'mask-icon.svg'],
79 manifest: { 86 manifest: {