mirror of
https://github.com/EDCD/coriolis.git
synced 2025-12-09 14:45:35 +00:00
* Updating react-number-editor dependency from stale named branch * Remove references to deprecated react-addons-perf package * Issue #25 Webpack updated to current version, many dependencies updated, Babel & Webpack configs updated. Add dev & prod Dockerfiles and update README with Docker instructions Created webpack.common.js. Coriolis-data now specified as github dependency * Bump bugfix versions of react & react-dom only * Workbox dependency upgrade for webpack 5 compat * Stab at upgrading workbox dep Far more fatal webpack errors :( * Automate reinstall/rebuild with npm script * Working build again w updated deps Disabled/commented out all bugsnag references Added production-like Docker build for troubleshooting issues that don't appear in dev server * Remove deprecated @babel/polyfill import & dependency * Fix to service worker to v5 of workbox and align with webpack 5 plugin * Disabling recent round of polyfills. Don't think they're necessary. * Whitespace in package.json * Add Buffer as Webpack plugin. Fix indenting. Fix deprecated call to Buffer. * Remove bugsnag and deprecated babel code that was commented out, per convo with Felix --------- Co-authored-by: Sam Clayton <sam@goranku.com>
67 lines
1.5 KiB
JavaScript
67 lines
1.5 KiB
JavaScript
import {precacheAndRoute, createHandlerBoundToURL} from 'workbox-precaching';
|
|
import {NavigationRoute, registerRoute} from 'workbox-routing';
|
|
import {StaleWhileRevalidate, CacheFirst} from 'workbox-strategies';
|
|
import {CacheableResponsePlugin} from 'workbox-cacheable-response'
|
|
import {ExpirationPlugin} from 'workbox-expiration';
|
|
|
|
console.log('Hello from sw.js');
|
|
|
|
// See https://developer.chrome.com/docs/workbox/migration/migrate-from-v4/ for guide to changes made
|
|
console.log('Yay! Workbox is loaded 🎉');
|
|
precacheAndRoute(self.__WB_MANIFEST || []);
|
|
|
|
const handler = createHandlerBoundToURL('/index.html');
|
|
const navigationRoute = new NavigationRoute(handler
|
|
// , {allowlist: [...], denylist: [...],}
|
|
);
|
|
registerRoute(navigationRoute);
|
|
|
|
|
|
registerRoute(
|
|
/\.(?:png|jpg|jpeg|svg|gif)$/,
|
|
new CacheFirst({
|
|
plugins: [
|
|
new CacheableResponsePlugin({
|
|
statuses: [0, 200]
|
|
})
|
|
]
|
|
})
|
|
);
|
|
|
|
registerRoute(
|
|
/\.(?:js|css)$/,
|
|
new StaleWhileRevalidate({
|
|
cacheName: 'static-resources',
|
|
})
|
|
);
|
|
|
|
registerRoute(
|
|
new RegExp('https://fonts.(?:googleapis|gstatic).com/(.*)'),
|
|
new CacheFirst({
|
|
cacheName: 'google-fonts',
|
|
plugins: [
|
|
new ExpirationPlugin({
|
|
maxEntries: 30
|
|
}),
|
|
new CacheableResponsePlugin({
|
|
statuses: [0, 200]
|
|
})
|
|
]
|
|
})
|
|
);
|
|
|
|
self.addEventListener('message', event => {
|
|
if (!event.data) {
|
|
return;
|
|
}
|
|
|
|
switch (event.data) {
|
|
case 'skipWaiting':
|
|
self.skipWaiting();
|
|
break;
|
|
default:
|
|
// NOOP
|
|
break;
|
|
}
|
|
});
|