Polyfills
Create polyfill builds based on the client's browser and serve only what's needed.
This allows you to write modern JavaScript without worrying too much
(you should still do due diligence) about browser support as well as
not penalizing modern browsers with unnecessary polyfills.
See https://polyfills.github.io for more details.
Description
This library is merely the "logic" and does not handle any HTTP serving.
It essentially does the following:
- Parses user agent strings for
<family> <major>.<minor>.<version>
and creates polyfill bundles based on these variables. - Returned a bundle of all the minified polyfills.
Installation
npm install polyfills
Usage
var polyfills = require('polyfills')
var polyfill = polyfills(options)
var js = polyfill(<useragent>)
polyfills.update().then( => )
Load all the polyfills from the source.
You need to wait until this completes before using the polyfill.
var polyfill = polyfills([options])
The options are:
include
- which polyfills to include.
This is an inclusive list.
The names are included in polyfills/db.exclude
- conversely, you can exclude specific polyfills.
var js = polyfill(useragent)
Bundle a polyfill for a useragent.
app.use(function (req, res, next) {
var js = polyfill(req.headers['user-agent')
res.type('js')
res.send(js)
})
Adding polyfills
Checkout polyfills/db.