/// /// /// /// import { cleanupOutdatedCaches, createHandlerBoundToURL, precacheAndRoute, precache } from 'workbox-precaching'; import { NavigationRoute, registerRoute } from 'workbox-routing'; declare let self: ServiceWorkerGlobalScope; self.addEventListener('message', (event) => { if (event.data && event.data.type === 'SKIP_WAITING') self.skipWaiting(); }); // Add root route to precache manifest precache([{ url: '/', revision: null }]); // self.__WB_MANIFEST is default injection point precacheAndRoute(self.__WB_MANIFEST); // clean old assets cleanupOutdatedCaches(); let allowlist: undefined | RegExp[]; if (import.meta.env.DEV) allowlist = [/^\/$/]; // to allow work offline registerRoute(new NavigationRoute(createHandlerBoundToURL('/'), { allowlist }));