Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

core-js-compat

Package Overview
Dependencies
Maintainers
2
Versions
143
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

core-js-compat - npm Package Versions

1
15

3.2.0

Diff

Changelog

Source

3.2.0 - 2019.08.09

  • Promise.allSettled moved to stable ES, per July TC39 meeting
  • Promise.any moved to stage 2, .errors property of AggregateError instances made 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
zloirock
published 3.1.4 •

Changelog

Source

3.1.4 - 2019.06.15

  • 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 related to the pure version)
    • Performance optimizations related old V8
    • Etc.
zloirock
published 3.1.3 •

Changelog

Source

3.1.3 - 2019.05.27

  • 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
zloirock
published 3.1.2 •

Changelog

Source

3.1.2 - 2019.05.22

  • Added a workaround of a strange npx bug on postinstall, #551
zloirock
published 3.1.1 •

Changelog

Source

3.1.1 - 2019.05.21

  • 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
zloirock
published 3.1.0 •

Changelog

Source

3.1.0 - 2019.05.20

  • 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
zloirock
published 3.0.1 •

Changelog

Source

3.0.1 - 2019.04.06

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

Changelog

Source

3.0.0 - 2019.03.19

  • 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, getOwnPropertyDescriptors}, 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.
zloirock
published 3.0.0-beta.20 •

zloirock
published 3.0.0-beta.19 •

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc