From bd8992d53bee647fdb6fb925d6d9fb60053fd842 Mon Sep 17 00:00:00 2001 From: George Zahariev Date: Thu, 16 Jul 2020 05:50:31 -0700 Subject: [PATCH] When default exporting a Flow Enum, do not append semicolon (#8768) * When default exporting a Flow Enum, do not append semicolon * Add changelog entry for #8768 --- changelog_unreleased/flow/pr-8768.md | 15 +++++++++++++++ src/language-js/printer-estree.js | 3 ++- tests/flow/enums/__snapshots__/jsfmt.spec.js.snap | 2 +- 3 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 changelog_unreleased/flow/pr-8768.md diff --git a/changelog_unreleased/flow/pr-8768.md b/changelog_unreleased/flow/pr-8768.md new file mode 100644 index 000000000..10bcae8f0 --- /dev/null +++ b/changelog_unreleased/flow/pr-8768.md @@ -0,0 +1,15 @@ +#### Fix export default of Flow Enum ([#8768](https://github.com/prettier/prettier/pull/8768) by [@gkz](https://github.com/gkz)) + +Do not add a trailing semicolon if default exporting a Flow Enum. + + +```jsx +// Input +export default enum B {} + +// Prettier stable +export default enum B {}; + +// Prettier master +export default enum B {} +``` diff --git a/src/language-js/printer-estree.js b/src/language-js/printer-estree.js index df1e70c24..b396a0e50 100644 --- a/src/language-js/printer-estree.js +++ b/src/language-js/printer-estree.js @@ -4064,7 +4064,8 @@ function printExportDeclaration(path, options, print) { decl.declaration.type !== "TSInterfaceDeclaration" && decl.declaration.type !== "DeclareClass" && decl.declaration.type !== "DeclareFunction" && - decl.declaration.type !== "TSDeclareFunction" + decl.declaration.type !== "TSDeclareFunction" && + decl.declaration.type !== "EnumDeclaration" ) { parts.push(semi); } diff --git a/tests/flow/enums/__snapshots__/jsfmt.spec.js.snap b/tests/flow/enums/__snapshots__/jsfmt.spec.js.snap index a819dc228..fd6a462b8 100644 --- a/tests/flow/enums/__snapshots__/jsfmt.spec.js.snap +++ b/tests/flow/enums/__snapshots__/jsfmt.spec.js.snap @@ -153,7 +153,7 @@ export default enum B {} export enum A {} -export default enum B {}; +export default enum B {} ================================================================================ `;