mirror of
https://github.com/EDCD/coriolis.git
synced 2025-12-09 22:55:35 +00:00
59 lines
1.2 KiB
JavaScript
59 lines
1.2 KiB
JavaScript
console.log('Hello from sw.js');
|
|
|
|
if (workbox) {
|
|
console.log('Yay! Workbox is loaded 🎉');
|
|
workbox.precaching.precacheAndRoute(self.__precacheManifest);
|
|
|
|
workbox.routing.registerNavigationRoute('/index.html');
|
|
|
|
workbox.routing.registerRoute(
|
|
/\.(?:png|jpg|jpeg|svg|gif)$/,
|
|
new workbox.strategies.CacheFirst({
|
|
plugins: [
|
|
new workbox.cacheableResponse.Plugin({
|
|
statuses: [0, 200]
|
|
})
|
|
]
|
|
})
|
|
);
|
|
|
|
workbox.routing.registerRoute(
|
|
/\.(?:js|css)$/,
|
|
new workbox.strategies.StaleWhileRevalidate({
|
|
cacheName: 'static-resources',
|
|
})
|
|
);
|
|
|
|
workbox.routing.registerRoute(
|
|
new RegExp('https://fonts.(?:googleapis|gstatic).com/(.*)'),
|
|
new workbox.strategies.CacheFirst({
|
|
cacheName: 'google-fonts',
|
|
plugins: [
|
|
new workbox.expiration.Plugin({
|
|
maxEntries: 30
|
|
}),
|
|
new workbox.cacheableResponse.Plugin({
|
|
statuses: [0, 200]
|
|
})
|
|
]
|
|
})
|
|
);
|
|
} else {
|
|
console.log('Boo! Workbox didn\'t load 😬');
|
|
}
|
|
|
|
self.addEventListener('message', event => {
|
|
if (!event.data) {
|
|
return;
|
|
}
|
|
|
|
switch (event.data) {
|
|
case 'skipWaiting':
|
|
self.skipWaiting();
|
|
break;
|
|
default:
|
|
// NOOP
|
|
break;
|
|
}
|
|
});
|