diff --git a/packages/babel-generator/src/generators/expressions.js b/packages/babel-generator/src/generators/expressions.js index ffe55eb3f1..ca0f251d34 100644 --- a/packages/babel-generator/src/generators/expressions.js +++ b/packages/babel-generator/src/generators/expressions.js @@ -62,6 +62,8 @@ export function ConditionalExpression(node: Object) { export function NewExpression(node: Object) { this.push("new "); this.print(node.callee, node); + if (node.arguments.length === 0 && this.format.compact) return; + this.push("("); this.printList(node.arguments, node); this.push(")"); diff --git a/packages/babel-generator/test/fixtures/compact/new-expression/actual.js b/packages/babel-generator/test/fixtures/compact/new-expression/actual.js new file mode 100644 index 0000000000..e81ff8d9bf --- /dev/null +++ b/packages/babel-generator/test/fixtures/compact/new-expression/actual.js @@ -0,0 +1 @@ +new X(); diff --git a/packages/babel-generator/test/fixtures/compact/new-expression/expected.js b/packages/babel-generator/test/fixtures/compact/new-expression/expected.js new file mode 100644 index 0000000000..e1ffdf2a25 --- /dev/null +++ b/packages/babel-generator/test/fixtures/compact/new-expression/expected.js @@ -0,0 +1 @@ +new X;