mirror of
https://github.com/jcreek/LivingDexTracker.git
synced 2026-07-13 11:03:44 +00:00
33 lines
904 B
TypeScript
33 lines
904 B
TypeScript
/// <reference lib="WebWorker" />
|
|
/// <reference types="vite/client" />
|
|
/// <reference no-default-lib="true"/>
|
|
/// <reference lib="esnext" />
|
|
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 }));
|