From 469a831619e56d64f9a99483405cfdb35ed802a2 Mon Sep 17 00:00:00 2001 From: Ika Date: Fri, 9 Nov 2018 09:47:05 +0800 Subject: [PATCH] fix(mdx): treat jsx codeblock same as in markdown (#5391) --- src/language-js/printer-estree.js | 2 +- tests/mdx/__snapshots__/jsfmt.spec.js.snap | 42 ++++++++++++++++++++++ tests/mdx/jsx-codeblock.mdx | 8 +++++ 3 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 tests/mdx/jsx-codeblock.mdx diff --git a/src/language-js/printer-estree.js b/src/language-js/printer-estree.js index d7f66c2b91b6..8ffd8df003e3 100644 --- a/src/language-js/printer-estree.js +++ b/src/language-js/printer-estree.js @@ -6269,7 +6269,7 @@ function isUnitTestSetUp(n) { } function isTheOnlyJSXElementInMarkdown(options, path) { - if (options.parentParser !== "markdown") { + if (options.parentParser !== "markdown" && options.parentParser !== "mdx") { return false; } diff --git a/tests/mdx/__snapshots__/jsfmt.spec.js.snap b/tests/mdx/__snapshots__/jsfmt.spec.js.snap index 8aa75609223e..3cbe83086b57 100644 --- a/tests/mdx/__snapshots__/jsfmt.spec.js.snap +++ b/tests/mdx/__snapshots__/jsfmt.spec.js.snap @@ -198,6 +198,48 @@ exports[`jsx.mdx - mdx-verify 2`] = ` `; +exports[`jsx-codeblock.mdx - mdx-verify 1`] = ` +\`\`\`jsx +
foo
+\`\`\` + +\`\`\`jsx +const a = 1; +
foo
; +\`\`\` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +\`\`\`jsx +
foo
+\`\`\` + +\`\`\`jsx +const a = 1; +
foo
; +\`\`\` + +`; + +exports[`jsx-codeblock.mdx - mdx-verify 2`] = ` +\`\`\`jsx +
foo
+\`\`\` + +\`\`\`jsx +const a = 1; +
foo
; +\`\`\` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +\`\`\`jsx +
foo
+\`\`\` + +\`\`\`jsx +const a = 1 +;
foo
+\`\`\` + +`; + exports[`mixed.mdx - mdx-verify 1`] = ` import { Baz } from './Fixture' import { Buz } from './Fixture' diff --git a/tests/mdx/jsx-codeblock.mdx b/tests/mdx/jsx-codeblock.mdx new file mode 100644 index 000000000000..4f5b640a9163 --- /dev/null +++ b/tests/mdx/jsx-codeblock.mdx @@ -0,0 +1,8 @@ +```jsx +
foo
+``` + +```jsx +const a = 1; +
foo
; +```