Prevent a new ServiceWorker from being installed after the page loads

environments/review-lock-sw-1vkywj/deployments/4271
Alex Gleason 2023-11-20 13:45:52 -06:00
rodzic c99db221a3
commit 8ba328d96b
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 7211D1F99744FBB7
2 zmienionych plików z 12 dodań i 1 usunięć

Wyświetl plik

@ -25,11 +25,12 @@ import './styles/tailwind.css';
import './precheck';
import ready from './ready';
import { registerSW } from './utils/sw';
import { registerSW, lockSW } from './utils/sw';
if (BuildConfig.NODE_ENV === 'production') {
printConsoleWarning();
registerSW('/sw.js');
lockSW();
}
ready(() => {

Wyświetl plik

@ -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 */
// https://stackoverflow.com/a/49771828/8811886
const unregisterSW = async(): Promise<void> => {
@ -22,4 +31,5 @@ const unregisterSW = async(): Promise<void> => {
export {
registerSW,
unregisterSW,
lockSW,
};