diff --git a/packages/babel-generator/src/generators/methods.ts b/packages/babel-generator/src/generators/methods.ts index 9ebe7a28a2a4..65f6026decf6 100644 --- a/packages/babel-generator/src/generators/methods.ts +++ b/packages/babel-generator/src/generators/methods.ts @@ -11,7 +11,15 @@ export function _params( this._parameters(node.params, node); this.token(")"); - this.print(node.returnType, node); + if (node.returnType) { + if (node.type === "ArrowFunctionExpression") { + this._noLineTerminator = true; + this.print(node.returnType, node); + this._noLineTerminator = false; + } else { + this.print(node.returnType, node); + } + } } export function _parameters( diff --git a/packages/babel-generator/test/fixtures/typescript/types-arrow-return-with-comment/input.js b/packages/babel-generator/test/fixtures/typescript/types-arrow-return-with-comment/input.js new file mode 100644 index 000000000000..90c7f0ce0af3 --- /dev/null +++ b/packages/babel-generator/test/fixtures/typescript/types-arrow-return-with-comment/input.js @@ -0,0 +1 @@ +export default (): void /* hi! */ => {}; diff --git a/packages/babel-generator/test/fixtures/typescript/types-arrow-return-with-comment/output.js b/packages/babel-generator/test/fixtures/typescript/types-arrow-return-with-comment/output.js new file mode 100644 index 000000000000..e1d2b72d2f49 --- /dev/null +++ b/packages/babel-generator/test/fixtures/typescript/types-arrow-return-with-comment/output.js @@ -0,0 +1 @@ +export default ((): void /* hi! */ => {}); \ No newline at end of file