const CACHE_NAME = 'qr-code-pwa-v1'; const assetsToCache = [ './', './index.html', './style.css', './script.js', './tailwind.min.css', './qrcode.min.js' ]; self.addEventListener('install', event => { event.waitUntil( caches.open(cacheName).then(cache => { cache.addAll(assets); }) ); }); self.addEventListener('fetch', event => { event.respondWith( caches.match(event.request).then(response => { return response || fetch(event.request); }) ); }); self.addEventListener('activate', event => { event.waitUntil( caches.keys().then(keys => { return Promise.all( keys.filter(key => key !== cacheName) .map(key => caches.delete(key)) ); }) ); });