Code running in the context of a window, to accompany appcache-polyfill-sw.

Usage no npm install needed!

<script type="module">
  import appcachePolyfillWindow from '';



A pair of modules meant to ease the transition off of AppCache and on to service workers.

Note: These libraries attempt to replicate the caching and serving behavior that AppCache offers, but does not include direct equivalents to the window.applicationCache interface, nor the related events that AppCache would fire in the window context.


There are two modules to install: one that is used from within the window context in your web app, and the other that's used in the context of your service worker.

npm install --save-dev appcache-polyfill-window
npm install --save-dev appcache-polyfill-sw

As an alternative to local installation & serving, you can load both libraries from a NPM CDN, like or


Window client

<script type="module">
  import {init} from '/path/to/appcache-polyfill-window/build/index.modern.js';

  // Optional: define a callback that runs whenever caches are updated.
  // This is *rough* replacement for listening for AppCache updates.
  function myCachePopulatedCallback(urls) {
    // urls is an array of updated URLs
    // Your logic goes here.

    cachePopulatedCallback: myCachePopulatedCallback,
  }).then(() => navigator.serviceWorker.register('sw.js'));

Service worker client


self.addEventListener('fetch', (event) => {
  // Alternatively, examine event.request and only use the
  // appcachePolyfill.handle() logic for a subset of requests.


Please open an issue with feedback or bug reports if you run in to problems.