Snyk has created this PR to upgrade core-js from 3.23.4 to 3.27.0.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.
The recommended version is 12 versions ahead of your current version.
The recommended version was released 21 days ago, on 2022-12-25.
Accepted only Set-like objects as an argument, not all iterables
Accepted only Sets as this, no @@ species support, and other minor changes
Added /actual/ entries, unconditional forced replacement changed to feature detection
For avoiding breaking changes:
New versions of methods are implemented as new modules and available in new entries or entries where old versions of methods were not available before (like /actual/ namespace)
In entries where they were available before (like /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 release
According to the documentation, Oculus Browser was renamed to Meta Quest Browser, so 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.
For consistency with two previous cases, added firefox-android target.
For avoiding breaking changes, the oculus and opera_mobile fields are available in the compat data till the next major release.
Fixed the first version in the Chromium-based Edge compat data mapping
{ Map, WeakMap }.prototype.emplace became stricter by the spec draft
Smoothed behavior of some conflicting proposals
Removed some generic behavior (like @@ 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 policy
Added pure version of the Number constructor, #1154, #1155, thanks @ trosos
Added set(Timeout|Interval|Immediate) extra arguments fix for Bun 0.3.0- (similarly to IE9-), bun/1633
Fixed handling of sparse arrays in structuredClone, #1156
Fixed a theoretically possible future conflict of polyfills definitions in the pure version
Disabled forced replacing of Array.fromAsync since it's on Stage 3
Avoiding a check of the target in the internal function-uncurry-this helper where it's not required - minor optimization and preventing problems in some broken environments, a workaround of #1141
Added a workaround of a Nashorn bug with Function.prototype.{ call, apply, bind } on string methods, #1128
Updated lists of [Serializable] and [Transferable] objects in the structuredClone polyfill. Mainly, for better error messages if polyfilling of cloning such types is impossible
Added some fixes and workarounds of FF30- typed arrays bug that does not properly convert objects to numbers
Added sideEffects field to core-js-purepackage.json for better tree shaking, #1117
Dropped semver dependency from core-js-compat
semver package (ironically) added a breaking change and dropped NodeJS 8 support in the minor 7.1 version, after that semver in core-js-compat was pinned to 7.0 since for avoiding breaking changes it should support NodeJS 8. However, since core-js-compat is usually used with other packages that use semver dependency, it causes multiple duplications of semver in dependencies. So I decided to remove semver dependency and replace it with a couple of simple helpers.
Added Bun 0.1.6-0.1.11 compat data
Added Deno 1.25 compat data mapping
Updated Electron 21 compat data mapping
Some stylistic changes, minor fixes, and improvements
It's optional, legacy, and in some cases (mainly because of developers' mistakes) can cause problems, but some libraries depend on it, and most code can't work without the proper libraries' ecosystem
Only for modern engines where this feature is missed (like Deno), it's not installed in IE10- since here we have no proper way setting of the prototype
Without fixes of early implementations where it's not an accessor since those fixes are impossible
Avoiding unnecessary promise creation and validation result in %WrapForValid(Async)IteratorPrototype%.return, proposal-iterator-helpers/215
Fixed omitting the result of proxing .return in %IteratorHelperPrototype%.return, #1116
Fixed the order creation of properties of iteration result object of some iterators (value should be created before done)
Fixed some cases of Safari < 13 bug - silent on non-writable array .length setting
Fixed ArrayBuffer.length in V8 ~ Chrome 27-
Relaxed condition of re-usage native WeakMap for internal states with multiple core-js copies
Availability cloning of FileList in the structuredClone polyfill extended to some more old engines versions
Some stylistic changes and minor fixes
Throwing a TypeError in core-js-compat / core-js-builder in case of passing invalid module names / filters for avoiding unexpected result, related to #1115
Added missed NodeJS 13.2 to esmodulescore-js-compat / core-js-builder target
Snyk has created this PR to upgrade core-js from 3.23.4 to 3.27.0.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.
Release notes
Package name: core-js
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 asthis
, 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 toSet
-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 splitted 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 proposalString.dedent
react-native
target for React Native with bundled Hermes.oculus
target was renamed toquest
.opera_mobile
target name is confusing since it contains data for the Chromium-based Android version, but iOS Opera is Safari-based. Soopera_mobile
target was renamed toopera-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, addedchrome-android
target.firefox-android
target.oculus
andopera_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 theArray
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
, #1156Array.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/44Array.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 tocore-js-compat
, #1119format
option tocore-js-builder
, #1120Function.prototype.{ call, apply, bind }
on string methods, #1128[Serializable]
and[Transferable]
objects in thestructuredClone
polyfill. Mainly, for better error messages if polyfilling of cloning such types is impossibleArray.prototype.{ group, groupToMap }
marked as supported from V8 ~ Chromium 108Array.prototype.groupToMap
in the pure version for returning wrappedMap
instancesArray.prototype.{ findLast, findLastIndex }
in/stage/4
entrydocument.all
as a callable in some missed casessideEffects
field tocore-js-pure
package.json
for better tree shaking, #1117semver
dependency fromcore-js-compat
semver
package (ironically) added a breaking change and dropped NodeJS 8 support in the minor7.1
version, after thatsemver
incore-js-compat
was pinned to7.0
since for avoiding breaking changes it should support NodeJS 8. However, sincecore-js-compat
is usually used with other packages that usesemver
dependency, it causes multiple duplications ofsemver
in dependencies. So I decided to removesemver
dependency and replace it with a couple of simple helpers.Object.prototype.__proto__
polyfilldocument.all
as an object in some missed cases, see ECMAScript Annex B 3.6%WrapForValid(Async)IteratorPrototype%.return
, proposal-iterator-helpers/215.return
in%IteratorHelperPrototype%.return
, #1116value
should be created beforedone
).length
settingArrayBuffer.length
in V8 ~ Chrome 27-WeakMap
for internal states with multiplecore-js
copiesFileList
in thestructuredClone
polyfill extended to some more old engines versionsTypeError
incore-js-compat
/core-js-builder
in case of passing invalid module names / filters for avoiding unexpected result, related to #1115esmodules
core-js-compat
/core-js-builder
targetIS_BROWSER
detection to avoid a false positive withjsdom
, #1110@@ species
support inPromise
in some old engines{ Array, %TypedArray% }.prototype.{ findLast, findLastIndex }
marked as shipped in FF104Commit messages
Package name: core-js
Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:![](https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiI1ODQ2OTQyMS1lNjQxLTRiNTQtODE4OC04YmM3NmEwYjcxYTciLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjU4NDY5NDIxLWU2NDEtNGI1NC04MTg4LThiYzc2YTBiNzFhNyJ9fQ==)
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs