From 083876e66d6b07ee26fd09869a060d5551c0d289 Mon Sep 17 00:00:00 2001 From: Brian Ng Date: Wed, 18 Jan 2017 11:03:31 -0600 Subject: [PATCH] Fix missing semi when default exporting CallExpression (#287) --- src/printer.js | 3 ++- tests/arrows/__snapshots__/jsfmt.spec.js.snap | 2 +- tests/es6modules/__snapshots__/jsfmt.spec.js.snap | 7 +++++++ tests/es6modules/export_default_call_expression.js | 1 + tests/function/__snapshots__/jsfmt.spec.js.snap | 2 +- 5 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 tests/es6modules/export_default_call_expression.js diff --git a/src/printer.js b/src/printer.js index 66e58d46..78ed5c08 100644 --- a/src/printer.js +++ b/src/printer.js @@ -1843,7 +1843,8 @@ function printExportDeclaration(path, options, print) { if ( decl.type === "ExportDefaultDeclaration" && - decl.declaration.type == "Identifier" + (decl.declaration.type == "Identifier" || + decl.declaration.type === "CallExpression") ) { parts.push(";"); } diff --git a/tests/arrows/__snapshots__/jsfmt.spec.js.snap b/tests/arrows/__snapshots__/jsfmt.spec.js.snap index 424b0728..8ae8dc65 100644 --- a/tests/arrows/__snapshots__/jsfmt.spec.js.snap +++ b/tests/arrows/__snapshots__/jsfmt.spec.js.snap @@ -39,7 +39,7 @@ new (() => {}); typeof (() => { }); export default (() => { -})() +})(); (() => { })()\`\`; (() => { diff --git a/tests/es6modules/__snapshots__/jsfmt.spec.js.snap b/tests/es6modules/__snapshots__/jsfmt.spec.js.snap index 3d36a053..df441d6b 100644 --- a/tests/es6modules/__snapshots__/jsfmt.spec.js.snap +++ b/tests/es6modules/__snapshots__/jsfmt.spec.js.snap @@ -1347,6 +1347,13 @@ import { " `; +exports[`test export_default_call_expression.js 1`] = ` +"export default connect(mapStateToProps)(MyComponent); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +export default connect(mapStateToProps)(MyComponent); +" +`; + exports[`test test_imports_are_frozen.js 1`] = ` "/* @flow */ diff --git a/tests/es6modules/export_default_call_expression.js b/tests/es6modules/export_default_call_expression.js new file mode 100644 index 00000000..c3fae600 --- /dev/null +++ b/tests/es6modules/export_default_call_expression.js @@ -0,0 +1 @@ +export default connect(mapStateToProps)(MyComponent); diff --git a/tests/function/__snapshots__/jsfmt.spec.js.snap b/tests/function/__snapshots__/jsfmt.spec.js.snap index 8ad3ba76..2cd31993 100644 --- a/tests/function/__snapshots__/jsfmt.spec.js.snap +++ b/tests/function/__snapshots__/jsfmt.spec.js.snap @@ -376,7 +376,7 @@ new (function() {}); typeof (function() { }); export default (function() { -})() +})(); (function() { })()\`\`; (function() {