Browse Source

fix: add self destroying service-worker.js to migrate everyone from CRA to Vite (#6833)

* fix: add self destroying service-worker.js to migrate everyone from CRA to VITE

* add comment

* don't add service-worker.js to app pre-cache
pull/6835/head
Aakansha Doshi 2 years ago committed by GitHub
parent
commit
6126c34dc0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 20
      public/service-worker.js
  2. 2
      vite.config.ts

20
public/service-worker.js

@ -0,0 +1,20 @@ @@ -0,0 +1,20 @@
// Since we migrated to Vite, the service worker strategy changed, in CRA it was a custom service worker named service-worker.js and in Vite its sw.js handled by vite-plugin-pwa
// Due to this the existing CRA users were not able to migrate to Vite or any new changes post Vite unless browser is hard refreshed
// Hence adding a self destroying worker so all CRA service workers are destroyed and migrated to Vite
// We should remove this code after sometime when we are confident that
// all users have migrated to Vite
self.addEventListener("install", () => {
self.skipWaiting();
});
self.addEventListener("activate", () => {
self.registration
.unregister()
.then(() => {
return self.clients.matchAll();
})
.then((clients) => {
clients.forEach((client) => client.navigate(client.url));
});
});

2
vite.config.ts

@ -61,7 +61,7 @@ export default defineConfig({ @@ -61,7 +61,7 @@ export default defineConfig({
workbox: {
// Don't push fonts and locales to app precache
globIgnores: ["fonts.css", "**/locales/**"],
globIgnores: ["fonts.css", "**/locales/**", "service-worker.js"],
runtimeCaching: [
{
urlPattern: new RegExp("/.+.(ttf|woff2|otf)"),

Loading…
Cancel
Save