Skip to content

Latest commit

 

History

History
 
 

babel-plugin-polyfill-es-shims

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

babel-plugin-polyfill-es-shims

Install

Using npm:

npm install --save-dev babel-plugin-polyfill-es-shims

or using yarn:

yarn add babel-plugin-polyfill-es-shims --dev

Usage

Add this plugin to your Babel configuration:

{
  "plugins": [["polyfill-es-shims", { "method": "usage-pure" }]]
}

This package supports the usage-pure and usage-global methods.

Supported polyfills

This plugin supports the following es-shims polyfills.

For historical reasons, some of these packages are not under the @es-shims organization. They are explicitly marked in the following tables.

ES5

Builtin object or function Package name Owner
Array.prototype.every array.prototype.every
Array.prototype.indexOf array.prototype.indexof
Array.prototype.lastIndexOf array.prototype.lastindexof
Array.prototype.map array.prototype.map
Array.prototype.reduce array.prototype.reduce
Array.prototype.reduceRight array.prototype.reduceright
Array.prototype.some array.prototype.some
Number.prototype.toExponential number.prototype.toexponential
String.prototype.split string.prototype.split
String.prototype.trim string.prototype.trim

ES2015 (ES6)

Builtin object or function Package name Owner
Array.from array.from @mathiasbynens
Array.of array.of @mathiasbynens
Array.prototype.copyWithin array.prototype.copywithin
Array.prototype.entries array.prototype.entries
Array.prototype.find array.prototype.find @paulmillr
Array.prototype.findIndex array.prototype.findindex @paulmillr
Array.prototype.keys array.prototype.keys
Array.prototype.values array.prototype.values
Function.prototype.name function.prototype.name
Math.acosh math.acosh
Math.atanh math.atanh
Math.clz32 math.clz32
Math.cbrt math.cbrt
Math.fround math.fround
Math.imul math.log1p
Math.log10 math.log1p
Math.log1p math.log1p
Math.sign math.sign
Number.isNaN is-nan
Object.assign object.assign @ljharb
Object.getPrototypeOf object.getprototypeof
Object.is object-is
Reflect.apply reflect.apply
Reflect.getPrototypeOf reflect.getprototypeof
Reflect.ownKeys reflect.ownkeys
RegExp.prototype.flags regexp.prototype.flags
String.fromCodePoint string.fromcodepoint @mathiasbynens
String.raw string.raw
String.prototype.codePointAt string.prototype.codepointat @mathiasbynens
String.prototype.endsWith string.prototype.endswith @mathiasbynens
String.prototype.includes string.prototype.includes @mathiasbynens
String.prototype.repeat string.prototype.repeat @mathiasbynens
String.prototype.startWith string.prototype.startwith @mathiasbynens
Annex B String.prototype.* es-string-html-methods

ES2016

Builtin object or function Package name Owner
Array.prototype.includes array-includes

ES2017

Builtin object or function Package name Owner
Object.values object.values
Object.entries object.entries
Object.getOwnPropertyDescriptors object.getownpropertydescriptors
String.prototype.padStart string.prototype.padstart
String.prototype.padEnd string.prototype.padend

ES2018

Builtin object or function Package name Owner
Promise.prototype.finally promise.prototype.finally

ES2019

Builtin object or function Package name Owner
Array.prototype.flat array.prototype.flat
Array.prototype.flatMap array.prototype.flatmap
Object.fromEntries object.fromentries
String.prototype.trimStart string.prototype.trimstart
String.prototype.trimEnd string.prototype.trimend
String.prototype.trimLeft string.prototype.trimleft
String.prototype.trimRight string.prototype.trimright
Symbol.prototype.description symbol.prototype.description

ES2020

Builtin object or function Package name Owner
globalThis globalthis
Promise.allSettled promise.allsettled
String.prototype.matchAll string.prototype.matchall

ES2021

Builtin object or function Package name Owner
AggregateError (for Promise.any) es-aggregate-error
Promise.any promise.any
String.prototype.replaceAll string.prototype.replaceall

Proposals

Builtin object or function Package name Owner
Array.prototype.item array.prototype.item
String.prototype.item string.prototype.item

Missing polyfills

NOTE: This polyfill provider is only compatible with polyfills that follow the es-shims-api specification. Additionally, those polyfills must live under the @es-shims organization.

This provider fully supports ES2016+, but we are still working on ES5 and ES6 support. You can find the list of missing polyfills at missing-polyfills.md.