What is babel-plugin-polyfill-corejs2?
The babel-plugin-polyfill-corejs2 package is designed to automatically replace ES2015+ code with equivalent down-leveled code that includes polyfills from the core-js library version 2. This allows developers to write modern JavaScript without worrying about the support in older environments. It's particularly useful for ensuring that new JavaScript features work across all browsers that a web application supports.
What are babel-plugin-polyfill-corejs2's main functionalities?
Automatic Polyfilling
Automatically detects the usage of ES2015+ features in your code and includes the necessary polyfills from core-js v2. This means you don't have to manually import or require polyfills in your code, reducing the bundle size and improving performance.
"useBuiltIns": "usage"
Configurable Environment
Allows you to specify the target environments for your application. Babel will use this information to determine which polyfills are necessary based on the features supported by those environments, ensuring that your code runs smoothly across different browsers.
{
"targets": {
"chrome": "58",
"ie": "11"
}
}
Other packages similar to babel-plugin-polyfill-corejs2
babel-plugin-polyfill-corejs3
Similar to babel-plugin-polyfill-corejs2, but it relies on core-js version 3 for polyfills. core-js v3 offers more features and polyfills for newer ECMAScript specifications, making it a better choice for projects that need the latest JavaScript features.
babel-preset-env
A Babel preset that allows you to specify an environment and automatically enables the necessary plugins and polyfills based on the targeted browsers or runtime environments. While not a direct replacement, it offers similar functionality by including necessary polyfills through the use of core-js.
babel-plugin-polyfill-corejs2
Install
Using npm:
npm install --save-dev babel-plugin-polyfill-corejs2
or using yarn:
yarn add babel-plugin-polyfill-corejs2 --dev
Usage
Add this plugin to your Babel configuration:
{
"plugins": [["polyfill-corejs2", { "method": "usage-global" }]]
}
This package supports the usage-pure
, usage-global
, and entry-global
methods.
When entry-global
is used, it replaces imports to core-js
.