@aboutdavid/easypwa

EasyPWA allows you to create a PWA easily with only one file.

Usage no npm install needed!

<script type="module">
  import aboutdavidEasypwa from 'https://cdn.skypack.dev/@aboutdavid/easypwa';
</script>

README

EasyPWA


EasyPWA allows you to create a PWA easily. Like all you have to do is add:

var pwa = window.PWAinit();
window.easyPWA.inject(pwa, "/sw.js");

and copy the file from easypwa/sw.js to the folder your server is running and you have a PWA. Granted it has the default branding, but you can change those values. For example, to change the name, just modify the "name" and "short_name" attributes:

var pwa = window.easyPWA.init();
pwa.name = "Hello World";
pwa.short_name = "Hello World";
window.easyPWA.inject(pwa, "/sw.js");

To see all of the options you can configure, please see the MDN docs on Web app manifests

Upgrading from v1 to v2:

There is some API/code changes in v2 and higher to make it easier on devs making an application using this and fix some issues on a few browsers. So, the code is a lot more stable on v2+

Installation:

npm install easypwa

Requiring the module:

<script src="/path/to/easypwa.js"></script>

API:

init(): Returns a JSON object with a sample manifest object. Normally used to initialize the PWA. Usage:

window.easyPWA.init();

Example:

var pwa = window.easyPWA.init();

icon(url, size, ext): Used to generate JSON objects for the "icons" field for the manifest. url is the URL of the icon, size is the size (widthxheigh).

Usage:

  window.easyPWA.icon(
    "url",
    "widthxheight",
    "png" // or file extention
  ) // {src: "url", sizes: "widthxheight", type: "image/png"}

Example:

pwa.icons = [
  window.easyPWA.icon(
    "https://cdn.glitch.com/70c8cfd0-7862-4692-9b6c-db66f49269bf%2Fandroid-chrome-192x192.png?v=1606418327912",
    "192x192",
    "png"
  )
];

inject(): This is the function that injects/registers the scripts to make the PWA auctally work. Usage:

window.easyPWA.inject(pwaObject, "/path/to/service-worker.js");

Example:

var pwa = window.easyPWA.init();
window.easyPWA.inject(pwa, "/sw.js");

Example:

The example is located in index.html