From 0a825b05dc875da85a0429a87bd602348be463aa Mon Sep 17 00:00:00 2001 From: Igor <86978055+Poliklot@users.noreply.github.com> Date: Wed, 3 Jun 2026 10:40:52 +0300 Subject: [PATCH] Preserve blank lines between JSX attributes (#19161) --- changelog_unreleased/javascript/19161.md | 37 ++++ src/language-js/print/jsx.js | 15 +- .../__snapshots__/format.test.js.snap | 171 ++++++++++++++++++ .../attribute-blank-lines.js | 38 ++++ .../jsx/attribute-blank-lines/format.test.js | 4 + .../jsx/jsx/__snapshots__/format.test.js.snap | 32 ++++ .../tsx/__snapshots__/format.test.js.snap | 25 +++ .../typescript/tsx/attribute-blank-lines.tsx | 7 + 8 files changed, 328 insertions(+), 1 deletion(-) create mode 100644 changelog_unreleased/javascript/19161.md create mode 100644 tests/format/jsx/attribute-blank-lines/__snapshots__/format.test.js.snap create mode 100644 tests/format/jsx/attribute-blank-lines/attribute-blank-lines.js create mode 100644 tests/format/jsx/attribute-blank-lines/format.test.js create mode 100644 tests/format/typescript/tsx/attribute-blank-lines.tsx diff --git a/changelog_unreleased/javascript/19161.md b/changelog_unreleased/javascript/19161.md new file mode 100644 index 000000000..ce2969c38 --- /dev/null +++ b/changelog_unreleased/javascript/19161.md @@ -0,0 +1,37 @@ +#### Preserve blank lines between JSX attributes (#19161 by @Poliklot) + +Prettier now keeps one existing blank line between JSX attributes, consistent with how it preserves blank lines in many other places. Multiple blank lines are still collapsed to one. + + +```jsx +// Input +