diff --git a/package.json b/package.json index 1605b9a..5b508c6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "kevins-data-toolbox", - "version": "2.2.3", + "version": "2.2.4", "private": true, "dependencies": { "@loadable/component": "^5.15.0", diff --git a/src/service-worker.ts b/src/service-worker.ts index 9f1265b..6df84c2 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -14,12 +14,13 @@ import { precacheAndRoute, createHandlerBoundToURL } from 'workbox-precaching'; import { registerRoute } from 'workbox-routing'; import { StaleWhileRevalidate } from 'workbox-strategies'; import {setCacheNameDetails} from 'workbox-core'; +import {version} from '../package.json'; declare const self: ServiceWorkerGlobalScope; setCacheNameDetails({ prefix: 'kevins-toolbox', - suffix: 'v1', + suffix: 'v'+version, precache: 'precache', runtime: 'runtime' }); @@ -96,3 +97,20 @@ registerRoute( plugins: [] }) ) + +self.addEventListener('activate', function(event) { + event.waitUntil( + caches.keys().then(function(cacheNames) { + return Promise.all( + cacheNames.filter(function(cacheName) { + if (cacheName.startsWith('kevins-toolbox') && cacheName !== 'kevins-toolbox-precache-v'+version) { + return true; + } + return false; + }).map(function(cacheName) { + return caches.delete(cacheName); + }) + ); + }) + ); +});