forked from bitfoundation/bitplatform
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathservice-worker.published.js
More file actions
63 lines (50 loc) · 2.63 KB
/
service-worker.published.js
File metadata and controls
63 lines (50 loc) · 2.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// bit version: 10.4.3-pre-01
self.assetsExclude = [/\.scp\.css$/, /weather\.json$/];
self.caseInsensitiveUrl = true;
self.precachedAssetsInclude = [/favicon\.ico$/, /icon-512\.png$/, /bit-bw-64\.png$/];
//self.externalAssets = [
// {
// "url": "not-found/script.file.js"
// }
//];
//self.errorTolerance = 'lax';
self.importScripts('_content/Bit.Bswup/bit-bswup.sw.js');
//// Caution! Be sure you understand the caveats before publishing an application with
//// offline support. See https://aka.ms/blazor-offline-considerations
//self.importScripts('./service-worker-assets.js');
//self.addEventListener('install', event => event.waitUntil(onInstall(event)));
//self.addEventListener('activate', event => event.waitUntil(onActivate(event)));
//self.addEventListener('fetch', event => event.respondWith(onFetch(event)));
//const cacheNamePrefix = 'offline-cache-';
//const cacheName = `${cacheNamePrefix}${self.assetsManifest.version}`;
//const offlineAssetsInclude = [ /\.dll$/, /\.pdb$/, /\.wasm/, /\.html/, /\.js$/, /\.json$/, /\.css$/, /\.woff$/, /\.png$/, /\.jpe?g$/, /\.gif$/, /\.ico$/, /\.blat$/, /\.dat$/ ];
//const offlineAssetsExclude = [ /^service-worker\.js$/ ];
//async function onInstall(event) {
// console.info('Service worker: Install');
// // Fetch and cache all matching items from the assets manifest
// const assetsRequests = self.assetsManifest.assets
// .filter(asset => offlineAssetsInclude.some(pattern => pattern.test(asset.url)))
// .filter(asset => !offlineAssetsExclude.some(pattern => pattern.test(asset.url)))
// .map(asset => new Request(asset.url, { integrity: asset.hash }));
// await caches.open(cacheName).then(cache => cache.addAll(assetsRequests));
//}
//async function onActivate(event) {
// console.info('Service worker: Activate');
// // Delete unused caches
// const cacheKeys = await caches.keys();
// await Promise.all(cacheKeys
// .filter(key => key.startsWith(cacheNamePrefix) && key !== cacheName)
// .map(key => caches.delete(key)));
//}
//async function onFetch(event) {
// let cachedResponse = null;
// if (event.request.method === 'GET') {
// // For all navigation requests, try to serve index.html from cache
// // If you need some URLs to be server-rendered, edit the following check to exclude those URLs
// const shouldServeIndexHtml = event.request.mode === 'navigate';
// const request = shouldServeIndexHtml ? 'index.html' : event.request;
// const cache = await caches.open(cacheName);
// cachedResponse = await cache.match(request);
// }
// return cachedResponse || fetch(event.request);
//}