Remove @ungap ponyfills
npm install babel-plugin-remove-ungap[![Travis CI][travis-image]][travis-url]
[![Greenkeeper badge][gk-image]](https://greenkeeper.io/)
[![NPM Version][npm-image]][npm-url]
[![NPM Downloads][downloads-image]][downloads-url]
[![MIT][license-image]](LICENSE)
Remove @ungap ponyfills
``sh`
npm i -D babel-plugin-remove-ungap
Add remove-ungap to your babelrc plugins if the ponyfills are not needed by your
browser target. This could be due to only targeting modern browsers or because
your project already polyfills the browser.
This plugin works with CJS and ES modules before bundling. It can be run by
rollup-plugin-babel before import or require statements are altered.
You can add the exclude option to block removal/processing of specific @ungap modules.
`js`
{
plugins: [
['remove-ungap', {
exclude: [
'@ungap/essential-map'
]
}]
]
}
This config will cause any import of @ungap/essential-map to be preserved.
Some @ungap polyfills are needed by most current browsers or did not exist when thefuture
current semver-major of this plugin was released. These are only processed if explicitly
requested by the option. For example:`js`
{
plugins: [
['remove-ungap', {
future: [
'@ungap/from-entries'
]
}]
]
}
Unknown modules are ignored.
Module|Target|Declares variable
-|-|-
@ungap/assign|Object.assign|Yes
@ungap/array-iterator|Array.prototype[Symbol.iterator]|Yes
@ungap/custom-event|CustomEvent
@ungap/essential-map|Map
@ungap/essential-set|Set
@ungap/essential-symbol|Symbol
@ungap/essential-weakset|WeakSet
@ungap/event|Event
@ungap/event-target|EventTarget
@ungap/import-node|document.importNode|Yes
@ungap/is-array|Array.isArray|Yes
@ungap/map|Map
@ungap/set|Set
@ungap/template-literal|val => val|Yes
@ungap/trim|String.prototype.trim|Yes
@ungap/weakmap|WeakMap
@ungap/weakset|WeakSet
@ungap/create-content is altered so that
HAS_CONTENT is constant true. This allows minifiers to strip code that is not useed
by modern browsers.
Module|Target|Declares variable
-|-|-
@ungap/from-entries|Object.fromEntries|Yes
@ungap/global-this|globalThis
@ungap/promise-all-settled|Promise.allSettled|Yes
@ungap/promise-any|Promise.any|Yes
@ungap/template-tag-arguments|(...args) => args|Yes
Tests are provided by xo and ava.
`sh``
npm install
npm test
[npm-image]: https://img.shields.io/npm/v/babel-plugin-remove-ungap.svg
[npm-url]: https://npmjs.org/package/babel-plugin-remove-ungap
[travis-image]: https://travis-ci.org/cfware/babel-plugin-remove-ungap.svg?branch=master
[travis-url]: https://travis-ci.org/cfware/babel-plugin-remove-ungap
[gk-image]: https://badges.greenkeeper.io/cfware/babel-plugin-remove-ungap.svg
[downloads-image]: https://img.shields.io/npm/dm/babel-plugin-remove-ungap.svg
[downloads-url]: https://npmjs.org/package/babel-plugin-remove-ungap
[license-image]: https://img.shields.io/npm/l/babel-plugin-remove-ungap.svg