
Research
NPM targeted by malware campaign mimicking familiar library names
Socket uncovered npm malware campaign mimicking popular Node.js libraries and packages from other ecosystems; packages steal data and execute remote code.
babel-plugin-polyfill-corejs3
Advanced tools
A Babel plugin to inject imports to core-js@3 polyfills
The babel-plugin-polyfill-corejs3 package is a plugin for Babel that automatically includes the necessary core-js polyfills based on the code being transpiled and the target environments specified in the Babel configuration. It helps developers to use modern JavaScript features without worrying about the support in older environments, as it takes care of loading the necessary shims and polyfills.
Automatic Polyfilling
Automatically includes necessary polyfills for features used in the code that are not supported in the target environments.
require('core-js');
Modular Polyfills
Allows for modular inclusion of polyfills, adding only the polyfills needed for specific features used in the code.
require('core-js/modules/es.array.iterator');
Configurable Target Environments
Enables configuration of target environments to determine which polyfills are needed based on browser or node version support.
presets: [['@babel/preset-env', { targets: '> 0.25%, not dead' }]]
A Babel preset that automatically determines the Babel plugins and polyfills you need based on your supported environments. It is similar to babel-plugin-polyfill-corejs3 but includes both plugins and preset configurations.
A modular standard library for JavaScript, which includes polyfills for ECMAScript up to 2021. It can be used directly without Babel, but babel-plugin-polyfill-corejs3 utilizes it under the hood.
A deprecated package that provided polyfills for older environments. It was replaced by the combination of core-js and regenerator-runtime, which babel-plugin-polyfill-corejs3 now handles more efficiently.
Using npm:
npm install --save-dev babel-plugin-polyfill-corejs3
or using yarn:
yarn add babel-plugin-polyfill-corejs3 --dev
Add this plugin to your Babel configuration:
{
"plugins": [["polyfill-corejs3", { "method": "usage-global", "version": "3.20" }]]
}
This package supports the usage-pure
, usage-global
, and entry-global
methods.
When entry-global
is used, it replaces imports to core-js
.
See here for a list of options supported by every polyfill provider.
version
string
, defaults to "3.0"
.
This option only has an effect when used alongside "method": "usage-global"
or "method": "usage-pure"
. It is recommended to specify the minor version you are using as core-js@3.0
may not include polyfills for the latest features. If you are bundling an app, you can provide the version directly from your node modules:
{
plugins: [
["polyfill-corejs3", {
"method": "usage-pure",
// use `core-js/package.json` if you are using `usage-global`
"version": require("core-js-pure/package.json").version
}]
]
}
If you are a library author, specify a reasonably modern core-js
version in your
package.json
and provide the plugin the minimal supported version.
{
"dependencies": {
"core-js": "^3.20.0"
}
}
{
plugins: [
["polyfill-corejs3", {
"method": "usage-global",
// improvise if you have more complicated version spec, e.g. > 3.1.4
"version": require("./package.json").dependencies["core-js"]
}]
]
}
proposals
boolean
, defaults to false
.
This option only has an effect when used alongside "method": "usage-global"
or "method": "usage-pure"
. When proposals
are true
, any ES proposal supported by core-js will be polyfilled as well.
FAQs
A Babel plugin to inject imports to core-js@3 polyfills
We found that babel-plugin-polyfill-corejs3 demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket uncovered npm malware campaign mimicking popular Node.js libraries and packages from other ecosystems; packages steal data and execute remote code.
Research
Socket's research uncovers three dangerous Go modules that contain obfuscated disk-wiping malware, threatening complete data loss.
Research
Socket uncovers malicious packages on PyPI using Gmail's SMTP protocol for command and control (C2) to exfiltrate data and execute commands.