From 6029252bec3e9c091d7cf8ff0b10b4c92953ca5f Mon Sep 17 00:00:00 2001 From: overlookmotel Date: Thu, 7 Oct 2021 22:34:12 +0100 Subject: [PATCH] Fix missing inner comments in function expressions (#13825) --- packages/babel-generator/src/generators/methods.ts | 1 + .../test/fixtures/comments/function-inner-comment/input.js | 7 +++++++ .../fixtures/comments/function-inner-comment/options.json | 3 +++ .../fixtures/comments/function-inner-comment/output.js | 7 +++++++ 4 files changed, 18 insertions(+) create mode 100644 packages/babel-generator/test/fixtures/comments/function-inner-comment/input.js create mode 100644 packages/babel-generator/test/fixtures/comments/function-inner-comment/options.json create mode 100644 packages/babel-generator/test/fixtures/comments/function-inner-comment/output.js diff --git a/packages/babel-generator/src/generators/methods.ts b/packages/babel-generator/src/generators/methods.ts index ad3c6287fa..8a5d7ad9aa 100644 --- a/packages/babel-generator/src/generators/methods.ts +++ b/packages/babel-generator/src/generators/methods.ts @@ -84,6 +84,7 @@ export function _functionHead(this: Printer, node: any) { } this.word("function"); if (node.generator) this.token("*"); + this.printInnerComments(node); this.space(); if (node.id) { diff --git a/packages/babel-generator/test/fixtures/comments/function-inner-comment/input.js b/packages/babel-generator/test/fixtures/comments/function-inner-comment/input.js new file mode 100644 index 0000000000..f738be6325 --- /dev/null +++ b/packages/babel-generator/test/fixtures/comments/function-inner-comment/input.js @@ -0,0 +1,7 @@ +const f = function /*foo*/ () {}; +const g = async function /*foo*/ () {}; +const h = async /*foo*/ function () {}; +const i = function* /*foo*/ () {}; +const j = function/*foo*/* () {}; +const k = async function* /*foo*/ () {}; +const l = function (/*foo*/) {}; diff --git a/packages/babel-generator/test/fixtures/comments/function-inner-comment/options.json b/packages/babel-generator/test/fixtures/comments/function-inner-comment/options.json new file mode 100644 index 0000000000..97925bbcb6 --- /dev/null +++ b/packages/babel-generator/test/fixtures/comments/function-inner-comment/options.json @@ -0,0 +1,3 @@ +{ + "retainLines": true +} diff --git a/packages/babel-generator/test/fixtures/comments/function-inner-comment/output.js b/packages/babel-generator/test/fixtures/comments/function-inner-comment/output.js new file mode 100644 index 0000000000..ac7dc075eb --- /dev/null +++ b/packages/babel-generator/test/fixtures/comments/function-inner-comment/output.js @@ -0,0 +1,7 @@ +const f = function /*foo*/ () {}; +const g = async function /*foo*/ () {}; +const h = async function /*foo*/ () {}; +const i = function* /*foo*/ () {}; +const j = function* /*foo*/ () {}; +const k = async function* /*foo*/ () {}; +const l = function /*foo*/ () {};