1.2.1 • Published 5 years ago

parcel-plugin-service-worker-manifest v1.2.1

Weekly downloads
8
License
Apache-2.0
Repository
github
Last release
5 years ago

Parcel Bundle Manifest Injector

A plugin that injects a manifest of all files generated by Parcel into JavaScript sources. It is intended for use by service workers; especially Workbox based ones.

This plugin only injects a manifest; it leaves the rest up to you.

Caveat: This plugin currently breaks source maps for files that are being injected into.

Usage

  1. Add parcel-plugin-service-worker-manifest as a dependency to your project.

  2. Reference self.__precacheManifest from within your service worker. For example, with Workbox:

    workbox.precaching.precacheAndRoute(self.__precacheManifest);
  3. (Optional) If you're in TypeScript, add a reference to this module's ambient type declarations so you don't have red squiggles:

    /// <reference path="../node_modules/parcel-plugin-service-worker-manifest/ambient.d.ts" />

Details

This plugin searches for all JavaScript files that include a reference to __precacheManifest, and will the inject that (as a global variable) into the beginning of the file.

Note that it will always exclude source maps, and the file being injected into.

An example injected manifest:

this.__precacheManifest = [
  { url: '/index.html', revision: 'eec2934e19b3ee4edb0e5d75bcc24cfc' },
  { url: '/favicon-32x32.cd79125d.png', revision: '633cb020b11eaa924dd540cfcd79125d' },
  { url: '/vendor.2b3a1d76.js', revision: '8914e4ff066f36cfa8635a292b3a1d76' },
  { url: '/src.8eca73da.js', revision: '3e3f0ca26a367ad6188ed0e88eca73da' }
];

See Also

There are several other Parcel plugins that perform similar behavior:

1.2.1

5 years ago

1.2.0

5 years ago

1.1.0

5 years ago

1.0.0

5 years ago