From 98bb66ce67aa997a41e5351597fbfa09f7a608e2 Mon Sep 17 00:00:00 2001 From: Yokubjon-J Date: Fri, 25 Mar 2022 02:25:53 +0500 Subject: [PATCH 1/9] test added --- .../transform-class-keys/babel.config.json | 7 +++++++ .../transform-class-keys/input.js | 9 +++++++++ .../transform-class-keys/output.js | 18 ++++++++++++++++++ .../helpers/esm/possibleConstructorReturn.js | 2 +- .../helpers/possibleConstructorReturn.js | 2 +- .../helpers/esm/possibleConstructorReturn.js | 2 +- .../helpers/possibleConstructorReturn.js | 2 +- .../helpers/esm/possibleConstructorReturn.js | 2 +- .../helpers/possibleConstructorReturn.js | 2 +- 9 files changed, 40 insertions(+), 6 deletions(-) create mode 100644 packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/babel.config.json create mode 100644 packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/input.js create mode 100644 packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/output.js diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/babel.config.json b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/babel.config.json new file mode 100644 index 000000000000..7da9d042f825 --- /dev/null +++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/babel.config.json @@ -0,0 +1,7 @@ +{ + "sourceType": "unambiguous", + "presets": ["@babel/preset-env"], + "plugins": [ + "@babel/plugin-transform-runtime" + ] +} \ No newline at end of file diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/input.js b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/input.js new file mode 100644 index 000000000000..e60f3a0bd9fe --- /dev/null +++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/input.js @@ -0,0 +1,9 @@ +async function* fn() { + class A { + [yield 1]() {} + } + + class B extends A { + [await 1]() {} + } +} \ No newline at end of file diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/output.js b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/output.js new file mode 100644 index 000000000000..88fe23f2c71d --- /dev/null +++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/output.js @@ -0,0 +1,18 @@ +function fn() { + return _fn.apply(this, arguments); +} + +function _fn() { + _fn = babelHelpers.wrapAsyncGenerator(function* () { + class A { + [yield 1]() {} + + } + + class B extends A { + [await 1]() {} + + } + }); + return _fn.apply(this, arguments); +} diff --git a/packages/babel-runtime-corejs2/helpers/esm/possibleConstructorReturn.js b/packages/babel-runtime-corejs2/helpers/esm/possibleConstructorReturn.js index 56d554457e8d..d310ac2c7837 100644 --- a/packages/babel-runtime-corejs2/helpers/esm/possibleConstructorReturn.js +++ b/packages/babel-runtime-corejs2/helpers/esm/possibleConstructorReturn.js @@ -1,4 +1,4 @@ -import _typeof from "./typeof.js"; +import _typeof from "@babel/runtime-corejs2/helpers/typeof"; import assertThisInitialized from "./assertThisInitialized.js"; export default function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { diff --git a/packages/babel-runtime-corejs2/helpers/possibleConstructorReturn.js b/packages/babel-runtime-corejs2/helpers/possibleConstructorReturn.js index e1997be41941..69434a9da86a 100644 --- a/packages/babel-runtime-corejs2/helpers/possibleConstructorReturn.js +++ b/packages/babel-runtime-corejs2/helpers/possibleConstructorReturn.js @@ -1,4 +1,4 @@ -var _typeof = require("./typeof.js")["default"]; +var _typeof = require("@babel/runtime-corejs2/helpers/typeof")["default"]; var assertThisInitialized = require("./assertThisInitialized.js"); diff --git a/packages/babel-runtime-corejs3/helpers/esm/possibleConstructorReturn.js b/packages/babel-runtime-corejs3/helpers/esm/possibleConstructorReturn.js index 56d554457e8d..51d122c2557d 100644 --- a/packages/babel-runtime-corejs3/helpers/esm/possibleConstructorReturn.js +++ b/packages/babel-runtime-corejs3/helpers/esm/possibleConstructorReturn.js @@ -1,4 +1,4 @@ -import _typeof from "./typeof.js"; +import _typeof from "@babel/runtime-corejs3/helpers/typeof"; import assertThisInitialized from "./assertThisInitialized.js"; export default function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { diff --git a/packages/babel-runtime-corejs3/helpers/possibleConstructorReturn.js b/packages/babel-runtime-corejs3/helpers/possibleConstructorReturn.js index e1997be41941..9a2f6faccecf 100644 --- a/packages/babel-runtime-corejs3/helpers/possibleConstructorReturn.js +++ b/packages/babel-runtime-corejs3/helpers/possibleConstructorReturn.js @@ -1,4 +1,4 @@ -var _typeof = require("./typeof.js")["default"]; +var _typeof = require("@babel/runtime-corejs3/helpers/typeof")["default"]; var assertThisInitialized = require("./assertThisInitialized.js"); diff --git a/packages/babel-runtime/helpers/esm/possibleConstructorReturn.js b/packages/babel-runtime/helpers/esm/possibleConstructorReturn.js index 56d554457e8d..8566e115778a 100644 --- a/packages/babel-runtime/helpers/esm/possibleConstructorReturn.js +++ b/packages/babel-runtime/helpers/esm/possibleConstructorReturn.js @@ -1,4 +1,4 @@ -import _typeof from "./typeof.js"; +import _typeof from "@babel/runtime/helpers/typeof"; import assertThisInitialized from "./assertThisInitialized.js"; export default function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { diff --git a/packages/babel-runtime/helpers/possibleConstructorReturn.js b/packages/babel-runtime/helpers/possibleConstructorReturn.js index e1997be41941..ba95ae43504e 100644 --- a/packages/babel-runtime/helpers/possibleConstructorReturn.js +++ b/packages/babel-runtime/helpers/possibleConstructorReturn.js @@ -1,4 +1,4 @@ -var _typeof = require("./typeof.js")["default"]; +var _typeof = require("@babel/runtime/helpers/typeof")["default"]; var assertThisInitialized = require("./assertThisInitialized.js"); From 31cf83cbc6f0269cdd64066040928e112d31ad8e Mon Sep 17 00:00:00 2001 From: Yokubjon-J Date: Fri, 25 Mar 2022 02:39:15 +0500 Subject: [PATCH 2/9] import correct tests --- .../helpers/esm/possibleConstructorReturn.js | 2 +- .../babel-runtime-corejs2/helpers/possibleConstructorReturn.js | 2 +- .../helpers/esm/possibleConstructorReturn.js | 2 +- .../babel-runtime-corejs3/helpers/possibleConstructorReturn.js | 2 +- packages/babel-runtime/helpers/esm/possibleConstructorReturn.js | 2 +- packages/babel-runtime/helpers/possibleConstructorReturn.js | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/babel-runtime-corejs2/helpers/esm/possibleConstructorReturn.js b/packages/babel-runtime-corejs2/helpers/esm/possibleConstructorReturn.js index d310ac2c7837..56d554457e8d 100644 --- a/packages/babel-runtime-corejs2/helpers/esm/possibleConstructorReturn.js +++ b/packages/babel-runtime-corejs2/helpers/esm/possibleConstructorReturn.js @@ -1,4 +1,4 @@ -import _typeof from "@babel/runtime-corejs2/helpers/typeof"; +import _typeof from "./typeof.js"; import assertThisInitialized from "./assertThisInitialized.js"; export default function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { diff --git a/packages/babel-runtime-corejs2/helpers/possibleConstructorReturn.js b/packages/babel-runtime-corejs2/helpers/possibleConstructorReturn.js index 69434a9da86a..e1997be41941 100644 --- a/packages/babel-runtime-corejs2/helpers/possibleConstructorReturn.js +++ b/packages/babel-runtime-corejs2/helpers/possibleConstructorReturn.js @@ -1,4 +1,4 @@ -var _typeof = require("@babel/runtime-corejs2/helpers/typeof")["default"]; +var _typeof = require("./typeof.js")["default"]; var assertThisInitialized = require("./assertThisInitialized.js"); diff --git a/packages/babel-runtime-corejs3/helpers/esm/possibleConstructorReturn.js b/packages/babel-runtime-corejs3/helpers/esm/possibleConstructorReturn.js index 51d122c2557d..56d554457e8d 100644 --- a/packages/babel-runtime-corejs3/helpers/esm/possibleConstructorReturn.js +++ b/packages/babel-runtime-corejs3/helpers/esm/possibleConstructorReturn.js @@ -1,4 +1,4 @@ -import _typeof from "@babel/runtime-corejs3/helpers/typeof"; +import _typeof from "./typeof.js"; import assertThisInitialized from "./assertThisInitialized.js"; export default function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { diff --git a/packages/babel-runtime-corejs3/helpers/possibleConstructorReturn.js b/packages/babel-runtime-corejs3/helpers/possibleConstructorReturn.js index 9a2f6faccecf..e1997be41941 100644 --- a/packages/babel-runtime-corejs3/helpers/possibleConstructorReturn.js +++ b/packages/babel-runtime-corejs3/helpers/possibleConstructorReturn.js @@ -1,4 +1,4 @@ -var _typeof = require("@babel/runtime-corejs3/helpers/typeof")["default"]; +var _typeof = require("./typeof.js")["default"]; var assertThisInitialized = require("./assertThisInitialized.js"); diff --git a/packages/babel-runtime/helpers/esm/possibleConstructorReturn.js b/packages/babel-runtime/helpers/esm/possibleConstructorReturn.js index 8566e115778a..56d554457e8d 100644 --- a/packages/babel-runtime/helpers/esm/possibleConstructorReturn.js +++ b/packages/babel-runtime/helpers/esm/possibleConstructorReturn.js @@ -1,4 +1,4 @@ -import _typeof from "@babel/runtime/helpers/typeof"; +import _typeof from "./typeof.js"; import assertThisInitialized from "./assertThisInitialized.js"; export default function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { diff --git a/packages/babel-runtime/helpers/possibleConstructorReturn.js b/packages/babel-runtime/helpers/possibleConstructorReturn.js index ba95ae43504e..e1997be41941 100644 --- a/packages/babel-runtime/helpers/possibleConstructorReturn.js +++ b/packages/babel-runtime/helpers/possibleConstructorReturn.js @@ -1,4 +1,4 @@ -var _typeof = require("@babel/runtime/helpers/typeof")["default"]; +var _typeof = require("./typeof.js")["default"]; var assertThisInitialized = require("./assertThisInitialized.js"); From 1341c760bca2c3e6f3a53734b67526c80d5d5135 Mon Sep 17 00:00:00 2001 From: Yokubjon-J Date: Fri, 25 Mar 2022 03:12:53 +0500 Subject: [PATCH 3/9] config file simplified MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Nicolò Ribaudo --- .../async-generators/transform-class-keys/babel.config.json | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/babel.config.json b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/babel.config.json index 7da9d042f825..90a4a0981b00 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/babel.config.json +++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/babel.config.json @@ -1,7 +1,3 @@ { - "sourceType": "unambiguous", - "presets": ["@babel/preset-env"], - "plugins": [ - "@babel/plugin-transform-runtime" - ] + "plugins": ["proposal-async-generator-functions"] } \ No newline at end of file From cad4911722e05ef876c9b47fdf3539af1ff50091 Mon Sep 17 00:00:00 2001 From: Yokubjon-J Date: Sun, 27 Mar 2022 23:42:01 +0500 Subject: [PATCH 4/9] environmentVisitor merged but issue still persists --- .../package.json | 4 +- .../src/index.ts | 35 ++++---- .../package.json | 3 +- .../src/index.ts | 90 ++++++++++--------- 4 files changed, 73 insertions(+), 59 deletions(-) diff --git a/packages/babel-helper-remap-async-to-generator/package.json b/packages/babel-helper-remap-async-to-generator/package.json index e0946d241a4d..52eba1b5fe5a 100644 --- a/packages/babel-helper-remap-async-to-generator/package.json +++ b/packages/babel-helper-remap-async-to-generator/package.json @@ -16,7 +16,9 @@ "dependencies": { "@babel/helper-annotate-as-pure": "workspace:^", "@babel/helper-wrap-function": "workspace:^", - "@babel/types": "workspace:^" + "@babel/helper-environment-visitor":"workspace:^", + "@babel/types": "workspace:^", + "@babel/core":"workspace:^" }, "devDependencies": { "@babel/traverse": "workspace:^" diff --git a/packages/babel-helper-remap-async-to-generator/src/index.ts b/packages/babel-helper-remap-async-to-generator/src/index.ts index d15b95842791..bf5a6f6982c3 100644 --- a/packages/babel-helper-remap-async-to-generator/src/index.ts +++ b/packages/babel-helper-remap-async-to-generator/src/index.ts @@ -1,8 +1,10 @@ /* @noflow */ -import type { NodePath, Visitor } from "@babel/traverse"; +import type { NodePath } from "@babel/traverse"; import wrapFunction from "@babel/helper-wrap-function"; import annotateAsPure from "@babel/helper-annotate-as-pure"; +import environmentVisitor from "@babel/helper-environment-visitor"; +import { traverse } from "@babel/core"; import { callExpression, cloneNode, @@ -12,23 +14,26 @@ import { } from "@babel/types"; import type * as t from "@babel/types"; -const awaitVisitor: Visitor<{ wrapAwait: t.Expression }> = { - Function(path) { - path.skip(); - }, +const awaitVisitor = traverse.visitors.merge<{ wrapAwait: t.Expression }>([ + { + Function(path) { + path.skip(); + }, - AwaitExpression(path, { wrapAwait }) { - const argument = path.get("argument"); + AwaitExpression(path, { wrapAwait }) { + const argument = path.get("argument"); - path.replaceWith( - yieldExpression( - wrapAwait - ? callExpression(cloneNode(wrapAwait), [argument.node]) - : argument.node, - ), - ); + path.replaceWith( + yieldExpression( + wrapAwait + ? callExpression(cloneNode(wrapAwait), [argument.node]) + : argument.node, + ), + ); + }, }, -}; + environmentVisitor, +]); export default function ( path: NodePath, diff --git a/packages/babel-plugin-proposal-async-generator-functions/package.json b/packages/babel-plugin-proposal-async-generator-functions/package.json index cb0df7bbe0cc..bdf1210c7dc5 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/package.json +++ b/packages/babel-plugin-proposal-async-generator-functions/package.json @@ -19,7 +19,8 @@ "dependencies": { "@babel/helper-plugin-utils": "workspace:^", "@babel/helper-remap-async-to-generator": "workspace:^", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/helper-environment-visitor":"workspace:^" }, "peerDependencies": { "@babel/core": "^7.0.0-0" diff --git a/packages/babel-plugin-proposal-async-generator-functions/src/index.ts b/packages/babel-plugin-proposal-async-generator-functions/src/index.ts index b9cc7734baf2..5a20093f56e2 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/src/index.ts +++ b/packages/babel-plugin-proposal-async-generator-functions/src/index.ts @@ -1,66 +1,72 @@ import { declare } from "@babel/helper-plugin-utils"; import remapAsyncToGenerator from "@babel/helper-remap-async-to-generator"; import syntaxAsyncGenerators from "@babel/plugin-syntax-async-generators"; -import { types as t } from "@babel/core"; -import type { PluginPass } from "@babel/core"; import type { NodePath, Visitor } from "@babel/traverse"; +import { traverse, types as t, type PluginPass } from "@babel/core"; import rewriteForAwait from "./for-await"; +import environmentVisitor from "@babel/helper-environment-visitor"; export default declare(api => { api.assertVersion(7); - const yieldStarVisitor: Visitor = { - Function(path) { - path.skip(); - }, + const yieldStarVisitor = traverse.visitors.merge([ + { + Function(path) { + path.skip(); + }, - YieldExpression({ node }, state) { - if (!node.delegate) return; - const callee = state.addHelper("asyncGeneratorDelegate"); - node.argument = t.callExpression(callee, [ - t.callExpression(state.addHelper("asyncIterator"), [node.argument]), - state.addHelper("awaitAsyncGenerator"), - ]); + YieldExpression({ node }, state) { + if (!node.delegate) return; + const callee = state.addHelper("asyncGeneratorDelegate"); + node.argument = t.callExpression(callee, [ + t.callExpression(state.addHelper("asyncIterator"), [node.argument]), + state.addHelper("awaitAsyncGenerator"), + ]); + }, }, - }; + environmentVisitor, + ]); - const forAwaitVisitor: Visitor = { - Function(path) { - path.skip(); - }, + const forAwaitVisitor = traverse.visitors.merge([ + { + Function(path) { + path.skip(); + }, - ForOfStatement(path: NodePath, { file }) { - const { node } = path; - if (!node.await) return; + ForOfStatement(path: NodePath, { file }) { + const { node } = path; + if (!node.await) return; - const build = rewriteForAwait(path, { - getAsyncIterator: file.addHelper("asyncIterator"), - }); + const build = rewriteForAwait(path, { + getAsyncIterator: file.addHelper("asyncIterator"), + }); - const { declar, loop } = build; - const block = loop.body as t.BlockStatement; + const { declar, loop } = build; + const block = loop.body as t.BlockStatement; - // ensure that it's a block so we can take all its statements - path.ensureBlock(); + // ensure that it's a block so we can take all its statements + path.ensureBlock(); - // add the value declaration to the new loop body - if (declar) { - block.body.push(declar); - } + // add the value declaration to the new loop body + if (declar) { + block.body.push(declar); + } - // push the rest of the original loop body onto our new body - block.body.push(...path.node.body.body); + // push the rest of the original loop body onto our new body + block.body.push(...path.node.body.body); - t.inherits(loop, node); - t.inherits(loop.body, node.body); + t.inherits(loop, node); + t.inherits(loop.body, node.body); - if (build.replaceParent) { - path.parentPath.replaceWithMultiple(build.node); - } else { - path.replaceWithMultiple(build.node); - } + if (build.replaceParent) { + path.parentPath.replaceWithMultiple(build.node); + } else { + path.replaceWithMultiple(build.node); + } + }, }, - }; + environmentVisitor, + ]); const visitor: Visitor = { Function(path, state) { From 03fd7d28aa021448e1de94c77d89af9b8c01198d Mon Sep 17 00:00:00 2001 From: Yokubjon-J Date: Tue, 21 Jun 2022 12:13:57 +0500 Subject: [PATCH 5/9] <> is run --- packages/babel-helper-remap-async-to-generator/package.json | 6 +++--- .../package.json | 4 ++-- yarn.lock | 3 +++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/babel-helper-remap-async-to-generator/package.json b/packages/babel-helper-remap-async-to-generator/package.json index 52eba1b5fe5a..84b796908bb3 100644 --- a/packages/babel-helper-remap-async-to-generator/package.json +++ b/packages/babel-helper-remap-async-to-generator/package.json @@ -14,11 +14,11 @@ }, "main": "./lib/index.js", "dependencies": { + "@babel/core": "workspace:^", "@babel/helper-annotate-as-pure": "workspace:^", + "@babel/helper-environment-visitor": "workspace:^", "@babel/helper-wrap-function": "workspace:^", - "@babel/helper-environment-visitor":"workspace:^", - "@babel/types": "workspace:^", - "@babel/core":"workspace:^" + "@babel/types": "workspace:^" }, "devDependencies": { "@babel/traverse": "workspace:^" diff --git a/packages/babel-plugin-proposal-async-generator-functions/package.json b/packages/babel-plugin-proposal-async-generator-functions/package.json index bdf1210c7dc5..0b665ee4c529 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/package.json +++ b/packages/babel-plugin-proposal-async-generator-functions/package.json @@ -17,10 +17,10 @@ "babel-plugin" ], "dependencies": { + "@babel/helper-environment-visitor": "workspace:^", "@babel/helper-plugin-utils": "workspace:^", "@babel/helper-remap-async-to-generator": "workspace:^", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/helper-environment-visitor":"workspace:^" + "@babel/plugin-syntax-async-generators": "^7.8.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" diff --git a/yarn.lock b/yarn.lock index 7de9a3584102..13a8b5fd7f75 100644 --- a/yarn.lock +++ b/yarn.lock @@ -856,7 +856,9 @@ __metadata: version: 0.0.0-use.local resolution: "@babel/helper-remap-async-to-generator@workspace:packages/babel-helper-remap-async-to-generator" dependencies: + "@babel/core": "workspace:^" "@babel/helper-annotate-as-pure": "workspace:^" + "@babel/helper-environment-visitor": "workspace:^" "@babel/helper-wrap-function": "workspace:^" "@babel/traverse": "workspace:^" "@babel/types": "workspace:^" @@ -1225,6 +1227,7 @@ __metadata: resolution: "@babel/plugin-proposal-async-generator-functions@workspace:packages/babel-plugin-proposal-async-generator-functions" dependencies: "@babel/core": "workspace:^" + "@babel/helper-environment-visitor": "workspace:^" "@babel/helper-plugin-test-runner": "workspace:^" "@babel/helper-plugin-utils": "workspace:^" "@babel/helper-remap-async-to-generator": "workspace:^" From a09420315b5872eb1cb65dc072fd536d402b1274 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Thu, 23 Jun 2022 17:46:23 +0200 Subject: [PATCH 6/9] Rename test file --- .../transform-class-keys/{babel.config.json => options.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/{babel.config.json => options.json} (100%) diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/babel.config.json b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/options.json similarity index 100% rename from packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/babel.config.json rename to packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/options.json From 927c9234a3abdd0bc0982b08c3e9a9ec0ea091e1 Mon Sep 17 00:00:00 2001 From: Yokubjon-J Date: Sat, 25 Jun 2022 17:00:03 +0500 Subject: [PATCH 7/9] peerDependencies added, path.skip() removed and ArrowFunctionExpression skip added --- .../babel-helper-remap-async-to-generator/package.json | 4 +++- .../babel-helper-remap-async-to-generator/src/index.ts | 4 +++- .../src/index.ts | 8 ++++++-- .../async-generators/transform-class-keys/output.js | 2 +- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/packages/babel-helper-remap-async-to-generator/package.json b/packages/babel-helper-remap-async-to-generator/package.json index 84b796908bb3..262eda14a768 100644 --- a/packages/babel-helper-remap-async-to-generator/package.json +++ b/packages/babel-helper-remap-async-to-generator/package.json @@ -14,7 +14,6 @@ }, "main": "./lib/index.js", "dependencies": { - "@babel/core": "workspace:^", "@babel/helper-annotate-as-pure": "workspace:^", "@babel/helper-environment-visitor": "workspace:^", "@babel/helper-wrap-function": "workspace:^", @@ -23,6 +22,9 @@ "devDependencies": { "@babel/traverse": "workspace:^" }, + "peerDependencies": { + "@babel/core":"workspace:^" + }, "engines": { "node": ">=6.9.0" }, diff --git a/packages/babel-helper-remap-async-to-generator/src/index.ts b/packages/babel-helper-remap-async-to-generator/src/index.ts index bf5a6f6982c3..5bafa3820fd2 100644 --- a/packages/babel-helper-remap-async-to-generator/src/index.ts +++ b/packages/babel-helper-remap-async-to-generator/src/index.ts @@ -17,7 +17,9 @@ import type * as t from "@babel/types"; const awaitVisitor = traverse.visitors.merge<{ wrapAwait: t.Expression }>([ { Function(path) { - path.skip(); + if (path.isArrowFunctionExpression()) { + path.skip(); + } }, AwaitExpression(path, { wrapAwait }) { diff --git a/packages/babel-plugin-proposal-async-generator-functions/src/index.ts b/packages/babel-plugin-proposal-async-generator-functions/src/index.ts index 5a20093f56e2..84668b624171 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/src/index.ts +++ b/packages/babel-plugin-proposal-async-generator-functions/src/index.ts @@ -12,7 +12,9 @@ export default declare(api => { const yieldStarVisitor = traverse.visitors.merge([ { Function(path) { - path.skip(); + if (path.isArrowFunctionExpression()) { + path.skip(); + } }, YieldExpression({ node }, state) { @@ -30,7 +32,9 @@ export default declare(api => { const forAwaitVisitor = traverse.visitors.merge([ { Function(path) { - path.skip(); + if (path.isArrowFunctionExpression()) { + path.skip(); + } }, ForOfStatement(path: NodePath, { file }) { diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/output.js b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/output.js index 88fe23f2c71d..037bd06072ef 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/output.js +++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/async-generators/transform-class-keys/output.js @@ -10,7 +10,7 @@ function _fn() { } class B extends A { - [await 1]() {} + [yield babelHelpers.awaitAsyncGenerator(1)]() {} } }); From 5955db2356d8d3198d2003b0b8820264b83f4d9b Mon Sep 17 00:00:00 2001 From: Yokubjon-J Date: Sat, 25 Jun 2022 18:55:37 +0500 Subject: [PATCH 8/9] Update packages/babel-plugin-proposal-async-generator-functions/src/index.ts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Nicolò Ribaudo --- .../src/index.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/babel-plugin-proposal-async-generator-functions/src/index.ts b/packages/babel-plugin-proposal-async-generator-functions/src/index.ts index 84668b624171..5502b105f451 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/src/index.ts +++ b/packages/babel-plugin-proposal-async-generator-functions/src/index.ts @@ -11,10 +11,8 @@ export default declare(api => { const yieldStarVisitor = traverse.visitors.merge([ { - Function(path) { - if (path.isArrowFunctionExpression()) { - path.skip(); - } + ArrowFunctionExpression(path) { + path.skip(); }, YieldExpression({ node }, state) { From ba429e847e1ad31a45016bfb94a9f020a6d145f1 Mon Sep 17 00:00:00 2001 From: Yokubjon-J Date: Sat, 25 Jun 2022 20:09:52 +0500 Subject: [PATCH 9/9] modified yarn.lock --- packages/babel-helper-remap-async-to-generator/package.json | 2 +- packages/babel-helper-remap-async-to-generator/src/index.ts | 6 ++---- .../src/index.ts | 6 ++---- yarn.lock | 3 ++- 4 files changed, 7 insertions(+), 10 deletions(-) diff --git a/packages/babel-helper-remap-async-to-generator/package.json b/packages/babel-helper-remap-async-to-generator/package.json index 262eda14a768..6afec5e141b8 100644 --- a/packages/babel-helper-remap-async-to-generator/package.json +++ b/packages/babel-helper-remap-async-to-generator/package.json @@ -23,7 +23,7 @@ "@babel/traverse": "workspace:^" }, "peerDependencies": { - "@babel/core":"workspace:^" + "@babel/core": "workspace:^" }, "engines": { "node": ">=6.9.0" diff --git a/packages/babel-helper-remap-async-to-generator/src/index.ts b/packages/babel-helper-remap-async-to-generator/src/index.ts index 5bafa3820fd2..876372f6110c 100644 --- a/packages/babel-helper-remap-async-to-generator/src/index.ts +++ b/packages/babel-helper-remap-async-to-generator/src/index.ts @@ -16,10 +16,8 @@ import type * as t from "@babel/types"; const awaitVisitor = traverse.visitors.merge<{ wrapAwait: t.Expression }>([ { - Function(path) { - if (path.isArrowFunctionExpression()) { - path.skip(); - } + ArrowFunctionExpression(path) { + path.skip(); }, AwaitExpression(path, { wrapAwait }) { diff --git a/packages/babel-plugin-proposal-async-generator-functions/src/index.ts b/packages/babel-plugin-proposal-async-generator-functions/src/index.ts index 5502b105f451..c732072554de 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/src/index.ts +++ b/packages/babel-plugin-proposal-async-generator-functions/src/index.ts @@ -29,10 +29,8 @@ export default declare(api => { const forAwaitVisitor = traverse.visitors.merge([ { - Function(path) { - if (path.isArrowFunctionExpression()) { - path.skip(); - } + ArrowFunctionExpression(path) { + path.skip(); }, ForOfStatement(path: NodePath, { file }) { diff --git a/yarn.lock b/yarn.lock index 13a8b5fd7f75..4296215bd9ef 100644 --- a/yarn.lock +++ b/yarn.lock @@ -856,12 +856,13 @@ __metadata: version: 0.0.0-use.local resolution: "@babel/helper-remap-async-to-generator@workspace:packages/babel-helper-remap-async-to-generator" dependencies: - "@babel/core": "workspace:^" "@babel/helper-annotate-as-pure": "workspace:^" "@babel/helper-environment-visitor": "workspace:^" "@babel/helper-wrap-function": "workspace:^" "@babel/traverse": "workspace:^" "@babel/types": "workspace:^" + peerDependencies: + "@babel/core": "workspace:^" languageName: unknown linkType: soft