JavaScript: Keep line breaks when tagged template literal has a single line comment. (#6236)

master
Sosuke Suzuki 2019-07-10 22:56:53 +09:00 committed by Lucas Duailibe
parent cfba21f493
commit 74f4d2b3c0
4 changed files with 80 additions and 1 deletions

View File

@ -195,11 +195,33 @@ Previously, Prettier would incorrectly decode HTML entiites.
</p> </p>
``` ```
#### JavaScript: Stop moving comments inside tagged template literals ([#6236] by [@sosukesuzuki])
Previously, Prettier would move comments after the tag inside the template literal. This version fixes this problem.
<!-- prettier-ignore -->
```js
// Input
foo //comment
`
`;
// Output (Prettier stable)
foo` // comment
`;
// Output (Prettier master)
foo // comment
`
`;
```
[#6186]: https://github.com/prettier/prettier/pull/6186 [#6186]: https://github.com/prettier/prettier/pull/6186
[#6206]: https://github.com/prettier/prettier/pull/6206 [#6206]: https://github.com/prettier/prettier/pull/6206
[#6209]: https://github.com/prettier/prettier/pull/6209 [#6209]: https://github.com/prettier/prettier/pull/6209
[#6217]: https://github.com/prettier/prettier/pull/6217 [#6217]: https://github.com/prettier/prettier/pull/6217
[#6234]: https://github.com/prettier/prettier/pull/6234 [#6234]: https://github.com/prettier/prettier/pull/6234
[#6236]: https://github.com/prettier/prettier/pull/6236
[@duailibe]: https://github.com/duailibe [@duailibe]: https://github.com/duailibe
[@gavinjoyce]: https://github.com/gavinjoyce [@gavinjoyce]: https://github.com/gavinjoyce
[@sosukesuzuki]: https://github.com/sosukesuzuki [@sosukesuzuki]: https://github.com/sosukesuzuki

View File

@ -2406,7 +2406,7 @@ function printPathNoParens(path, options, print, args) {
); );
} }
parts.push("`"); parts.push(lineSuffixBoundary, "`");
path.each(childPath => { path.each(childPath => {
const i = childPath.getName(); const i = childPath.getName();
@ -3914,6 +3914,7 @@ function printJestEachTemplateLiteral(node, expressions, options) {
}); });
parts.push( parts.push(
lineSuffixBoundary,
"`", "`",
indent( indent(
concat([ concat([

View File

@ -2012,6 +2012,47 @@ switch (foo) {
================================================================================ ================================================================================
`; `;
exports[`tagged-template-literal.js 1`] = `
====================================options=====================================
parsers: ["flow", "babel"]
printWidth: 80
| printWidth
=====================================input======================================
foo\`\`; // comment
foo // comment
\`\`;
foo // comment
\`
\`;
foo /* comment */\`
\`;
foo /* comment */
\`
\`;
=====================================output=====================================
foo\`\`; // comment
foo // comment
\`\`;
foo // comment
\`
\`;
foo/* comment */ \`
\`;
foo /* comment */\`
\`;
================================================================================
`;
exports[`template-literal.js 1`] = ` exports[`template-literal.js 1`] = `
====================================options===================================== ====================================options=====================================
parsers: ["flow", "babel"] parsers: ["flow", "babel"]

View File

@ -0,0 +1,15 @@
foo``; // comment
foo // comment
``;
foo // comment
`
`;
foo /* comment */`
`;
foo /* comment */
`
`;