Our QuickStart goal is to build and run a super-simple Angular 2 application in TypeScript, and establish a development environment for the remaining documentation samples that also can be the foundation for real world applications.
zloirock/core-js
### [`v3.4.2`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#342---20191122)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v3.4.1...v3.4.2)
- Don't use polyfilled symbols as internal uids, a workaround for some incorrect use cases
- `String#replaceAll` is available only in nightly FF builds
- Improved `Promise` feature detection for the case of V8 6.6 with multiple `core-js` copies
- Some internals optimizations
- Added Node 13.2 -> V8 7.9 compat data mapping
- Returned usage of `node -e` in `postinstall` scripts
### [`v3.4.1`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#341---20191112)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v3.4.0...v3.4.1)
- Throw when `(Async)Iterator#flatMap` mapper returns a non-iterable, per [tc39/proposal-iterator-helpers/55](https://togithub.com/tc39/proposal-iterator-helpers/issues/55) and [tc39/proposal-iterator-helpers/59](https://togithub.com/tc39/proposal-iterator-helpers/pull/59)
- Removed own `AggregateError#toString`, per [tc39/proposal-promise-any/49](https://togithub.com/tc39/proposal-promise-any/pull/49)
- Global `core-js` `Promise` polyfill passes feature detection in the pure versions
- Fixed indexes in `String#replaceAll` callbacks
- `String#replaceAll` marked as supported by FF72
### [`v3.4.0`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#340---20191107)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v3.3.6...v3.4.0)
- Added [well-formed `JSON.stringify`](https://togithub.com/tc39/proposal-well-formed-stringify), ES2019 feature, thanks [@ExE-Boss](https://togithub.com/ExE-Boss) and [@WebReflection](https://togithub.com/WebReflection) for the idea
- Fixed `Math.signbit`, [#687](https://togithub.com/zloirock/core-js/issues/687), thanks [@chicoxyzzy](https://togithub.com/chicoxyzzy)
### [`v3.3.6`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#336---20191101)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v3.3.5...v3.3.6)
- Don't detect Chakra-based Edge as Chrome in the `userAgent` parsing
- Fixed inheritance in typed array constructors wrappers, [#683](https://togithub.com/zloirock/core-js/issues/683)
- Added one more workaround for correct work of early `fetch` implementations with polyfilled `URLSearchParams`, [#680](https://togithub.com/zloirock/core-js/issues/680)
### [`v3.3.5`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#335---20191029)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v3.3.4...v3.3.5)
- Added a workaround of V8 deoptimization which causes serious performance degradation (~4x in my tests) of `Array#concat`, [#679](https://togithub.com/zloirock/core-js/issues/679)
- Added a workaround of V8 deoptimization which causes slightly performance degradation of `Promise`, [#679](https://togithub.com/zloirock/core-js/issues/679)
- Added `(Async)Iterator.prototype.constructor -> (Async)Iterator` per [this issue](https://togithub.com/tc39/proposal-iterator-helpers/issues/60)
- Added compat data for Chromium-based Edge
### [`v3.3.4`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#334---20191025)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v3.3.3...v3.3.4)
- Added a workaround of V8 deoptimization which causes serious performance degradation (~20x in my tests) of some `RegExp`-related methods like `String#split`, [#306](https://togithub.com/zloirock/core-js/issues/306)
- Added a workaround of V8 deoptimization which causes serious performance degradation (up to 100x in my tests) of `Array#splice` and slightly `Array#{ filter, map }`, [#677](https://togithub.com/zloirock/core-js/issues/677)
- Fixed work of `fetch` with polyfilled `URLSearchParams`, [#674](https://togithub.com/zloirock/core-js/issues/674)
- Fixed an edge case of `String#replaceAll` with an empty search value
- Added compat data for Chrome 80
- `package-lock.json` no longer generated in libraries
### [`v3.3.3`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#333---20191022)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v3.3.2...v3.3.3)
- `gopher` removed from `URL` special cases per [this issue](https://togithub.com/whatwg/url/issues/342) and [this PR](https://togithub.com/whatwg/url/pull/453)
- Added compat data for iOS 13 and Node 13.0
### [`v3.3.2`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#332---20191014)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v3.3.1...v3.3.2)
- Fixed compatibility of `core-js-compat` with Node 6 and Yarn, [#669](https://togithub.com/zloirock/core-js/issues/669)
### [`v3.3.1`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#331---20191013)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v3.3.0...v3.3.1)
- Fixed a NPM publishing issue
### [`v3.3.0`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#330---20191013)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v3.2.1...v3.3.0)
- **`String#{ matchAll, replaceAll }` throws an error on non-global regex argument per [the decision from TC39 meetings](https://togithub.com/tc39/ecma262/pull/1716) (+ [this PR](https://togithub.com/tc39/proposal-string-replaceall/pull/24)). It's a breaking change, but since it's a breaking change in the ES spec, it's added at the minor release**
- `globalThis` moved to stable ES, [per October TC39 meeting](https://togithub.com/babel/proposals/issues/60#issuecomment-537217903)
- `Promise.any` moved to stage 3, some minor internal changes, [per October TC39 meeting](https://togithub.com/babel/proposals/issues/60#issuecomment-538084885)
- `String#replaceAll` moved to stage 3, [per October TC39 meeting](https://togithub.com/babel/proposals/issues/60#issuecomment-537530013)
- Added [iterator helpers stage 2 proposal](https://togithub.com/tc39/proposal-iterator-helpers):
- `Iterator`
- `Iterator.from`
- `Iterator#asIndexedPairs`
- `Iterator#drop`
- `Iterator#every`
- `Iterator#filter`
- `Iterator#find`
- `Iterator#flatMap`
- `Iterator#forEach`
- `Iterator#map`
- `Iterator#reduce`
- `Iterator#some`
- `Iterator#take`
- `Iterator#toArray`
- `Iterator#@@toStringTag`
- `AsyncIterator`
- `AsyncIterator.from`
- `AsyncIterator#asIndexedPairs`
- `AsyncIterator#drop`
- `AsyncIterator#every`
- `AsyncIterator#filter`
- `AsyncIterator#find`
- `AsyncIterator#flatMap`
- `AsyncIterator#forEach`
- `AsyncIterator#map`
- `AsyncIterator#reduce`
- `AsyncIterator#some`
- `AsyncIterator#take`
- `AsyncIterator#toArray`
- `AsyncIterator#@@toStringTag`
- Updated `Map#upsert` (`Map#updateOrInsert` before) [proposal](https://togithub.com/thumbsupep/proposal-upsert)
- Moved to stage 2, [per October TC39 meeting](https://togithub.com/babel/proposals/issues/60#issuecomment-537606117)
- `Map#updateOrInsert` renamed to `Map#upsert`
- Added `WeakMap#upsert`
- You can don't pass one of the callbacks
- Added a workaround for iOS Safari MessageChannel + bfcache bug, [#624](https://togithub.com/zloirock/core-js/issues/624)
- Added a workaround for Chrome 33 / Android 4.4.4 `Promise` bug, [#640](https://togithub.com/zloirock/core-js/issues/640)
- Replaced broken `URL` constructor in Safari and `URLSearchParams` in Chrome 66-, [#656](https://togithub.com/zloirock/core-js/issues/656)
- Added compat data for Node up to 12.11, FF 69, Samsung up to 10.2 and Phantom 1.9
- `Math.hypot` marked as not supported in Chrome 77 since [a bug in this method](https://bugs.chromium.org/p/v8/issues/detail?id=9546) was not fixed before the stable Chrome 77 release
- Fixed unnecessary exposing on `Symbol.matchAll` in `esnext.string.match-all`, [#626](https://togithub.com/zloirock/core-js/issues/626)
- Fixed missed cases [access the `.next` method once, at the beginning, of the iteration protocol](https://togithub.com/tc39/ecma262/issues/976)
- Show similar `postinstall` messages only once per `npm i`, [#597](https://togithub.com/zloirock/core-js/issues/597), thanks [@remy](https://togithub.com/remy)
### [`v3.2.1`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#321---20190812)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v3.2.0...v3.2.1)
- Added a workaround for possible recursion in microtasks caused by conflicts with other `Promise` polyfills, [#615](https://togithub.com/zloirock/core-js/issues/615)
### [`v3.2.0`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#320---20190809)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v3.1.4...v3.2.0)
- `Promise.allSettled` moved to stable ES, per July TC39 meeting
- `Promise.any` moved to stage 2, `.errors` property of `AggregateError` instances maked non-enumerable, per July TC39 meeting
- `using` statement proposal moved to stage 2, added `Symbol.asyncDispose`, per July TC39 meeting
- Added `Array.isTemplateObject` [stage 2 proposal](https://togithub.com/tc39/proposal-array-is-template-object), per June TC39 meeting
- Added `Map#updateOrInsert` [stage 1 proposal](https://docs.google.com/presentation/d/1_xtrGSoN1-l2Q74eCXPHBbbrBHsVyqArWN0ebnW-pVQ/), per July TC39 meeting
- Added a fix for [`Math.hypot` V8 7.7 bug](https://bugs.chromium.org/p/v8/issues/detail?id=9546), since it's still not stable without adding results to `core-js-compat`
- Added a workaround for APIs where not possible to replace broken native `Promise`, [#579](https://togithub.com/zloirock/core-js/issues/579) - added `.finally` and patched `.then` to / on native `Promise` prototype
- Fixed crashing of Opera Presto, [#595](https://togithub.com/zloirock/core-js/issues/595)
- Fixed incorrect early breaking of `{ Map, Set, WeakMap, WeakSet }.deleteAll`
- Fixed some missed dependencies in entry points
- Added compat data for Node 12.5, FF 67, Safari 13
- Added support of `DISABLE_OPENCOLLECTIVE` env variable to `postinstall` script
- Removed `core-js-pure` dependency from `core-js-compat`, [#590](https://togithub.com/zloirock/core-js/issues/590)
- Fixed generation of `core-js-compat` on Windows, [#606](https://togithub.com/zloirock/core-js/issues/606)
### [`v3.1.4`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#314---20190615)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v3.1.3...v3.1.4)
- Refactoring. Many minor internal improvements and fixes like:
- Improved `Symbol.keyFor` complexity to `O(1)`
- Fixed the order of arguments validation in `String.prototype.{ endsWith, includes, startsWith }`
- Internal implementation of `RegExp#flags` helper now respect `dotAll` flag (mainly ralated to the `pure` version)
- Performace optimizations related old V8
- Etc.
### [`v3.1.3`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#313---20190527)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v3.1.2...v3.1.3)
- Fixed `core-js/features/reflect/delete-metadata` entry point
- Some fixes and improvements of the `postinstall` script like support `npm` color config ([#556](https://togithub.com/zloirock/core-js/issues/556)) or adding support of `ADBLOCK` env variable
- Refactoring and some minor fixes
### [`v3.1.2`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#312---20190522)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v3.1.1...v3.1.2)
- Added a workaround of a strange `npx` bug on `postinstall`, [#551](https://togithub.com/zloirock/core-js/issues/551)
### [`v3.1.1`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#311---20190521)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v3.1.0...v3.1.1)
- Added one more workaround of alternative not completely correct `Symbol` polyfills, [#550](https://togithub.com/zloirock/core-js/issues/550), [#554](https://togithub.com/zloirock/core-js/issues/554)
- Reverted `esnext.string.match-all` in some entry points for fix autogeneration of `core-js-compat/entries` and backward `@babel/preset-env` compatibility
### [`v3.1.0`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#310---20190520)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v3.0.1...v3.1.0)
- `String#matchAll` moved to stable ES, exposed `Symbol.matchAll`, [#516](https://togithub.com/zloirock/core-js/issues/516)
- `Promise.allSettled` moved to stage 3, [#515](https://togithub.com/zloirock/core-js/issues/515)
- `String#replaceAll` moved to stage 2, behavior updated by the spec draft, [#524](https://togithub.com/zloirock/core-js/issues/524)
- `Promise.any` moved to stage 1, [#517](https://togithub.com/zloirock/core-js/issues/517)
- Removed `es.regexp.flags` dependency from `es.regexp.to-string`, [#536](https://togithub.com/zloirock/core-js/issues/536), [#537](https://togithub.com/zloirock/core-js/issues/537)
- Fixed IE8- non-enumerable properties support in `Object.{ assign, entries, values }`, [#541](https://togithub.com/zloirock/core-js/issues/541)
- Fixed support of primitives in `Object.getOwnPropertySymbols` in Chrome 38 / 39, [#539](https://togithub.com/zloirock/core-js/issues/539)
- `window.postMessage`-based task implementation uses location origin over `'*'`, [#542](https://togithub.com/zloirock/core-js/issues/542)
- Lookup `PromiseConstructor.resolve` only once in `Promise` combinators, [tc39/ecma262#1506](https://togithub.com/tc39/ecma262/pull/1506)
- Temporarily removed `core-js` dependency from `core-js-compat` since it's required for missed at this moment feature
- Show a message on `postinstall`
- Added compat data for Chrome 76, FF 67, Node 12
### [`v3.0.1`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#301---20190406)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v3.0.0...v3.0.1)
- Fixed some cases of work with malformed URI sequences in `URLSearchParams`, [#525](https://togithub.com/zloirock/core-js/issues/525)
- Added a workaround for a rollup issue, [#513](https://togithub.com/zloirock/core-js/issues/513)
### [`v3.0.0`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#300---20190319)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v2.6.10...v3.0.0)
- Features
- Add new features:
- `Object.fromEntries` ([ECMAScript 2019](https://togithub.com/tc39/proposal-object-from-entries))
- `Symbol#description` ([ECMAScript 2019](https://tc39.github.io/ecma262/#sec-symbol.prototype.description))
- New `Set` methods ([stage 2 proposal](https://togithub.com/tc39/proposal-set-methods))
- `Set#difference`
- `Set#intersection`
- `Set#isDisjointFrom`
- `Set#isSubsetOf`
- `Set#isSupersetOf`
- `Set#symmetricDifference`
- `Set#union`
- `Promise.allSettled` ([stage 2 proposal](https://togithub.com/tc39/proposal-promise-allSettled))
- Getting last item from `Array` ([stage 1 proposal](https://togithub.com/keithamus/proposal-array-last))
- `Array#lastItem`
- `Array#lastIndex`
- `String#replaceAll` ([stage 1 proposal](https://togithub.com/tc39/proposal-string-replace-all))
- `String#codePoints` ([stage 1 proposal](https://togithub.com/tc39/proposal-string-prototype-codepoints))
- New collections methods ([stage 1 proposal](https://togithub.com/tc39/collection-methods))
- `Map.groupBy`
- `Map.keyBy`
- `Map#deleteAll`
- `Map#every`
- `Map#filter`
- `Map#find`
- `Map#findKey`
- `Map#includes`
- `Map#keyOf`
- `Map#mapKeys`
- `Map#mapValues`
- `Map#merge`
- `Map#reduce`
- `Map#some`
- `Map#update`
- `Set#addAll`
- `Set#deleteAll`
- `Set#every`
- `Set#filter`
- `Set#find`
- `Set#join`
- `Set#map`
- `Set#reduce`
- `Set#some`
- `WeakMap#deleteAll`
- `WeakSet#addAll`
- `WeakSet#deleteAll`
- `compositeKey` and `compositeSymbol` methods ([stage 1 proposal](https://togithub.com/tc39/proposal-richer-keys/tree/master/compositeKey))
- `Number.fromString` ([stage 1 proposal](https://togithub.com/tc39/proposal-number-fromstring))
- `Math.seededPRNG` ([stage 1 proposal](https://togithub.com/tc39/proposal-seeded-random))
- `Symbol.patternMatch` ([for stage 1 pattern matching proposal](https://togithub.com/tc39/proposal-pattern-matching))
- `Symbol.dispose` ([for stage 1 `using` statement proposal](https://togithub.com/tc39/proposal-using-statement))
- `Promise.any` (with `AggregateError`) ([stage 0 proposal](https://togithub.com/tc39/proposal-promise-any))
- `URL` and `URLSearchParam` [from `URL` standard](https://url.spec.whatwg.org/), also [stage 0 proposal to ECMAScript](https://togithub.com/jasnell/proposal-url)
- `URL`
- `URL#href`
- `URL#origin`
- `URL#protocol`
- `URL#username`
- `URL#password`
- `URL#host`
- `URL#hostname`
- `URL#port`
- `URL#pathname`
- `URL#search`
- `URL#searchParams`
- `URL#hash`
- `URL#toString`
- `URL#toJSON`
- `URLSearchParams`
- `URLSearchParams#append`
- `URLSearchParams#delete`
- `URLSearchParams#get`
- `URLSearchParams#getAll`
- `URLSearchParams#has`
- `URLSearchParams#set`
- `URLSearchParams#sort`
- `URLSearchParams#toString`
- `URLSearchParams#keys`
- `URLSearchParams#values`
- `URLSearchParams#entries`
- `URLSearchParams#@@iterator`
- `.forEach` method on iterable DOM collections ([#329](https://togithub.com/zloirock/core-js/issues/329))
- Improve existing features:
- Add triggering unhandled `Promise` rejection events (instead of only global handlers), [#205](https://togithub.com/zloirock/core-js/issues/205).
- Wrap `fetch` for correct with polyfilled `Promise` and preventing problems like [#178](https://togithub.com/zloirock/core-js/issues/178), [#332](https://togithub.com/zloirock/core-js/issues/332), [#371](https://togithub.com/zloirock/core-js/issues/371).
- Add support of `@@isConcatSpreadable` to `Array#concat`.
- Add support of `@@species` to `Array#{concat, filter, map, slice, splice}`.
- Add direct `.exec` calling to `RegExp#{@@replace, @@split, @@match, @@search}`. Also, added fixes for `RegExp#exec` method. [#411](https://togithub.com/zloirock/core-js/issues/411), [#434](https://togithub.com/zloirock/core-js/issues/434), [#453](https://togithub.com/zloirock/core-js/issues/453), thanks [**@nicolo-ribaudo**](https://togithub.com/nicolo-ribaudo).
- Correct iterators prototypes chain, related [#261](https://togithub.com/zloirock/core-js/issues/261).
- Correct Typed Arrays prototypes chain, related [#378](https://togithub.com/zloirock/core-js/issues/378).
- Make the internal state of polyfilled features completely unobservable, [#146](https://togithub.com/zloirock/core-js/issues/146).
- Add validation of receiver's internal class to missed non-generic methods.
- Fix descriptors of global properties.
- In the version without global pollution, if `Object#toString` does not support `@@toStringTag`, add to wrapped prototypes own `toString` method with `@@toStringTag` logic, see [#199](https://togithub.com/zloirock/core-js/issues/199).
- Update standard features and proposals:
- `asap` (old stage 0 proposal) replaced by `queueMicrotask` ([a part of HTML spec](https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask))
- Update [`Observable`](https://togithub.com/tc39/proposal-observable) ([#257](https://togithub.com/zloirock/core-js/issues/257), [#276](https://togithub.com/zloirock/core-js/issues/276), etc.)
- Update `Array#flatten` -> `Array#flat` and `Array#flatMap`
- Update `global` [stage 3 proposal](https://togithub.com/tc39/proposal-global) - rename `global` to `globalThis`
- Update `String#matchAll` ([proposal-string-matchall#17](https://togithub.com/tc39/proposal-string-matchall/pull/17), [proposal-string-matchall#38](https://togithub.com/tc39/proposal-string-matchall/pull/38), [proposal-string-matchall#41](https://togithub.com/tc39/proposal-string-matchall/pull/41), etc.) and move to the stage 3
- Update `.name` properties of `String#{trimStart, trimEnd , trimLeft, trimRight}`, move to the stage 3
- Remove mongolian vowel separator (U+180E) from the list of whitespaces for methods like `String#trim` (ES6 -> ES7)
- Mark ES2016, ES2017, ES2018, ES2019 features as stable:
- `Array#{ flat, flatMap }`
- `{ Array, %TypedArray% }#includes`
- `Object.{ values, entries}`
- `Object.getOwnPropertyDescriptors`
- `String#{ padStart, padEnd }`
- `String#{ trimStart, trimEnd, trimLeft, trimRight }`
- `Promise#finally`
- `Symbol.asyncIterator`
- `Object#__(define|lookup)[GS]etter__`
- Remove obsolete features:
- `Error.isError` (withdrawn)
- `System.global` and `global` (replaced by `globalThis`)
- `Map#toJSON` and `Set#toJSON` (rejected)
- `RegExp.escape` (rejected)
- `Reflect.enumerate` (removed from the spec)
- Unnecessary iteration methods from `CSSRuleList`, `MediaList`, `StyleSheetList`
- **No more non-standard features**, finally removed:
- `Dict`
- `Object.{classof, isObject, define, make}`
- `Function#part`
- `Number#@@iterator`
- `String#{escapeHTML, unescapeHTML}`
- `delay`
- Add `.sham` flag to features which can't be properly polyfilled and / or not recommended for usage:
- `Symbol` constructor - we can't add new primitives. `Object.prototype` accessors too expensive.
- `Object.{create, defineProperty, defineProperties, getOwnPropertyDescriptor, getOwnPropertyDescriptos}`, `Reflect.{defineProperty, getOwnPropertyDescriptor}` can't be properly polyfilled without descriptors support.
- `Object.{freeze, seal, preventExtensions}`, `Reflect.preventExtensions` can't be properly polyfilled in ES3 environment.
- `Object.getPrototypeOf` can be deceived in ES3 environment.
- `Reflect.construct` can't be polyfilled for a correct work with `newTarget` argument on built-ins.
- Typed Array constructors polyfill is quite correct but too expensive.
- `URL` constructor in engines without descriptors support.
- Bug and compatibility fixes:
- Fix deoptimisation of iterators in V8, [#377](https://togithub.com/zloirock/core-js/issues/377).
- Fix import of property before constructor which should contain this property, [#262](https://togithub.com/zloirock/core-js/issues/262).
- Fix some cases of IE11 `WeakMap` frozen keys fallback, [#384](https://togithub.com/zloirock/core-js/issues/384).
- Fix non-enumerable integer keys issue because of Nashorn ~ JDK8 bug, [#389](https://togithub.com/zloirock/core-js/issues/389).
- Fix [Safari 12.0 `Array#reverse` bug](https://bugs.webkit.org/show_bug.cgi?id=188794).
- One more fix for microtasks in iOS related [#339](https://togithub.com/zloirock/core-js/issues/339).
- Added a fallback for [Rhino bug](https://togithub.com/mozilla/rhino/issues/346), [#440](https://togithub.com/zloirock/core-js/issues/440).
- Many other internal fixes and improvements.
- Repository:
- Change `core-js` repository structure to monorepo with packages in `/packages/` directory.
- Clean-up it, remove all possible duplicates, generated files, etc.
- Packages:
- **Extract a version without global namespace pollution to a separate `core-js-pure` package (replacement for `core-js/library`).**
- **Leave only one pair of bundles (global, with all polyfills) and move it to `core-js-bundle` package.**
- Remove bundling logic from `core-js` package, leave it only in `core-js-builder` package.
- Clean-up packages.
- Because of all approaches, **reduce size of packages from ~2mb for `core-js@2` to**:
- **~500kb for `core-js` package**
- **~440kb for `core-js-pure` package**
- Finally remove `bower.json`
- CommonJS API, namespaces:
- Add availability [configuration of aggressiveness](https://togithub.com/zloirock/core-js/blob/master/README.md#configurable-level-of-aggressiveness).
- Move `core-js/library` to separate `core-js-pure` package.
- Because of removing all non-standard features, we no longer need `core-js/shim` entry point, replace it just with `core-js`.
- Move all features from ES5, ES2015, ES2016, ES2017, ES2018 and ES2019 to one namespace for stable ES - it's available as `core-js/es`, all those features in `modules` folder has `es.` prefix.
- Change prefix for ES proposals from `es7.` to `esnext.`, they no longer available in `core-js/es7`, use `core-js/stage/*` instead of that.
- Rename `core-js(/library)/fn` to `core-js(-pure)/features` for improve readability.
- Allow more granular inclusion of features from `/es/` path (for example, `core-js/es/array/from`).
- Add `/stable/` entry points as an equal of `/features/` for stable features, without proposals.
- Add `/proposals/` entry points for allow include all features from one proposal (for example, `core-js/proposals/reflect-metadata`).
- Add `/es|stable|features/instance/` entry points for getting polyfill of the related method for passed instance (could be used in cases like `babel-runtime`).
- Split typed arrays polyfills. Now you can, for example, load only required method (for example, `core-js/es/typed-array/from`).
- Extract well-known symbols definition from `es.symbol` module for loading only required features, for example, in MS Edge.
- Rename `web.dom` namespace to `web.dom-collections`.
- Rename `es6.regexp.{match, replace, search, split}` -> `es.string.{match, replace, search, split}` - mainly it's fixes / adding support of well-known symbols to string methods, only in second place adding related methods to regexp prototype.
- Relax `/modules/` directory by moving internal modules to `/internals/` directory.
- Remove deprecated array entry points: `core-js(/library)/fn/array/{pop, push, reverse, shift, unshift}`.
- `core` object no longer available in the global version, entry points which previously returned it now returns `globalThis` object. Also, don't set global `core` property.
- Add some missing entry points.
- Tools, tests, code quality:
- Added `core-js-compat` package with:
- Data about the necessity of `core-js` modules and API for getting a list of required `core-js` modules by `browserslist` query, [#466](https://togithub.com/zloirock/core-js/issues/466).
- Data which modules load by each entry point (mainly useful for tools like `@babel/preset-env`).
- Data which modules added in minor versions (mainly useful for tools like `@babel/preset-env`).
- `core-js-builder` package:
- Added `targets` option with `browserslist` query.
- Removed an option for generation bundle of a version without global namespace pollution - now it's an odd use case.
- Removed UMD wrapper from a generated code of bundles - we don't need it for a global polyfill.
- **Getting rid of LiveScript**, usage another language in JS standard library looks strange and impedes usage of tools like ESLint:
- Tests are rewritten to JS.
- Scripts are rewritten to JS.
- Babel with minimalistic config (which should work anywhere) used on tests.
- ESLint used on tests and tools.
- Source code refactored for improving readability.
### [`v2.6.10`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#2610-LEGACY---20191013)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v2.6.9...v2.6.10)
- Show similar `postinstall` messages only once per `npm i`, [#597](https://togithub.com/zloirock/core-js/issues/597)
### [`v2.6.9`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#269-LEGACY---20190527)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v2.6.8...v2.6.9)
- Some fixes and improvements of the `postinstall` script like support `npm` color config ([#556](https://togithub.com/zloirock/core-js/issues/556)) or adding support of `ADBLOCK` env variable
### [`v2.6.8`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#268-LEGACY---20190522)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v2.6.7...v2.6.8)
- Added a workaround of a strange `npx` bug on `postinstall`, [#551](https://togithub.com/zloirock/core-js/issues/551)
### [`v2.6.7`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#267-LEGACY---20190521)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v2.6.6...v2.6.7)
- Added one more workaround of alternative not completely correct `Symbol` polyfills, [#550](https://togithub.com/zloirock/core-js/issues/550), [#554](https://togithub.com/zloirock/core-js/issues/554)
### [`v2.6.6`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#266-LEGACY---20190520)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v2.6.5...v2.6.6)
- Fixed IE8- non-enumerable properties support in `Object.{ assign, entries, values }`, [#541](https://togithub.com/zloirock/core-js/issues/541)
- Fixed support of primitives in `Object.getOwnPropertySymbols` in Chrome 38 / 39, [#539](https://togithub.com/zloirock/core-js/issues/539)
- Show a message on `postinstall`
### [`v2.6.5`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#265---20190215)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v2.6.4...v2.6.5)
- Fixed buggy `String#padStart` and `String#padEnd` mobile Safari implementations, [#414](https://togithub.com/zloirock/core-js/issues/414).
### [`v2.6.4`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#264---20190207)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v2.6.3...v2.6.4)
- Added a workaround against crushing an old IE11.0.9600.16384 build, [#485](https://togithub.com/zloirock/core-js/issues/485).
### [`v2.6.3`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#263---20190122)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v2.6.2...v2.6.3)
- Added a workaround for `babel-minify` bug, [#479](https://togithub.com/zloirock/core-js/issues/479)
### [`v2.6.2`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#262---20190110)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v2.6.1...v2.6.2)
- Fixed handling of `$` in `String#replace`, [#471](https://togithub.com/zloirock/core-js/issues/471)
### [`v2.6.1`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#2610-LEGACY---20191013)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v2.6.0...v2.6.1)
- Show similar `postinstall` messages only once per `npm i`, [#597](https://togithub.com/zloirock/core-js/issues/597)
### [`v2.6.0`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#260---20181205)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v2.5.7...v2.6.0)
- Add direct `.exec` calling to `RegExp#{@@replace, @@split, @@match, @@search}`. Also, added fixes for `RegExp#exec` method. [#428](https://togithub.com/zloirock/core-js/issues/428), [#435](https://togithub.com/zloirock/core-js/issues/435), [#458](https://togithub.com/zloirock/core-js/issues/458), thanks [**@nicolo-ribaudo**](https://togithub.com/nicolo-ribaudo).
### [`v2.5.7`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#257---20180526)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v2.5.6...v2.5.7)
- Get rid of reserved variable name `final`, related [#400](https://togithub.com/zloirock/core-js/issues/400)
### [`v2.5.6`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#256---20180507)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v2.5.5...v2.5.6)
- Forced replace native `Promise` in V8 6.6 (Node 10 and Chrome 66) because of [a bug with resolving custom thenables](https://bugs.chromium.org/p/chromium/issues/detail?id=830565)
- Added a workaround for usage buggy native LG WebOS 2 `Promise` in microtask implementation, [#396](https://togithub.com/zloirock/core-js/issues/396)
- Added modern version internal debugging information about used versions
### [`v2.5.5`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#255---20180408)
[Compare Source](https://togithub.com/zloirock/core-js/compare/v2.5.4...v2.5.5)
- Fix some edge cases of `Reflect.set`, [#392](https://togithub.com/zloirock/core-js/issues/392) and [#393](https://togithub.com/zloirock/core-js/issues/393)
Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
Newsflash: Renovate has joined WhiteSource, and is now free for all use. Learn more or view updated terms and privacy policies.
This PR contains the following updates:
2.5.4
->3.4.2
Release Notes
zloirock/core-js
### [`v3.4.2`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#342---20191122) [Compare Source](https://togithub.com/zloirock/core-js/compare/v3.4.1...v3.4.2) - Don't use polyfilled symbols as internal uids, a workaround for some incorrect use cases - `String#replaceAll` is available only in nightly FF builds - Improved `Promise` feature detection for the case of V8 6.6 with multiple `core-js` copies - Some internals optimizations - Added Node 13.2 -> V8 7.9 compat data mapping - Returned usage of `node -e` in `postinstall` scripts ### [`v3.4.1`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#341---20191112) [Compare Source](https://togithub.com/zloirock/core-js/compare/v3.4.0...v3.4.1) - Throw when `(Async)Iterator#flatMap` mapper returns a non-iterable, per [tc39/proposal-iterator-helpers/55](https://togithub.com/tc39/proposal-iterator-helpers/issues/55) and [tc39/proposal-iterator-helpers/59](https://togithub.com/tc39/proposal-iterator-helpers/pull/59) - Removed own `AggregateError#toString`, per [tc39/proposal-promise-any/49](https://togithub.com/tc39/proposal-promise-any/pull/49) - Global `core-js` `Promise` polyfill passes feature detection in the pure versions - Fixed indexes in `String#replaceAll` callbacks - `String#replaceAll` marked as supported by FF72 ### [`v3.4.0`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#340---20191107) [Compare Source](https://togithub.com/zloirock/core-js/compare/v3.3.6...v3.4.0) - Added [well-formed `JSON.stringify`](https://togithub.com/tc39/proposal-well-formed-stringify), ES2019 feature, thanks [@ExE-Boss](https://togithub.com/ExE-Boss) and [@WebReflection](https://togithub.com/WebReflection) for the idea - Fixed `Math.signbit`, [#687](https://togithub.com/zloirock/core-js/issues/687), thanks [@chicoxyzzy](https://togithub.com/chicoxyzzy) ### [`v3.3.6`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#336---20191101) [Compare Source](https://togithub.com/zloirock/core-js/compare/v3.3.5...v3.3.6) - Don't detect Chakra-based Edge as Chrome in the `userAgent` parsing - Fixed inheritance in typed array constructors wrappers, [#683](https://togithub.com/zloirock/core-js/issues/683) - Added one more workaround for correct work of early `fetch` implementations with polyfilled `URLSearchParams`, [#680](https://togithub.com/zloirock/core-js/issues/680) ### [`v3.3.5`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#335---20191029) [Compare Source](https://togithub.com/zloirock/core-js/compare/v3.3.4...v3.3.5) - Added a workaround of V8 deoptimization which causes serious performance degradation (~4x in my tests) of `Array#concat`, [#679](https://togithub.com/zloirock/core-js/issues/679) - Added a workaround of V8 deoptimization which causes slightly performance degradation of `Promise`, [#679](https://togithub.com/zloirock/core-js/issues/679) - Added `(Async)Iterator.prototype.constructor -> (Async)Iterator` per [this issue](https://togithub.com/tc39/proposal-iterator-helpers/issues/60) - Added compat data for Chromium-based Edge ### [`v3.3.4`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#334---20191025) [Compare Source](https://togithub.com/zloirock/core-js/compare/v3.3.3...v3.3.4) - Added a workaround of V8 deoptimization which causes serious performance degradation (~20x in my tests) of some `RegExp`-related methods like `String#split`, [#306](https://togithub.com/zloirock/core-js/issues/306) - Added a workaround of V8 deoptimization which causes serious performance degradation (up to 100x in my tests) of `Array#splice` and slightly `Array#{ filter, map }`, [#677](https://togithub.com/zloirock/core-js/issues/677) - Fixed work of `fetch` with polyfilled `URLSearchParams`, [#674](https://togithub.com/zloirock/core-js/issues/674) - Fixed an edge case of `String#replaceAll` with an empty search value - Added compat data for Chrome 80 - `package-lock.json` no longer generated in libraries ### [`v3.3.3`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#333---20191022) [Compare Source](https://togithub.com/zloirock/core-js/compare/v3.3.2...v3.3.3) - `gopher` removed from `URL` special cases per [this issue](https://togithub.com/whatwg/url/issues/342) and [this PR](https://togithub.com/whatwg/url/pull/453) - Added compat data for iOS 13 and Node 13.0 ### [`v3.3.2`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#332---20191014) [Compare Source](https://togithub.com/zloirock/core-js/compare/v3.3.1...v3.3.2) - Fixed compatibility of `core-js-compat` with Node 6 and Yarn, [#669](https://togithub.com/zloirock/core-js/issues/669) ### [`v3.3.1`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#331---20191013) [Compare Source](https://togithub.com/zloirock/core-js/compare/v3.3.0...v3.3.1) - Fixed a NPM publishing issue ### [`v3.3.0`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#330---20191013) [Compare Source](https://togithub.com/zloirock/core-js/compare/v3.2.1...v3.3.0) - **`String#{ matchAll, replaceAll }` throws an error on non-global regex argument per [the decision from TC39 meetings](https://togithub.com/tc39/ecma262/pull/1716) (+ [this PR](https://togithub.com/tc39/proposal-string-replaceall/pull/24)). It's a breaking change, but since it's a breaking change in the ES spec, it's added at the minor release** - `globalThis` moved to stable ES, [per October TC39 meeting](https://togithub.com/babel/proposals/issues/60#issuecomment-537217903) - `Promise.any` moved to stage 3, some minor internal changes, [per October TC39 meeting](https://togithub.com/babel/proposals/issues/60#issuecomment-538084885) - `String#replaceAll` moved to stage 3, [per October TC39 meeting](https://togithub.com/babel/proposals/issues/60#issuecomment-537530013) - Added [iterator helpers stage 2 proposal](https://togithub.com/tc39/proposal-iterator-helpers): - `Iterator` - `Iterator.from` - `Iterator#asIndexedPairs` - `Iterator#drop` - `Iterator#every` - `Iterator#filter` - `Iterator#find` - `Iterator#flatMap` - `Iterator#forEach` - `Iterator#map` - `Iterator#reduce` - `Iterator#some` - `Iterator#take` - `Iterator#toArray` - `Iterator#@@toStringTag` - `AsyncIterator` - `AsyncIterator.from` - `AsyncIterator#asIndexedPairs` - `AsyncIterator#drop` - `AsyncIterator#every` - `AsyncIterator#filter` - `AsyncIterator#find` - `AsyncIterator#flatMap` - `AsyncIterator#forEach` - `AsyncIterator#map` - `AsyncIterator#reduce` - `AsyncIterator#some` - `AsyncIterator#take` - `AsyncIterator#toArray` - `AsyncIterator#@@toStringTag` - Updated `Map#upsert` (`Map#updateOrInsert` before) [proposal](https://togithub.com/thumbsupep/proposal-upsert) - Moved to stage 2, [per October TC39 meeting](https://togithub.com/babel/proposals/issues/60#issuecomment-537606117) - `Map#updateOrInsert` renamed to `Map#upsert` - Added `WeakMap#upsert` - You can don't pass one of the callbacks - Added a workaround for iOS Safari MessageChannel + bfcache bug, [#624](https://togithub.com/zloirock/core-js/issues/624) - Added a workaround for Chrome 33 / Android 4.4.4 `Promise` bug, [#640](https://togithub.com/zloirock/core-js/issues/640) - Replaced broken `URL` constructor in Safari and `URLSearchParams` in Chrome 66-, [#656](https://togithub.com/zloirock/core-js/issues/656) - Added compat data for Node up to 12.11, FF 69, Samsung up to 10.2 and Phantom 1.9 - `Math.hypot` marked as not supported in Chrome 77 since [a bug in this method](https://bugs.chromium.org/p/v8/issues/detail?id=9546) was not fixed before the stable Chrome 77 release - Fixed unnecessary exposing on `Symbol.matchAll` in `esnext.string.match-all`, [#626](https://togithub.com/zloirock/core-js/issues/626) - Fixed missed cases [access the `.next` method once, at the beginning, of the iteration protocol](https://togithub.com/tc39/ecma262/issues/976) - Show similar `postinstall` messages only once per `npm i`, [#597](https://togithub.com/zloirock/core-js/issues/597), thanks [@remy](https://togithub.com/remy) ### [`v3.2.1`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#321---20190812) [Compare Source](https://togithub.com/zloirock/core-js/compare/v3.2.0...v3.2.1) - Added a workaround for possible recursion in microtasks caused by conflicts with other `Promise` polyfills, [#615](https://togithub.com/zloirock/core-js/issues/615) ### [`v3.2.0`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#320---20190809) [Compare Source](https://togithub.com/zloirock/core-js/compare/v3.1.4...v3.2.0) - `Promise.allSettled` moved to stable ES, per July TC39 meeting - `Promise.any` moved to stage 2, `.errors` property of `AggregateError` instances maked non-enumerable, per July TC39 meeting - `using` statement proposal moved to stage 2, added `Symbol.asyncDispose`, per July TC39 meeting - Added `Array.isTemplateObject` [stage 2 proposal](https://togithub.com/tc39/proposal-array-is-template-object), per June TC39 meeting - Added `Map#updateOrInsert` [stage 1 proposal](https://docs.google.com/presentation/d/1_xtrGSoN1-l2Q74eCXPHBbbrBHsVyqArWN0ebnW-pVQ/), per July TC39 meeting - Added a fix for [`Math.hypot` V8 7.7 bug](https://bugs.chromium.org/p/v8/issues/detail?id=9546), since it's still not stable without adding results to `core-js-compat` - Added a workaround for APIs where not possible to replace broken native `Promise`, [#579](https://togithub.com/zloirock/core-js/issues/579) - added `.finally` and patched `.then` to / on native `Promise` prototype - Fixed crashing of Opera Presto, [#595](https://togithub.com/zloirock/core-js/issues/595) - Fixed incorrect early breaking of `{ Map, Set, WeakMap, WeakSet }.deleteAll` - Fixed some missed dependencies in entry points - Added compat data for Node 12.5, FF 67, Safari 13 - Added support of `DISABLE_OPENCOLLECTIVE` env variable to `postinstall` script - Removed `core-js-pure` dependency from `core-js-compat`, [#590](https://togithub.com/zloirock/core-js/issues/590) - Fixed generation of `core-js-compat` on Windows, [#606](https://togithub.com/zloirock/core-js/issues/606) ### [`v3.1.4`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#314---20190615) [Compare Source](https://togithub.com/zloirock/core-js/compare/v3.1.3...v3.1.4) - Refactoring. Many minor internal improvements and fixes like: - Improved `Symbol.keyFor` complexity to `O(1)` - Fixed the order of arguments validation in `String.prototype.{ endsWith, includes, startsWith }` - Internal implementation of `RegExp#flags` helper now respect `dotAll` flag (mainly ralated to the `pure` version) - Performace optimizations related old V8 - Etc. ### [`v3.1.3`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#313---20190527) [Compare Source](https://togithub.com/zloirock/core-js/compare/v3.1.2...v3.1.3) - Fixed `core-js/features/reflect/delete-metadata` entry point - Some fixes and improvements of the `postinstall` script like support `npm` color config ([#556](https://togithub.com/zloirock/core-js/issues/556)) or adding support of `ADBLOCK` env variable - Refactoring and some minor fixes ### [`v3.1.2`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#312---20190522) [Compare Source](https://togithub.com/zloirock/core-js/compare/v3.1.1...v3.1.2) - Added a workaround of a strange `npx` bug on `postinstall`, [#551](https://togithub.com/zloirock/core-js/issues/551) ### [`v3.1.1`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#311---20190521) [Compare Source](https://togithub.com/zloirock/core-js/compare/v3.1.0...v3.1.1) - Added one more workaround of alternative not completely correct `Symbol` polyfills, [#550](https://togithub.com/zloirock/core-js/issues/550), [#554](https://togithub.com/zloirock/core-js/issues/554) - Reverted `esnext.string.match-all` in some entry points for fix autogeneration of `core-js-compat/entries` and backward `@babel/preset-env` compatibility ### [`v3.1.0`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#310---20190520) [Compare Source](https://togithub.com/zloirock/core-js/compare/v3.0.1...v3.1.0) - `String#matchAll` moved to stable ES, exposed `Symbol.matchAll`, [#516](https://togithub.com/zloirock/core-js/issues/516) - `Promise.allSettled` moved to stage 3, [#515](https://togithub.com/zloirock/core-js/issues/515) - `String#replaceAll` moved to stage 2, behavior updated by the spec draft, [#524](https://togithub.com/zloirock/core-js/issues/524) - `Promise.any` moved to stage 1, [#517](https://togithub.com/zloirock/core-js/issues/517) - Removed `es.regexp.flags` dependency from `es.regexp.to-string`, [#536](https://togithub.com/zloirock/core-js/issues/536), [#537](https://togithub.com/zloirock/core-js/issues/537) - Fixed IE8- non-enumerable properties support in `Object.{ assign, entries, values }`, [#541](https://togithub.com/zloirock/core-js/issues/541) - Fixed support of primitives in `Object.getOwnPropertySymbols` in Chrome 38 / 39, [#539](https://togithub.com/zloirock/core-js/issues/539) - `window.postMessage`-based task implementation uses location origin over `'*'`, [#542](https://togithub.com/zloirock/core-js/issues/542) - Lookup `PromiseConstructor.resolve` only once in `Promise` combinators, [tc39/ecma262#1506](https://togithub.com/tc39/ecma262/pull/1506) - Temporarily removed `core-js` dependency from `core-js-compat` since it's required for missed at this moment feature - Show a message on `postinstall` - Added compat data for Chrome 76, FF 67, Node 12 ### [`v3.0.1`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#301---20190406) [Compare Source](https://togithub.com/zloirock/core-js/compare/v3.0.0...v3.0.1) - Fixed some cases of work with malformed URI sequences in `URLSearchParams`, [#525](https://togithub.com/zloirock/core-js/issues/525) - Added a workaround for a rollup issue, [#513](https://togithub.com/zloirock/core-js/issues/513) ### [`v3.0.0`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#300---20190319) [Compare Source](https://togithub.com/zloirock/core-js/compare/v2.6.10...v3.0.0) - Features - Add new features: - `Object.fromEntries` ([ECMAScript 2019](https://togithub.com/tc39/proposal-object-from-entries)) - `Symbol#description` ([ECMAScript 2019](https://tc39.github.io/ecma262/#sec-symbol.prototype.description)) - New `Set` methods ([stage 2 proposal](https://togithub.com/tc39/proposal-set-methods)) - `Set#difference` - `Set#intersection` - `Set#isDisjointFrom` - `Set#isSubsetOf` - `Set#isSupersetOf` - `Set#symmetricDifference` - `Set#union` - `Promise.allSettled` ([stage 2 proposal](https://togithub.com/tc39/proposal-promise-allSettled)) - Getting last item from `Array` ([stage 1 proposal](https://togithub.com/keithamus/proposal-array-last)) - `Array#lastItem` - `Array#lastIndex` - `String#replaceAll` ([stage 1 proposal](https://togithub.com/tc39/proposal-string-replace-all)) - `String#codePoints` ([stage 1 proposal](https://togithub.com/tc39/proposal-string-prototype-codepoints)) - New collections methods ([stage 1 proposal](https://togithub.com/tc39/collection-methods)) - `Map.groupBy` - `Map.keyBy` - `Map#deleteAll` - `Map#every` - `Map#filter` - `Map#find` - `Map#findKey` - `Map#includes` - `Map#keyOf` - `Map#mapKeys` - `Map#mapValues` - `Map#merge` - `Map#reduce` - `Map#some` - `Map#update` - `Set#addAll` - `Set#deleteAll` - `Set#every` - `Set#filter` - `Set#find` - `Set#join` - `Set#map` - `Set#reduce` - `Set#some` - `WeakMap#deleteAll` - `WeakSet#addAll` - `WeakSet#deleteAll` - `compositeKey` and `compositeSymbol` methods ([stage 1 proposal](https://togithub.com/tc39/proposal-richer-keys/tree/master/compositeKey)) - `Number.fromString` ([stage 1 proposal](https://togithub.com/tc39/proposal-number-fromstring)) - `Math.seededPRNG` ([stage 1 proposal](https://togithub.com/tc39/proposal-seeded-random)) - `Symbol.patternMatch` ([for stage 1 pattern matching proposal](https://togithub.com/tc39/proposal-pattern-matching)) - `Symbol.dispose` ([for stage 1 `using` statement proposal](https://togithub.com/tc39/proposal-using-statement)) - `Promise.any` (with `AggregateError`) ([stage 0 proposal](https://togithub.com/tc39/proposal-promise-any)) - `URL` and `URLSearchParam` [from `URL` standard](https://url.spec.whatwg.org/), also [stage 0 proposal to ECMAScript](https://togithub.com/jasnell/proposal-url) - `URL` - `URL#href` - `URL#origin` - `URL#protocol` - `URL#username` - `URL#password` - `URL#host` - `URL#hostname` - `URL#port` - `URL#pathname` - `URL#search` - `URL#searchParams` - `URL#hash` - `URL#toString` - `URL#toJSON` - `URLSearchParams` - `URLSearchParams#append` - `URLSearchParams#delete` - `URLSearchParams#get` - `URLSearchParams#getAll` - `URLSearchParams#has` - `URLSearchParams#set` - `URLSearchParams#sort` - `URLSearchParams#toString` - `URLSearchParams#keys` - `URLSearchParams#values` - `URLSearchParams#entries` - `URLSearchParams#@@iterator` - `.forEach` method on iterable DOM collections ([#329](https://togithub.com/zloirock/core-js/issues/329)) - Improve existing features: - Add triggering unhandled `Promise` rejection events (instead of only global handlers), [#205](https://togithub.com/zloirock/core-js/issues/205). - Wrap `fetch` for correct with polyfilled `Promise` and preventing problems like [#178](https://togithub.com/zloirock/core-js/issues/178), [#332](https://togithub.com/zloirock/core-js/issues/332), [#371](https://togithub.com/zloirock/core-js/issues/371). - Add support of `@@isConcatSpreadable` to `Array#concat`. - Add support of `@@species` to `Array#{concat, filter, map, slice, splice}`. - Add direct `.exec` calling to `RegExp#{@@replace, @@split, @@match, @@search}`. Also, added fixes for `RegExp#exec` method. [#411](https://togithub.com/zloirock/core-js/issues/411), [#434](https://togithub.com/zloirock/core-js/issues/434), [#453](https://togithub.com/zloirock/core-js/issues/453), thanks [**@nicolo-ribaudo**](https://togithub.com/nicolo-ribaudo). - Correct iterators prototypes chain, related [#261](https://togithub.com/zloirock/core-js/issues/261). - Correct Typed Arrays prototypes chain, related [#378](https://togithub.com/zloirock/core-js/issues/378). - Make the internal state of polyfilled features completely unobservable, [#146](https://togithub.com/zloirock/core-js/issues/146). - Add validation of receiver's internal class to missed non-generic methods. - Fix descriptors of global properties. - In the version without global pollution, if `Object#toString` does not support `@@toStringTag`, add to wrapped prototypes own `toString` method with `@@toStringTag` logic, see [#199](https://togithub.com/zloirock/core-js/issues/199). - Update standard features and proposals: - `asap` (old stage 0 proposal) replaced by `queueMicrotask` ([a part of HTML spec](https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask)) - Update [`Observable`](https://togithub.com/tc39/proposal-observable) ([#257](https://togithub.com/zloirock/core-js/issues/257), [#276](https://togithub.com/zloirock/core-js/issues/276), etc.) - Update `Array#flatten` -> `Array#flat` and `Array#flatMap` - Update `global` [stage 3 proposal](https://togithub.com/tc39/proposal-global) - rename `global` to `globalThis` - Update `String#matchAll` ([proposal-string-matchall#17](https://togithub.com/tc39/proposal-string-matchall/pull/17), [proposal-string-matchall#38](https://togithub.com/tc39/proposal-string-matchall/pull/38), [proposal-string-matchall#41](https://togithub.com/tc39/proposal-string-matchall/pull/41), etc.) and move to the stage 3 - Update `.name` properties of `String#{trimStart, trimEnd , trimLeft, trimRight}`, move to the stage 3 - Remove mongolian vowel separator (U+180E) from the list of whitespaces for methods like `String#trim` (ES6 -> ES7) - Mark ES2016, ES2017, ES2018, ES2019 features as stable: - `Array#{ flat, flatMap }` - `{ Array, %TypedArray% }#includes` - `Object.{ values, entries}` - `Object.getOwnPropertyDescriptors` - `String#{ padStart, padEnd }` - `String#{ trimStart, trimEnd, trimLeft, trimRight }` - `Promise#finally` - `Symbol.asyncIterator` - `Object#__(define|lookup)[GS]etter__` - Remove obsolete features: - `Error.isError` (withdrawn) - `System.global` and `global` (replaced by `globalThis`) - `Map#toJSON` and `Set#toJSON` (rejected) - `RegExp.escape` (rejected) - `Reflect.enumerate` (removed from the spec) - Unnecessary iteration methods from `CSSRuleList`, `MediaList`, `StyleSheetList` - **No more non-standard features**, finally removed: - `Dict` - `Object.{classof, isObject, define, make}` - `Function#part` - `Number#@@iterator` - `String#{escapeHTML, unescapeHTML}` - `delay` - Add `.sham` flag to features which can't be properly polyfilled and / or not recommended for usage: - `Symbol` constructor - we can't add new primitives. `Object.prototype` accessors too expensive. - `Object.{create, defineProperty, defineProperties, getOwnPropertyDescriptor, getOwnPropertyDescriptos}`, `Reflect.{defineProperty, getOwnPropertyDescriptor}` can't be properly polyfilled without descriptors support. - `Object.{freeze, seal, preventExtensions}`, `Reflect.preventExtensions` can't be properly polyfilled in ES3 environment. - `Object.getPrototypeOf` can be deceived in ES3 environment. - `Reflect.construct` can't be polyfilled for a correct work with `newTarget` argument on built-ins. - Typed Array constructors polyfill is quite correct but too expensive. - `URL` constructor in engines without descriptors support. - Bug and compatibility fixes: - Fix deoptimisation of iterators in V8, [#377](https://togithub.com/zloirock/core-js/issues/377). - Fix import of property before constructor which should contain this property, [#262](https://togithub.com/zloirock/core-js/issues/262). - Fix some cases of IE11 `WeakMap` frozen keys fallback, [#384](https://togithub.com/zloirock/core-js/issues/384). - Fix non-enumerable integer keys issue because of Nashorn ~ JDK8 bug, [#389](https://togithub.com/zloirock/core-js/issues/389). - Fix [Safari 12.0 `Array#reverse` bug](https://bugs.webkit.org/show_bug.cgi?id=188794). - One more fix for microtasks in iOS related [#339](https://togithub.com/zloirock/core-js/issues/339). - Added a fallback for [Rhino bug](https://togithub.com/mozilla/rhino/issues/346), [#440](https://togithub.com/zloirock/core-js/issues/440). - Many other internal fixes and improvements. - Repository: - Change `core-js` repository structure to monorepo with packages in `/packages/` directory. - Clean-up it, remove all possible duplicates, generated files, etc. - Packages: - **Extract a version without global namespace pollution to a separate `core-js-pure` package (replacement for `core-js/library`).** - **Leave only one pair of bundles (global, with all polyfills) and move it to `core-js-bundle` package.** - Remove bundling logic from `core-js` package, leave it only in `core-js-builder` package. - Clean-up packages. - Because of all approaches, **reduce size of packages from ~2mb for `core-js@2` to**: - **~500kb for `core-js` package** - **~440kb for `core-js-pure` package** - Finally remove `bower.json` - CommonJS API, namespaces: - Add availability [configuration of aggressiveness](https://togithub.com/zloirock/core-js/blob/master/README.md#configurable-level-of-aggressiveness). - Move `core-js/library` to separate `core-js-pure` package. - Because of removing all non-standard features, we no longer need `core-js/shim` entry point, replace it just with `core-js`. - Move all features from ES5, ES2015, ES2016, ES2017, ES2018 and ES2019 to one namespace for stable ES - it's available as `core-js/es`, all those features in `modules` folder has `es.` prefix. - Change prefix for ES proposals from `es7.` to `esnext.`, they no longer available in `core-js/es7`, use `core-js/stage/*` instead of that. - Rename `core-js(/library)/fn` to `core-js(-pure)/features` for improve readability. - Allow more granular inclusion of features from `/es/` path (for example, `core-js/es/array/from`). - Add `/stable/` entry points as an equal of `/features/` for stable features, without proposals. - Add `/proposals/` entry points for allow include all features from one proposal (for example, `core-js/proposals/reflect-metadata`). - Add `/es|stable|features/instance/` entry points for getting polyfill of the related method for passed instance (could be used in cases like `babel-runtime`). - Split typed arrays polyfills. Now you can, for example, load only required method (for example, `core-js/es/typed-array/from`). - Extract well-known symbols definition from `es.symbol` module for loading only required features, for example, in MS Edge. - Rename `web.dom` namespace to `web.dom-collections`. - Rename `es6.regexp.{match, replace, search, split}` -> `es.string.{match, replace, search, split}` - mainly it's fixes / adding support of well-known symbols to string methods, only in second place adding related methods to regexp prototype. - Relax `/modules/` directory by moving internal modules to `/internals/` directory. - Remove deprecated array entry points: `core-js(/library)/fn/array/{pop, push, reverse, shift, unshift}`. - `core` object no longer available in the global version, entry points which previously returned it now returns `globalThis` object. Also, don't set global `core` property. - Add some missing entry points. - Tools, tests, code quality: - Added `core-js-compat` package with: - Data about the necessity of `core-js` modules and API for getting a list of required `core-js` modules by `browserslist` query, [#466](https://togithub.com/zloirock/core-js/issues/466). - Data which modules load by each entry point (mainly useful for tools like `@babel/preset-env`). - Data which modules added in minor versions (mainly useful for tools like `@babel/preset-env`). - `core-js-builder` package: - Added `targets` option with `browserslist` query. - Removed an option for generation bundle of a version without global namespace pollution - now it's an odd use case. - Removed UMD wrapper from a generated code of bundles - we don't need it for a global polyfill. - **Getting rid of LiveScript**, usage another language in JS standard library looks strange and impedes usage of tools like ESLint: - Tests are rewritten to JS. - Scripts are rewritten to JS. - Babel with minimalistic config (which should work anywhere) used on tests. - ESLint used on tests and tools. - Source code refactored for improving readability. ### [`v2.6.10`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#2610-LEGACY---20191013) [Compare Source](https://togithub.com/zloirock/core-js/compare/v2.6.9...v2.6.10) - Show similar `postinstall` messages only once per `npm i`, [#597](https://togithub.com/zloirock/core-js/issues/597) ### [`v2.6.9`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#269-LEGACY---20190527) [Compare Source](https://togithub.com/zloirock/core-js/compare/v2.6.8...v2.6.9) - Some fixes and improvements of the `postinstall` script like support `npm` color config ([#556](https://togithub.com/zloirock/core-js/issues/556)) or adding support of `ADBLOCK` env variable ### [`v2.6.8`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#268-LEGACY---20190522) [Compare Source](https://togithub.com/zloirock/core-js/compare/v2.6.7...v2.6.8) - Added a workaround of a strange `npx` bug on `postinstall`, [#551](https://togithub.com/zloirock/core-js/issues/551) ### [`v2.6.7`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#267-LEGACY---20190521) [Compare Source](https://togithub.com/zloirock/core-js/compare/v2.6.6...v2.6.7) - Added one more workaround of alternative not completely correct `Symbol` polyfills, [#550](https://togithub.com/zloirock/core-js/issues/550), [#554](https://togithub.com/zloirock/core-js/issues/554) ### [`v2.6.6`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#266-LEGACY---20190520) [Compare Source](https://togithub.com/zloirock/core-js/compare/v2.6.5...v2.6.6) - Fixed IE8- non-enumerable properties support in `Object.{ assign, entries, values }`, [#541](https://togithub.com/zloirock/core-js/issues/541) - Fixed support of primitives in `Object.getOwnPropertySymbols` in Chrome 38 / 39, [#539](https://togithub.com/zloirock/core-js/issues/539) - Show a message on `postinstall` ### [`v2.6.5`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#265---20190215) [Compare Source](https://togithub.com/zloirock/core-js/compare/v2.6.4...v2.6.5) - Fixed buggy `String#padStart` and `String#padEnd` mobile Safari implementations, [#414](https://togithub.com/zloirock/core-js/issues/414). ### [`v2.6.4`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#264---20190207) [Compare Source](https://togithub.com/zloirock/core-js/compare/v2.6.3...v2.6.4) - Added a workaround against crushing an old IE11.0.9600.16384 build, [#485](https://togithub.com/zloirock/core-js/issues/485). ### [`v2.6.3`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#263---20190122) [Compare Source](https://togithub.com/zloirock/core-js/compare/v2.6.2...v2.6.3) - Added a workaround for `babel-minify` bug, [#479](https://togithub.com/zloirock/core-js/issues/479) ### [`v2.6.2`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#262---20190110) [Compare Source](https://togithub.com/zloirock/core-js/compare/v2.6.1...v2.6.2) - Fixed handling of `$` in `String#replace`, [#471](https://togithub.com/zloirock/core-js/issues/471) ### [`v2.6.1`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#2610-LEGACY---20191013) [Compare Source](https://togithub.com/zloirock/core-js/compare/v2.6.0...v2.6.1) - Show similar `postinstall` messages only once per `npm i`, [#597](https://togithub.com/zloirock/core-js/issues/597) ### [`v2.6.0`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#260---20181205) [Compare Source](https://togithub.com/zloirock/core-js/compare/v2.5.7...v2.6.0) - Add direct `.exec` calling to `RegExp#{@@replace, @@split, @@match, @@search}`. Also, added fixes for `RegExp#exec` method. [#428](https://togithub.com/zloirock/core-js/issues/428), [#435](https://togithub.com/zloirock/core-js/issues/435), [#458](https://togithub.com/zloirock/core-js/issues/458), thanks [**@nicolo-ribaudo**](https://togithub.com/nicolo-ribaudo). ### [`v2.5.7`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#257---20180526) [Compare Source](https://togithub.com/zloirock/core-js/compare/v2.5.6...v2.5.7) - Get rid of reserved variable name `final`, related [#400](https://togithub.com/zloirock/core-js/issues/400) ### [`v2.5.6`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#256---20180507) [Compare Source](https://togithub.com/zloirock/core-js/compare/v2.5.5...v2.5.6) - Forced replace native `Promise` in V8 6.6 (Node 10 and Chrome 66) because of [a bug with resolving custom thenables](https://bugs.chromium.org/p/chromium/issues/detail?id=830565) - Added a workaround for usage buggy native LG WebOS 2 `Promise` in microtask implementation, [#396](https://togithub.com/zloirock/core-js/issues/396) - Added modern version internal debugging information about used versions ### [`v2.5.5`](https://togithub.com/zloirock/core-js/blob/master/CHANGELOG.md#255---20180408) [Compare Source](https://togithub.com/zloirock/core-js/compare/v2.5.4...v2.5.5) - Fix some edge cases of `Reflect.set`, [#392](https://togithub.com/zloirock/core-js/issues/392) and [#393](https://togithub.com/zloirock/core-js/issues/393)Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "
rebase!
".:no_bell: Ignore: Close this PR and you won't be reminded about this update again.
Newsflash: Renovate has joined WhiteSource, and is now free for all use. Learn more or view updated terms and privacy policies.