// eslint-disable-next-line no-restricted-globals // eslint-disable-next-line no-unused-expressions /* eslint-disable no-restricted-globals */ /* global importScripts, workbox */ /** * Welcome to your Workbox-powered service worker! * * You'll need to register this file in your web app and you should * disable HTTP caching for this file too. * See https://goo.gl/nhQhGp * * The rest of the code is auto-generated. Please don't update this file * directly; instead, make changes to your Workbox build configuration * and re-run your build process. * See https://goo.gl/2aRDsh */ // in dev, `process` is undefined because this file is not compiled until build const IS_DEVELOPMENT = typeof process === "undefined" || process.env.NODE_ENV !== "production"; if (IS_DEVELOPMENT) { importScripts( "https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js", ); workbox.setConfig({ debug: true, }); } else { importScripts("/workbox/workbox-sw.js"); workbox.setConfig({ modulePathPrefix: "/workbox/", }); } self.addEventListener("message", (event) => { if (event.data && event.data.type === "SKIP_WAITING") { self.skipWaiting(); } }); workbox.core.clientsClaim(); if (!IS_DEVELOPMENT) { workbox.precaching.precacheAndRoute(self.__WB_MANIFEST); workbox.routing.registerNavigationRoute( workbox.precaching.getCacheKeyForURL("./index.html"), { blacklist: [/^\/_/, /\/[^/?]+\.[^/]+$/], }, ); } // Cache relevant font files workbox.routing.registerRoute( new RegExp("/(fonts.css|.+.(ttf|woff2|otf))"), new workbox.strategies.StaleWhileRevalidate({ cacheName: "fonts", plugins: [new workbox.expiration.Plugin({ maxEntries: 10 })], }), ); self.addEventListener("fetch", (event) => { if ( event.request.method === "POST" && event.request.url.endsWith("/web-share-target") ) { return event.respondWith( (async () => { const formData = await event.request.formData(); const file = formData.get("file"); const webShareTargetCache = await caches.open("web-share-target"); await webShareTargetCache.put("shared-file", new Response(file)); return Response.redirect("/?web-share-target", 303); })(), ); } });