From 50eeaadeca42a6443dc13598043b74af1545cf23 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Sun, 27 Sep 2020 08:46:19 +0800 Subject: [PATCH] MDX: fix JSX format (#9267) --- changelog_unreleased/mdx/pr-9267.md | 35 +++++++++++++++++++ src/language-markdown/printer-markdown.js | 7 ++-- .../__snapshots__/jsfmt.spec.js.snap | 30 ++++++++++++++++ .../issue-9260.mdx | 8 +++++ .../jsfmt.spec.js | 1 + .../mdx/__snapshots__/jsfmt.spec.js.snap | 5 --- 6 files changed, 78 insertions(+), 8 deletions(-) create mode 100644 changelog_unreleased/mdx/pr-9267.md create mode 100644 tests/mdx/embedded-language-formatting/__snapshots__/jsfmt.spec.js.snap create mode 100644 tests/mdx/embedded-language-formatting/issue-9260.mdx create mode 100644 tests/mdx/embedded-language-formatting/jsfmt.spec.js diff --git a/changelog_unreleased/mdx/pr-9267.md b/changelog_unreleased/mdx/pr-9267.md new file mode 100644 index 000000000..4997d105f --- /dev/null +++ b/changelog_unreleased/mdx/pr-9267.md @@ -0,0 +1,35 @@ +#### Fix JSX format (#9267 by @fisker) + + +```markdown + +# title + + + +text + + + + +# title + + + + +text + + + + +(Extra empty lines added after `` and ``) + + +# title + + + +text + + +``` diff --git a/src/language-markdown/printer-markdown.js b/src/language-markdown/printer-markdown.js index c338ce9c5..1ced1c0a9 100644 --- a/src/language-markdown/printer-markdown.js +++ b/src/language-markdown/printer-markdown.js @@ -431,11 +431,12 @@ function genericPrint(path, options, print) { case "liquidNode": return concat(replaceEndOfLineWith(node.value, hardline)); // MDX + // fallback to the original text if multiparser failed + // or `embeddedLanguageFormatting: "off"` case "importExport": - case "jsx": - // fallback to the original text if multiparser failed - // or `embeddedLanguageFormatting: "off"` return concat([node.value, hardline]); + case "jsx": + return node.value; case "math": return concat([ "$$", diff --git a/tests/mdx/embedded-language-formatting/__snapshots__/jsfmt.spec.js.snap b/tests/mdx/embedded-language-formatting/__snapshots__/jsfmt.spec.js.snap new file mode 100644 index 000000000..28d11e582 --- /dev/null +++ b/tests/mdx/embedded-language-formatting/__snapshots__/jsfmt.spec.js.snap @@ -0,0 +1,30 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`issue-9260.mdx - {"embeddedLanguageFormatting":"off"} format 1`] = ` +====================================options===================================== +embeddedLanguageFormatting: "off" +parsers: ["mdx"] +printWidth: 80 + | printWidth +=====================================input====================================== +# title + + + +CR: Carriage Return, \\r +LF: Line Feed, \\n + + + +=====================================output===================================== +# title + + + +CR: Carriage Return, \\r +LF: Line Feed, \\n + + + +================================================================================ +`; diff --git a/tests/mdx/embedded-language-formatting/issue-9260.mdx b/tests/mdx/embedded-language-formatting/issue-9260.mdx new file mode 100644 index 000000000..ceb4d4c79 --- /dev/null +++ b/tests/mdx/embedded-language-formatting/issue-9260.mdx @@ -0,0 +1,8 @@ +# title + + + +CR: Carriage Return, \r +LF: Line Feed, \n + + diff --git a/tests/mdx/embedded-language-formatting/jsfmt.spec.js b/tests/mdx/embedded-language-formatting/jsfmt.spec.js new file mode 100644 index 000000000..42d458897 --- /dev/null +++ b/tests/mdx/embedded-language-formatting/jsfmt.spec.js @@ -0,0 +1 @@ +run_spec(__dirname, ["mdx"], { embeddedLanguageFormatting: "off" }); diff --git a/tests/misc/embedded_language_formatting/mdx/__snapshots__/jsfmt.spec.js.snap b/tests/misc/embedded_language_formatting/mdx/__snapshots__/jsfmt.spec.js.snap index baa623719..073da49b6 100644 --- a/tests/misc/embedded_language_formatting/mdx/__snapshots__/jsfmt.spec.js.snap +++ b/tests/misc/embedded_language_formatting/mdx/__snapshots__/jsfmt.spec.js.snap @@ -127,14 +127,12 @@ printWidth: 80 Hello, world! - --- test test 123 - --- @@ -144,7 +142,6 @@ printWidth: 80 test test 123 - --- @@ -154,14 +151,12 @@ printWidth: 80 test test 234 - --- <> test test 123 - --- | Column 1 | Column 2 |