From b46710f2d9cd53a83ac615d68b6b2f20ae600493 Mon Sep 17 00:00:00 2001 From: Sosuke Suzuki Date: Sun, 22 Nov 2020 09:24:22 +0900 Subject: [PATCH 1/6] Fix formatting for AssignmentExpression with ClassExpression (#9741) * Fix formatting for asignment with superClass * Add tests * Changelog * For only AssignmentExpression * Remove unnecesary ifBreak --- changelog_unreleased/javascript/9741.md | 27 +++++++++++++++++++ src/language-js/print/class.js | 14 +++++----- .../classes/__snapshots__/jsfmt.spec.js.snap | 16 ++++++++--- tests/js/classes/assignment.js | 6 +++++ 4 files changed, 53 insertions(+), 10 deletions(-) create mode 100644 changelog_unreleased/javascript/9741.md diff --git a/changelog_unreleased/javascript/9741.md b/changelog_unreleased/javascript/9741.md new file mode 100644 index 000000000..94caafe8c --- /dev/null +++ b/changelog_unreleased/javascript/9741.md @@ -0,0 +1,27 @@ +#### Fix formatting for AssignmentExpression with ClassExpression (#9741 by @sosukesuzuki) + + +```js +// Input +module.exports = class A extends B { + method() { + console.log("foo"); + } +}; + +// Prettier stable +module.exports = class A extends ( + B +) { + method() { + console.log("foo"); + } +}; + +// Prettier master +module.exports = class A extends B { + method() { + console.log("foo"); + } +}; +``` diff --git a/src/language-js/print/class.js b/src/language-js/print/class.js index 2e48dfeb1..ecefce26c 100644 --- a/src/language-js/print/class.js +++ b/src/language-js/print/class.js @@ -131,13 +131,13 @@ function printList(path, options, print, listName) { function printSuperClass(path, options, print) { const printed = path.call(print, "superClass"); const parent = path.getParentNode(); - if (parent && parent.type === "AssignmentExpression") { - return concat([ - ifBreak("("), - indent(concat([softline, printed])), - softline, - ifBreak(")"), - ]); + if (parent.type === "AssignmentExpression") { + return group( + ifBreak( + concat(["(", indent(concat([softline, printed])), softline, ")"]), + printed + ) + ); } return printed; } diff --git a/tests/js/classes/__snapshots__/jsfmt.spec.js.snap b/tests/js/classes/__snapshots__/jsfmt.spec.js.snap index 2025489e6..44873cab8 100644 --- a/tests/js/classes/__snapshots__/jsfmt.spec.js.snap +++ b/tests/js/classes/__snapshots__/jsfmt.spec.js.snap @@ -32,6 +32,12 @@ foo = class extends aaaaaaaa.bbbbbbbb.cccccccc.dddddddd.eeeeeeee.ffffffff.gggggg } }; +module.exports = class A extends B { + method () { + console.log("foo"); + } +}; + =====================================output===================================== aaaaaaaa.bbbbbbbb.cccccccc.dddddddd.eeeeeeee.ffffffff.gggggggg2 = class extends ( aaaaaaaa.bbbbbbbb.cccccccc.dddddddd.eeeeeeee.ffffffff.gggggggg1 @@ -41,9 +47,7 @@ aaaaaaaa.bbbbbbbb.cccccccc.dddddddd.eeeeeeee.ffffffff.gggggggg2 = class extends } }; -foo = class extends ( - bar -) { +foo = class extends bar { method() { console.log("foo"); } @@ -65,6 +69,12 @@ foo = class extends ( } }; +module.exports = class A extends B { + method() { + console.log("foo"); + } +}; + ================================================================================ `; diff --git a/tests/js/classes/assignment.js b/tests/js/classes/assignment.js index dc0f6c4b6..56f7348cc 100644 --- a/tests/js/classes/assignment.js +++ b/tests/js/classes/assignment.js @@ -23,3 +23,9 @@ foo = class extends aaaaaaaa.bbbbbbbb.cccccccc.dddddddd.eeeeeeee.ffffffff.gggggg console.log("foo"); } }; + +module.exports = class A extends B { + method () { + console.log("foo"); + } +}; From 81bfd3ffc72d3c971e3b6962157a90c8bf12be50 Mon Sep 17 00:00:00 2001 From: sosukesuzuki Date: Thu, 26 Nov 2020 02:42:41 +0900 Subject: [PATCH 2/6] Fix changelog to old format --- changelog_unreleased/javascript/{9741.md => pr-9741.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename changelog_unreleased/javascript/{9741.md => pr-9741.md} (100%) diff --git a/changelog_unreleased/javascript/9741.md b/changelog_unreleased/javascript/pr-9741.md similarity index 100% rename from changelog_unreleased/javascript/9741.md rename to changelog_unreleased/javascript/pr-9741.md From 326543f9082d6d77dec634914c8d4daa8525c7eb Mon Sep 17 00:00:00 2001 From: sosukesuzuki Date: Sat, 28 Nov 2020 09:21:04 +0900 Subject: [PATCH 3/6] Release 2.2.1 --- .github/ISSUE_TEMPLATE/formatting.md | 2 +- .github/ISSUE_TEMPLATE/integration.md | 2 +- CHANGELOG.md | 32 +++++++++++++++++++ docs/browser.md | 12 +++---- package.json | 2 +- .../versioned_docs/version-stable/browser.md | 12 +++---- 6 files changed, 47 insertions(+), 15 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/formatting.md b/.github/ISSUE_TEMPLATE/formatting.md index af8efd889..76c445afc 100644 --- a/.github/ISSUE_TEMPLATE/formatting.md +++ b/.github/ISSUE_TEMPLATE/formatting.md @@ -26,7 +26,7 @@ Tip! Don't write this stuff manually. --> -**Prettier 2.2.0** +**Prettier 2.2.1** [Playground link](https://prettier.io/playground/#.....) ```sh diff --git a/.github/ISSUE_TEMPLATE/integration.md b/.github/ISSUE_TEMPLATE/integration.md index eea91394d..d443f6cbf 100644 --- a/.github/ISSUE_TEMPLATE/integration.md +++ b/.github/ISSUE_TEMPLATE/integration.md @@ -20,7 +20,7 @@ BEFORE SUBMITTING AN ISSUE: **Environments:** -- Prettier Version: 2.2.0 +- Prettier Version: 2.2.1 - Running Prettier via: - Runtime: - Operating System: diff --git a/CHANGELOG.md b/CHANGELOG.md index b1d3f6130..49b08b329 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,35 @@ +# 2.2.1 + +[diff](https://github.com/prettier/prettier/compare/2.2.0...2.2.1) + +#### Fix formatting for AssignmentExpression with ClassExpression ([#9741](https://github.com/prettier/prettier/pull/9741) by [@sosukesuzuki](https://github.com/sosukesuzuki)) + + +```js +// Input +module.exports = class A extends B { + method() { + console.log("foo"); + } +}; + +// Prettier 2.2.0 +module.exports = class A extends ( + B +) { + method() { + console.log("foo"); + } +}; + +// Prettier 2.2.1 +module.exports = class A extends B { + method() { + console.log("foo"); + } +}; +``` + # 2.2.0 [diff](https://github.com/prettier/prettier/compare/2.1.2...2.2.0) diff --git a/docs/browser.md b/docs/browser.md index 92f7a67a7..40e1b67a3 100644 --- a/docs/browser.md +++ b/docs/browser.md @@ -23,8 +23,8 @@ See [Usage](#usage) below for examples. ### Global ```html - - + + - + +