Ember.js currently doesn't have baked in support for Service Worker. They want this and there's an ember-cli RFCS thread discussing strategies however a number of tooling efforts exist to help fill in this gap today.
Note: you can of course just write vanilla Service Worker code for your Ember.js apps and that will work just fine. This doc tracks tooling and libraries that lower the friction for getting this setup
These static resource precaching and runtime caching libraries are lower-level than Broccoli, but can be used directly from your package.json as a post-build step.
broccoli-serviceworker sits on top of sw-toolbox and works relatively painlessly with apps built using Ember CLI. An Ember PWA I built uses it with minimal configuration.
DockYard have been exploring Service Worker support for their PWAs and wrote ember-service-worker which comes with a number of add-ons available with different network strategies:
- ember-service-worker-asset-cache
- ember-service-worker-cache-first
- ember-service-worker-cache-fallback
The project is currently marked as experimental and not yet recommended for production.