From 7ae6e1e5a05cbc26014fe2e4dc9d0b3d91ff7126 Mon Sep 17 00:00:00 2001 From: Satyajit Sahoo Date: Sun, 12 Nov 2017 17:11:00 +0530 Subject: [PATCH] Add /*#__PURE__*/ annotatiotion for babel-plugin-async-to-generator. Fixes #6572 --- .../regenerator-used-async/expected.js | 4 ++- .../expected.js | 4 ++- .../expected.js | 4 ++- .../shippedProposals/expected.js | 4 ++- .../misc/regression-2765/expected.js | 8 ++++-- .../misc/regression-2892/expected.js | 8 ++++-- .../package.json | 1 + .../src/index.js | 13 +++++++++ .../async-generators/declaration/expected.js | 4 ++- .../async-generators/expression/expected.js | 1 + .../async-generators/yield-star/expected.js | 4 ++- .../for-await/async-arrow/expected.js | 1 + .../for-await/async-function/expected.js | 4 ++- .../for-await/async-generator/expected.js | 4 ++- .../for-await/destructuring/expected.js | 4 ++- .../nested/arrows-in-declaration/expected.js | 5 +++- .../nested/async-in-params/expected.js | 8 ++++-- .../nested/generator-in-async/expected.js | 8 ++++-- .../fixtures/regression/T7364/expected.js | 12 ++++++--- .../async-generator/expected.js | 4 ++- .../async-arrow-in-method/expected.js | 4 ++- .../async-default-arguments/expected.js | 4 ++- .../deeply-nested-asyncs/expected.js | 12 ++++++--- .../async-to-generator/expression/actual.js | 7 +++++ .../async-to-generator/expression/expected.js | 27 ++++++++++++++++++- .../function-arity/expected.js | 24 ++++++++++++----- .../named-expression/expected.js | 4 ++- .../no-parameters-and-no-id/expected.js | 4 ++- .../object-method-with-arrows/expected.js | 2 ++ .../async-to-generator/parameters/expected.js | 4 ++- .../shadowed-promise-import/expected.js | 4 ++- .../shadowed-promise-nested/expected.js | 8 ++++-- .../shadowed-promise/expected.js | 4 ++- .../async-to-generator/statement/expected.js | 4 ++- .../arrow-function/expected.js | 1 + .../expression/expected.js | 4 ++- .../named-expression/expected.js | 4 ++- .../bluebird-coroutines/statement/expected.js | 4 ++- .../default-arrow-export/expected.js | 4 ++- .../export-async/default-export/expected.js | 4 ++- .../import-and-export/expected.js | 4 ++- .../export-async/lone-export/expected.js | 4 ++- .../test/fixtures/regression/4599/expected.js | 3 +++ .../test/fixtures/regression/4943/expected.js | 4 ++- .../test/fixtures/regression/5880/expected.js | 1 + .../fixtures/regression/T7108/expected.js | 16 ++++++++--- .../fixtures/regression/T7194/expected.js | 5 +++- .../rest-async-arrow-functions/expected.js | 8 ++++-- 48 files changed, 226 insertions(+), 57 deletions(-) diff --git a/experimental/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/regenerator-used-async/expected.js b/experimental/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/regenerator-used-async/expected.js index acd5c94a91..f2f577ce61 100644 --- a/experimental/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/regenerator-used-async/expected.js +++ b/experimental/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/regenerator-used-async/expected.js @@ -1,7 +1,9 @@ import "core-js/modules/es6.promise"; import "regenerator-runtime/runtime"; -var a = function () { +var a = +/*#__PURE__*/ +function () { var _ref = _asyncToGenerator( /*#__PURE__*/ regeneratorRuntime.mark(function _callee() { diff --git a/experimental/babel-preset-env/test/fixtures/preset-options/shippedProposals-use-builtins-entry/expected.js b/experimental/babel-preset-env/test/fixtures/preset-options/shippedProposals-use-builtins-entry/expected.js index 679784bde9..2ee8bda3e7 100644 --- a/experimental/babel-preset-env/test/fixtures/preset-options/shippedProposals-use-builtins-entry/expected.js +++ b/experimental/babel-preset-env/test/fixtures/preset-options/shippedProposals-use-builtins-entry/expected.js @@ -1,4 +1,6 @@ -var agf = function () { +var agf = +/*#__PURE__*/ +function () { var _ref = _wrapAsyncGenerator( /*#__PURE__*/ regeneratorRuntime.mark(function _callee() { diff --git a/experimental/babel-preset-env/test/fixtures/preset-options/shippedProposals-use-builtins-usage/expected.js b/experimental/babel-preset-env/test/fixtures/preset-options/shippedProposals-use-builtins-usage/expected.js index 1d4d9b0d31..5dd42a4e97 100644 --- a/experimental/babel-preset-env/test/fixtures/preset-options/shippedProposals-use-builtins-usage/expected.js +++ b/experimental/babel-preset-env/test/fixtures/preset-options/shippedProposals-use-builtins-usage/expected.js @@ -8,7 +8,9 @@ require("regenerator-runtime/runtime"); require("core-js/modules/es6.object.assign"); -var agf = function () { +var agf = +/*#__PURE__*/ +function () { var _ref = _wrapAsyncGenerator( /*#__PURE__*/ regeneratorRuntime.mark(function _callee() { diff --git a/experimental/babel-preset-env/test/fixtures/preset-options/shippedProposals/expected.js b/experimental/babel-preset-env/test/fixtures/preset-options/shippedProposals/expected.js index cdab6c526a..9352f132ee 100644 --- a/experimental/babel-preset-env/test/fixtures/preset-options/shippedProposals/expected.js +++ b/experimental/babel-preset-env/test/fixtures/preset-options/shippedProposals/expected.js @@ -1,4 +1,6 @@ -var agf = function () { +var agf = +/*#__PURE__*/ +function () { var _ref = _wrapAsyncGenerator( /*#__PURE__*/ regeneratorRuntime.mark(function _callee() { diff --git a/packages/babel-core/test/fixtures/transformation/misc/regression-2765/expected.js b/packages/babel-core/test/fixtures/transformation/misc/regression-2765/expected.js index 378188fdea..dc0b722317 100644 --- a/packages/babel-core/test/fixtures/transformation/misc/regression-2765/expected.js +++ b/packages/babel-core/test/fixtures/transformation/misc/regression-2765/expected.js @@ -1,7 +1,9 @@ function f() { var _this = this; - let g = function () { + let g = + /*#__PURE__*/ + function () { var _ref = babelHelpers.asyncToGenerator(function* () { _this; }); @@ -17,7 +19,9 @@ class Class { var _this2 = this; return babelHelpers.asyncToGenerator(function* () { - var c = function () { + var c = + /*#__PURE__*/ + function () { var _ref2 = babelHelpers.asyncToGenerator(function* (b) { _this2; }); diff --git a/packages/babel-core/test/fixtures/transformation/misc/regression-2892/expected.js b/packages/babel-core/test/fixtures/transformation/misc/regression-2892/expected.js index 8812134316..58bcf02f3d 100644 --- a/packages/babel-core/test/fixtures/transformation/misc/regression-2892/expected.js +++ b/packages/babel-core/test/fixtures/transformation/misc/regression-2892/expected.js @@ -5,11 +5,15 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = void 0; -var foo = function () { +var foo = +/*#__PURE__*/ +function () { var _ref2 = _asyncToGenerator( /*#__PURE__*/ regeneratorRuntime.mark(function _callee3() { - var bar = function () { + var bar = + /*#__PURE__*/ + function () { var _ref3 = _asyncToGenerator( /*#__PURE__*/ regeneratorRuntime.mark(function _callee2() { diff --git a/packages/babel-helper-remap-async-to-generator/package.json b/packages/babel-helper-remap-async-to-generator/package.json index 2cd1992155..da3e50d37b 100644 --- a/packages/babel-helper-remap-async-to-generator/package.json +++ b/packages/babel-helper-remap-async-to-generator/package.json @@ -6,6 +6,7 @@ "license": "MIT", "main": "lib/index.js", "dependencies": { + "@babel/helper-annotate-as-pure": "7.0.0-beta.31", "@babel/helper-wrap-function": "7.0.0-beta.31", "@babel/template": "7.0.0-beta.31", "@babel/traverse": "7.0.0-beta.31", diff --git a/packages/babel-helper-remap-async-to-generator/src/index.js b/packages/babel-helper-remap-async-to-generator/src/index.js index 786303d2ca..b4b57b465c 100644 --- a/packages/babel-helper-remap-async-to-generator/src/index.js +++ b/packages/babel-helper-remap-async-to-generator/src/index.js @@ -2,6 +2,7 @@ import type { NodePath } from "@babel/traverse"; import wrapFunction from "@babel/helper-wrap-function"; +import annotateAsPure from "@babel/helper-annotate-as-pure"; import * as t from "@babel/types"; import rewriteForAwait from "./for-await"; @@ -71,4 +72,16 @@ export default function(path: NodePath, file: Object, helpers: Object) { path.node.generator = true; wrapFunction(path, helpers.wrapAsync); + + const isProperty = + path.isObjectMethod() || + path.isClassMethod() || + path.parentPath.isObjectProperty() || + path.parentPath.isClassProperty(); + + if (!isProperty) { + annotateAsPure( + path.isDeclaration() ? path.get("declarations.0.init") : path, + ); + } } diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/declaration/expected.js b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/declaration/expected.js index 053ade64f7..234c2b7f39 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/declaration/expected.js +++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/declaration/expected.js @@ -1,4 +1,6 @@ -let agf = (() => { +let agf = +/*#__PURE__*/ +(() => { var _ref = babelHelpers.wrapAsyncGenerator(function* () { this; yield babelHelpers.awaitAsyncGenerator(1); diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/expression/expected.js b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/expression/expected.js index 683d8560b6..be24764972 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/expression/expected.js +++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/expression/expected.js @@ -1,3 +1,4 @@ +/*#__PURE__*/ (() => { var _ref = babelHelpers.wrapAsyncGenerator(function* () { this; diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/yield-star/expected.js b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/yield-star/expected.js index 9869ba4eaa..7a1535121d 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/yield-star/expected.js +++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/yield-star/expected.js @@ -1,4 +1,6 @@ -let g = (() => { +let g = +/*#__PURE__*/ +(() => { var _ref = babelHelpers.wrapAsyncGenerator(function* () { yield* babelHelpers.asyncGeneratorDelegate(babelHelpers.asyncIterator([1, 2, 3]), babelHelpers.awaitAsyncGenerator); yield* babelHelpers.asyncGeneratorDelegate(babelHelpers.asyncIterator(iterable), babelHelpers.awaitAsyncGenerator); diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-arrow/expected.js b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-arrow/expected.js index 0275a80d32..1003e22ca6 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-arrow/expected.js +++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-arrow/expected.js @@ -1,3 +1,4 @@ +/*#__PURE__*/ babelHelpers.asyncToGenerator(function* () { var _iteratorNormalCompletion = true; var _didIteratorError = false; diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-function/expected.js b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-function/expected.js index 9d7f05f58c..c7ee1d7a2b 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-function/expected.js +++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-function/expected.js @@ -1,4 +1,6 @@ -let f = (() => { +let f = +/*#__PURE__*/ +(() => { var _ref = babelHelpers.asyncToGenerator(function* () { var _iteratorNormalCompletion = true; var _didIteratorError = false; diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-generator/expected.js b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-generator/expected.js index 53c10ac020..47aea1b501 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-generator/expected.js +++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-generator/expected.js @@ -1,4 +1,6 @@ -let g = (() => { +let g = +/*#__PURE__*/ +(() => { var _ref = babelHelpers.wrapAsyncGenerator(function* () { var _iteratorNormalCompletion = true; var _didIteratorError = false; diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/destructuring/expected.js b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/destructuring/expected.js index 3593918e67..edfaf0e0a7 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/destructuring/expected.js +++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/destructuring/expected.js @@ -1,4 +1,6 @@ -let f = (() => { +let f = +/*#__PURE__*/ +(() => { var _ref = babelHelpers.asyncToGenerator(function* () { var _iteratorNormalCompletion = true; var _didIteratorError = false; diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/nested/arrows-in-declaration/expected.js b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/nested/arrows-in-declaration/expected.js index 6ef45cf7a6..3e6ef001de 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/nested/arrows-in-declaration/expected.js +++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/nested/arrows-in-declaration/expected.js @@ -1,4 +1,6 @@ -let g = (() => { +let g = +/*#__PURE__*/ +(() => { var _ref = babelHelpers.wrapAsyncGenerator(function* () { var _this = this; @@ -8,6 +10,7 @@ let g = (() => { () => this; } + /*#__PURE__*/ babelHelpers.asyncToGenerator(function* () { _this; yield 1; diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/nested/async-in-params/expected.js b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/nested/async-in-params/expected.js index 9ff237076f..7dc97b6356 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/nested/async-in-params/expected.js +++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/nested/async-in-params/expected.js @@ -1,5 +1,9 @@ -let g = (() => { - var _ref = babelHelpers.wrapAsyncGenerator(function* (x = babelHelpers.asyncToGenerator(function* () { +let g = +/*#__PURE__*/ +(() => { + var _ref = babelHelpers.wrapAsyncGenerator(function* (x = + /*#__PURE__*/ + babelHelpers.asyncToGenerator(function* () { yield 1; })) { yield babelHelpers.awaitAsyncGenerator(2); diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/nested/generator-in-async/expected.js b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/nested/generator-in-async/expected.js index e8cbd0a314..84ee1180ba 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/nested/generator-in-async/expected.js +++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/nested/generator-in-async/expected.js @@ -1,6 +1,10 @@ -let f = (() => { +let f = +/*#__PURE__*/ +(() => { var _ref = babelHelpers.asyncToGenerator(function* () { - let g = (() => { + let g = + /*#__PURE__*/ + (() => { var _ref2 = babelHelpers.wrapAsyncGenerator(function* () { yield babelHelpers.awaitAsyncGenerator(2); yield 3; diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/T7364/expected.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/T7364/expected.js index 864596a22f..1fa6373e31 100644 --- a/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/T7364/expected.js +++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/T7364/expected.js @@ -2,7 +2,9 @@ class MyClass { constructor() { var _this = this; - this.myAsyncMethod = babelHelpers.asyncToGenerator(function* () { + this.myAsyncMethod = + /*#__PURE__*/ + babelHelpers.asyncToGenerator(function* () { console.log(_this); }); } @@ -13,7 +15,9 @@ class MyClass { constructor() { var _this2 = this; - this.myAsyncMethod = babelHelpers.asyncToGenerator(function* () { + this.myAsyncMethod = + /*#__PURE__*/ + babelHelpers.asyncToGenerator(function* () { console.log(_this2); }); } @@ -24,7 +28,9 @@ export default class MyClass3 { constructor() { var _this3 = this; - this.myAsyncMethod = babelHelpers.asyncToGenerator(function* () { + this.myAsyncMethod = + /*#__PURE__*/ + babelHelpers.asyncToGenerator(function* () { console.log(_this3); }); } diff --git a/packages/babel-plugin-proposal-function-sent/test/fixtures/generator-kinds/async-generator/expected.js b/packages/babel-plugin-proposal-function-sent/test/fixtures/generator-kinds/async-generator/expected.js index 79b89a53fa..d0612edad6 100644 --- a/packages/babel-plugin-proposal-function-sent/test/fixtures/generator-kinds/async-generator/expected.js +++ b/packages/babel-plugin-proposal-function-sent/test/fixtures/generator-kinds/async-generator/expected.js @@ -1,4 +1,6 @@ -let foo = (() => { +let foo = +/*#__PURE__*/ +(() => { var _ref = _wrapAsyncGenerator(_skipFirstGeneratorNext(function* () { let _functionSent = yield; diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/async-arrow-in-method/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/async-arrow-in-method/expected.js index abfb5b2745..a968f122c2 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/async-arrow-in-method/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/async-arrow-in-method/expected.js @@ -4,7 +4,9 @@ let TestClass = { testMethodFailure() { var _this = this; - return new Promise((() => { + return new Promise( + /*#__PURE__*/ + (() => { var _ref = babelHelpers.asyncToGenerator(function* (resolve) { console.log(_this); setTimeout(resolve, 1000); diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/async-default-arguments/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/async-default-arguments/expected.js index bb47983df7..a7531fe522 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/async-default-arguments/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/async-default-arguments/expected.js @@ -1,4 +1,6 @@ -let foo = (() => { +let foo = +/*#__PURE__*/ +(() => { var _ref2 = babelHelpers.asyncToGenerator(function* (_ref) { let { a, diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/deeply-nested-asyncs/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/deeply-nested-asyncs/expected.js index 5502095786..bd509cced5 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/deeply-nested-asyncs/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/deeply-nested-asyncs/expected.js @@ -1,4 +1,6 @@ -let s = (() => { +let s = +/*#__PURE__*/ +(() => { var _ref = babelHelpers.asyncToGenerator(function* (x) { var _this = this, _arguments = arguments; @@ -7,9 +9,13 @@ let s = (() => { args[_key - 1] = arguments[_key]; } - let t = (() => { + let t = + /*#__PURE__*/ + (() => { var _ref2 = babelHelpers.asyncToGenerator(function* (y, a) { - let r = (() => { + let r = + /*#__PURE__*/ + (() => { var _ref3 = babelHelpers.asyncToGenerator(function* (z, b) { yield z; diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/expression/actual.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/expression/actual.js index 363ec6d007..aafffcdd22 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/expression/actual.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/expression/actual.js @@ -1,3 +1,10 @@ var foo = async function () { var wat = await bar(); }; + +var foo2 = async function () { + var wat = await bar(); +}, +bar = async function () { + var wat = await foo(); +}; diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/expression/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/expression/expected.js index 5c2bb9e925..4c0a420530 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/expression/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/expression/expected.js @@ -1,4 +1,6 @@ -var foo = (() => { +var foo = +/*#__PURE__*/ +(() => { var _ref = babelHelpers.asyncToGenerator(function* () { var wat = yield bar(); }); @@ -7,3 +9,26 @@ var foo = (() => { return _ref.apply(this, arguments); }; })(); + +var foo2 = +/*#__PURE__*/ +(() => { + var _ref2 = babelHelpers.asyncToGenerator(function* () { + var wat = yield bar(); + }); + + return function foo2() { + return _ref2.apply(this, arguments); + }; +})(), + bar = +/*#__PURE__*/ +(() => { + var _ref3 = babelHelpers.asyncToGenerator(function* () { + var wat = yield foo(); + }); + + return function bar() { + return _ref3.apply(this, arguments); + }; +})(); diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/function-arity/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/function-arity/expected.js index 0449f8295f..8cd704e959 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/function-arity/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/function-arity/expected.js @@ -1,4 +1,6 @@ -let one = (() => { +let one = +/*#__PURE__*/ +(() => { var _ref = babelHelpers.asyncToGenerator(function* (a, b = 1) {}); return function one(_x) { @@ -6,7 +8,9 @@ let one = (() => { }; })(); -let two = (() => { +let two = +/*#__PURE__*/ +(() => { var _ref2 = babelHelpers.asyncToGenerator(function* (a, b, ...c) {}); return function two(_x2, _x3) { @@ -14,7 +18,9 @@ let two = (() => { }; })(); -let three = (() => { +let three = +/*#__PURE__*/ +(() => { var _ref3 = babelHelpers.asyncToGenerator(function* (a, b = 1, c, d = 3) {}); return function three(_x4) { @@ -22,7 +28,9 @@ let three = (() => { }; })(); -let four = (() => { +let four = +/*#__PURE__*/ +(() => { var _ref4 = babelHelpers.asyncToGenerator(function* (a, b = 1, c, ...d) {}); return function four(_x5) { @@ -30,7 +38,9 @@ let four = (() => { }; })(); -let five = (() => { +let five = +/*#__PURE__*/ +(() => { var _ref5 = babelHelpers.asyncToGenerator(function* (a, { b }) {}); @@ -40,7 +50,9 @@ let five = (() => { }; })(); -let six = (() => { +let six = +/*#__PURE__*/ +(() => { var _ref6 = babelHelpers.asyncToGenerator(function* (a, { b } = {}) {}); diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/named-expression/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/named-expression/expected.js index 99cf646175..45f08e31b6 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/named-expression/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/named-expression/expected.js @@ -1,4 +1,6 @@ -var foo = (() => { +var foo = +/*#__PURE__*/ +(() => { var _ref = babelHelpers.asyncToGenerator(function* () { console.log(bar); }); diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/no-parameters-and-no-id/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/no-parameters-and-no-id/expected.js index c2fa8ede7a..438c8979be 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/no-parameters-and-no-id/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/no-parameters-and-no-id/expected.js @@ -1 +1,3 @@ -foo(babelHelpers.asyncToGenerator(function* () {})); +foo( +/*#__PURE__*/ +babelHelpers.asyncToGenerator(function* () {})); diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/object-method-with-arrows/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/object-method-with-arrows/expected.js index 02c1534fc5..abecc94b9d 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/object-method-with-arrows/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/object-method-with-arrows/expected.js @@ -21,6 +21,7 @@ class Class { this; }; + /*#__PURE__*/ babelHelpers.asyncToGenerator(function* () { _this2; }); @@ -36,6 +37,7 @@ class Class { this; }; + /*#__PURE__*/ babelHelpers.asyncToGenerator(function* () { _this3; }); diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/parameters/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/parameters/expected.js index 9d7e9af75c..0a179a1828 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/parameters/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/parameters/expected.js @@ -1,4 +1,6 @@ -let foo = (() => { +let foo = +/*#__PURE__*/ +(() => { var _ref = babelHelpers.asyncToGenerator(function* (bar) {}); return function foo(_x) { diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise-import/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise-import/expected.js index 87fb551984..2a521cbccf 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise-import/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise-import/expected.js @@ -1,4 +1,6 @@ -let foo = (() => { +let foo = +/*#__PURE__*/ +(() => { var _ref = _asyncToGenerator(function* () { yield _Promise.resolve(); }); diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise-nested/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise-nested/expected.js index 4e64ae8af0..09fb47ce45 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise-nested/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise-nested/expected.js @@ -1,6 +1,10 @@ -let foo = (() => { +let foo = +/*#__PURE__*/ +(() => { var _ref = _asyncToGenerator(function* () { - let bar = (() => { + let bar = + /*#__PURE__*/ + (() => { var _ref2 = _asyncToGenerator(function* () { return Promise.resolve(); }); diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise/expected.js index a2d3a2f683..918752422d 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise/expected.js @@ -1,4 +1,6 @@ -let foo = (() => { +let foo = +/*#__PURE__*/ +(() => { var _ref = _asyncToGenerator(function* () { yield new _Promise(resolve => { resolve(); diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/statement/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/statement/expected.js index 6f3c99fa6d..6fbd9be0a4 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/statement/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/statement/expected.js @@ -1,4 +1,6 @@ -let foo = (() => { +let foo = +/*#__PURE__*/ +(() => { var _ref = babelHelpers.asyncToGenerator(function* () { var wat = yield bar(); }); diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/bluebird-coroutines/arrow-function/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/bluebird-coroutines/arrow-function/expected.js index a5e45c929d..bbc2ea7c31 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/bluebird-coroutines/arrow-function/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/bluebird-coroutines/arrow-function/expected.js @@ -1,5 +1,6 @@ var _coroutine = require("bluebird").coroutine; +/*#__PURE__*/ _coroutine(function* () { yield foo(); })(); diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/bluebird-coroutines/expression/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/bluebird-coroutines/expression/expected.js index e347008cbb..e06f01a484 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/bluebird-coroutines/expression/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/bluebird-coroutines/expression/expected.js @@ -1,6 +1,8 @@ var _coroutine = require("bluebird").coroutine; -var foo = (() => { +var foo = +/*#__PURE__*/ +(() => { var _ref = _coroutine(function* () { var wat = yield bar(); }); diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/bluebird-coroutines/named-expression/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/bluebird-coroutines/named-expression/expected.js index d3bfbda8a3..b2d1b1dc2e 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/bluebird-coroutines/named-expression/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/bluebird-coroutines/named-expression/expected.js @@ -1,6 +1,8 @@ var _coroutine = require("bluebird").coroutine; -var foo = (() => { +var foo = +/*#__PURE__*/ +(() => { var _ref = _coroutine(function* () { console.log(bar); }); diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/bluebird-coroutines/statement/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/bluebird-coroutines/statement/expected.js index c5dc8a29ef..f956234a68 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/bluebird-coroutines/statement/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/bluebird-coroutines/statement/expected.js @@ -1,6 +1,8 @@ var _coroutine = require("bluebird").coroutine; -let foo = (() => { +let foo = +/*#__PURE__*/ +(() => { var _ref = _coroutine(function* () { var wat = yield bar(); }); diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/export-async/default-arrow-export/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/export-async/default-arrow-export/expected.js index d35d390792..d14b32505a 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/export-async/default-arrow-export/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/export-async/default-arrow-export/expected.js @@ -5,7 +5,9 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = void 0; -var _default = babelHelpers.asyncToGenerator(function* () { +var _default = +/*#__PURE__*/ +babelHelpers.asyncToGenerator(function* () { return yield foo(); }); diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/export-async/default-export/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/export-async/default-export/expected.js index 1419a69982..567a2c86c7 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/export-async/default-export/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/export-async/default-export/expected.js @@ -6,7 +6,9 @@ Object.defineProperty(exports, "__esModule", { exports.default = void 0; let myFunc = (() => { - var _ref = babelHelpers.asyncToGenerator(function* () {}); + var _ref = babelHelpers.asyncToGenerator( + /*#__PURE__*/ + function* () {}); return function myFunc() { return _ref.apply(this, arguments); diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/export-async/import-and-export/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/export-async/import-and-export/expected.js index 05c71d3b83..bc8e73822e 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/export-async/import-and-export/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/export-async/import-and-export/expected.js @@ -7,7 +7,9 @@ exports.foo = void 0; var _bar = babelHelpers.interopRequireDefault(require("bar")); -let foo = (() => { +let foo = +/*#__PURE__*/ +(() => { var _ref = babelHelpers.asyncToGenerator(function* () {}); return function foo() { diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/export-async/lone-export/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/export-async/lone-export/expected.js index 3a169b53d8..e256ed17d0 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/export-async/lone-export/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/export-async/lone-export/expected.js @@ -5,7 +5,9 @@ Object.defineProperty(exports, "__esModule", { }); exports.foo = void 0; -let foo = (() => { +let foo = +/*#__PURE__*/ +(() => { var _ref = babelHelpers.asyncToGenerator(function* () {}); return function foo() { diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4599/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4599/expected.js index 42522d4b91..3d420eadfd 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4599/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4599/expected.js @@ -1,6 +1,9 @@ +/*#__PURE__*/ babelHelpers.asyncToGenerator(function* () { return yield promise; }); + +/*#__PURE__*/ babelHelpers.asyncToGenerator(function* () { yield promise; }); diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4943/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4943/expected.js index df4c501e14..5b2203b939 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4943/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4943/expected.js @@ -1,6 +1,8 @@ "use strict"; -let foo = (() => { +let foo = +/*#__PURE__*/ +(() => { var _ref = _asyncToGenerator(function* (_ref2) { let a = _ref2.a, _ref2$b = _ref2.b, diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/5880/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/5880/expected.js index f6c0f06d9c..5f2c40ba00 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/5880/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/5880/expected.js @@ -1,3 +1,4 @@ +/*#__PURE__*/ babelHelpers.asyncToGenerator(function* () { var _iteratorNormalCompletion = true; var _didIteratorError = false; diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/T7108/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/T7108/expected.js index b186b03a93..344a4337e2 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/T7108/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/T7108/expected.js @@ -4,7 +4,9 @@ class Test { return babelHelpers.asyncToGenerator(function* () { console.log(_this); - setTimeout(babelHelpers.asyncToGenerator(function* () { + setTimeout( + /*#__PURE__*/ + babelHelpers.asyncToGenerator(function* () { console.log(_this); })); })(); @@ -15,7 +17,9 @@ class Test { return babelHelpers.asyncToGenerator(function* () { console.log(_this2); - setTimeout((() => { + setTimeout( + /*#__PURE__*/ + (() => { var _ref2 = babelHelpers.asyncToGenerator(function* (arg) { console.log(_this2); }); @@ -32,7 +36,9 @@ class Test { return babelHelpers.asyncToGenerator(function* () { console.log(_this3); - setTimeout(babelHelpers.asyncToGenerator(function* () { + setTimeout( + /*#__PURE__*/ + babelHelpers.asyncToGenerator(function* () { console.log(_this3); })); })(); @@ -43,7 +49,9 @@ class Test { return babelHelpers.asyncToGenerator(function* () { console.log(_this4); - setTimeout((() => { + setTimeout( + /*#__PURE__*/ + (() => { var _ref4 = babelHelpers.asyncToGenerator(function* (arg) { console.log(_this4); }); diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/T7194/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/T7194/expected.js index ddbe7bfdcf..42828c1f8b 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/T7194/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/T7194/expected.js @@ -1,5 +1,7 @@ function f() { - g(babelHelpers.asyncToGenerator(function* () { + g( + /*#__PURE__*/ + babelHelpers.asyncToGenerator(function* () { var _this = this; c(function () { @@ -8,6 +10,7 @@ function f() { })); } +/*#__PURE__*/ babelHelpers.asyncToGenerator(function* () { var _this2 = this; diff --git a/packages/babel-plugin-transform-parameters/test/fixtures/parameters/rest-async-arrow-functions/expected.js b/packages/babel-plugin-transform-parameters/test/fixtures/parameters/rest-async-arrow-functions/expected.js index 9ef438e3ba..8b6db36160 100644 --- a/packages/babel-plugin-transform-parameters/test/fixtures/parameters/rest-async-arrow-functions/expected.js +++ b/packages/babel-plugin-transform-parameters/test/fixtures/parameters/rest-async-arrow-functions/expected.js @@ -1,4 +1,6 @@ -var concat = function () { +var concat = +/*#__PURE__*/ +function () { var _ref = babelHelpers.asyncToGenerator(function* () { var x = arguments.length <= 0 ? undefined : arguments[0]; var y = arguments.length <= 1 ? undefined : arguments[1]; @@ -9,7 +11,9 @@ var concat = function () { }; }(); -var x = function () { +var x = +/*#__PURE__*/ +function () { var _ref2 = babelHelpers.asyncToGenerator(function* () { if (noNeedToWork) return 0;