Skip to content

Commit

Permalink
[corejs3] Fix disappearing polyfills with old preset-env versions
Browse files Browse the repository at this point in the history
  • Loading branch information
ertrzyiks authored and nicolo-ribaudo committed Jan 9, 2021
1 parent c6a672e commit 75b45c3
Show file tree
Hide file tree
Showing 10 changed files with 336 additions and 319 deletions.
2 changes: 1 addition & 1 deletion packages/babel-plugin-polyfill-corejs3/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-transform-for-of": "^7.10.4",
"@babel/plugin-transform-modules-commonjs": "^7.10.4",
"@babel/preset-env@7.12.0": "npm:@babel/[email protected]",
"@babel/preset-env-7.12.0": "npm:@babel/[email protected]",
"core-js-pure": "^3.8.1"
},
"peerDependencies": {
Expand Down
3 changes: 2 additions & 1 deletion packages/babel-plugin-polyfill-corejs3/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import {
coreJSModule,
isCoreJSSource,
coreJSPureHelper,
sameImportPath,
} from "./utils";

import defineProvider from "@babel/helper-define-polyfill-provider";
Expand Down Expand Up @@ -117,7 +118,7 @@ export default defineProvider<Options>(function(

if (
modules.length === 1 &&
meta.source === coreJSModule(modules[0]) &&
sameImportPath(meta.source, coreJSModule(modules[0])) &&
shouldInjectPolyfill(modules[0])
) {
// Avoid infinite loop: do not replace imports with a new copy of
Expand Down
4 changes: 4 additions & 0 deletions packages/babel-plugin-polyfill-corejs3/src/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,7 @@ export function coreJSModule(name: string) {
export function coreJSPureHelper(name: string) {
return `core-js-pure/features/${name}.js`;
}

export function sameImportPath(left: string, right: string) {
return left === right || `${left}.js` === right;
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
import 'core-js/modules/es.symbol';
import 'core-js/modules/es.object.from-entries';
import 'core-js/modules/esnext.string.replace-all';
import 'core-js/modules/es.symbol.js';
import 'core-js/modules/es.object.from-entries.js';
import 'core-js/modules/esnext.string.replace-all.js';
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
import "core-js/modules/es.object.from-entries.js";
import "core-js/modules/esnext.string.replace-all.js";
import 'core-js/modules/es.object.from-entries.js';
import 'core-js/modules/esnext.string.replace-all.js';
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
import 'core-js/modules/es.symbol';
import 'core-js/modules/es.object.from-entries';
import 'core-js/modules/esnext.string.replace-all';
import 'core-js/modules/es.symbol.js';
import 'core-js/modules/es.object.from-entries.js';
import 'core-js/modules/esnext.string.replace-all.js';
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
import "core-js/modules/es.symbol.js";
import "core-js/modules/es.object.from-entries.js";
import "core-js/modules/esnext.string.replace-all.js";
import 'core-js/modules/es.symbol.js';
import 'core-js/modules/es.object.from-entries.js';
import 'core-js/modules/esnext.string.replace-all.js';
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
["@@/polyfill-corejs3", { "method": "entry-global" }]
],
"presets": [
["@babel/env@7.12.0", { "modules": false, "corejs": 3, "useBuiltIns": "entry" }]
["@babel/env-7.12.0", { "modules": false, "corejs": 3, "useBuiltIns": "entry" }]
]
}
Original file line number Diff line number Diff line change
@@ -1 +1,291 @@
import "core-js/modules/es.symbol";
import "core-js/modules/es.symbol.description";
import "core-js/modules/es.symbol.async-iterator";
import "core-js/modules/es.symbol.has-instance";
import "core-js/modules/es.symbol.is-concat-spreadable";
import "core-js/modules/es.symbol.iterator";
import "core-js/modules/es.symbol.match";
import "core-js/modules/es.symbol.replace";
import "core-js/modules/es.symbol.search";
import "core-js/modules/es.symbol.species";
import "core-js/modules/es.symbol.split";
import "core-js/modules/es.symbol.to-primitive";
import "core-js/modules/es.symbol.to-string-tag";
import "core-js/modules/es.symbol.unscopables";
import "core-js/modules/es.array.concat";
import "core-js/modules/es.array.copy-within";
import "core-js/modules/es.array.every";
import "core-js/modules/es.array.fill";
import "core-js/modules/es.array.filter";
import "core-js/modules/es.array.find";
import "core-js/modules/es.array.find-index";
import "core-js/modules/es.array.flat";
import "core-js/modules/es.array.flat-map";
import "core-js/modules/es.array.for-each";
import "core-js/modules/es.array.from";
import "core-js/modules/es.array.includes";
import "core-js/modules/es.array.index-of";
import "core-js/modules/es.array.is-array";
import "core-js/modules/es.array.iterator";
import "core-js/modules/es.array.join";
import "core-js/modules/es.array.last-index-of";
import "core-js/modules/es.array.map";
import "core-js/modules/es.array.of";
import "core-js/modules/es.array.reduce";
import "core-js/modules/es.array.reduce-right";
import "core-js/modules/es.array.reverse";
import "core-js/modules/es.array.slice";
import "core-js/modules/es.array.some";
import "core-js/modules/es.array.sort";
import "core-js/modules/es.array.species";
import "core-js/modules/es.array.splice";
import "core-js/modules/es.array.unscopables.flat";
import "core-js/modules/es.array.unscopables.flat-map";
import "core-js/modules/es.array-buffer.constructor";
import "core-js/modules/es.array-buffer.is-view";
import "core-js/modules/es.array-buffer.slice";
import "core-js/modules/es.data-view";
import "core-js/modules/es.date.now";
import "core-js/modules/es.date.to-iso-string";
import "core-js/modules/es.date.to-json";
import "core-js/modules/es.date.to-primitive";
import "core-js/modules/es.date.to-string";
import "core-js/modules/es.function.bind";
import "core-js/modules/es.function.has-instance";
import "core-js/modules/es.function.name";
import "core-js/modules/es.json.to-string-tag";
import "core-js/modules/es.map";
import "core-js/modules/es.math.acosh";
import "core-js/modules/es.math.asinh";
import "core-js/modules/es.math.atanh";
import "core-js/modules/es.math.cbrt";
import "core-js/modules/es.math.clz32";
import "core-js/modules/es.math.cosh";
import "core-js/modules/es.math.expm1";
import "core-js/modules/es.math.fround";
import "core-js/modules/es.math.hypot";
import "core-js/modules/es.math.imul";
import "core-js/modules/es.math.log10";
import "core-js/modules/es.math.log1p";
import "core-js/modules/es.math.log2";
import "core-js/modules/es.math.sign";
import "core-js/modules/es.math.sinh";
import "core-js/modules/es.math.tanh";
import "core-js/modules/es.math.to-string-tag";
import "core-js/modules/es.math.trunc";
import "core-js/modules/es.number.constructor";
import "core-js/modules/es.number.epsilon";
import "core-js/modules/es.number.is-finite";
import "core-js/modules/es.number.is-integer";
import "core-js/modules/es.number.is-nan";
import "core-js/modules/es.number.is-safe-integer";
import "core-js/modules/es.number.max-safe-integer";
import "core-js/modules/es.number.min-safe-integer";
import "core-js/modules/es.number.parse-float";
import "core-js/modules/es.number.parse-int";
import "core-js/modules/es.number.to-fixed";
import "core-js/modules/es.number.to-precision";
import "core-js/modules/es.object.assign";
import "core-js/modules/es.object.create";
import "core-js/modules/es.object.define-getter";
import "core-js/modules/es.object.define-properties";
import "core-js/modules/es.object.define-property";
import "core-js/modules/es.object.define-setter";
import "core-js/modules/es.object.entries";
import "core-js/modules/es.object.freeze";
import "core-js/modules/es.object.from-entries";
import "core-js/modules/es.object.get-own-property-descriptor";
import "core-js/modules/es.object.get-own-property-descriptors";
import "core-js/modules/es.object.get-own-property-names";
import "core-js/modules/es.object.get-prototype-of";
import "core-js/modules/es.object.is";
import "core-js/modules/es.object.is-extensible";
import "core-js/modules/es.object.is-frozen";
import "core-js/modules/es.object.is-sealed";
import "core-js/modules/es.object.keys";
import "core-js/modules/es.object.lookup-getter";
import "core-js/modules/es.object.lookup-setter";
import "core-js/modules/es.object.prevent-extensions";
import "core-js/modules/es.object.seal";
import "core-js/modules/es.object.set-prototype-of";
import "core-js/modules/es.object.to-string";
import "core-js/modules/es.object.values";
import "core-js/modules/es.parse-float";
import "core-js/modules/es.parse-int";
import "core-js/modules/es.promise";
import "core-js/modules/es.promise.finally";
import "core-js/modules/es.reflect.apply";
import "core-js/modules/es.reflect.construct";
import "core-js/modules/es.reflect.define-property";
import "core-js/modules/es.reflect.delete-property";
import "core-js/modules/es.reflect.get";
import "core-js/modules/es.reflect.get-own-property-descriptor";
import "core-js/modules/es.reflect.get-prototype-of";
import "core-js/modules/es.reflect.has";
import "core-js/modules/es.reflect.is-extensible";
import "core-js/modules/es.reflect.own-keys";
import "core-js/modules/es.reflect.prevent-extensions";
import "core-js/modules/es.reflect.set";
import "core-js/modules/es.reflect.set-prototype-of";
import "core-js/modules/es.regexp.constructor";
import "core-js/modules/es.regexp.exec";
import "core-js/modules/es.regexp.flags";
import "core-js/modules/es.regexp.to-string";
import "core-js/modules/es.set";
import "core-js/modules/es.string.code-point-at";
import "core-js/modules/es.string.ends-with";
import "core-js/modules/es.string.from-code-point";
import "core-js/modules/es.string.includes";
import "core-js/modules/es.string.iterator";
import "core-js/modules/es.string.match";
import "core-js/modules/es.string.pad-end";
import "core-js/modules/es.string.pad-start";
import "core-js/modules/es.string.raw";
import "core-js/modules/es.string.repeat";
import "core-js/modules/es.string.replace";
import "core-js/modules/es.string.search";
import "core-js/modules/es.string.split";
import "core-js/modules/es.string.starts-with";
import "core-js/modules/es.string.trim";
import "core-js/modules/es.string.trim-end";
import "core-js/modules/es.string.trim-start";
import "core-js/modules/es.string.anchor";
import "core-js/modules/es.string.big";
import "core-js/modules/es.string.blink";
import "core-js/modules/es.string.bold";
import "core-js/modules/es.string.fixed";
import "core-js/modules/es.string.fontcolor";
import "core-js/modules/es.string.fontsize";
import "core-js/modules/es.string.italics";
import "core-js/modules/es.string.link";
import "core-js/modules/es.string.small";
import "core-js/modules/es.string.strike";
import "core-js/modules/es.string.sub";
import "core-js/modules/es.string.sup";
import "core-js/modules/es.typed-array.float32-array";
import "core-js/modules/es.typed-array.float64-array";
import "core-js/modules/es.typed-array.int8-array";
import "core-js/modules/es.typed-array.int16-array";
import "core-js/modules/es.typed-array.int32-array";
import "core-js/modules/es.typed-array.uint8-array";
import "core-js/modules/es.typed-array.uint8-clamped-array";
import "core-js/modules/es.typed-array.uint16-array";
import "core-js/modules/es.typed-array.uint32-array";
import "core-js/modules/es.typed-array.copy-within";
import "core-js/modules/es.typed-array.every";
import "core-js/modules/es.typed-array.fill";
import "core-js/modules/es.typed-array.filter";
import "core-js/modules/es.typed-array.find";
import "core-js/modules/es.typed-array.find-index";
import "core-js/modules/es.typed-array.for-each";
import "core-js/modules/es.typed-array.from";
import "core-js/modules/es.typed-array.includes";
import "core-js/modules/es.typed-array.index-of";
import "core-js/modules/es.typed-array.iterator";
import "core-js/modules/es.typed-array.join";
import "core-js/modules/es.typed-array.last-index-of";
import "core-js/modules/es.typed-array.map";
import "core-js/modules/es.typed-array.of";
import "core-js/modules/es.typed-array.reduce";
import "core-js/modules/es.typed-array.reduce-right";
import "core-js/modules/es.typed-array.reverse";
import "core-js/modules/es.typed-array.set";
import "core-js/modules/es.typed-array.slice";
import "core-js/modules/es.typed-array.some";
import "core-js/modules/es.typed-array.sort";
import "core-js/modules/es.typed-array.subarray";
import "core-js/modules/es.typed-array.to-locale-string";
import "core-js/modules/es.typed-array.to-string";
import "core-js/modules/es.weak-map";
import "core-js/modules/es.weak-set";
import "core-js/modules/esnext.aggregate-error";
import "core-js/modules/esnext.array.last-index";
import "core-js/modules/esnext.array.last-item";
import "core-js/modules/esnext.composite-key";
import "core-js/modules/esnext.composite-symbol";
import "core-js/modules/esnext.global-this";
import "core-js/modules/esnext.map.delete-all";
import "core-js/modules/esnext.map.every";
import "core-js/modules/esnext.map.filter";
import "core-js/modules/esnext.map.find";
import "core-js/modules/esnext.map.find-key";
import "core-js/modules/esnext.map.from";
import "core-js/modules/esnext.map.group-by";
import "core-js/modules/esnext.map.includes";
import "core-js/modules/esnext.map.key-by";
import "core-js/modules/esnext.map.key-of";
import "core-js/modules/esnext.map.map-keys";
import "core-js/modules/esnext.map.map-values";
import "core-js/modules/esnext.map.merge";
import "core-js/modules/esnext.map.of";
import "core-js/modules/esnext.map.reduce";
import "core-js/modules/esnext.map.some";
import "core-js/modules/esnext.map.update";
import "core-js/modules/esnext.math.clamp";
import "core-js/modules/esnext.math.deg-per-rad";
import "core-js/modules/esnext.math.degrees";
import "core-js/modules/esnext.math.fscale";
import "core-js/modules/esnext.math.iaddh";
import "core-js/modules/esnext.math.imulh";
import "core-js/modules/esnext.math.isubh";
import "core-js/modules/esnext.math.rad-per-deg";
import "core-js/modules/esnext.math.radians";
import "core-js/modules/esnext.math.scale";
import "core-js/modules/esnext.math.seeded-prng";
import "core-js/modules/esnext.math.signbit";
import "core-js/modules/esnext.math.umulh";
import "core-js/modules/esnext.number.from-string";
import "core-js/modules/esnext.observable";
import "core-js/modules/esnext.promise.all-settled";
import "core-js/modules/esnext.promise.any";
import "core-js/modules/esnext.promise.try";
import "core-js/modules/esnext.reflect.define-metadata";
import "core-js/modules/esnext.reflect.delete-metadata";
import "core-js/modules/esnext.reflect.get-metadata";
import "core-js/modules/esnext.reflect.get-metadata-keys";
import "core-js/modules/esnext.reflect.get-own-metadata";
import "core-js/modules/esnext.reflect.get-own-metadata-keys";
import "core-js/modules/esnext.reflect.has-metadata";
import "core-js/modules/esnext.reflect.has-own-metadata";
import "core-js/modules/esnext.reflect.metadata";
import "core-js/modules/esnext.set.add-all";
import "core-js/modules/esnext.set.delete-all";
import "core-js/modules/esnext.set.difference";
import "core-js/modules/esnext.set.every";
import "core-js/modules/esnext.set.filter";
import "core-js/modules/esnext.set.find";
import "core-js/modules/esnext.set.from";
import "core-js/modules/esnext.set.intersection";
import "core-js/modules/esnext.set.is-disjoint-from";
import "core-js/modules/esnext.set.is-subset-of";
import "core-js/modules/esnext.set.is-superset-of";
import "core-js/modules/esnext.set.join";
import "core-js/modules/esnext.set.map";
import "core-js/modules/esnext.set.of";
import "core-js/modules/esnext.set.reduce";
import "core-js/modules/esnext.set.some";
import "core-js/modules/esnext.set.symmetric-difference";
import "core-js/modules/esnext.set.union";
import "core-js/modules/esnext.string.at";
import "core-js/modules/esnext.string.code-points";
import "core-js/modules/esnext.string.match-all";
import "core-js/modules/esnext.string.replace-all";
import "core-js/modules/esnext.symbol.dispose";
import "core-js/modules/esnext.symbol.observable";
import "core-js/modules/esnext.symbol.pattern-match";
import "core-js/modules/esnext.weak-map.delete-all";
import "core-js/modules/esnext.weak-map.from";
import "core-js/modules/esnext.weak-map.of";
import "core-js/modules/esnext.weak-set.add-all";
import "core-js/modules/esnext.weak-set.delete-all";
import "core-js/modules/esnext.weak-set.from";
import "core-js/modules/esnext.weak-set.of";
import "core-js/modules/web.dom-collections.for-each";
import "core-js/modules/web.dom-collections.iterator";
import "core-js/modules/web.immediate";
import "core-js/modules/web.queue-microtask";
import "core-js/modules/web.timers";
import "core-js/modules/web.url";
import "core-js/modules/web.url.to-json";
import "core-js/modules/web.url-search-params";
;
Loading

0 comments on commit 75b45c3

Please sign in to comment.