Skip to content

Commit

Permalink
Fix formatting of empty type parameters (#14073)
Browse files Browse the repository at this point in the history
  • Loading branch information
fisker committed Dec 29, 2022
1 parent 4551fe6 commit 32d46d9
Show file tree
Hide file tree
Showing 5 changed files with 71 additions and 6 deletions.
13 changes: 13 additions & 0 deletions changelog_unreleased/flow/14073.md
@@ -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;
```
12 changes: 6 additions & 6 deletions src/language-js/print/type-parameters.js
Expand Up @@ -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 [
Expand Down
@@ -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" }
);

0 comments on commit 32d46d9

Please sign in to comment.