core-js is polyfilling more than needed

While dropping support for Internet Explorer 11, we have found out that core-js polyfills a lot of things, even iof they exist in the target browsers. This is due core-js missing proper compat data, for example: https://github.com/zloirock/core-js/pull/853.

Here is everything that get's polyfilled as of 2020-08-10:

  es.array-buffer.slice { "safari":"12" }
  es.array.flat { "edge":"17" }
  es.array.flat-map { "edge":"17" }
  es.array.reverse { "safari":"12" }
  es.array.unscopables.flat { "edge":"17", "safari":"12" }
  es.array.unscopables.flat-map { "edge":"17", "safari":"12" }
  es.number.to-fixed { "edge":"17" }
  es.object.assign { "edge":"17" }
  es.object.from-entries { "edge":"17", "safari":"12" }
  es.promise { "edge":"17", "firefox":"68" }
  es.promise.finally { "edge":"17", "firefox":"68", "safari":"12" }
  es.regexp.constructor { "edge":"17" }
  es.regexp.flags { "edge":"17" }
  es.regexp.to-string { "edge":"17" }
  es.string.ends-with { "edge":"17" }
  es.string.includes { "edge":"17" }
  es.string.match { "edge":"17" }
  es.string.replace { "edge":"17", "firefox":"68", "safari":"12" }
  es.string.search { "edge":"17" }
  es.string.split { "edge":"17" }
  es.string.starts-with { "edge":"17" }
  es.string.trim { "safari":"12" }
  es.symbol.description { "edge":"17", "safari":"12" }
  es.typed-array.to-locale-string { "edge":"17" }
  es.typed-array.uint8-array { "safari":"12" }
  esnext.array.last-index { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.map.delete-all { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.map.every { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.map.filter { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.map.find { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.map.find-key { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.map.includes { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.map.key-of { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.map.map-keys { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.map.map-values { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.map.merge { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.map.reduce { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.map.some { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.map.update { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.set.add-all { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.set.delete-all { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.set.difference { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.set.every { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.set.filter { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.set.find { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.set.intersection { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.set.is-disjoint-from { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.set.is-subset-of { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.set.is-superset-of { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.set.join { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.set.map { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.set.reduce { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.set.some { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.set.symmetric-difference { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.set.union { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  esnext.weak-map.delete-all { "chrome":"73", "edge":"17", "firefox":"68", "safari":"12" }
  web.dom-collections.iterator { "edge":"17", "safari":"12" }
  web.url { "edge":"17", "safari":"12" }

This list was compiled by:

  1. setting debug: true in our babel-preset-env config
  2. piping it into a temp file
  3. removing webpack related output
  4. grepping for { and sorting uniquely.