diff --git a/packages/babel-helpers/package.json b/packages/babel-helpers/package.json index da086f4507d6..f777d7f23aab 100644 --- a/packages/babel-helpers/package.json +++ b/packages/babel-helpers/package.json @@ -20,7 +20,8 @@ "@babel/types": "workspace:^" }, "devDependencies": { - "@babel/helper-plugin-test-runner": "workspace:^" + "@babel/helper-plugin-test-runner": "workspace:^", + "terser": "^5.9.0" }, "engines": { "node": ">=6.9.0" diff --git a/packages/babel-helpers/scripts/generate-helpers.js b/packages/babel-helpers/scripts/generate-helpers.js index c10199bf697a..1c59746df9c3 100644 --- a/packages/babel-helpers/scripts/generate-helpers.js +++ b/packages/babel-helpers/scripts/generate-helpers.js @@ -1,6 +1,7 @@ import fs from "fs"; import { join } from "path"; import { URL, fileURLToPath } from "url"; +import { minify } from "terser"; // eslint-disable-line const HELPERS_FOLDER = new URL("../src/helpers", import.meta.url); const IGNORED_FILES = new Set(["package.json"]); @@ -8,11 +9,19 @@ const IGNORED_FILES = new Set(["package.json"]); export default async function generateHelpers() { let output = `/* * This file is auto-generated! Do not modify it directly. - * To re-generate run 'make build' + * To re-generate run 'yarn gulp generate-runtime-helpers' */ import template from "@babel/template"; +function helper(minVersion, source) { + return Object.freeze({ + minVersion, + ast: () => template.program.ast(source), + }) +} + +export default Object.freeze({ `; for (const file of (await fs.promises.readdir(HELPERS_FOLDER)).sort()) { @@ -20,8 +29,6 @@ import template from "@babel/template"; if (file.startsWith(".")) continue; // ignore e.g. vim swap files const [helperName] = file.split("."); - const isValidId = isValidBindingIdentifier(helperName); - const varName = isValidId ? helperName : `_${helperName}`; const filePath = join(fileURLToPath(HELPERS_FOLDER), file); if (!file.endsWith(".js")) { @@ -38,31 +45,20 @@ import template from "@babel/template"; } const { minVersion } = minVersionMatch.groups; - // TODO: We can minify the helpers in production - const source = fileContents - // Remove comments - .replace(/\/\*[^]*?\*\/|\/\/.*/g, "") - // Remove multiple newlines - .replace(/\n{2,}/g, "\n"); + const source = await minify(fileContents, { + mangle: false, + // The _typeof helper has a custom directive that we must keep + compress: { directives: false }, + }); - const intro = isValidId - ? "export " - : `export { ${varName} as ${helperName} }\n`; - - output += `\n${intro}const ${varName} = { - minVersion: ${JSON.stringify(minVersion)}, - ast: () => template.program.ast(${JSON.stringify(source)}) -};\n`; + output += `\ + ${JSON.stringify(helperName)}: helper( + ${JSON.stringify(minVersion)}, + ${JSON.stringify(source.code)}, + ), +`; } + output += "});"; return output; } - -function isValidBindingIdentifier(name) { - try { - Function(`var ${name}`); - return true; - } catch { - return false; - } -} diff --git a/packages/babel-helpers/src/helpers-generated.ts b/packages/babel-helpers/src/helpers-generated.ts index 2cb6ac72b737..1f148f411cae 100644 --- a/packages/babel-helpers/src/helpers-generated.ts +++ b/packages/babel-helpers/src/helpers-generated.ts @@ -1,47 +1,36 @@ /* * This file is auto-generated! Do not modify it directly. - * To re-generate run 'make build' + * To re-generate run 'yarn gulp generate-runtime-helpers' */ import template from "@babel/template"; -export const asyncIterator = { - minVersion: "7.15.9", - ast: () => - template.program.ast( - '\nexport default function _asyncIterator(iterable) {\n var method,\n async,\n sync,\n retry = 2;\n if (typeof Symbol !== "undefined") {\n async = Symbol.asyncIterator;\n sync = Symbol.iterator;\n }\n while (retry--) {\n if (async && (method = iterable[async]) != null) {\n return method.call(iterable);\n }\n if (sync && (method = iterable[sync]) != null) {\n return new AsyncFromSyncIterator(method.call(iterable));\n }\n async = "@@asyncIterator";\n sync = "@@iterator";\n }\n throw new TypeError("Object is not async iterable");\n}\nfunction AsyncFromSyncIterator(s) {\n AsyncFromSyncIterator = function (s) {\n this.s = s;\n this.n = s.next;\n };\n AsyncFromSyncIterator.prototype = {\n s: null,\n n: null,\n next: function () {\n return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments));\n },\n return: function (value) {\n var ret = this.s.return;\n if (ret === undefined) {\n return Promise.resolve({ value: value, done: true });\n }\n return AsyncFromSyncIteratorContinuation(ret.apply(this.s, arguments));\n },\n throw: function (value) {\n var thr = this.s.return;\n if (thr === undefined) return Promise.reject(value);\n return AsyncFromSyncIteratorContinuation(thr.apply(this.s, arguments));\n },\n };\n function AsyncFromSyncIteratorContinuation(r) {\n \n if (Object(r) !== r) {\n return Promise.reject(new TypeError(r + " is not an object."));\n }\n var done = r.done;\n return Promise.resolve(r.value).then(function (value) {\n return { value: value, done: done };\n });\n }\n return new AsyncFromSyncIterator(s);\n}\n', - ), -}; +function helper(minVersion, source) { + return Object.freeze({ + minVersion, + ast: () => template.program.ast(source), + }); +} -export const jsx = { - minVersion: "7.0.0-beta.0", - ast: () => - template.program.ast( - '\nvar REACT_ELEMENT_TYPE;\nexport default function _createRawReactElement(type, props, key, children) {\n if (!REACT_ELEMENT_TYPE) {\n REACT_ELEMENT_TYPE =\n (typeof Symbol === "function" &&\n \n Symbol["for"] &&\n Symbol["for"]("react.element")) ||\n 0xeac7;\n }\n var defaultProps = type && type.defaultProps;\n var childrenLength = arguments.length - 3;\n if (!props && childrenLength !== 0) {\n \n \n props = { children: void 0 };\n }\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = new Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 3];\n }\n props.children = childArray;\n }\n if (props && defaultProps) {\n for (var propName in defaultProps) {\n if (props[propName] === void 0) {\n props[propName] = defaultProps[propName];\n }\n }\n } else if (!props) {\n props = defaultProps || {};\n }\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key === undefined ? null : "" + key,\n ref: null,\n props: props,\n _owner: null,\n };\n}\n', - ), -}; - -export const objectSpread2 = { - minVersion: "7.5.0", - ast: () => - template.program.ast( - '\nimport defineProperty from "defineProperty";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(\n target,\n key,\n Object.getOwnPropertyDescriptor(source, key)\n );\n });\n }\n }\n return target;\n}\n', - ), -}; - -export { _typeof as typeof }; -const _typeof = { - minVersion: "7.0.0-beta.0", - ast: () => - template.program.ast( - '\nexport default function _typeof(obj) {\n "@babel/helpers - typeof";\n if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj &&\n typeof Symbol === "function" &&\n obj.constructor === Symbol &&\n obj !== Symbol.prototype\n ? "symbol"\n : typeof obj;\n };\n }\n return _typeof(obj);\n}\n', - ), -}; - -export const wrapRegExp = { - minVersion: "7.2.6", - ast: () => - template.program.ast( - '\nimport setPrototypeOf from "setPrototypeOf";\nimport inherits from "inherits";\nexport default function _wrapRegExp() {\n _wrapRegExp = function (re, groups) {\n return new BabelRegExp(re, undefined, groups);\n };\n var _super = RegExp.prototype;\n var _groups = new WeakMap();\n function BabelRegExp(re, flags, groups) {\n var _this = new RegExp(re, flags);\n \n _groups.set(_this, groups || _groups.get(re));\n return setPrototypeOf(_this, BabelRegExp.prototype);\n }\n inherits(BabelRegExp, RegExp);\n BabelRegExp.prototype.exec = function (str) {\n var result = _super.exec.call(this, str);\n if (result) result.groups = buildGroups(result, this);\n return result;\n };\n BabelRegExp.prototype[Symbol.replace] = function (str, substitution) {\n if (typeof substitution === "string") {\n var groups = _groups.get(this);\n return _super[Symbol.replace].call(\n this,\n str,\n substitution.replace(/\\$<([^>]+)>/g, function (_, name) {\n return "$" + groups[name];\n })\n );\n } else if (typeof substitution === "function") {\n var _this = this;\n return _super[Symbol.replace].call(this, str, function () {\n var args = arguments;\n \n if (typeof args[args.length - 1] !== "object") {\n args = [].slice.call(args);\n args.push(buildGroups(args, _this));\n }\n return substitution.apply(this, args);\n });\n } else {\n return _super[Symbol.replace].call(this, str, substitution);\n }\n };\n function buildGroups(result, re) {\n \n \n var g = _groups.get(re);\n return Object.keys(g).reduce(function (groups, name) {\n groups[name] = result[g[name]];\n return groups;\n }, Object.create(null));\n }\n return _wrapRegExp.apply(this, arguments);\n}\n', - ), -}; +export default Object.freeze({ + asyncIterator: helper( + "7.15.9", + 'export default function _asyncIterator(iterable){var method,async,sync,retry=2;for("undefined"!=typeof Symbol&&(async=Symbol.asyncIterator,sync=Symbol.iterator);retry--;){if(async&&null!=(method=iterable[async]))return method.call(iterable);if(sync&&null!=(method=iterable[sync]))return new AsyncFromSyncIterator(method.call(iterable));async="@@asyncIterator",sync="@@iterator"}throw new TypeError("Object is not async iterable")}function AsyncFromSyncIterator(s){function AsyncFromSyncIteratorContinuation(r){if(Object(r)!==r)return Promise.reject(new TypeError(r+" is not an object."));var done=r.done;return Promise.resolve(r.value).then((function(value){return{value:value,done:done}}))}return AsyncFromSyncIterator=function(s){this.s=s,this.n=s.next},AsyncFromSyncIterator.prototype={s:null,n:null,next:function(){return AsyncFromSyncIteratorContinuation(this.n.apply(this.s,arguments))},return:function(value){var ret=this.s.return;return void 0===ret?Promise.resolve({value:value,done:!0}):AsyncFromSyncIteratorContinuation(ret.apply(this.s,arguments))},throw:function(value){var thr=this.s.return;return void 0===thr?Promise.reject(value):AsyncFromSyncIteratorContinuation(thr.apply(this.s,arguments))}},new AsyncFromSyncIterator(s)}', + ), + jsx: helper( + "7.0.0-beta.0", + 'var REACT_ELEMENT_TYPE;export default function _createRawReactElement(type,props,key,children){REACT_ELEMENT_TYPE||(REACT_ELEMENT_TYPE="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103);var defaultProps=type&&type.defaultProps,childrenLength=arguments.length-3;if(props||0===childrenLength||(props={children:void 0}),1===childrenLength)props.children=children;else if(childrenLength>1){for(var childArray=new Array(childrenLength),i=0;i]+)>/g,(function(_,name){return"$"+groups[name]})))}if("function"==typeof substitution){var _this=this;return _super[Symbol.replace].call(this,str,(function(){var args=arguments;return"object"!=typeof args[args.length-1]&&(args=[].slice.call(args)).push(buildGroups(args,_this)),substitution.apply(this,args)}))}return _super[Symbol.replace].call(this,str,substitution)},_wrapRegExp.apply(this,arguments)}', + ), +}); diff --git a/packages/babel-helpers/src/helpers.ts b/packages/babel-helpers/src/helpers.ts index 729deaea9d67..b288be59b933 100644 --- a/packages/babel-helpers/src/helpers.ts +++ b/packages/babel-helpers/src/helpers.ts @@ -1,7 +1,7 @@ import template from "@babel/template"; import type * as t from "@babel/types"; -import * as generated from "./helpers-generated"; +import generated from "./helpers-generated"; interface Helper { minVersion: string; diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/regression/13801/output.js b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/regression/13801/output.js index 1c547bd69746..9a274f4750e7 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/regression/13801/output.js +++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/regression/13801/output.js @@ -1,6 +1,6 @@ -function _asyncIterator(iterable) { var method, async, sync, retry = 2; if (typeof Symbol !== "undefined") { async = Symbol.asyncIterator; sync = Symbol.iterator; } while (retry--) { if (async && (method = iterable[async]) != null) { return method.call(iterable); } if (sync && (method = iterable[sync]) != null) { return new AsyncFromSyncIterator(method.call(iterable)); } async = "@@asyncIterator"; sync = "@@iterator"; } throw new TypeError("Object is not async iterable"); } +function _asyncIterator(iterable) { var method, async, sync, retry = 2; for ("undefined" != typeof Symbol && (async = Symbol.asyncIterator, sync = Symbol.iterator); retry--;) { if (async && null != (method = iterable[async])) return method.call(iterable); if (sync && null != (method = iterable[sync])) return new AsyncFromSyncIterator(method.call(iterable)); async = "@@asyncIterator", sync = "@@iterator"; } throw new TypeError("Object is not async iterable"); } -function AsyncFromSyncIterator(s) { AsyncFromSyncIterator = function (s) { this.s = s; this.n = s.next; }; AsyncFromSyncIterator.prototype = { s: null, n: null, next: function () { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, return: function (value) { var ret = this.s.return; if (ret === undefined) { return Promise.resolve({ value: value, done: true }); } return AsyncFromSyncIteratorContinuation(ret.apply(this.s, arguments)); }, throw: function (value) { var thr = this.s.return; if (thr === undefined) return Promise.reject(value); return AsyncFromSyncIteratorContinuation(thr.apply(this.s, arguments)); } }; function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) { return Promise.reject(new TypeError(r + " is not an object.")); } var done = r.done; return Promise.resolve(r.value).then(function (value) { return { value: value, done: done }; }); } return new AsyncFromSyncIterator(s); } +function AsyncFromSyncIterator(s) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var done = r.done; return Promise.resolve(r.value).then(function (value) { return { value: value, done: done }; }); } return AsyncFromSyncIterator = function (s) { this.s = s, this.n = s.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function () { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, return: function (value) { var ret = this.s.return; return void 0 === ret ? Promise.resolve({ value: value, done: !0 }) : AsyncFromSyncIteratorContinuation(ret.apply(this.s, arguments)); }, throw: function (value) { var thr = this.s.return; return void 0 === thr ? Promise.reject(value) : AsyncFromSyncIteratorContinuation(thr.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(s); } function main() { var one; diff --git a/packages/babel-plugin-transform-runtime/scripts/build-dist.js b/packages/babel-plugin-transform-runtime/scripts/build-dist.js index df6c0c96c1a1..4e13c713901c 100644 --- a/packages/babel-plugin-transform-runtime/scripts/build-dist.js +++ b/packages/babel-plugin-transform-runtime/scripts/build-dist.js @@ -302,14 +302,24 @@ function buildRuntimeRewritePlugin(runtimeName, helperName) { } function addDefaultCJSExport({ template }) { + const transformed = new WeakSet(); + return { visitor: { AssignmentExpression: { exit(path) { if (path.get("left").matchesPattern("module.exports")) { - path.insertAfter(template.expression.ast` - module.exports.default = module.exports, - module.exports.__esModule = true + if (transformed.has(path.node)) return; + transformed.add(path.node); + + // Ensure that the completion value is still `module.exports`. + // This would be guaranteed by `insertAfter`, but by using `replaceWith` + // we can do it by putting `module.exports` last so that we don't need + // to inject temporary variables. + path.replaceWith(template.expression.ast` + ${path.node}, + module.exports.__esModule = true, + module.exports.default = module.exports `); } }, diff --git a/packages/babel-preset-env/test/fixtures/corejs2-babel-7/usage-shippedProposals/output.js b/packages/babel-preset-env/test/fixtures/corejs2-babel-7/usage-shippedProposals/output.js index 57d4e2f52ad6..ff5ae64a48d9 100644 --- a/packages/babel-preset-env/test/fixtures/corejs2-babel-7/usage-shippedProposals/output.js +++ b/packages/babel-preset-env/test/fixtures/corejs2-babel-7/usage-shippedProposals/output.js @@ -26,9 +26,9 @@ require("core-js/modules/es6.symbol.js"); require("core-js/modules/es7.symbol.async-iterator.js"); -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } diff --git a/packages/babel-preset-env/test/fixtures/corejs2/usage-shippedProposals/output.js b/packages/babel-preset-env/test/fixtures/corejs2/usage-shippedProposals/output.js index 57d4e2f52ad6..ff5ae64a48d9 100644 --- a/packages/babel-preset-env/test/fixtures/corejs2/usage-shippedProposals/output.js +++ b/packages/babel-preset-env/test/fixtures/corejs2/usage-shippedProposals/output.js @@ -26,9 +26,9 @@ require("core-js/modules/es6.symbol.js"); require("core-js/modules/es7.symbol.async-iterator.js"); -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } diff --git a/packages/babel-runtime-corejs2/helpers/iterableToArray.js b/packages/babel-runtime-corejs2/helpers/iterableToArray.js index 76184cd3d85e..b90cc9d6037a 100644 --- a/packages/babel-runtime-corejs2/helpers/iterableToArray.js +++ b/packages/babel-runtime-corejs2/helpers/iterableToArray.js @@ -8,5 +8,4 @@ function _iterableToArray(iter) { if (typeof _Symbol !== "undefined" && iter[_Symbol$iterator] != null || iter["@@iterator"] != null) return _Array$from(iter); } -module.exports = _iterableToArray; -module.exports["default"] = module.exports, module.exports.__esModule = true; \ No newline at end of file +module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/packages/babel-runtime-corejs2/helpers/temporalRef.js b/packages/babel-runtime-corejs2/helpers/temporalRef.js index d4e9460656bb..6afd9323c7f7 100644 --- a/packages/babel-runtime-corejs2/helpers/temporalRef.js +++ b/packages/babel-runtime-corejs2/helpers/temporalRef.js @@ -6,5 +6,4 @@ function _temporalRef(val, name) { return val === temporalUndefined ? tdz(name) : val; } -module.exports = _temporalRef; -module.exports["default"] = module.exports, module.exports.__esModule = true; \ No newline at end of file +module.exports = _temporalRef, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/packages/babel-runtime-corejs2/helpers/toArray.js b/packages/babel-runtime-corejs2/helpers/toArray.js index 3b911bda3104..d0af0e932928 100644 --- a/packages/babel-runtime-corejs2/helpers/toArray.js +++ b/packages/babel-runtime-corejs2/helpers/toArray.js @@ -10,5 +10,4 @@ function _toArray(arr) { return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest(); } -module.exports = _toArray; -module.exports["default"] = module.exports, module.exports.__esModule = true; \ No newline at end of file +module.exports = _toArray, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/packages/babel-runtime-corejs2/helpers/typeof.js b/packages/babel-runtime-corejs2/helpers/typeof.js index 035dfceca599..4ebe8ca2abd3 100644 --- a/packages/babel-runtime-corejs2/helpers/typeof.js +++ b/packages/babel-runtime-corejs2/helpers/typeof.js @@ -5,22 +5,11 @@ var _Symbol$iterator = require("@babel/runtime-corejs2/core-js/symbol/iterator") function _typeof(obj) { "@babel/helpers - typeof"; - if (typeof _Symbol === "function" && typeof _Symbol$iterator === "symbol") { - module.exports = _typeof = function _typeof(obj) { - return typeof obj; - }; - - module.exports["default"] = module.exports, module.exports.__esModule = true; - } else { - module.exports = _typeof = function _typeof(obj) { - return obj && typeof _Symbol === "function" && obj.constructor === _Symbol && obj !== _Symbol.prototype ? "symbol" : typeof obj; - }; - - module.exports["default"] = module.exports, module.exports.__esModule = true; - } - - return _typeof(obj); + return (module.exports = _typeof = "function" == typeof _Symbol && "symbol" == typeof _Symbol$iterator ? function (obj) { + return typeof obj; + } : function (obj) { + return obj && "function" == typeof _Symbol && obj.constructor === _Symbol && obj !== _Symbol.prototype ? "symbol" : typeof obj; + }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj); } -module.exports = _typeof; -module.exports["default"] = module.exports, module.exports.__esModule = true; \ No newline at end of file +module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/packages/babel-runtime/helpers/iterableToArray.js b/packages/babel-runtime/helpers/iterableToArray.js index 03f955d68ef8..5b9038a8848c 100644 --- a/packages/babel-runtime/helpers/iterableToArray.js +++ b/packages/babel-runtime/helpers/iterableToArray.js @@ -2,5 +2,4 @@ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } -module.exports = _iterableToArray; -module.exports["default"] = module.exports, module.exports.__esModule = true; \ No newline at end of file +module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/packages/babel-runtime/helpers/temporalRef.js b/packages/babel-runtime/helpers/temporalRef.js index d4e9460656bb..6afd9323c7f7 100644 --- a/packages/babel-runtime/helpers/temporalRef.js +++ b/packages/babel-runtime/helpers/temporalRef.js @@ -6,5 +6,4 @@ function _temporalRef(val, name) { return val === temporalUndefined ? tdz(name) : val; } -module.exports = _temporalRef; -module.exports["default"] = module.exports, module.exports.__esModule = true; \ No newline at end of file +module.exports = _temporalRef, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/packages/babel-runtime/helpers/toArray.js b/packages/babel-runtime/helpers/toArray.js index 3b911bda3104..d0af0e932928 100644 --- a/packages/babel-runtime/helpers/toArray.js +++ b/packages/babel-runtime/helpers/toArray.js @@ -10,5 +10,4 @@ function _toArray(arr) { return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest(); } -module.exports = _toArray; -module.exports["default"] = module.exports, module.exports.__esModule = true; \ No newline at end of file +module.exports = _toArray, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/packages/babel-runtime/helpers/typeof.js b/packages/babel-runtime/helpers/typeof.js index 02a5d8a8c564..6c7860ff7fb5 100644 --- a/packages/babel-runtime/helpers/typeof.js +++ b/packages/babel-runtime/helpers/typeof.js @@ -1,22 +1,11 @@ function _typeof(obj) { "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - module.exports = _typeof = function _typeof(obj) { - return typeof obj; - }; - - module.exports["default"] = module.exports, module.exports.__esModule = true; - } else { - module.exports = _typeof = function _typeof(obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; - }; - - module.exports["default"] = module.exports, module.exports.__esModule = true; - } - - return _typeof(obj); + return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { + return typeof obj; + } : function (obj) { + return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj); } -module.exports = _typeof; -module.exports["default"] = module.exports, module.exports.__esModule = true; \ No newline at end of file +module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index c32638f918f4..6f16fac72cde 100644 --- a/yarn.lock +++ b/yarn.lock @@ -989,6 +989,7 @@ __metadata: "@babel/template": "workspace:^" "@babel/traverse": "workspace:^" "@babel/types": "workspace:^" + terser: ^5.9.0 languageName: unknown linkType: soft @@ -14035,13 +14036,13 @@ fsevents@^1.2.7: languageName: node linkType: hard -"source-map-support@npm:^0.5.16, source-map-support@npm:^0.5.6, source-map-support@npm:~0.5.12, source-map-support@npm:~0.5.19": - version: 0.5.19 - resolution: "source-map-support@npm:0.5.19" +"source-map-support@npm:^0.5.16, source-map-support@npm:^0.5.6, source-map-support@npm:~0.5.12, source-map-support@npm:~0.5.20": + version: 0.5.20 + resolution: "source-map-support@npm:0.5.20" dependencies: buffer-from: ^1.0.0 source-map: ^0.6.0 - checksum: c72802fdba9cb62b92baef18cc14cc4047608b77f0353e6c36dd993444149a466a2845332c5540d4a6630957254f0f68f4ef5a0120c33d2e83974c51a05afbac + checksum: 43946aff452011960d16154304b11011e0185549493e65dd90da045959409fb2d266ba1c854fff3d5949f8e59382e3fcc7f7c5fa66136007a6750ad06c6c0baa languageName: node linkType: hard @@ -14659,16 +14660,16 @@ fsevents@^1.2.7: languageName: node linkType: hard -"terser@npm:^5.0.0, terser@npm:^5.5.1": - version: 5.6.0 - resolution: "terser@npm:5.6.0" +"terser@npm:^5.0.0, terser@npm:^5.5.1, terser@npm:^5.9.0": + version: 5.9.0 + resolution: "terser@npm:5.9.0" dependencies: commander: ^2.20.0 source-map: ~0.7.2 - source-map-support: ~0.5.19 + source-map-support: ~0.5.20 bin: terser: bin/terser - checksum: 5932e620ffd2222cde2d0610ff9a608910c1ffec2e755e95db983cc43968f87e3ad7b6808420067805432ee03d46216b9919ff6b37f1c6ca4adef2f715d23711 + checksum: 11c1246b1991015a8881742878af779e3863fad42f626ffda957dbf28c94bf51e7994cffb9ffbec86ff3c23ab45ffa6d79d453c15e664306e35fc7b2c4eee5f4 languageName: node linkType: hard