Fix formatting of empty type parameters (#14073)

This commit is contained in:
fisker Cheung authored and GitHub committed 2022-12-29 10:11:50 +08:00
1 parent 4551fe6f6f
commit 32d46d9fa1
5 files changed
+71 -6

No files matched your search

+13
View File
@@ -0,0 +1,13 @@
#### Fix formatting of empty type parameters (#14073 by @fisker)
<!-- prettier-ignore -->
```jsx
// Input
const foo: bar</* comment */> = () => baz;
// Prettier stable
Error: Comment "comment" was not printed. Please report this error!
// Prettier main
const foo: bar</* comment */> = () => baz;
```
+6 -6
View File
@@ -44,12 +44,12 @@ function printTypeParameters(path, options, print, paramsKey) {
);
const shouldInline =
!isArrowFunctionVariable &&
(isParameterInTestCall ||
node[paramsKey].length === 0 ||
(node[paramsKey].length === 1 &&
(node[paramsKey][0].type === "NullableTypeAnnotation" ||
shouldHugType(node[paramsKey][0]))));
node[paramsKey].length === 0 ||
(!isArrowFunctionVariable &&
(isParameterInTestCall ||
(node[paramsKey].length === 1 &&
(node[paramsKey][0].type === "NullableTypeAnnotation" ||
shouldHugType(node[paramsKey][0])))));
if (shouldInline) {
return [
@@ -0,0 +1,35 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`issue-13817.ts - {"arrowParens":"avoid","trailingComma":"all"} format 1`] = `
====================================options=====================================
arrowParens: "avoid"
parsers: ["typescript", "flow", "babel-flow"]
printWidth: 80
trailingComma: "all"
| printWidth
=====================================input======================================
const xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: xxxxxxxxxxxxxxxxxxxxxx<> =
arg => null;
const xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: xxxxxxxxxxxxxxxxxxxxxx</* comment */> =
arg => null;
const xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: xxxxxxxxxxxxxxxxxxxxxx<
// comment
> =
arg => null;
=====================================output=====================================
const xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: xxxxxxxxxxxxxxxxxxxxxx<> =
arg => null;
const xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: xxxxxxxxxxxxxxxxxxxxxx</* comment */> =
arg => null;
const xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: xxxxxxxxxxxxxxxxxxxxxx<
// comment
> = arg => null;
================================================================================
`;
@@ -0,0 +1,11 @@
const xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: xxxxxxxxxxxxxxxxxxxxxx<> =
arg => null;
const xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: xxxxxxxxxxxxxxxxxxxxxx</* comment */> =
arg => null;
const xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: xxxxxxxxxxxxxxxxxxxxxx<
// comment
> =
arg => null;
@@ -0,0 +1,6 @@
run_spec(
__dirname,
["typescript", "flow", "babel-flow"],
// #13817 require those options to reproduce
{ arrowParens: "avoid", trailingComma: "all" }
);