fix: Disable PWA in dev mode to enable HMR live reload
Some checks failed
DSS Project Analysis / dss-context-update (push) Has been cancelled

- Conditionally enable VitePWA only in production builds
- Add service worker auto-unregister script to index.html
- Fixes stale content caching issues during development

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
DSS
2025-12-10 22:33:23 -03:00
parent 08ce228df1
commit ae70dabbe5
2 changed files with 16 additions and 4 deletions

View File

@@ -11,6 +11,17 @@
</head>
<body>
<div id="app"></div>
<script>
// Unregister any old service workers that may be caching stale content
if ('serviceWorker' in navigator) {
navigator.serviceWorker.getRegistrations().then(registrations => {
registrations.forEach(reg => {
console.log('Unregistering old service worker:', reg.scope);
reg.unregister();
});
});
}
</script>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>

View File

@@ -3,10 +3,11 @@ import preact from '@preact/preset-vite';
import { VitePWA } from 'vite-plugin-pwa';
import { resolve } from 'path';
export default defineConfig({
export default defineConfig(({ mode }) => ({
plugins: [
preact(),
VitePWA({
// Only enable PWA in production - it interferes with HMR in dev
mode === 'production' && VitePWA({
registerType: 'autoUpdate',
includeAssets: ['favicon.ico', 'robots.txt', 'apple-touch-icon.png'],
manifest: {
@@ -46,7 +47,7 @@ export default defineConfig({
]
}
})
],
].filter(Boolean),
resolve: {
alias: {
'@': resolve(__dirname, './src'),
@@ -74,4 +75,4 @@ export default defineConfig({
}
}
}
});
}));