Browser support

This project is no longer under development.
See the project README for more details.

pwa-starter-kit uses fairly recent browsers APIs, from new JavaScript language features, to new DOM specs:

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