From 1286200712659eb68c2d347a29c579103582d0e9 Mon Sep 17 00:00:00 2001 From: kpdecker Date: Fri, 13 Nov 2015 14:11:45 -0600 Subject: [PATCH] Output auxiliaryCommentAfter before trail comment Quick fix for the case where generated comment is the terminal leaf in a subtree that is followed by a trailing comment. Partial for #3034 --- packages/babel-generator/src/printer.js | 3 +++ .../test/fixtures/auxiliary-comment/overview/actual.js | 4 +++- .../test/fixtures/auxiliary-comment/overview/expected.js | 7 ++++--- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/babel-generator/src/printer.js b/packages/babel-generator/src/printer.js index 4b6d1268af..6aa754e1f4 100644 --- a/packages/babel-generator/src/printer.js +++ b/packages/babel-generator/src/printer.js @@ -48,6 +48,9 @@ export default class Printer extends Buffer { this._print(node, parent); + // Check again if any of our children may have left an aux comment on the stack + if (node.loc) this.printAuxAfterComment(); + this.printTrailingComments(node, parent); if (needsParens) this.push(")"); diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/auxiliary-comment/overview/actual.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/auxiliary-comment/overview/actual.js index 3b32cd0941..df37d9e5a5 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/auxiliary-comment/overview/actual.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/auxiliary-comment/overview/actual.js @@ -9,6 +9,8 @@ import {foo as bar2} from "foo5"; export {test}; export var test = 5; -bar; +bar(foo); + +/* my comment */ bar2; foo; diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/auxiliary-comment/overview/expected.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/auxiliary-comment/overview/expected.js index 29633a5382..c7b4852b07 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/auxiliary-comment/overview/expected.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/auxiliary-comment/overview/expected.js @@ -26,7 +26,8 @@ var _foo5 = require("foo5"); exports. /*after*/test = test; var test = /*before*/exports. /*after*/test = 5; -/*before*/_foo4. /*after*/bar; +/*before*/(0, _foo4. /*after*/bar)( /*before*/_foo2.default) /*after*/; + +/* my comment */ /*before*/_foo5. /*after*/foo; -/*before*/_foo2.default; -/*after*/ +/*before*/_foo2.default; /*after*/