diff --git a/packages/babel-generator/src/generators/base.js b/packages/babel-generator/src/generators/base.js index d291683b6b..a7d1bd35b2 100644 --- a/packages/babel-generator/src/generators/base.js +++ b/packages/babel-generator/src/generators/base.js @@ -24,6 +24,9 @@ export function BlockStatement(node: Object) { this.removeTrailingNewline(); this.source("end", node.loc); + + if (!this.endsWith("\n")) this.newline(); + this.rightBrace(); } else { this.source("end", node.loc); diff --git a/packages/babel-generator/src/generators/classes.js b/packages/babel-generator/src/generators/classes.js index f7b75a321e..841473324a 100644 --- a/packages/babel-generator/src/generators/classes.js +++ b/packages/babel-generator/src/generators/classes.js @@ -42,6 +42,8 @@ export function ClassBody(node: Object) { this.printSequence(node.body, node); this.dedent(); + if (!this.endsWith("\n")) this.newline(); + this.rightBrace(); } } diff --git a/packages/babel-generator/src/printer.js b/packages/babel-generator/src/printer.js index 14139c2d16..facf0fb4c0 100644 --- a/packages/babel-generator/src/printer.js +++ b/packages/babel-generator/src/printer.js @@ -76,8 +76,6 @@ export default class Printer { */ rightBrace(): void { - if (!this.endsWith("\n")) this.newline(); - if (this.format.minified) { this._buf.removeLastSemicolon(); }