babel-plugin-remove-ungap
v1.2.0
Published
Remove @ungap ponyfills
Downloads
36
Readme
babel-plugin-remove-ungap
Remove @ungap ponyfills
Install babel-plugin-remove-ungap
npm i -D babel-plugin-remove-ungap
Usage
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.
exclude
option
You can add the exclude
option to block removal/processing of specific @ungap modules.
{
plugins: [
['remove-ungap', {
exclude: [
'@ungap/essential-map'
]
}]
]
}
This config will cause any import of @ungap/essential-map
to be preserved.
future
option
Some @ungap
polyfills are needed by most current browsers or did not exist when the
current semver-major of this plugin was released. These are only processed if explicitly
requested by the future
option. For example:
{
plugins: [
['remove-ungap', {
future: [
'@ungap/from-entries'
]
}]
]
}
Unknown modules are ignored.
Modules that are removed
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
@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.
Modules that can be removed by the future
option
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
Running tests
Tests are provided by xo and ava.
npm install
npm test