core-js-compat
Advanced tools
Changelog
URL.canParse
method, url/763Set
methods proposal:
Set.prototype.intersection
, March 2023 TC39 meeting, proposal-set-methods/94(Async)DisposableStack.prototype.move
marks the original stack as disposed, #1226Iterator.range
proposal:
Symbol.metadata
, March 2023 TC39 meeting, proposal-decorator-metadata/12URLSearchParams.prototype.size
marked as supported from FF112, NodeJS 19.8 and Deno 1.32Changelog
ToString
conversion / built-ins nature of some accessorsString.prototype.{ isWellFormed, toWellFormed }
marked as supported from V8 ~ Chrome 111Changelog
URLSearchParams.prototype.size
getter, url/734ArrayBuffer
s in the structuredClone
polyfill/(stable|actual|full)/instance/unshift
entries, #1207Set
methods proposal marked as supported from Bun 0.5.7String.prototype.toWellFormed
marked as fixed from Bun 0.5.7Changelog
Array
by copy proposal:
Array.prototype.toReversed
Array.prototype.toSorted
Array.prototype.toSpliced
Array.prototype.with
%TypedArray%.prototype.toReversed
%TypedArray%.prototype.toSorted
%TypedArray%.prototype.with
es.
namespace modules, /es/
and /stable/
namespaces entriesJSON.parse
source text access Stage 3 proposal
JSON.parse
patched for support source
in reviver
function argumentsJSON.rawJSON
JSON.isRawJSON
JSON.stringify
patched for support JSON.rawJSON
ArrayBuffer.prototype.transfer
and friends Stage 3 proposal:
ArrayBuffer.prototype.detached
ArrayBuffer.prototype.transfer
(only in runtimes with native structuredClone
with ArrayBuffer
transfer support)ArrayBuffer.prototype.transferToFixedLength
(only in runtimes with native structuredClone
with ArrayBuffer
transfer support)ArrayBuffer.prototype.transfer
, but without proper structuredClone
, added ArrayBuffer
transfer support to structuredClone
polyfillAsyncIterator
helpers, proposal-iterator-helpers/262InstallErrorCause
removed from SuppressedError
, January 2023 TC39 meeting, proposal-explicit-resource-management/145{ AsyncDisposableStack, DisposableStack }.prototype.use
, proposal-explicit-resource-management/143Symbol
predicates Stage 2 proposal
Symbol.isRegistered
Symbol.isWellKnown
Number.range
Stage 1 proposal and method renamed to Iterator.range
Function.prototype.unThis
Stage 0 proposal and method renamed to Function.prototype.demethodize
String.prototype.toWellFormed
ToString
conversion bugJSON.stringify
symbols handling fixJSON.{ parse, stringify }
bugs (numbers instead of strings as keys in replacer, handling negative zeroes, spaces, some more handling symbols cases, etc.)ToString
conversion of some accessorsArrayBuffer
and DataView
methodsDataView
and %TypedArray%
polyfills optimizations=
in the atob
polyfillString.prototype.{ trim, trimEnd, trimRight }
, parse(Int|Float)
, Number
, atob
, and URL
polyfills in some ancient enginesRegExp.prototype.flags
marked as fixed from V8 ~ Chrome 111core-js-builder
Changelog
Set
methods proposal updates:
Set
-like objects on early exit, proposal-set-methods/85webpack
dev server bug on IE global methods, #1161String.{ raw, cooked }
error with empty template arrayError.captureStackTrace
instead of stack parsing in new error classes / wrappers where it's possiblePromise.{ allSettled, any }
feature detection, Hermes issueArray
by copy proposal marked as supported from V8 ~ Chrome 110self
marked as fixed in Deno 1.29.3, deno/17362core-js-bundle
Changelog
WeakMap
keysString.dedent
in MS EdgeChangelog
Iterator
Iterator.from
Iterator.prototype.drop
Iterator.prototype.every
Iterator.prototype.filter
Iterator.prototype.find
Iterator.prototype.flatMap
Iterator.prototype.forEach
Iterator.prototype.map
Iterator.prototype.reduce
Iterator.prototype.some
Iterator.prototype.take
Iterator.prototype.toArray
Iterator.prototype.toAsync
Iterator.prototype[@@toStringTag]
AsyncIterator
AsyncIterator.from
AsyncIterator.prototype.drop
AsyncIterator.prototype.every
AsyncIterator.prototype.filter
AsyncIterator.prototype.find
AsyncIterator.prototype.flatMap
AsyncIterator.prototype.forEach
AsyncIterator.prototype.map
AsyncIterator.prototype.reduce
AsyncIterator.prototype.some
AsyncIterator.prototype.take
AsyncIterator.prototype.toArray
AsyncIterator.prototype[@@toStringTag]
/actual/
entries, unconditional forced replacement disabled for features that survived to Stage 3.from
accept strings, .flatMap
throws on strings returned from the callback, proposal-iterator-helpers/244, proposal-iterator-helpers/250.from
and .flatMap
throws on non-object iterators, proposal-iterator-helpers/253Set
methods proposal:
Set.prototype.intersection
Set.prototype.union
Set.prototype.difference
Set.prototype.symmetricDifference
Set.prototype.isSubsetOf
Set.prototype.isSupersetOf
Set.prototype.isDisjointFrom
Set
-like objects as an argument, not all iterablesSet
s as this
, no @@species
support, and other minor changes/actual/
entries, unconditional forced replacement changed to feature detection/actual/
namespace)/full/
namespace), those methods are available with fallbacks to old semantics (in addition to Set
-like, they accept iterable objects). This behavior will be removed from the next major releaseString.prototype.isWellFormed
String.prototype.toWellFormed
/actual/
entries, disabled unconditional forced replacementusing
statement" and split into 2 (sync and async) proposalsSymbol.dispose
Symbol.asyncDispose
SuppressedError
DisposableStack
DisposableStack.prototype.dispose
DisposableStack.prototype.use
DisposableStack.prototype.adopt
DisposableStack.prototype.defer
DisposableStack.prototype.move
DisposableStack.prototype[@@dispose]
AsyncDisposableStack
AsyncDisposableStack.prototype.disposeAsync
AsyncDisposableStack.prototype.use
AsyncDisposableStack.prototype.adopt
AsyncDisposableStack.prototype.defer
AsyncDisposableStack.prototype.move
AsyncDisposableStack.prototype[@@asyncDispose]
Iterator.prototype[@@dispose]
AsyncIterator.prototype[@@asyncDispose]
/actual/
namespace entries for Stage 3 proposalString.dedent
stage 2 proposal
String.dedent
react-native
target for React Native with bundled Hermes.oculus
target was renamed to quest
.opera_mobile
target name is confusing since it contains data for the Chromium-based Android version, but iOS Opera is Safari-based. So opera_mobile
target was renamed to opera-android
.android
target name is also confusing for someone - that means Android WebView, some think thinks that it's Chrome for Android, but they have some differences. For avoiding confusion, added chrome-android
target.firefox-android
target.oculus
and opera_mobile
fields are available in the compat data till the next major release.Array.fromAsync
marked as supported from Bun 0.3.0String.prototype.{ isWellFormed, toWellFormed }
marked as supported from Bun 0.4.0Array
by copy proposal marked as supported from Deno 1.27, deno/16429{ Map, WeakMap }.prototype.emplace
became stricter by the spec draft@@species
pattern) of some .prototype
methods from the new collections methods proposal and the Array
deduplication proposal that most likely will not be implemented since it contradicts the current TC39 policyNumber
constructor, #1154, #1155, thanks @trososset(Timeout|Interval|Immediate)
extra arguments fix for Bun 0.3.0- (similarly to IE9-), bun/1633structuredClone
, #1156Changelog
Array.fromAsync
since it's on Stage 3function-uncurry-this
helper where it's not required - minor optimization and preventing problems in some broken environments, a workaround of #1141Array.prototype.{ group, groupToMap }
in V8 ~ Chromium 108, proposal-array-grouping/44Changelog
Array.fromAsync
proposal:
%Array.prototype.values%
usage in array-like branch, proposal-array-from-async/30String.prototype.isWellFormed
String.prototype.toWellFormed
AsyncIterator
helpers, proposal-iterator-helpers/239{ Iterator, AsyncIterator }.prototype.flatMap
supports returning both - iterables and iterators, proposal-iterator-helpers/233.next
in missed cases of { Iterator, AsyncIterator }.from
, proposal-iterator-helpers/232self
polyfill as a part of The Minimum Common Web Platform API, specification, #1118inverse
option to core-js-compat
, #1119format
option to core-js-builder
, #1120