Global polyfills for webapps on FINN.
Please do not add new polyfills to this package. In the future, when we no longer support IE11 and the browsers are evergreen, we want to get rid of this polyfill.
We recommend that this script is loaded from the CDN using the
nomodule attribute. This prevents modern browsers from needlessly downloading the polyfill.
If you need to polyfill features beyond what this package currently offers, please do so in your own application.
The following features and polyfills are bundled in
- Fixes for the
- URL and URLSearchParams
- ES2015 features
- ES2016 features
- ES2017 features
How to use
Include the scripts via CDN prior to loading your own script(s). The
async attribute must not be used as the order of scripts will not be guaranteed.
<!-- The nomodule attribute indicates that this script should not be downloaded in browsers that support ES2015 modules --> <script nomodule src="https://static.finncdn.no/_c/polyfill/v2.0.0/polyfills.js" ></script>
Protip: If you are using the FINN Podium abstractions, such as express-layout, the polyfill is automatically loaded from the CDN.
Alternatively, to bundle the script with your app (e.g with Webpack, Browserify or Rollup).
Install the package
npm install --save-dev @finn-no/polyfills
Import in your app (prior to using any of the polyfilled APIs).
Why is only a subset of all features included?
Ideally, we'd like to include the whole set of polyfills for ES6 and ES7. However, each polyfill contributes to increased load and execution time, which is unfortunate since we cannot async the polyfill bundle and the main scripts on the page will have to wait for the polyfills to run. Therefore, only the polyfills we believe are most frequently used are included. If you're missing a polyfill, perhaps it should be included in this package. Please tell us about it on Slack#finn-framsie.
Pushing a release-tag triggers a cdn-upload of the files.
git push origin master --follow-tags