Skip to content

Commit

Permalink
Updates after rebase
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolo-ribaudo committed Jan 7, 2021
1 parent e79b3fb commit 2dac5c2
Show file tree
Hide file tree
Showing 25 changed files with 39 additions and 5 deletions.
1 change: 1 addition & 0 deletions .flowconfig
Expand Up @@ -15,6 +15,7 @@ lib/file.js
lib/parser.js
lib/third-party-libs.js.flow
lib/preset-modules.js.flow
lib/babel-polyfills.js.flow
packages/babel-types/lib/index.js.flow
lib/babel-packages.js.flow

Expand Down
9 changes: 9 additions & 0 deletions lib/babel-polyfills.js.flow
@@ -0,0 +1,9 @@
declare module "babel-plugin-polyfill-regenerator" {
declare module.exports: Function;
}
declare module "babel-plugin-polyfill-corejs2" {
declare module.exports: Function;
}
declare module "babel-plugin-polyfill-corejs3" {
declare module.exports: Function;
}
2 changes: 1 addition & 1 deletion packages/babel-preset-env/src/index.js
Expand Up @@ -184,7 +184,7 @@ export const getPolyfillPlugins = ({
if (useBuiltIns === "usage" || useBuiltIns === "entry") {
const pluginOptions = {
method: `${useBuiltIns}-global`,
version: corejs.toString(),
version: corejs ? corejs.toString() : undefined,
targets: polyfillTargets,
include,
exclude,
Expand Down
7 changes: 6 additions & 1 deletion packages/babel-preset-env/src/polyfills/babel-polyfill.js
Expand Up @@ -12,13 +12,17 @@ const NO_DIRECT_POLYFILL_IMPORT = `
When setting \`useBuiltIns: 'usage'\`, polyfills are automatically imported when needed.
Please remove the direct import of \`SPECIFIER\` or use \`useBuiltIns: 'entry'\` instead.`;

export default function ({ template }, { regenerator, deprecated, usage }) {
export default function (
{ template }: any,
{ regenerator, deprecated, usage }: any,
) {
return {
name: "preset-env/replace-babel-polyfill",
visitor: {
ImportDeclaration(path: NodePath) {
const src = getImportSource(path);
if (usage && isPolyfillSource(src)) {
// $FlowIgnore
console.warn(NO_DIRECT_POLYFILL_IMPORT.replace("SPECIFIER", src));
if (!deprecated) path.remove();
} else if (src === "@babel/polyfill") {
Expand All @@ -40,6 +44,7 @@ export default function ({ template }, { regenerator, deprecated, usage }) {
path.get("body").forEach(bodyPath => {
const src = getRequireSource(bodyPath);
if (usage && isPolyfillSource(src)) {
// $FlowIgnore
console.warn(NO_DIRECT_POLYFILL_IMPORT.replace("SPECIFIER", src));
if (!deprecated) bodyPath.remove();
} else if (src === "@babel/polyfill") {
Expand Down
@@ -1,5 +1,6 @@
import "core-js/modules/es7.array.flat-map.js";
import "core-js/modules/es6.array.from.js";
import "core-js/modules/es6.array.iterator.js";
import "core-js/modules/es6.array.sort.js";
import "core-js/modules/es6.array.species.js";
import "core-js/modules/es6.function.has-instance.js";
Expand Down
@@ -1,5 +1,6 @@
import "core-js/modules/es7.array.flat-map.js";
import "core-js/modules/es6.array.from.js";
import "core-js/modules/es6.array.iterator.js";
import "core-js/modules/es6.array.sort.js";
import "core-js/modules/es6.array.species.js";
import "core-js/modules/es6.function.has-instance.js";
Expand Down
@@ -1,4 +1,5 @@
import "core-js/modules/es7.array.flat-map.js";
import "core-js/modules/es6.array.iterator.js";
import "core-js/modules/es6.array.sort.js";
import "core-js/modules/es7.object.define-getter.js";
import "core-js/modules/es7.object.define-setter.js";
Expand Down
@@ -1,4 +1,5 @@
import "core-js/modules/es7.array.flat-map.js";
import "core-js/modules/es6.array.iterator.js";
import "core-js/modules/es6.array.sort.js";
import "core-js/modules/es7.object.define-getter.js";
import "core-js/modules/es7.object.define-setter.js";
Expand Down
@@ -1,4 +1,5 @@
import "core-js/modules/es7.array.flat-map.js";
import "core-js/modules/es6.array.iterator.js";
import "core-js/modules/es6.array.sort.js";
import "core-js/modules/es7.object.define-getter.js";
import "core-js/modules/es7.object.define-setter.js";
Expand Down
@@ -1,13 +1,11 @@
import "core-js/modules/es7.array.flat-map.js";
import "core-js/modules/es6.array.iterator.js";
import "core-js/modules/es6.array.sort.js";
import "core-js/modules/es7.object.define-getter.js";
import "core-js/modules/es7.object.define-setter.js";
import "core-js/modules/es7.object.entries.js";
import "core-js/modules/es7.object.get-own-property-descriptors.js";
import "core-js/modules/es7.object.lookup-getter.js";
import "core-js/modules/es7.object.lookup-setter.js";
import "core-js/modules/es6.object.to-string.js";
import "core-js/modules/es7.object.values.js";
import "core-js/modules/es7.promise.finally.js";
import "core-js/modules/es7.symbol.async-iterator.js";
import "core-js/modules/es7.string.pad-start.js";
Expand Down
@@ -1,4 +1,5 @@
import "core-js/modules/es7.array.flat-map.js";
import "core-js/modules/es6.array.iterator.js";
import "core-js/modules/es6.array.sort.js";
import "core-js/modules/es7.object.define-getter.js";
import "core-js/modules/es7.object.define-setter.js";
Expand Down
@@ -1,4 +1,5 @@
import "core-js/modules/es7.array.flat-map.js";
import "core-js/modules/es6.array.iterator.js";
import "core-js/modules/es6.array.sort.js";
import "core-js/modules/es7.object.define-getter.js";
import "core-js/modules/es7.object.define-setter.js";
Expand Down
@@ -1,4 +1,5 @@
import "core-js/modules/es7.array.flat-map.js";
import "core-js/modules/es6.array.iterator.js";
import "core-js/modules/es6.array.sort.js";
import "core-js/modules/es7.object.define-getter.js";
import "core-js/modules/es7.object.define-setter.js";
Expand Down
@@ -1,5 +1,7 @@
require("core-js/modules/es7.array.flat-map.js");

require("core-js/modules/es6.array.iterator.js");

require("core-js/modules/es6.array.sort.js");

require("core-js/modules/es7.object.define-getter.js");
Expand Down
@@ -1,2 +1,3 @@
import "core-js/modules/es6.array.iterator.js";
import "core-js/modules/es7.string.trim-left.js";
import "core-js/modules/es7.string.trim-right.js";
@@ -1,4 +1,5 @@
import "core-js/modules/es7.array.flat-map.js";
import "core-js/modules/es6.array.iterator.js";
import "core-js/modules/es6.array.sort.js";
import "core-js/modules/es6.map.js";
import "core-js/modules/es7.object.define-getter.js";
Expand Down
@@ -1,4 +1,5 @@
import "core-js/modules/es7.array.flat-map.js";
import "core-js/modules/es6.array.iterator.js";
import "core-js/modules/es6.array.sort.js";
import "core-js/modules/es7.object.define-getter.js";
import "core-js/modules/es7.object.define-setter.js";
Expand Down
@@ -1,4 +1,5 @@
import "core-js/modules/es7.array.flat-map.js";
import "core-js/modules/es6.array.iterator.js";
import "core-js/modules/es6.array.sort.js";
import "core-js/modules/es6.map.js";
import "core-js/modules/es7.object.define-getter.js";
Expand Down
@@ -1,2 +1,3 @@
import "core-js/modules/es6.array.iterator.js";
import "core-js/modules/web.dom.iterable.js";
var a = new Map();
Expand Up @@ -53,4 +53,5 @@ Using polyfills with `usage-global` method:

[<CWD>/packages/babel-preset-env/test/fixtures/corejs2/usage-browserslist-config-ignore/input.mjs]
The corejs2 polyfill added the following polyfills:
es6.array.iterator { "android":"61", "chrome":"61", "edge":"16", "firefox":"60", "ios":"10.3", "node":"13.2", "opera":"48", "safari":"10.1", "samsung":"8.2" }
web.dom.iterable { "android":"61", "chrome":"61", "edge":"16", "firefox":"60", "ios":"10.3", "node":"13.2", "opera":"48", "safari":"10.1", "samsung":"8.2" }
@@ -1,4 +1,5 @@
import "core-js/modules/es6.object.to-string.js";
import "core-js/modules/es6.array.iterator.js";
import "core-js/modules/es7.string.pad-start.js";
import "core-js/modules/es7.string.pad-end.js";

Expand Down
Expand Up @@ -51,6 +51,7 @@ Using polyfills with `entry-global` method:
The corejs2 polyfill entry has been replaced with the following polyfills:
es7.array.flat-map { "electron":"0.36" }
es6.array.from { "electron":"0.36" }
es6.array.iterator { "electron":"0.36" }
es6.array.sort { "electron":"0.36" }
es6.array.species { "electron":"0.36" }
es6.function.has-instance { "electron":"0.36" }
Expand Down
Expand Up @@ -58,6 +58,7 @@ Using polyfills with `entry-global` method:
[<CWD>/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-force-all-transforms/input.mjs]
The corejs2 polyfill entry has been replaced with the following polyfills:
es7.array.flat-map { "chrome":"55" }
es6.array.iterator { "chrome":"55" }
es6.array.sort { "chrome":"55" }
es7.object.define-getter { "chrome":"55" }
es7.object.define-setter { "chrome":"55" }
Expand Down
Expand Up @@ -61,6 +61,7 @@ Using polyfills with `entry-global` method:
[<CWD>/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-uglify/input.mjs]
The corejs2 polyfill entry has been replaced with the following polyfills:
es7.array.flat-map { "chrome":"55" }
es6.array.iterator { "chrome":"55" }
es6.array.sort { "chrome":"55" }
es7.object.define-getter { "chrome":"55" }
es7.object.define-setter { "chrome":"55" }
Expand Down
Expand Up @@ -4,3 +4,4 @@ import "MODIFIED";
import "MODIFIED";
import "MODIFIED";
import "MODIFIED";
import "MODIFIED";

0 comments on commit 2dac5c2

Please sign in to comment.