Prevent a new ServiceWorker from being installed after the page loads
This commit is contained in:
parent
c99db221a3
commit
8ba328d96b
|
@ -25,11 +25,12 @@ import './styles/tailwind.css';
|
||||||
|
|
||||||
import './precheck';
|
import './precheck';
|
||||||
import ready from './ready';
|
import ready from './ready';
|
||||||
import { registerSW } from './utils/sw';
|
import { registerSW, lockSW } from './utils/sw';
|
||||||
|
|
||||||
if (BuildConfig.NODE_ENV === 'production') {
|
if (BuildConfig.NODE_ENV === 'production') {
|
||||||
printConsoleWarning();
|
printConsoleWarning();
|
||||||
registerSW('/sw.js');
|
registerSW('/sw.js');
|
||||||
|
lockSW();
|
||||||
}
|
}
|
||||||
|
|
||||||
ready(() => {
|
ready(() => {
|
||||||
|
|
|
@ -7,6 +7,15 @@ function registerSW(path: string) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Prevent a new ServiceWorker from being installed. */
|
||||||
|
function lockSW() {
|
||||||
|
if ('serviceWorker' in navigator) {
|
||||||
|
navigator.serviceWorker.register = () => {
|
||||||
|
throw new Error('ServiceWorker already registered.');
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** Unregister the ServiceWorker */
|
/** Unregister the ServiceWorker */
|
||||||
// https://stackoverflow.com/a/49771828/8811886
|
// https://stackoverflow.com/a/49771828/8811886
|
||||||
const unregisterSW = async(): Promise<void> => {
|
const unregisterSW = async(): Promise<void> => {
|
||||||
|
@ -22,4 +31,5 @@ const unregisterSW = async(): Promise<void> => {
|
||||||
export {
|
export {
|
||||||
registerSW,
|
registerSW,
|
||||||
unregisterSW,
|
unregisterSW,
|
||||||
|
lockSW,
|
||||||
};
|
};
|
Loading…
Reference in New Issue