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 {} ================================================================================ `;