Browser support
This documentation is a work in progress. It describes prerelease software, and is subject to change.
pwa-starter-kit
uses fairly recent browsers APIs, from new JavaScript language features, to new DOM specs:
- Custom Elements
- Shadow DOM
- Custom CSS properties
- JS modules
- Dynamic JS modules via
import()
- Promise
class
syntax- Object rest/spread properties
async
/await
At the time of writing, Chrome 60 and Safari 11.1 natively support all of these features, out of the box. To run pwa-starter-kit
on other browsers, you need to use a combination of polyfills and transpilation (e.g. babel).
This step is automated for you by the npm run build
script, but in case you want to roll your own building and bundling strategy, here is an overview of what is needed and where:
Feature | Action needed | On what browsers |
---|---|---|
Custom Elements | Polyfill | IE11, Edge, Firefox<63, Safari<11 |
Shadow DOM | Polyfill | IE11, Edge, Firefox<63, Safari<11 |
Class syntax | Transpile (babel), extra adapter for Custom Elements/Shadow DOM | IE11 |
Promises | Polyfill | IE11 |
Object rest/spread properties | Transpile (babel) | IE11, Edge, Safari<11.1 |
JS modules | Polyfill | IE11, Firefox<60, Safari<11 |
Dynamic JS modules (import() ) |
Polyfill, a module loader (webpack) | IE11, Edge, Firefox, Safari<11.1 |
async /await |
Transpile (babel) | IE11 |