Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency core-js to v3 #16

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Aug 12, 2019

This PR contains the following updates:

Package Type Update Change
core-js dependencies major 2.6.9 -> 3.6.5

Release Notes

zloirock/core-js

v3.6.5

Compare Source

v3.6.4

Compare Source

  • Prevented a possible almost infinite loop in non-standard implementations of some backward iteration array methods

v3.6.3

Compare Source

  • Fixed replacement of substitutes of undefined capture groups in .replace in Safari 13.0-, #​471, #​745, thanks @​mattclough1
  • Improved compat data for old engines

v3.6.2

Compare Source

  • Fixed early implementations of Array#{ every, forEach, includes, indexOf, lastIndexOf, reduce, reduceRight, slice, some, splice } for the usage of ToLength
  • Added RegExp#exec dependency to methods which depends on the correctness of logic of this method (3.6.0-3.6.1 issue), #​741
  • Refactored some internals

v3.6.1

Compare Source

  • Fixed a bug related Symbol with multiple copies of core-js (for 3.4.2-3.6.0), #​736
  • Refactored some tools

v3.6.0

Compare Source

  • Added support of sticky (y) RegExp flag, #​372, #​732, #​492, thanks @​cvle and @​nicolo-ribaudo
  • Added RegExp#test delegation to RegExp#exec, #​732, thanks @​cvle
  • Fixed some cases of Object.create(null) in IE8-, #​727, #​728, thanks @​aleen42
  • Allowed object of minimum environment versions as core-js-compat and core-js-builder targets argument
  • Allowed corresponding to Babel targets.esmodules, targets.browsers, targets.node options in core-js-compat and core-js-builder
  • Engines in compat data and results of targets parsing sorted alphabetically
  • Fixed features/instance/match-all entry compat data
  • Fixed Array.prototype[@​@​unscopables] descriptor (was writable)
  • Added Samsung Internet 11 compat data mapping

v3.5.0

Compare Source

v3.4.8

Compare Source

  • Added one more workaround for broken in previous versions inspectSource helper, #​719
  • Added Opera Mobile compat data
  • Updated Samsung Internet, iOS, old Node and Android compat data mapping
  • es.string.match-all marked as completely supported in FF73
  • Generate core-js-compat/modules since often we need just the list of core-js modules

v3.4.7

Compare Source

  • Fixed an NPM publishing issue

v3.4.6

Compare Source

  • Improved iOS compat data - added missed mapping iOS 12.2 -> Safari 12.1, added bug fixes from patch releases
  • Added Safari 13.1 compat data
  • Added missed in core-js-compat helpers ie_mob normalization
  • Normalize the result of getModulesListForTargetVersion core-js-compat helper
  • Improved CI detection in the postinstall script, #​707

v3.4.5

Compare Source

  • Detect incorrect order of operations in Object.assign, MS Edge bug
  • Detect usage of ToLength in Array#{ filter, map }, FF48-49 and MS Edge 14- issues
  • Detect incorrect MS Edge 17-18 Reflect.set which allows setting the property to object with non-writable property on the prototype
  • Fixed inspectSource helper with multiple core-js copies and some related features like some edge cases of Promise feature detection

v3.4.4

Compare Source

  • Added feature detection for Safari non-generic Promise#finally bug (critical for core-js-pure)
  • Fixed missed esnext.string.code-points in core-js/features/string entry point
  • Updated Iterator proposal feature detection for the case of non-standard Iterator in FF44-

v3.4.3

Compare Source

  • Fixed missed es.json.stringify and some modules from iteration helpers proposal in some entry points (includes the root entry point)
  • Added a workaround of String#{ endsWith, startsWith } MDN polyfills bugs, #​702
  • Fixed .size property descriptor of Map / Set in the pure version
  • Refactoring, some internal improvements

v3.4.2

Compare Source

  • 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

Compare Source

v3.4.0

Compare Source

v3.3.6

Compare Source

  • Don't detect Chakra-based Edge as Chrome in the userAgent parsing
  • Fixed inheritance in typed array constructors wrappers, #​683
  • Added one more workaround for correct work of early fetch implementations with polyfilled URLSearchParams, #​680

v3.3.5

Compare Source

  • Added a workaround of V8 deoptimization which causes serious performance degradation (~4x in my tests) of Array#concat, #​679
  • Added a workaround of V8 deoptimization which causes slightly performance degradation of Promise, #​679
  • Added (Async)Iterator.prototype.constructor -> (Async)Iterator per this issue
  • Added compat data for Chromium-based Edge

v3.3.4

Compare Source

  • Added a workaround of V8 deoptimization which causes serious performance degradation (~20x in my tests) of some RegExp-related methods like String#split, #​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
  • Fixed work of fetch with polyfilled URLSearchParams, #​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

Compare Source

  • gopher removed from URL special cases per this issue and this PR
  • Added compat data for iOS 13 and Node 13.0

v3.3.2

Compare Source

  • Fixed compatibility of core-js-compat with Node 6 and Yarn, #​669

v3.3.1

Compare Source

  • Fixed an NPM publishing issue

v3.3.0

Compare Source

  • String#{ matchAll, replaceAll } throws an error on non-global regex argument per the decision from TC39 meetings (+ this PR). 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
  • Promise.any moved to stage 3, some minor internal changes, per October TC39 meeting
  • String#replaceAll moved to stage 3, per October TC39 meeting
  • Added iterator helpers stage 2 proposal:
    • 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
    • Moved to stage 2, per October TC39 meeting
    • 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
  • Added a workaround for Chrome 33 / Android 4.4.4 Promise bug, #​640
  • Replaced broken URL constructor in Safari and URLSearchParams in Chrome 66-, #​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 was not fixed before the stable Chrome 77 release
  • Fixed unnecessary exposing on Symbol.matchAll in esnext.string.match-all, #​626
  • Fixed missed cases access the .next method once, at the beginning, of the iteration protocol
  • Show similar postinstall messages only once per npm i, #​597, thanks @​remy

v3.2.1

Compare Source

  • Added a workaround for possible recursion in microtasks caused by conflicts with other Promise polyfills, #​615

v3.2.0

Compare Source

  • 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, per June TC39 meeting
  • Added Map#updateOrInsert stage 1 proposal, per July TC39 meeting
  • Added a fix for Math.hypot V8 7.7 bug, 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 - added .finally and patched .then to / on native Promise prototype
  • Fixed crashing of Opera Presto, #​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
  • Fixed generation of core-js-compat on Windows, #​606

v3.1.4

Compare Source

  • 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

Compare Source

  • Fixed core-js/features/reflect/delete-metadata entry point
  • Some fixes and improvements of the postinstall script like support npm color config (#​556) or adding support of ADBLOCK env variable
  • Refactoring and some minor fixes

v3.1.2

Compare Source

  • Added a workaround of a strange npx bug on postinstall, #​551

v3.1.1

Compare Source

  • Added one more workaround of alternative not completely correct Symbol polyfills, #​550, #​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

Compare Source

  • String#matchAll moved to stable ES, exposed Symbol.matchAll, #​516
  • Promise.allSettled moved to stage 3, #​515
  • String#replaceAll moved to stage 2, behavior updated by the spec draft, #​524
  • Promise.any moved to stage 1, #​517
  • Removed es.regexp.flags dependency from es.regexp.to-string, #​536, #​537
  • Fixed IE8- non-enumerable properties support in Object.{ assign, entries, values }, #​541
  • Fixed support of primitives in Object.getOwnPropertySymbols in Chrome 38 / 39, #​539
  • window.postMessage-based task implementation uses location origin over '*', #​542
  • Lookup PromiseConstructor.resolve only once in Promise combinators, tc39/ecma262#​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

Compare Source

  • Fixed some cases of work with malformed URI sequences in URLSearchParams, #​525
  • Added a workaround for a rollup issue, #​513

v3.0.0

Compare Source

  • Features
    • Add new features:
      • Object.fromEntries (ECMAScript 2019)
      • Symbol#description (ECMAScript 2019)
      • New Set methods (stage 2 proposal)
        • Set#difference
        • Set#intersection
        • Set#isDisjointFrom
        • Set#isSubsetOf
        • Set#isSupersetOf
        • Set#symmetricDifference
        • Set#union
      • Promise.allSettled (stage 2 proposal)
      • Getting last item from Array (stage 1 proposal)
        • Array#lastItem
        • Array#lastIndex
      • String#replaceAll (stage 1 proposal)
      • String#codePoints (stage 1 proposal)
      • New collections methods (stage 1 proposal)
        • 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)
      • Number.fromString (stage 1 proposal)
      • Math.seededPRNG (stage 1 proposal)
      • Symbol.patternMatch (for stage 1 pattern matching proposal)
      • Symbol.dispose (for stage 1 using statement proposal)
      • Promise.any (with AggregateError) (stage 0 proposal)
      • URL and URLSearchParam from URL standard, also stage 0 proposal to ECMAScript
        • 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)
    • Improve existing features:
      • Add triggering unhandled Promise rejection events (instead of only global handlers), #​205.
      • Wrap fetch for correct with polyfilled Promise and preventing problems like #​178, #​332, #​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, #​434, #​453, thanks @​nicolo-ribaudo.
      • Correct iterators prototypes chain, related #​261.
      • Correct Typed Arrays prototypes chain, related #​378.
      • Make the internal state of polyfilled features completely unobservable, #​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.
    • Update standard features and proposals:
    • 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.
    • Fix import of property before constructor which should contain this property, #​262.
    • Fix some cases of IE11 WeakMap frozen keys fallback, #​384.
    • Fix non-enumerable integer keys issue because of Nashorn ~ JDK8 bug, #​389.
    • Fix Safari 12.0 Array#reverse bug.
    • One more fix for microtasks in iOS related #​339.
    • Added a fallback for Rhino bug, #​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.
    • 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.
      • 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.11

Compare Source

  • Returned usage of node -e in the postinstall scripts for better cross-platform compatibility, #​582
  • Improved CI detection in the postinstall script, #​707

v2.6.10

Compare Source

  • Show similar postinstall messages only once per npm i, #​597

Renovate configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻️ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 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

This PR has been generated by WhiteSource Renovate. View repository job log here.

@renovate renovate bot force-pushed the renovate/core-js-3.x branch 3 times, most recently from 04cae91 to 17f6669 Compare October 14, 2019 13:47
@renovate renovate bot force-pushed the renovate/core-js-3.x branch 2 times, most recently from ca82147 to 458b220 Compare October 25, 2019 11:11
@renovate renovate bot force-pushed the renovate/core-js-3.x branch 2 times, most recently from 1f9e990 to 6eb29f2 Compare October 31, 2019 17:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant