ember-minimal-service-worker

0.2.2 • Public • Published

ember-minimal-service-worker

Install a minimal service worker, in order for your app to be eligible to be added to the homescreen.

The installed service worker does nothing, and is only there to make Chrome happy and allow "Add to home screen".

Compatibility

  • Ember.js v3.20 or above
  • Ember CLI v3.20 or above
  • Node.js v12 or above

Installation

ember install ember-minimal-service-worker

Usage

By default, it will install the minimal service worker when being built in production environment. You can overwrite this behavior:

// ember-cli-build.js

let app = new EmberAddon(defaults, {
  'ember-minimal-service-worker': {
    // If this is true, the service worker will be loaded
    include: false,
  },
});

In addition, when the service worker is not included (=usually in dev mode), all service workers will be unregistered to avoid unexpected development behavior. You can overwrite this behavior by setting unregisterIfExcluded: true in the config.

Unregister other service workers

If you are migrating from another service worker, the "old" service worker will continue to exist even if you ship the new, minimal one. In that case, you can set unregisterOthers: true in your config, which will try to unregister all other service workers.

Caching

Allthough this service worker does nothing, it is still a good idea to ensure the service worker itself is not cached. For example, if you use ember-cli-deploy-s3 to upload your assets, you could use a configuration like this:

let uncachedFilesGlobPattern = 'ember-minimal-service-worker/sw.js';

let ENV = {
  's3-assets': {
    fileIgnorePattern: uncachedFilesGlobPattern,
    bucket: config.bucket,
    region: config.region,
  },

  's3-assets-no-cache': {
    filePattern: uncachedFilesGlobPattern,
    cacheControl: 'no-cache, no-store, must-revalidate',
    bucket: config.bucket,
    region: config.region,
    manifestPath: null,
    allowOverwrite: true,
  },
};

This way, if you ever decide to ship a proper service worker, you will not have to deal with unexpired sw.js files.

Contributing

See the Contributing guide for details.

License

This project is licensed under the MIT License.

Readme

Keywords

Package Sidebar

Install

npm i ember-minimal-service-worker

Weekly Downloads

1

Version

0.2.2

License

MIT

Unpacked Size

11.3 kB

Total Files

11

Last publish

Collaborators

  • mydea