UNPKG

838 BJavaScriptView Raw
1import {
2 VALID_SERVICE_WORKER_ENVIRONMENT,
3 handleMessageFromSW
4} from '@magento/peregrine/lib/util/swUtils';
5
6export const registerSW = () => {
7 if (VALID_SERVICE_WORKER_ENVIRONMENT && globalThis.navigator) {
8 window.navigator.serviceWorker
9 .register('/sw.js')
10 .then(() => {
11 console.log('SW Registered');
12 })
13 .catch(() => {
14 /**
15 * console.* statements are removed by webpack
16 * in production mode. window.console.* are not.
17 */
18 window.console.warn('Failed to register SW.');
19 });
20
21 navigator.serviceWorker.addEventListener('message', e => {
22 const { type, payload } = e.data;
23 handleMessageFromSW(type, payload, e);
24 });
25 }
26};