diff options
author | Thomas F. K. Jorna <[email protected]> | 2021-07-31 23:37:31 +0200 |
---|---|---|
committer | Thomas F. K. Jorna <[email protected]> | 2021-07-31 23:37:31 +0200 |
commit | 8959a6e1cb2f8f2d37bcc5fcd3a19e94fffe14a0 (patch) | |
tree | 45da1ce5ecafc70122c53e1af63399813ce38321 /public | |
parent | 20b74e456c2011783efb63b127c398f6d428923e (diff) |
removed weird function call
Diffstat (limited to 'public')
-rw-r--r-- | public/sw.js | 384 |
1 files changed, 260 insertions, 124 deletions
diff --git a/public/sw.js b/public/sw.js index 2752a0d..9222dc9 100644 --- a/public/sw.js +++ b/public/sw.js @@ -1,132 +1,268 @@ -/** - * Copyright 2018 Google Inc. All Rights Reserved. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// If the loader is already loaded, just stop. if (!self.define) { - const singleRequire = (name) => { - if (name !== 'require') { - name = name + '.js' - } - let promise = Promise.resolve() - if (!registry[name]) { - promise = new Promise(async (resolve) => { - if ('document' in self) { - const script = document.createElement('script') - script.src = name - document.head.appendChild(script) - script.onload = resolve - } else { - importScripts(name) - resolve() - } - }) - } - return promise.then(() => { - if (!registry[name]) { - throw new Error(`Module ${name} didn’t register its module`) - } - return registry[name] - }) - } - - const require = (names, resolve) => { - Promise.all(names.map(singleRequire)).then((modules) => - resolve(modules.length === 1 ? modules[0] : modules), - ) - } - - const registry = { - require: Promise.resolve(require), - } - - self.define = (moduleName, depsNames, factory) => { - if (registry[moduleName]) { - // Module is already loading or loaded. - return - } - registry[moduleName] = Promise.resolve().then(() => { - let exports = {} - const module = { - uri: location.origin + moduleName.slice(1), - } - return Promise.all( - depsNames.map((depName) => { - switch (depName) { - case 'exports': - return exports - case 'module': - return module - default: - return singleRequire(depName) - } - }), - ).then((deps) => { - const facValue = factory(...deps) - if (!exports.default) { - exports.default = facValue - } - return exports - }) - }) + const e = (e) => { + 'require' !== e && (e += '.js') + let s = Promise.resolve() + return ( + n[e] || + (s = new Promise(async (s) => { + if ('document' in self) { + const n = document.createElement('script') + ;(n.src = e), document.head.appendChild(n), (n.onload = s) + } else importScripts(e), s() + })), + s.then(() => { + if (!n[e]) throw new Error(`Module ${e} didn’t register its module`) + return n[e] + }) + ) + }, + s = (s, n) => { + Promise.all(s.map(e)).then((e) => n(1 === e.length ? e[0] : e)) + }, + n = { require: Promise.resolve(s) } + self.define = (s, i, t) => { + n[s] || + (n[s] = Promise.resolve().then(() => { + let n = {} + const r = { uri: location.origin + s.slice(1) } + return Promise.all( + i.map((s) => { + switch (s) { + case 'exports': + return n + case 'module': + return r + default: + return e(s) + } + }), + ).then((e) => { + const s = t(...e) + return n.default || (n.default = s), n + }) + })) } } -define('./sw.js', ['./workbox-6b19f60b'], function (workbox) { +define('./sw.js', ['./workbox-ea903bce'], function (e) { 'use strict' - - /** - * Welcome to your Workbox-powered service worker! - * - * You'll need to register this file in your web app. - * 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 - */ - - importScripts() - self.skipWaiting() - workbox.clientsClaim() - workbox.registerRoute( - '/', - new workbox.NetworkFirst({ - cacheName: 'start-url', - plugins: [ + importScripts(), + self.skipWaiting(), + e.clientsClaim(), + e.precacheAndRoute( + [ { - cacheWillUpdate: async ({ request, response, event, state }) => { - if (response && response.type === 'opaqueredirect') { - return new Response(response.body, { - status: 200, - statusText: 'OK', - headers: response.headers, - }) - } - - return response - }, + url: '/_next/static/chunks/4.2dee5d830195ddd06029.js', + revision: 'iq9sQ07m6d_SiAb-0HX08', + }, + { + url: '/_next/static/chunks/906-7b9696c9b17c64b94384.js', + revision: 'iq9sQ07m6d_SiAb-0HX08', + }, + { + url: '/_next/static/chunks/d25bd147-65fcc4c92edba8b370fb.js', + revision: 'iq9sQ07m6d_SiAb-0HX08', + }, + { + url: '/_next/static/chunks/fb7d5399-0d6001c72a29ebec41eb.js', + revision: 'iq9sQ07m6d_SiAb-0HX08', + }, + { + url: '/_next/static/chunks/framework-2191d16384373197bc0a.js', + revision: 'iq9sQ07m6d_SiAb-0HX08', + }, + { + url: '/_next/static/chunks/main-1b0f1fd287f08bad6012.js', + revision: 'iq9sQ07m6d_SiAb-0HX08', }, + { + url: '/_next/static/chunks/pages/_app-6ba3a11e93bdf6a85175.js', + revision: 'iq9sQ07m6d_SiAb-0HX08', + }, + { + url: '/_next/static/chunks/pages/_error-a0e21b9b223f827fe1f2.js', + revision: 'iq9sQ07m6d_SiAb-0HX08', + }, + { + url: '/_next/static/chunks/pages/index-5cea1a6a4f484642ff08.js', + revision: 'iq9sQ07m6d_SiAb-0HX08', + }, + { + url: '/_next/static/chunks/polyfills-a54b4f32bdc1ef890ddd.js', + revision: 'iq9sQ07m6d_SiAb-0HX08', + }, + { + url: '/_next/static/chunks/webpack-a1ea085630ce50807058.js', + revision: 'iq9sQ07m6d_SiAb-0HX08', + }, + { url: '/_next/static/css/331301db207a91d407e5.css', revision: 'iq9sQ07m6d_SiAb-0HX08' }, + { + url: '/_next/static/iq9sQ07m6d_SiAb-0HX08/_buildManifest.js', + revision: 'iq9sQ07m6d_SiAb-0HX08', + }, + { + url: '/_next/static/iq9sQ07m6d_SiAb-0HX08/_ssgManifest.js', + revision: 'iq9sQ07m6d_SiAb-0HX08', + }, + { url: '/favicon.ico', revision: 'c30c7d42707a47a3f4591831641e50dc' }, + { url: '/manifest.json', revision: '6fefee72ca361eb4dfafb128818c8424' }, + { url: '/vercel.svg', revision: '4b4f1876502eb6721764637fe5c41702' }, ], - }), - 'GET', - ) - workbox.registerRoute( - /.*/i, - new workbox.NetworkOnly({ - cacheName: 'dev', - plugins: [], - }), - 'GET', - ) + { ignoreURLParametersMatching: [] }, + ), + e.cleanupOutdatedCaches(), + e.registerRoute( + '/', + new e.NetworkFirst({ + cacheName: 'start-url', + plugins: [ + { + cacheWillUpdate: async ({ request: e, response: s, event: n, state: i }) => + s && 'opaqueredirect' === s.type + ? new Response(s.body, { status: 200, statusText: 'OK', headers: s.headers }) + : s, + }, + ], + }), + 'GET', + ), + e.registerRoute( + /^https:\/\/fonts\.(?:gstatic)\.com\/.*/i, + new e.CacheFirst({ + cacheName: 'google-fonts-webfonts', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 4, maxAgeSeconds: 31536e3, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /^https:\/\/fonts\.(?:googleapis)\.com\/.*/i, + new e.StaleWhileRevalidate({ + cacheName: 'google-fonts-stylesheets', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 4, maxAgeSeconds: 604800, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\.(?:eot|otf|ttc|ttf|woff|woff2|font.css)$/i, + new e.StaleWhileRevalidate({ + cacheName: 'static-font-assets', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 4, maxAgeSeconds: 604800, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\.(?:jpg|jpeg|gif|png|svg|ico|webp)$/i, + new e.StaleWhileRevalidate({ + cacheName: 'static-image-assets', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 64, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\/_next\/image\?url=.+$/i, + new e.StaleWhileRevalidate({ + cacheName: 'next-image', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 64, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\.(?:mp3|mp4)$/i, + new e.StaleWhileRevalidate({ + cacheName: 'static-media-assets', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 32, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\.(?:js)$/i, + new e.StaleWhileRevalidate({ + cacheName: 'static-js-assets', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 32, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\.(?:css|less)$/i, + new e.StaleWhileRevalidate({ + cacheName: 'static-style-assets', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 32, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\/_next\/data\/.+\/.+\.json$/i, + new e.StaleWhileRevalidate({ + cacheName: 'next-data', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 32, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\.(?:json|xml|csv)$/i, + new e.NetworkFirst({ + cacheName: 'static-data-assets', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 32, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + ({ url: e }) => { + if (!(self.origin === e.origin)) return !1 + const s = e.pathname + return !s.startsWith('/api/auth/') && !!s.startsWith('/api/') + }, + new e.NetworkFirst({ + cacheName: 'apis', + networkTimeoutSeconds: 10, + plugins: [ + new e.ExpirationPlugin({ maxEntries: 16, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + ({ url: e }) => { + if (!(self.origin === e.origin)) return !1 + return !e.pathname.startsWith('/api/') + }, + new e.NetworkFirst({ + cacheName: 'others', + networkTimeoutSeconds: 10, + plugins: [ + new e.ExpirationPlugin({ maxEntries: 32, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + ({ url: e }) => !(self.origin === e.origin), + new e.NetworkFirst({ + cacheName: 'cross-origin', + networkTimeoutSeconds: 10, + plugins: [ + new e.ExpirationPlugin({ maxEntries: 32, maxAgeSeconds: 3600, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ) }) -//# sourceMappingURL=sw.js.map |