← Back to Awesome

Sections

Ponyfills

GitHub repository ↗ synced 2026/8/9

Articles

Polyfills or Ponyfills?

Main

  • ⭐️ core-js-pure - The entire standard library.

Uncategorised

es6-promise

[`Promise`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)

es6-map

[`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map)

es6-weak-map

[`WeakMap`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap)

es6-set

[`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set)

es6-symbol

[`Symbol`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol)

named-regexp-groups

[`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)

globalthis

[`globalThis`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis)

Numbers

bignumber.js

[`BigInt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt)

number-is-nan

[`Number.isNaN`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN)

is-finite

[`Number.isFinite`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinite)

is-integer

[`Number.isInteger`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger)

Strings

indexof

[`String.prototype.indexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf)

string.prototype.trim

[`String.prototype.trim`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim)

string.prototype.trimleft

[`String.prototype.trimStart`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/TrimStart)

string.prototype.trimright

[`String.prototype.trimEnd`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/TrimEnd)

string.prototype.replaceall

[`String.prototype.replaceAll`](https://github.com/tc39/proposal-string-replaceall)

Objects

object.fromentries

[`Object.fromEntries`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/fromEntries)

object.entries

[`Object.entries`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries)

object-keys

[`Object.keys`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys)

object.values

[`Object.values`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values)

object-assign

[`Object.assign`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)

object-is

[`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is)

json3

[`JSON`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON)

Arrays

array-from

[`Array.from`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from)

array.prototype.every

[`Array.prototype.every`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every)

array.prototype.find

[`Array.prototype.find`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)

array.prototype.some

[`Array.prototype.some`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some)

array.prototype.flatmap

[`Array.prototype.flatMap`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap)

array-map

[`Array.prototype.map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map)

array-foreach

[`Array.prototype.forEach`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach)

array-includes

[`Array.prototype.includes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes)

indexof

[`Array.prototype.indexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf).

isarray

[`Array.isArray`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray)

Browser Features

cross-fetch

[`fetch`](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)

cross-blob

[`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob)

cross-formdata

[`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData)

abortcontroller-polyfill

[`AbortController`](https://developer.mozilla.org/en-US/docs/Web/API/AbortController)

@fastly/performance-observer-polyfill

[`PerformanceObserver`](https://developer.mozilla.org/en-US/docs/Web/API/PerformanceObserver)

performance-now

[`performance.now`](https://developer.mozilla.org/en-US/docs/Web/API/Performance/now)

console.table

[`console.table`](https://developer.mozilla.org/en-US/docs/Web/API/Console/table)

webbluetooth

[`Bluetooth`](https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API)

resize-observer-polyfill

[`ResizeObserver`](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver)

webcrypto-shim

[`crypto`](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API)

css-vars-ponyfill

[CSS variables/custom properties](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties)

raf

[`requestAnimationFrame`](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame)

xhr2

[`XMLHttpRequest`](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest)

Node.js Features

events

[`EventEmitter`](https://nodejs.org/api/events.html#events_class_eventemitter)

tickedoff

[`setImmediate`](https://nodejs.org/api/timers.html#timers_setimmediate_callback_args)

buffer-from

[`Buffer.from`](https://nodejs.org/api/buffer.html#buffer_class_method_buffer_from_array)

cross-exit

[`process.exit`](https://nodejs.org/api/process.html#process_process_exit_code)

next-tick

[`process.nextTick`](https://nodejs.org/api/process.html#process_process_nexttick_callback_args)