From d32fae6fcdd3e617f250c4052e7ad7864dbfc595 Mon Sep 17 00:00:00 2001 From: Amjad Masad Date: Tue, 24 Nov 2015 19:07:03 -0800 Subject: [PATCH] No need for parens for new expressions without args --- packages/babel-generator/src/generators/expressions.js | 2 ++ .../test/fixtures/compact/new-expression/actual.js | 1 + .../test/fixtures/compact/new-expression/expected.js | 1 + 3 files changed, 4 insertions(+) create mode 100644 packages/babel-generator/test/fixtures/compact/new-expression/actual.js create mode 100644 packages/babel-generator/test/fixtures/compact/new-expression/expected.js 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;