Skip to content

Commit

Permalink
Update preset-env and transform-runtime sources
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolo-ribaudo committed Jun 2, 2021
1 parent 4753b76 commit 79b412d
Show file tree
Hide file tree
Showing 9 changed files with 34 additions and 37 deletions.
1 change: 1 addition & 0 deletions packages/babel-compat-data/corejs3-built-ins.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = require("core-js-compat/data");
1 change: 1 addition & 0 deletions packages/babel-compat-data/corejs3-entries.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = require("core-js-compat/entries");
13 changes: 8 additions & 5 deletions packages/babel-plugin-transform-runtime/scripts/build-dist.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
import path from "path";
import fs from "fs";
import { createRequire } from "module";
import helpers from "@babel/helpers";
import babel from "@babel/core";
import * as helpers from "@babel/helpers";
import * as babel from "@babel/core";
import template from "@babel/template";
import t from "@babel/types";
import * as t from "@babel/types";
import { fileURLToPath } from "url";

import transformRuntime from "../lib/index.js";
import corejs2Definitions from "./runtime-corejs2-definitions.js";
import corejs3Definitions from "./runtime-corejs3-definitions.js";

import presetEnv from "@babel/preset-env";
import pluginTransformTypeofSymbol from "@babel/plugin-transform-typeof-symbol";

const require = createRequire(import.meta.url);
const runtimeVersion = require("@babel/runtime/package.json").version;

Expand Down Expand Up @@ -238,7 +241,7 @@ function buildHelper(
filename: helperFilename,
presets: [
[
"@babel/preset-env",
presetEnv,
{ modules: false, exclude: ["@babel/plugin-transform-typeof-symbol"] },
],
],
Expand All @@ -250,7 +253,7 @@ function buildHelper(
overrides: [
{
exclude: /typeof/,
plugins: ["@babel/plugin-transform-typeof-symbol"],
plugins: [pluginTransformTypeofSymbol],
},
],
}).code;
Expand Down
9 changes: 3 additions & 6 deletions packages/babel-plugin-transform-runtime/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,9 @@ import { types as t } from "@babel/core";
import { hasMinVersion } from "./helpers";
import getRuntimePath from "./get-runtime-path";

import _pluginCorejs2 from "babel-plugin-polyfill-corejs2";
import _pluginCorejs3 from "babel-plugin-polyfill-corejs3";
import _pluginRegenerator from "babel-plugin-polyfill-regenerator";
const pluginCorejs2 = _pluginCorejs2.default || _pluginCorejs2;
const pluginCorejs3 = _pluginCorejs3.default || _pluginCorejs3;
const pluginRegenerator = _pluginRegenerator.default || _pluginRegenerator;
import pluginCorejs2 from "babel-plugin-polyfill-corejs2";
import pluginCorejs3 from "babel-plugin-polyfill-corejs3";
import pluginRegenerator from "babel-plugin-polyfill-regenerator";

const pluginsCompat = "#__secret_key__@babel/runtime__compatibility";

Expand Down
13 changes: 7 additions & 6 deletions packages/babel-preset-env/src/available-plugins.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// @flow
/* eslint-disable import/extensions */
/* eslint sort-keys: "error" */

import syntaxAsyncGenerators from "@babel/plugin-syntax-async-generators";
Expand Down Expand Up @@ -63,12 +64,12 @@ import transformTypeofSymbol from "@babel/plugin-transform-typeof-symbol";
import transformUnicodeEscapes from "@babel/plugin-transform-unicode-escapes";
import transformUnicodeRegex from "@babel/plugin-transform-unicode-regex";

import bugfixAsyncArrowsInClass from "@babel/preset-modules/lib/plugins/transform-async-arrows-in-class";
import bugfixEdgeDefaultParameters from "@babel/preset-modules/lib/plugins/transform-edge-default-parameters";
import bugfixEdgeFunctionName from "@babel/preset-modules/lib/plugins/transform-edge-function-name";
import bugfixTaggedTemplateCaching from "@babel/preset-modules/lib/plugins/transform-tagged-template-caching";
import bugfixSafariBlockShadowing from "@babel/preset-modules/lib/plugins/transform-safari-block-shadowing";
import bugfixSafariForShadowing from "@babel/preset-modules/lib/plugins/transform-safari-for-shadowing";
import bugfixAsyncArrowsInClass from "@babel/preset-modules/lib/plugins/transform-async-arrows-in-class/index.js";
import bugfixEdgeDefaultParameters from "@babel/preset-modules/lib/plugins/transform-edge-default-parameters/index.js";
import bugfixEdgeFunctionName from "@babel/preset-modules/lib/plugins/transform-edge-function-name/index.js";
import bugfixTaggedTemplateCaching from "@babel/preset-modules/lib/plugins/transform-tagged-template-caching/index.js";
import bugfixSafariBlockShadowing from "@babel/preset-modules/lib/plugins/transform-safari-block-shadowing/index.js";
import bugfixSafariForShadowing from "@babel/preset-modules/lib/plugins/transform-safari-for-shadowing/index.js";
import bugfixV8SpreadParametersInOptionalChaining from "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining";

export default {
Expand Down
4 changes: 2 additions & 2 deletions packages/babel-preset-env/src/filter-items.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// @flow

import { lt } from "semver";
import semver from "semver";
import { minVersions } from "./available-plugins";

// $FlowIgnore
Expand All @@ -19,7 +19,7 @@ export function removeUnsupportedItems(
babelVersion: string,
) {
items.forEach(item => {
if (has(minVersions, item) && lt(babelVersion, minVersions[item])) {
if (has(minVersions, item) && semver.lt(babelVersion, minVersions[item])) {
items.delete(item);
}
});
Expand Down
13 changes: 5 additions & 8 deletions packages/babel-preset-env/src/index.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//@flow

import { SemVer, lt } from "semver";
import semver, { typeof SemVer } from "semver";
import { logPlugin } from "./debug";
import getOptionSpecificExcludesFor from "./get-option-specific-excludes";
import { removeUnnecessaryItems, removeUnsupportedItems } from "./filter-items";
Expand All @@ -16,12 +16,9 @@ import overlappingPlugins from "@babel/compat-data/overlapping-plugins";
import removeRegeneratorEntryPlugin from "./polyfills/regenerator";
import legacyBabelPolyfillPlugin from "./polyfills/babel-polyfill";

import _pluginCoreJS2 from "babel-plugin-polyfill-corejs2";
import _pluginCoreJS3 from "babel-plugin-polyfill-corejs3";
import _pluginRegenerator from "babel-plugin-polyfill-regenerator";
const pluginCoreJS2 = _pluginCoreJS2.default || _pluginCoreJS2;
const pluginCoreJS3 = _pluginCoreJS3.default || _pluginCoreJS3;
const pluginRegenerator = _pluginRegenerator.default || _pluginRegenerator;
import pluginCoreJS2 from "babel-plugin-polyfill-corejs2";
import pluginCoreJS3 from "babel-plugin-polyfill-corejs3";
import pluginRegenerator from "babel-plugin-polyfill-regenerator";

import getTargets, {
prettifyTargets,
Expand Down Expand Up @@ -301,7 +298,7 @@ export default declare((api, opts) => {
// @babel/core < 7.13.0 doesn't load targets (api.targets() always
// returns {} thanks to @babel/helper-plugin-utils), so we always want
// to fallback to the old targets behavior in this case.
lt(api.version, "7.13.0") ||
semver.lt(api.version, "7.13.0") ||
// If any browserslist-related option is specified, fallback to the old
// behavior of not using the targets specified in the top-level options.
opts.targets ||
Expand Down
8 changes: 4 additions & 4 deletions packages/babel-preset-env/src/normalize-options.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// @flow
import corejs3Polyfills from "core-js-compat/data.json";
import { coerce, SemVer } from "semver";
import semver, { typeof SemVer } from "semver";
import corejs2Polyfills from "@babel/compat-data/corejs2-built-ins";
import corejs3Polyfills from "@babel/compat-data/corejs3-built-ins";
import { plugins as pluginsList } from "./plugins-compat-data";
import moduleTransformations from "./module-transformations";
import { TopLevelOptions, ModulesOption, UseBuiltInsOption } from "./options";
Expand Down Expand Up @@ -151,7 +151,7 @@ export const validateUseBuiltInsOption = (

export type NormalizedCorejsOption = {
proposals: boolean,
version: typeof SemVer | null | false,
version: SemVer | null | false,
};

export function normalizeCoreJSOption(
Expand Down Expand Up @@ -185,7 +185,7 @@ export function normalizeCoreJSOption(
rawVersion = corejs;
}

const version = rawVersion ? coerce(String(rawVersion)) : false;
const version = rawVersion ? semver.coerce(String(rawVersion)) : false;

if (!useBuiltIns && version) {
console.warn(
Expand Down
9 changes: 3 additions & 6 deletions packages/babel-preset-env/test/index.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,9 @@ import pluginLegacyBabelPolyfill from "../lib/polyfills/babel-polyfill";
import transformations from "../lib/module-transformations";
import availablePlugins from "../lib/available-plugins";

import _pluginCoreJS2 from "babel-plugin-polyfill-corejs2";
import _pluginCoreJS3 from "babel-plugin-polyfill-corejs3";
import _pluginRegenerator from "babel-plugin-polyfill-regenerator";
const pluginCoreJS2 = _pluginCoreJS2.default;
const pluginCoreJS3 = _pluginCoreJS3.default;
const pluginRegenerator = _pluginRegenerator.default;
import pluginCoreJS2 from "babel-plugin-polyfill-corejs2";
import pluginCoreJS3 from "babel-plugin-polyfill-corejs3";
import pluginRegenerator from "babel-plugin-polyfill-regenerator";

describe("babel-preset-env", () => {
describe("transformIncludesAndExcludes", () => {
Expand Down

0 comments on commit 79b412d

Please sign in to comment.