Skip to content

Commit

Permalink
Fix missing parens when function expressions is tag (#5193)
Browse files Browse the repository at this point in the history
  • Loading branch information
existentialism authored and loganfsmyth committed Jan 23, 2017
1 parent c638985 commit b69dc51
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 10 deletions.
22 changes: 12 additions & 10 deletions packages/babel-generator/src/node/parentheses.js
Expand Up @@ -170,16 +170,14 @@ export function FunctionExpression(node: Object, parent: Object, printStack: Arr
}

export function ArrowFunctionExpression(node: Object, parent: Object): boolean {
// export default (function () {});
if (t.isExportDeclaration(parent)) {
return true;
}

if (t.isBinaryExpression(parent) || t.isLogicalExpression(parent)) {
return true;
}

if (t.isUnaryExpression(parent)) {
if (
// export default (function () {});
t.isExportDeclaration(parent) ||
t.isBinaryExpression(parent) ||
t.isLogicalExpression(parent) ||
t.isUnaryExpression(parent) ||
t.isTaggedTemplateExpression(parent)
) {
return true;
}

Expand Down Expand Up @@ -225,6 +223,10 @@ function isFirstInStatement(printStack: Array<Object>, {
return true;
}

if (t.isTaggedTemplateExpression(parent)) {
return true;
}

if (considerDefaultExports && t.isExportDefaultDeclaration(parent, { declaration: node })) {
return true;
}
Expand Down
@@ -0,0 +1,2 @@
(() => {})``;
(function(){}``);
@@ -0,0 +1,2 @@
(() => {})``;
(function () {})``;

0 comments on commit b69dc51

Please sign in to comment.