From 891a9c204075cbd8bbfa31fcea69dac2625b3738 Mon Sep 17 00:00:00 2001 From: Yuji Sugiura <6259812+leaysgur@users.noreply.github.com> Date: Tue, 21 Jan 2025 18:01:34 +0900 Subject: [PATCH] feat(tasks/prettier): Visualize test details (#8634) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For example, if there are 3 tests in 1 spec and all of them fail: - 💥💥💥 After some implementation, if 1 test passes: - 💥💥✨ However, in this case, the coverage as number does not change. This PR visualizes these details for better mental well-being. 😃 (But in practice, specs are so detailed, there is not much opportunity for this...) --- .../snapshots/prettier.js.snap.md | 784 +++++++++--------- .../snapshots/prettier.ts.snap.md | 748 ++++++++--------- tasks/prettier_conformance/src/lib.rs | 31 +- 3 files changed, 787 insertions(+), 776 deletions(-) diff --git a/tasks/prettier_conformance/snapshots/prettier.js.snap.md b/tasks/prettier_conformance/snapshots/prettier.js.snap.md index b04fbee10a699..9a675294d6b02 100644 --- a/tasks/prettier_conformance/snapshots/prettier.js.snap.md +++ b/tasks/prettier_conformance/snapshots/prettier.js.snap.md @@ -3,599 +3,599 @@ js compatibility: 249/641 (38.85%) # Failed ### js/arrays -* js/arrays/numbers-negative-comment-after-minus.js -* js/arrays/numbers-negative.js -* js/arrays/numbers-trailing-comma.js -* js/arrays/numbers-with-holes.js -* js/arrays/numbers-with-trailing-comments.js -* js/arrays/numbers-with-tricky-comments.js -* js/arrays/numbers2.js -* js/arrays/numbers3.js -* js/arrays/preserve_empty_lines.js +* js/arrays/numbers-negative-comment-after-minus.js | 💥 +* js/arrays/numbers-negative.js | 💥 +* js/arrays/numbers-trailing-comma.js | 💥 +* js/arrays/numbers-with-holes.js | 💥 +* js/arrays/numbers-with-trailing-comments.js | 💥 +* js/arrays/numbers-with-tricky-comments.js | 💥 +* js/arrays/numbers2.js | 💥 +* js/arrays/numbers3.js | 💥 +* js/arrays/preserve_empty_lines.js | 💥 ### js/arrow-call -* js/arrow-call/arrow_call.js -* js/arrow-call/class-property.js +* js/arrow-call/arrow_call.js | 💥💥💥 +* js/arrow-call/class-property.js | 💥💥💥 ### js/arrows -* js/arrows/arrow-chain-with-trailing-comments.js -* js/arrows/arrow_function_expression.js -* js/arrows/assignment-chain-with-arrow-chain.js -* js/arrows/call.js -* js/arrows/chain-as-arg.js -* js/arrows/chain-in-logical-expression.js -* js/arrows/comment.js -* js/arrows/curried.js -* js/arrows/currying-2.js -* js/arrows/currying-3.js -* js/arrows/currying-4.js -* js/arrows/currying.js -* js/arrows/issue-1389-curry.js -* js/arrows/long-call-no-args.js -* js/arrows/parens.js +* js/arrows/arrow-chain-with-trailing-comments.js | 💥💥 +* js/arrows/arrow_function_expression.js | 💥💥 +* js/arrows/assignment-chain-with-arrow-chain.js | 💥💥 +* js/arrows/call.js | 💥💥 +* js/arrows/chain-as-arg.js | 💥💥 +* js/arrows/chain-in-logical-expression.js | 💥💥 +* js/arrows/comment.js | 💥💥 +* js/arrows/curried.js | 💥💥 +* js/arrows/currying-2.js | 💥💥 +* js/arrows/currying-3.js | 💥💥 +* js/arrows/currying-4.js | 💥💥 +* js/arrows/currying.js | 💥💥 +* js/arrows/issue-1389-curry.js | 💥💥 +* js/arrows/long-call-no-args.js | 💥💥 +* js/arrows/parens.js | 💥💥 ### js/assignment -* js/assignment/binaryish.js -* js/assignment/call-with-template.js -* js/assignment/chain-two-segments.js -* js/assignment/chain.js -* js/assignment/discussion-15196.js -* js/assignment/issue-10218.js -* js/assignment/issue-2184.js -* js/assignment/issue-2540.js -* js/assignment/issue-5610.js -* js/assignment/issue-6922.js -* js/assignment/issue-7572.js -* js/assignment/issue-7961.js -* js/assignment/lone-arg.js +* js/assignment/binaryish.js | 💥 +* js/assignment/call-with-template.js | 💥 +* js/assignment/chain-two-segments.js | 💥 +* js/assignment/chain.js | 💥 +* js/assignment/discussion-15196.js | 💥 +* js/assignment/issue-10218.js | 💥 +* js/assignment/issue-2184.js | 💥 +* js/assignment/issue-2540.js | 💥 +* js/assignment/issue-5610.js | 💥 +* js/assignment/issue-6922.js | 💥 +* js/assignment/issue-7572.js | 💥 +* js/assignment/issue-7961.js | 💥 +* js/assignment/lone-arg.js | 💥 ### js/assignment-comments -* js/assignment-comments/call.js -* js/assignment-comments/call2.js -* js/assignment-comments/function.js -* js/assignment-comments/identifier.js -* js/assignment-comments/number.js -* js/assignment-comments/string.js +* js/assignment-comments/call.js | 💥 +* js/assignment-comments/call2.js | 💥 +* js/assignment-comments/function.js | 💥 +* js/assignment-comments/identifier.js | 💥 +* js/assignment-comments/number.js | 💥 +* js/assignment-comments/string.js | 💥 ### js/async -* js/async/inline-await.js -* js/async/nested.js +* js/async/inline-await.js | 💥 +* js/async/nested.js | 💥 ### js/binary-expressions -* js/binary-expressions/arrow.js -* js/binary-expressions/call.js -* js/binary-expressions/comment.js -* js/binary-expressions/if.js -* js/binary-expressions/in_instanceof.js -* js/binary-expressions/inline-jsx.js -* js/binary-expressions/inline-object-array.js -* js/binary-expressions/jsx_parent.js -* js/binary-expressions/short-right.js -* js/binary-expressions/test.js -* js/binary-expressions/unary.js +* js/binary-expressions/arrow.js | 💥 +* js/binary-expressions/call.js | 💥 +* js/binary-expressions/comment.js | 💥 +* js/binary-expressions/if.js | 💥 +* js/binary-expressions/in_instanceof.js | 💥 +* js/binary-expressions/inline-jsx.js | 💥 +* js/binary-expressions/inline-object-array.js | 💥 +* js/binary-expressions/jsx_parent.js | 💥 +* js/binary-expressions/short-right.js | 💥 +* js/binary-expressions/test.js | 💥 +* js/binary-expressions/unary.js | 💥 ### js/break-calls -* js/break-calls/break.js -* js/break-calls/parent.js -* js/break-calls/react.js +* js/break-calls/break.js | 💥 +* js/break-calls/parent.js | 💥 +* js/break-calls/react.js | 💥 ### js/call/first-argument-expansion -* js/call/first-argument-expansion/expression-2nd-arg.js -* js/call/first-argument-expansion/issue-13237.js -* js/call/first-argument-expansion/issue-2456.js -* js/call/first-argument-expansion/issue-4401.js -* js/call/first-argument-expansion/issue-5172.js -* js/call/first-argument-expansion/jsx.js -* js/call/first-argument-expansion/test.js +* js/call/first-argument-expansion/expression-2nd-arg.js | 💥 +* js/call/first-argument-expansion/issue-13237.js | 💥 +* js/call/first-argument-expansion/issue-2456.js | 💥 +* js/call/first-argument-expansion/issue-4401.js | 💥 +* js/call/first-argument-expansion/issue-5172.js | 💥 +* js/call/first-argument-expansion/jsx.js | 💥 +* js/call/first-argument-expansion/test.js | 💥 ### js/call/no-argument -* js/call/no-argument/special-cases.js +* js/call/no-argument/special-cases.js | 💥 ### js/chain-expression -* js/chain-expression/call-expression.js -* js/chain-expression/issue-15785-1.js -* js/chain-expression/issue-15785-2.js -* js/chain-expression/issue-15785-3.js -* js/chain-expression/issue-15916.js -* js/chain-expression/member-expression.js -* js/chain-expression/test-3.js -* js/chain-expression/test-4.js -* js/chain-expression/test.js +* js/chain-expression/call-expression.js | 💥 +* js/chain-expression/issue-15785-1.js | 💥 +* js/chain-expression/issue-15785-2.js | 💥 +* js/chain-expression/issue-15785-3.js | 💥 +* js/chain-expression/issue-15916.js | 💥 +* js/chain-expression/member-expression.js | 💥 +* js/chain-expression/test-3.js | 💥 +* js/chain-expression/test-4.js | 💥 +* js/chain-expression/test.js | 💥 ### js/class-comment -* js/class-comment/class-property.js -* js/class-comment/misc.js -* js/class-comment/superclass.js +* js/class-comment/class-property.js | 💥 +* js/class-comment/misc.js | 💥 +* js/class-comment/superclass.js | 💥 ### js/class-extends -* js/class-extends/extends.js +* js/class-extends/extends.js | 💥 ### js/classes -* js/classes/asi.js -* js/classes/assignment.js -* js/classes/empty.js -* js/classes/method.js -* js/classes/property.js +* js/classes/asi.js | 💥 +* js/classes/assignment.js | 💥 +* js/classes/empty.js | 💥 +* js/classes/method.js | 💥 +* js/classes/property.js | 💥 ### js/classes-private-fields -* js/classes-private-fields/optional-chaining.js -* js/classes-private-fields/with_comments.js +* js/classes-private-fields/optional-chaining.js | 💥💥 +* js/classes-private-fields/with_comments.js | 💥💥 ### js/comments -* js/comments/15661.js -* js/comments/16398.js -* js/comments/arrow.js -* js/comments/assignment-pattern.js -* js/comments/before-comma.js -* js/comments/binary-expressions-block-comments.js -* js/comments/binary-expressions-parens.js -* js/comments/binary-expressions-single-comments.js -* js/comments/binary-expressions.js -* js/comments/blank.js -* js/comments/break-continue-statements.js -* js/comments/call_comment.js -* js/comments/class.js -* js/comments/dangling.js -* js/comments/dangling_array.js -* js/comments/dangling_for.js -* js/comments/dynamic_imports.js -* js/comments/emoji.js -* js/comments/empty-statements.js -* js/comments/export-and-import.js -* js/comments/export.js -* js/comments/first-line.js -* js/comments/function-declaration.js -* js/comments/if.js -* js/comments/issue-3532.js -* js/comments/issues.js -* js/comments/jsdoc-nestled-dangling.js -* js/comments/jsdoc-nestled.js -* js/comments/jsdoc.js -* js/comments/jsx.js -* js/comments/last-arg.js -* js/comments/multi-comments-2.js -* js/comments/multi-comments-on-same-line-2.js -* js/comments/multi-comments-on-same-line.js -* js/comments/multi-comments.js -* js/comments/preserve-new-line-last.js -* js/comments/return-statement.js -* js/comments/single-star-jsdoc.js -* js/comments/switch.js -* js/comments/tagged-template-literal.js -* js/comments/template-literal.js -* js/comments/trailing-jsdocs.js -* js/comments/trailing_space.js -* js/comments/try.js -* js/comments/variable_declarator.js -* js/comments/while.js +* js/comments/15661.js | 💥💥 +* js/comments/16398.js | 💥💥 +* js/comments/arrow.js | 💥💥 +* js/comments/assignment-pattern.js | 💥💥 +* js/comments/before-comma.js | 💥💥 +* js/comments/binary-expressions-block-comments.js | 💥💥 +* js/comments/binary-expressions-parens.js | 💥💥 +* js/comments/binary-expressions-single-comments.js | 💥💥 +* js/comments/binary-expressions.js | 💥💥 +* js/comments/blank.js | 💥💥 +* js/comments/break-continue-statements.js | 💥💥 +* js/comments/call_comment.js | 💥💥 +* js/comments/class.js | 💥💥 +* js/comments/dangling.js | 💥💥 +* js/comments/dangling_array.js | 💥💥 +* js/comments/dangling_for.js | 💥💥 +* js/comments/dynamic_imports.js | 💥💥 +* js/comments/emoji.js | 💥💥 +* js/comments/empty-statements.js | 💥💥 +* js/comments/export-and-import.js | 💥💥 +* js/comments/export.js | 💥💥 +* js/comments/first-line.js | 💥💥 +* js/comments/function-declaration.js | 💥💥 +* js/comments/if.js | 💥💥 +* js/comments/issue-3532.js | 💥💥 +* js/comments/issues.js | 💥💥 +* js/comments/jsdoc-nestled-dangling.js | 💥💥 +* js/comments/jsdoc-nestled.js | 💥💥 +* js/comments/jsdoc.js | 💥💥 +* js/comments/jsx.js | 💥💥 +* js/comments/last-arg.js | 💥💥 +* js/comments/multi-comments-2.js | 💥💥 +* js/comments/multi-comments-on-same-line-2.js | 💥💥 +* js/comments/multi-comments-on-same-line.js | 💥💥 +* js/comments/multi-comments.js | 💥💥 +* js/comments/preserve-new-line-last.js | 💥💥 +* js/comments/return-statement.js | 💥💥 +* js/comments/single-star-jsdoc.js | 💥💥 +* js/comments/switch.js | 💥💥 +* js/comments/tagged-template-literal.js | 💥💥 +* js/comments/template-literal.js | 💥💥 +* js/comments/trailing-jsdocs.js | 💥💥 +* js/comments/trailing_space.js | 💥💥 +* js/comments/try.js | 💥💥 +* js/comments/variable_declarator.js | 💥💥 +* js/comments/while.js | 💥💥 ### js/comments/flow-types -* js/comments/flow-types/inline.js +* js/comments/flow-types/inline.js | 💥 ### js/comments/function -* js/comments/function/between-parentheses-and-function-body.js +* js/comments/function/between-parentheses-and-function-body.js | 💥 ### js/comments/html-like -* js/comments/html-like/comment.js +* js/comments/html-like/comment.js | 💥 ### js/comments-closure-typecast -* js/comments-closure-typecast/binary-expr.js -* js/comments-closure-typecast/closure-compiler-type-cast.js -* js/comments-closure-typecast/comment-in-the-middle.js -* js/comments-closure-typecast/comment-placement.js -* js/comments-closure-typecast/extra-spaces-and-asterisks.js -* js/comments-closure-typecast/iife-issue-5850-isolated.js -* js/comments-closure-typecast/iife.js -* js/comments-closure-typecast/issue-4124.js -* js/comments-closure-typecast/issue-8045.js -* js/comments-closure-typecast/issue-9358.js -* js/comments-closure-typecast/member.js -* js/comments-closure-typecast/nested.js -* js/comments-closure-typecast/non-casts.js -* js/comments-closure-typecast/object-with-comment.js -* js/comments-closure-typecast/satisfies.js -* js/comments-closure-typecast/superclass.js -* js/comments-closure-typecast/ways-to-specify-type.js +* js/comments-closure-typecast/binary-expr.js | 💥 +* js/comments-closure-typecast/closure-compiler-type-cast.js | 💥 +* js/comments-closure-typecast/comment-in-the-middle.js | 💥 +* js/comments-closure-typecast/comment-placement.js | 💥 +* js/comments-closure-typecast/extra-spaces-and-asterisks.js | 💥 +* js/comments-closure-typecast/iife-issue-5850-isolated.js | 💥 +* js/comments-closure-typecast/iife.js | 💥 +* js/comments-closure-typecast/issue-4124.js | 💥 +* js/comments-closure-typecast/issue-8045.js | 💥 +* js/comments-closure-typecast/issue-9358.js | 💥 +* js/comments-closure-typecast/member.js | 💥 +* js/comments-closure-typecast/nested.js | 💥 +* js/comments-closure-typecast/non-casts.js | 💥 +* js/comments-closure-typecast/object-with-comment.js | 💥 +* js/comments-closure-typecast/satisfies.js | 💥 +* js/comments-closure-typecast/superclass.js | 💥 +* js/comments-closure-typecast/ways-to-specify-type.js | 💥 ### js/conditional -* js/conditional/comments.js -* js/conditional/new-ternary-examples.js -* js/conditional/new-ternary-spec.js -* js/conditional/no-confusing-arrow.js -* js/conditional/postfix-ternary-regressions.js +* js/conditional/comments.js | 💥💥 +* js/conditional/new-ternary-examples.js | 💥💥 +* js/conditional/new-ternary-spec.js | 💥💥 +* js/conditional/no-confusing-arrow.js | 💥💥 +* js/conditional/postfix-ternary-regressions.js | 💥💥 ### js/destructuring -* js/destructuring/destructuring.js +* js/destructuring/destructuring.js | 💥 ### js/destructuring-ignore -* js/destructuring-ignore/ignore.js +* js/destructuring-ignore/ignore.js | 💥💥💥 ### js/directives -* js/directives/escaped.js -* js/directives/issue-7346.js -* js/directives/newline.js +* js/directives/escaped.js | 💥 +* js/directives/issue-7346.js | 💥 +* js/directives/newline.js | 💥 ### js/empty-paren-comment -* js/empty-paren-comment/class-property.js -* js/empty-paren-comment/class.js -* js/empty-paren-comment/empty_paren_comment.js +* js/empty-paren-comment/class-property.js | 💥 +* js/empty-paren-comment/class.js | 💥 +* js/empty-paren-comment/empty_paren_comment.js | 💥 ### js/export -* js/export/blank-line-between-specifiers.js -* js/export/same-local-and-exported.js +* js/export/blank-line-between-specifiers.js | 💥💥 +* js/export/same-local-and-exported.js | 💥💥 ### js/expression_statement -* js/expression_statement/no_regression.js -* js/expression_statement/use_strict.js +* js/expression_statement/no_regression.js | 💥 +* js/expression_statement/use_strict.js | 💥 ### js/for -* js/for/comment.js -* js/for/continue-and-break-comment-1.js -* js/for/continue-and-break-comment-2.js -* js/for/continue-and-break-comment-without-blocks.js -* js/for/for-in-with-initializer.js -* js/for/parentheses.js +* js/for/comment.js | 💥 +* js/for/continue-and-break-comment-1.js | 💥 +* js/for/continue-and-break-comment-2.js | 💥 +* js/for/continue-and-break-comment-without-blocks.js | 💥 +* js/for/for-in-with-initializer.js | 💥 +* js/for/parentheses.js | 💥 ### js/function -* js/function/issue-10277.js +* js/function/issue-10277.js | 💥 ### js/function-comments -* js/function-comments/params-trail-comments.js +* js/function-comments/params-trail-comments.js | 💥 ### js/function-first-param -* js/function-first-param/function_expression.js +* js/function-first-param/function_expression.js | 💥 ### js/function-single-destructuring -* js/function-single-destructuring/array.js -* js/function-single-destructuring/object.js +* js/function-single-destructuring/array.js | 💥 +* js/function-single-destructuring/object.js | 💥 ### js/functional-composition -* js/functional-composition/functional_compose.js -* js/functional-composition/lodash_flow.js -* js/functional-composition/lodash_flow_right.js -* js/functional-composition/pipe-function-calls-with-comments.js -* js/functional-composition/pipe-function-calls.js -* js/functional-composition/ramda_compose.js -* js/functional-composition/ramda_pipe.js -* js/functional-composition/redux_connect.js -* js/functional-composition/reselect_createselector.js -* js/functional-composition/rxjs_pipe.js +* js/functional-composition/functional_compose.js | 💥 +* js/functional-composition/lodash_flow.js | 💥 +* js/functional-composition/lodash_flow_right.js | 💥 +* js/functional-composition/pipe-function-calls-with-comments.js | 💥 +* js/functional-composition/pipe-function-calls.js | 💥 +* js/functional-composition/ramda_compose.js | 💥 +* js/functional-composition/ramda_pipe.js | 💥 +* js/functional-composition/redux_connect.js | 💥 +* js/functional-composition/reselect_createselector.js | 💥 +* js/functional-composition/rxjs_pipe.js | 💥 ### js/generator -* js/generator/async.js -* js/generator/function-name-starts-with-get.js +* js/generator/async.js | 💥 +* js/generator/function-name-starts-with-get.js | 💥 ### js/identifier/parentheses -* js/identifier/parentheses/let.js +* js/identifier/parentheses/let.js | 💥✨ ### js/if -* js/if/comment_before_else.js -* js/if/else.js -* js/if/expr_and_same_line_comments.js -* js/if/if_comments.js -* js/if/issue-15168.js -* js/if/non-block.js -* js/if/trailing_comment.js +* js/if/comment_before_else.js | 💥 +* js/if/else.js | 💥 +* js/if/expr_and_same_line_comments.js | 💥 +* js/if/if_comments.js | 💥 +* js/if/issue-15168.js | 💥 +* js/if/non-block.js | 💥 +* js/if/trailing_comment.js | 💥 ### js/import -* js/import/comments.js -* js/import/empty-import.js -* js/import/same-local-and-imported.js +* js/import/comments.js | 💥💥 +* js/import/empty-import.js | 💥💥 +* js/import/same-local-and-imported.js | 💥💥 ### js/import-assertions -* js/import-assertions/empty.js -* js/import-assertions/keyword-detect.js +* js/import-assertions/empty.js | 💥 +* js/import-assertions/keyword-detect.js | 💥 ### js/import-attributes -* js/import-attributes/empty.js -* js/import-attributes/keyword-detect.js -* js/import-attributes/long-sources.js +* js/import-attributes/empty.js | 💥 +* js/import-attributes/keyword-detect.js | 💥 +* js/import-attributes/long-sources.js | 💥 ### js/import-attributes/quote-props -* js/import-attributes/quote-props/quoted-keys.js +* js/import-attributes/quote-props/quoted-keys.js | 💥💥✨ ### js/label -* js/label/comment.js +* js/label/comment.js | 💥 ### js/last-argument-expansion -* js/last-argument-expansion/arrow.js -* js/last-argument-expansion/assignment-pattern.js -* js/last-argument-expansion/break-parent.js -* js/last-argument-expansion/dangling-comment-in-arrow-function.js -* js/last-argument-expansion/edge_case.js -* js/last-argument-expansion/empty-lines.js -* js/last-argument-expansion/empty-object.js -* js/last-argument-expansion/function-expression-issue-2239.js -* js/last-argument-expansion/function-expression.js -* js/last-argument-expansion/issue-10708.js -* js/last-argument-expansion/issue-7518.js -* js/last-argument-expansion/jsx.js -* js/last-argument-expansion/overflow.js +* js/last-argument-expansion/arrow.js | 💥 +* js/last-argument-expansion/assignment-pattern.js | 💥 +* js/last-argument-expansion/break-parent.js | 💥 +* js/last-argument-expansion/dangling-comment-in-arrow-function.js | 💥 +* js/last-argument-expansion/edge_case.js | 💥 +* js/last-argument-expansion/empty-lines.js | 💥 +* js/last-argument-expansion/empty-object.js | 💥 +* js/last-argument-expansion/function-expression-issue-2239.js | 💥 +* js/last-argument-expansion/function-expression.js | 💥 +* js/last-argument-expansion/issue-10708.js | 💥 +* js/last-argument-expansion/issue-7518.js | 💥 +* js/last-argument-expansion/jsx.js | 💥 +* js/last-argument-expansion/overflow.js | 💥 ### js/line-suffix-boundary -* js/line-suffix-boundary/boundary.js +* js/line-suffix-boundary/boundary.js | 💥 ### js/literal -* js/literal/number.js +* js/literal/number.js | 💥 ### js/logical_expressions -* js/logical_expressions/issue-7024.js -* js/logical_expressions/logical_expression_operators.js +* js/logical_expressions/issue-7024.js | 💥 +* js/logical_expressions/logical_expression_operators.js | 💥 ### js/member -* js/member/conditional.js -* js/member/expand.js -* js/member/logical.js +* js/member/conditional.js | 💥 +* js/member/expand.js | 💥 +* js/member/logical.js | 💥 ### js/method-chain -* js/method-chain/bracket_0-1.js -* js/method-chain/break-last-call.js -* js/method-chain/break-last-member.js -* js/method-chain/comment.js -* js/method-chain/computed-merge.js -* js/method-chain/computed.js -* js/method-chain/conditional.js -* js/method-chain/d3.js -* js/method-chain/first_long.js -* js/method-chain/fluent-configuration.js -* js/method-chain/inline_merge.js -* js/method-chain/issue-11298.js -* js/method-chain/issue-3594.js -* js/method-chain/issue-4125.js -* js/method-chain/logical.js -* js/method-chain/multiple-members.js -* js/method-chain/object-literal.js -* js/method-chain/pr-7889.js -* js/method-chain/short-names.js -* js/method-chain/square_0.js -* js/method-chain/test.js -* js/method-chain/this.js +* js/method-chain/bracket_0-1.js | 💥 +* js/method-chain/break-last-call.js | 💥 +* js/method-chain/break-last-member.js | 💥 +* js/method-chain/comment.js | 💥 +* js/method-chain/computed-merge.js | 💥 +* js/method-chain/computed.js | 💥 +* js/method-chain/conditional.js | 💥 +* js/method-chain/d3.js | 💥 +* js/method-chain/first_long.js | 💥 +* js/method-chain/fluent-configuration.js | 💥 +* js/method-chain/inline_merge.js | 💥 +* js/method-chain/issue-11298.js | 💥 +* js/method-chain/issue-3594.js | 💥 +* js/method-chain/issue-4125.js | 💥 +* js/method-chain/logical.js | 💥 +* js/method-chain/multiple-members.js | 💥 +* js/method-chain/object-literal.js | 💥 +* js/method-chain/pr-7889.js | 💥 +* js/method-chain/short-names.js | 💥 +* js/method-chain/square_0.js | 💥 +* js/method-chain/test.js | 💥 +* js/method-chain/this.js | 💥 ### js/new-expression -* js/new-expression/with-member-expression.js +* js/new-expression/with-member-expression.js | 💥 ### js/newline -* js/newline/backslash_2028.js -* js/newline/backslash_2029.js +* js/newline/backslash_2028.js | 💥 +* js/newline/backslash_2029.js | 💥 ### js/no-semi -* js/no-semi/class.js -* js/no-semi/comments.js -* js/no-semi/issue2006.js -* js/no-semi/no-semi.js +* js/no-semi/class.js | 💥💥 +* js/no-semi/comments.js | 💥💥 +* js/no-semi/issue2006.js | 💥✨ +* js/no-semi/no-semi.js | 💥💥 ### js/non-strict -* js/non-strict/keywords.js +* js/non-strict/keywords.js | 💥 ### js/nullish-coalescing -* js/nullish-coalescing/nullish_coalesing_operator.js +* js/nullish-coalescing/nullish_coalesing_operator.js | 💥 ### js/numeric-separators -* js/numeric-separators/number.js +* js/numeric-separators/number.js | 💥 ### js/object-prop-break-in -* js/object-prop-break-in/comment.js -* js/object-prop-break-in/short-keys.js +* js/object-prop-break-in/comment.js | 💥 +* js/object-prop-break-in/short-keys.js | 💥 ### js/object-property-comment -* js/object-property-comment/after-key.js +* js/object-property-comment/after-key.js | 💥 ### js/object-property-ignore -* js/object-property-ignore/ignore.js -* js/object-property-ignore/issue-5678.js +* js/object-property-ignore/ignore.js | 💥💥💥 +* js/object-property-ignore/issue-5678.js | 💥💥💥 ### js/objects -* js/objects/escape-sequence-key.js -* js/objects/expand.js -* js/objects/right-break.js +* js/objects/escape-sequence-key.js | 💥 +* js/objects/expand.js | 💥 +* js/objects/right-break.js | 💥 ### js/optional-chaining -* js/optional-chaining/chaining.js -* js/optional-chaining/comments.js -* js/optional-chaining/eval.js +* js/optional-chaining/chaining.js | 💥 +* js/optional-chaining/comments.js | 💥 +* js/optional-chaining/eval.js | 💥 ### js/optional-chaining-assignment -* js/optional-chaining-assignment/valid-complex-case.js -* js/optional-chaining-assignment/valid-lhs-eq.js -* js/optional-chaining-assignment/valid-lhs-plus-eq.js +* js/optional-chaining-assignment/valid-complex-case.js | 💥 +* js/optional-chaining-assignment/valid-lhs-eq.js | 💥 +* js/optional-chaining-assignment/valid-lhs-plus-eq.js | 💥 ### js/performance -* js/performance/nested-real.js +* js/performance/nested-real.js | 💥 ### js/preserve-line -* js/preserve-line/argument-list.js -* js/preserve-line/comments.js -* js/preserve-line/member-chain.js -* js/preserve-line/parameter-list.js +* js/preserve-line/argument-list.js | 💥 +* js/preserve-line/comments.js | 💥 +* js/preserve-line/member-chain.js | 💥 +* js/preserve-line/parameter-list.js | 💥 ### js/quote-props -* js/quote-props/numeric-separator.js -* js/quote-props/objects.js +* js/quote-props/numeric-separator.js | 💥💥💥💥 +* js/quote-props/objects.js | 💥💥💥💥 ### js/quotes -* js/quotes/objects.js -* js/quotes/strings.js +* js/quotes/objects.js | 💥💥 +* js/quotes/strings.js | 💥💥 ### js/require-amd -* js/require-amd/named-amd-module.js -* js/require-amd/require.js +* js/require-amd/named-amd-module.js | 💥 +* js/require-amd/require.js | 💥 ### js/return -* js/return/binaryish.js -* js/return/comment.js +* js/return/binaryish.js | 💥 +* js/return/comment.js | 💥 ### js/sequence-break -* js/sequence-break/break.js +* js/sequence-break/break.js | 💥 ### js/sequence-expression -* js/sequence-expression/ignore.js -* js/sequence-expression/parenthesized.js +* js/sequence-expression/ignore.js | 💥 +* js/sequence-expression/parenthesized.js | 💥 ### js/strings -* js/strings/escaped.js -* js/strings/multiline-literal.js -* js/strings/non-octal-eight-and-nine.js -* js/strings/template-literals.js +* js/strings/escaped.js | 💥💥 +* js/strings/multiline-literal.js | 💥💥 +* js/strings/non-octal-eight-and-nine.js | 💥💥 +* js/strings/template-literals.js | 💥💥 ### js/switch -* js/switch/comments.js -* js/switch/comments2.js +* js/switch/comments.js | 💥 +* js/switch/comments2.js | 💥 ### js/template -* js/template/call.js -* js/template/comment.js -* js/template/faulty-locations.js -* js/template/graphql.js -* js/template/indent.js -* js/template/inline.js -* js/template/parenthesis.js +* js/template/call.js | 💥 +* js/template/comment.js | 💥 +* js/template/faulty-locations.js | 💥 +* js/template/graphql.js | 💥 +* js/template/indent.js | 💥 +* js/template/inline.js | 💥 +* js/template/parenthesis.js | 💥 ### js/template-align -* js/template-align/indent.js +* js/template-align/indent.js | 💥💥 ### js/template-literals -* js/template-literals/binary-exporessions.js -* js/template-literals/conditional-expressions.js -* js/template-literals/expressions.js -* js/template-literals/indention.js -* js/template-literals/logical-expressions.js -* js/template-literals/sequence-expressions.js +* js/template-literals/binary-exporessions.js | 💥 +* js/template-literals/conditional-expressions.js | 💥 +* js/template-literals/expressions.js | 💥 +* js/template-literals/indention.js | 💥 +* js/template-literals/logical-expressions.js | 💥 +* js/template-literals/sequence-expressions.js | 💥 ### js/ternaries -* js/ternaries/binary.js -* js/ternaries/func-call.js -* js/ternaries/indent-after-paren.js -* js/ternaries/indent.js -* js/ternaries/nested-in-condition.js -* js/ternaries/nested.js -* js/ternaries/parenthesis.js -* js/ternaries/test.js +* js/ternaries/binary.js | 💥💥💥💥💥💥💥💥 +* js/ternaries/func-call.js | 💥💥💥💥💥💥💥💥 +* js/ternaries/indent-after-paren.js | 💥💥💥💥💥💥💥💥 +* js/ternaries/indent.js | 💥💥💥💥💥💥💥💥 +* js/ternaries/nested-in-condition.js | 💥💥💥💥💥💥💥💥 +* js/ternaries/nested.js | 💥💥💥💥💥💥💥💥 +* js/ternaries/parenthesis.js | 💥💥💥💥💥💥💥💥 +* js/ternaries/test.js | 💥💥💥💥💥💥💥💥 ### js/ternaries/parenthesis -* js/ternaries/parenthesis/await-expression.js +* js/ternaries/parenthesis/await-expression.js | 💥💥 ### js/test-declarations -* js/test-declarations/angular_async.js -* js/test-declarations/angular_fakeAsync.js -* js/test-declarations/angular_waitForAsync.js -* js/test-declarations/angularjs_inject.js -* js/test-declarations/jest-each-template-string.js -* js/test-declarations/jest-each.js -* js/test-declarations/test_declarations.js +* js/test-declarations/angular_async.js | 💥💥 +* js/test-declarations/angular_fakeAsync.js | 💥💥 +* js/test-declarations/angular_waitForAsync.js | 💥💥 +* js/test-declarations/angularjs_inject.js | 💥💥 +* js/test-declarations/jest-each-template-string.js | 💥💥 +* js/test-declarations/jest-each.js | 💥💥 +* js/test-declarations/test_declarations.js | 💥💥 ### js/throw_statement -* js/throw_statement/binaryish.js -* js/throw_statement/comment.js +* js/throw_statement/binaryish.js | 💥 +* js/throw_statement/comment.js | 💥 ### js/trailing-comma -* js/trailing-comma/es5.js -* js/trailing-comma/function-calls.js -* js/trailing-comma/jsx.js -* js/trailing-comma/trailing_whitespace.js +* js/trailing-comma/es5.js | 💥💥✨ +* js/trailing-comma/function-calls.js | 💥💥✨ +* js/trailing-comma/jsx.js | 💥💥💥 +* js/trailing-comma/trailing_whitespace.js | 💥💥💥 ### js/try -* js/try/catch.js -* js/try/try.js +* js/try/catch.js | 💥 +* js/try/try.js | 💥 ### js/unary -* js/unary/object.js +* js/unary/object.js | 💥 ### js/unary-expression -* js/unary-expression/comments.js +* js/unary-expression/comments.js | 💥 ### js/unicode -* js/unicode/combining-characters.js -* js/unicode/nbsp-jsx.js +* js/unicode/combining-characters.js | 💥 +* js/unicode/nbsp-jsx.js | 💥 ### js/yield -* js/yield/jsx-without-parenthesis.js -* js/yield/jsx.js +* js/yield/jsx-without-parenthesis.js | 💥 +* js/yield/jsx.js | 💥 ### jsx/attr-element -* jsx/attr-element/attr-element.js +* jsx/attr-element/attr-element.js | 💥 ### jsx/binary-expressions -* jsx/binary-expressions/relational-operators.js +* jsx/binary-expressions/relational-operators.js | 💥 ### jsx/comments -* jsx/comments/eslint-disable.js -* jsx/comments/in-attributes.js -* jsx/comments/in-end-tag.js -* jsx/comments/in-tags.js -* jsx/comments/jsx-tag-comment-after-prop.js -* jsx/comments/like-a-comment-in-jsx-text.js +* jsx/comments/eslint-disable.js | 💥 +* jsx/comments/in-attributes.js | 💥 +* jsx/comments/in-end-tag.js | 💥 +* jsx/comments/in-tags.js | 💥 +* jsx/comments/jsx-tag-comment-after-prop.js | 💥 +* jsx/comments/like-a-comment-in-jsx-text.js | 💥 ### jsx/deprecated-jsx-bracket-same-line-option -* jsx/deprecated-jsx-bracket-same-line-option/jsx.js +* jsx/deprecated-jsx-bracket-same-line-option/jsx.js | 💥💥💥💥 ### jsx/embed -* jsx/embed/css-embed.js +* jsx/embed/css-embed.js | 💥 ### jsx/escape -* jsx/escape/nbsp.js +* jsx/escape/nbsp.js | 💥 ### jsx/expression-with-types -* jsx/expression-with-types/expression.js +* jsx/expression-with-types/expression.js | 💥💥💥💥 ### jsx/fbt -* jsx/fbt/test.js +* jsx/fbt/test.js | 💥 ### jsx/fragment -* jsx/fragment/fragment.js +* jsx/fragment/fragment.js | 💥 ### jsx/ignore -* jsx/ignore/jsx_ignore.js +* jsx/ignore/jsx_ignore.js | 💥 ### jsx/jsx -* jsx/jsx/array-iter.js -* jsx/jsx/arrow.js -* jsx/jsx/attr-comments.js -* jsx/jsx/await.js -* jsx/jsx/conditional-expression.js -* jsx/jsx/expression.js -* jsx/jsx/flow_fix_me.js -* jsx/jsx/html_escape.js -* jsx/jsx/hug.js -* jsx/jsx/logical-expression.js -* jsx/jsx/object-property.js -* jsx/jsx/open-break.js -* jsx/jsx/parens.js -* jsx/jsx/quotes.js -* jsx/jsx/regex.js -* jsx/jsx/return-statement.js -* jsx/jsx/spacing.js -* jsx/jsx/template-literal-in-attr.js +* jsx/jsx/array-iter.js | 💥💥💥💥 +* jsx/jsx/arrow.js | 💥💥💥💥 +* jsx/jsx/attr-comments.js | 💥💥💥💥 +* jsx/jsx/await.js | 💥💥💥💥 +* jsx/jsx/conditional-expression.js | 💥💥💥💥 +* jsx/jsx/expression.js | 💥💥💥💥 +* jsx/jsx/flow_fix_me.js | 💥💥💥💥 +* jsx/jsx/html_escape.js | 💥💥✨✨ +* jsx/jsx/hug.js | 💥💥💥💥 +* jsx/jsx/logical-expression.js | 💥💥💥💥 +* jsx/jsx/object-property.js | 💥💥💥💥 +* jsx/jsx/open-break.js | 💥💥💥💥 +* jsx/jsx/parens.js | 💥💥💥💥 +* jsx/jsx/quotes.js | 💥💥💥💥 +* jsx/jsx/regex.js | 💥💥💥💥 +* jsx/jsx/return-statement.js | 💥💥💥💥 +* jsx/jsx/spacing.js | 💥💥💥💥 +* jsx/jsx/template-literal-in-attr.js | 💥💥💥💥 ### jsx/last-line -* jsx/last-line/last_line.js -* jsx/last-line/single_prop_multiline_string.js +* jsx/last-line/last_line.js | 💥💥 +* jsx/last-line/single_prop_multiline_string.js | 💥💥 ### jsx/multiline-assign -* jsx/multiline-assign/test.js +* jsx/multiline-assign/test.js | 💥 ### jsx/newlines -* jsx/newlines/test.js -* jsx/newlines/windows.js +* jsx/newlines/test.js | 💥 +* jsx/newlines/windows.js | 💥 ### jsx/optional-chaining -* jsx/optional-chaining/optional-chaining.jsx +* jsx/optional-chaining/optional-chaining.jsx | 💥 ### jsx/significant-space -* jsx/significant-space/comments.js -* jsx/significant-space/test.js +* jsx/significant-space/comments.js | 💥 +* jsx/significant-space/test.js | 💥 ### jsx/single-attribute-per-line -* jsx/single-attribute-per-line/single-attribute-per-line.js +* jsx/single-attribute-per-line/single-attribute-per-line.js | 💥💥 ### jsx/split-attrs -* jsx/split-attrs/test.js +* jsx/split-attrs/test.js | 💥 ### jsx/spread -* jsx/spread/attribute.js -* jsx/spread/child.js +* jsx/spread/attribute.js | 💥 +* jsx/spread/child.js | 💥 ### jsx/stateless-arrow-fn -* jsx/stateless-arrow-fn/test.js +* jsx/stateless-arrow-fn/test.js | 💥 ### jsx/text-wrap -* jsx/text-wrap/test.js +* jsx/text-wrap/test.js | 💥 diff --git a/tasks/prettier_conformance/snapshots/prettier.ts.snap.md b/tasks/prettier_conformance/snapshots/prettier.ts.snap.md index 05caf5aa77162..f7a16f4cc88ae 100644 --- a/tasks/prettier_conformance/snapshots/prettier.ts.snap.md +++ b/tasks/prettier_conformance/snapshots/prettier.ts.snap.md @@ -3,649 +3,649 @@ ts compatibility: 194/568 (34.15%) # Failed ### jsx/attr-element -* jsx/attr-element/attr-element.js +* jsx/attr-element/attr-element.js | 💥 ### jsx/binary-expressions -* jsx/binary-expressions/relational-operators.js +* jsx/binary-expressions/relational-operators.js | 💥 ### jsx/comments -* jsx/comments/eslint-disable.js -* jsx/comments/in-attributes.js -* jsx/comments/in-end-tag.js -* jsx/comments/in-tags.js -* jsx/comments/jsx-tag-comment-after-prop.js -* jsx/comments/like-a-comment-in-jsx-text.js +* jsx/comments/eslint-disable.js | 💥 +* jsx/comments/in-attributes.js | 💥 +* jsx/comments/in-end-tag.js | 💥 +* jsx/comments/in-tags.js | 💥 +* jsx/comments/jsx-tag-comment-after-prop.js | 💥 +* jsx/comments/like-a-comment-in-jsx-text.js | 💥 ### jsx/deprecated-jsx-bracket-same-line-option -* jsx/deprecated-jsx-bracket-same-line-option/jsx.js +* jsx/deprecated-jsx-bracket-same-line-option/jsx.js | 💥💥💥💥 ### jsx/embed -* jsx/embed/css-embed.js +* jsx/embed/css-embed.js | 💥 ### jsx/escape -* jsx/escape/nbsp.js +* jsx/escape/nbsp.js | 💥 ### jsx/expression-with-types -* jsx/expression-with-types/expression.js +* jsx/expression-with-types/expression.js | 💥💥💥💥 ### jsx/fbt -* jsx/fbt/test.js +* jsx/fbt/test.js | 💥 ### jsx/fragment -* jsx/fragment/fragment.js +* jsx/fragment/fragment.js | 💥 ### jsx/ignore -* jsx/ignore/jsx_ignore.js +* jsx/ignore/jsx_ignore.js | 💥 ### jsx/jsx -* jsx/jsx/array-iter.js -* jsx/jsx/arrow.js -* jsx/jsx/attr-comments.js -* jsx/jsx/await.js -* jsx/jsx/conditional-expression.js -* jsx/jsx/expression.js -* jsx/jsx/flow_fix_me.js -* jsx/jsx/html_escape.js -* jsx/jsx/hug.js -* jsx/jsx/logical-expression.js -* jsx/jsx/object-property.js -* jsx/jsx/open-break.js -* jsx/jsx/parens.js -* jsx/jsx/quotes.js -* jsx/jsx/regex.js -* jsx/jsx/return-statement.js -* jsx/jsx/spacing.js -* jsx/jsx/template-literal-in-attr.js +* jsx/jsx/array-iter.js | 💥💥💥💥 +* jsx/jsx/arrow.js | 💥💥💥💥 +* jsx/jsx/attr-comments.js | 💥💥💥💥 +* jsx/jsx/await.js | 💥💥💥💥 +* jsx/jsx/conditional-expression.js | 💥💥💥💥 +* jsx/jsx/expression.js | 💥💥💥💥 +* jsx/jsx/flow_fix_me.js | 💥💥💥💥 +* jsx/jsx/html_escape.js | 💥💥✨✨ +* jsx/jsx/hug.js | 💥💥💥💥 +* jsx/jsx/logical-expression.js | 💥💥💥💥 +* jsx/jsx/object-property.js | 💥💥💥💥 +* jsx/jsx/open-break.js | 💥💥💥💥 +* jsx/jsx/parens.js | 💥💥💥💥 +* jsx/jsx/quotes.js | 💥💥💥💥 +* jsx/jsx/regex.js | 💥💥💥💥 +* jsx/jsx/return-statement.js | 💥💥💥💥 +* jsx/jsx/spacing.js | 💥💥💥💥 +* jsx/jsx/template-literal-in-attr.js | 💥💥💥💥 ### jsx/last-line -* jsx/last-line/last_line.js -* jsx/last-line/single_prop_multiline_string.js +* jsx/last-line/last_line.js | 💥💥 +* jsx/last-line/single_prop_multiline_string.js | 💥💥 ### jsx/multiline-assign -* jsx/multiline-assign/test.js +* jsx/multiline-assign/test.js | 💥 ### jsx/newlines -* jsx/newlines/test.js -* jsx/newlines/windows.js +* jsx/newlines/test.js | 💥 +* jsx/newlines/windows.js | 💥 ### jsx/optional-chaining -* jsx/optional-chaining/optional-chaining.jsx +* jsx/optional-chaining/optional-chaining.jsx | 💥 ### jsx/significant-space -* jsx/significant-space/comments.js -* jsx/significant-space/test.js +* jsx/significant-space/comments.js | 💥 +* jsx/significant-space/test.js | 💥 ### jsx/single-attribute-per-line -* jsx/single-attribute-per-line/single-attribute-per-line.js +* jsx/single-attribute-per-line/single-attribute-per-line.js | 💥💥 ### jsx/split-attrs -* jsx/split-attrs/test.js +* jsx/split-attrs/test.js | 💥 ### jsx/spread -* jsx/spread/attribute.js -* jsx/spread/child.js +* jsx/spread/attribute.js | 💥 +* jsx/spread/child.js | 💥 ### jsx/stateless-arrow-fn -* jsx/stateless-arrow-fn/test.js +* jsx/stateless-arrow-fn/test.js | 💥 ### jsx/text-wrap -* jsx/text-wrap/test.js +* jsx/text-wrap/test.js | 💥 ### typescript/ambient -* typescript/ambient/ambient.ts +* typescript/ambient/ambient.ts | 💥 ### typescript/angular-component-examples -* typescript/angular-component-examples/15934-computed.component.ts -* typescript/angular-component-examples/15934.component.ts -* typescript/angular-component-examples/15969-computed.component.ts -* typescript/angular-component-examples/test.component.ts +* typescript/angular-component-examples/15934-computed.component.ts | 💥💥 +* typescript/angular-component-examples/15934.component.ts | 💥💥 +* typescript/angular-component-examples/15969-computed.component.ts | 💥💥 +* typescript/angular-component-examples/test.component.ts | 💥💥 ### typescript/argument-expansion -* typescript/argument-expansion/argument_expansion.ts -* typescript/argument-expansion/arrow-with-return-type.ts +* typescript/argument-expansion/argument_expansion.ts | 💥 +* typescript/argument-expansion/arrow-with-return-type.ts | 💥 ### typescript/array -* typescript/array/comment.ts +* typescript/array/comment.ts | 💥 ### typescript/arrow -* typescript/arrow/16067.ts -* typescript/arrow/arrow_regression.ts -* typescript/arrow/comments.ts -* typescript/arrow/issue-6107-curry.ts +* typescript/arrow/16067.ts | 💥💥 +* typescript/arrow/arrow_regression.ts | 💥💥 +* typescript/arrow/comments.ts | 💥💥 +* typescript/arrow/issue-6107-curry.ts | 💥💥 ### typescript/arrows -* typescript/arrows/arrow_function_expression.ts -* typescript/arrows/type_params.ts +* typescript/arrows/arrow_function_expression.ts | 💥✨ +* typescript/arrows/type_params.ts | 💥✨ ### typescript/as -* typescript/as/as.ts -* typescript/as/assignment2.ts -* typescript/as/export_default_as.ts -* typescript/as/expression-statement.ts -* typescript/as/long-identifiers.ts -* typescript/as/nested-await-and-as.ts -* typescript/as/ternary.ts +* typescript/as/as.ts | 💥 +* typescript/as/assignment2.ts | 💥 +* typescript/as/export_default_as.ts | 💥 +* typescript/as/expression-statement.ts | 💥 +* typescript/as/long-identifiers.ts | 💥 +* typescript/as/nested-await-and-as.ts | 💥 +* typescript/as/ternary.ts | 💥 ### typescript/assert -* typescript/assert/comment.ts +* typescript/assert/comment.ts | 💥 ### typescript/assignment -* typescript/assignment/issue-10846.ts -* typescript/assignment/issue-10848.tsx -* typescript/assignment/issue-10850.ts -* typescript/assignment/issue-2482.ts -* typescript/assignment/parenthesized.ts +* typescript/assignment/issue-10846.ts | 💥 +* typescript/assignment/issue-10848.tsx | 💥 +* typescript/assignment/issue-10850.ts | 💥 +* typescript/assignment/issue-2482.ts | 💥 +* typescript/assignment/parenthesized.ts | 💥 ### typescript/call-signature -* typescript/call-signature/call-signature.ts +* typescript/call-signature/call-signature.ts | 💥 ### typescript/cast -* typescript/cast/as-const.ts -* typescript/cast/assert-and-assign.ts -* typescript/cast/generic-cast.ts -* typescript/cast/hug-args.ts -* typescript/cast/parenthesis.ts -* typescript/cast/tuple-and-record.ts +* typescript/cast/as-const.ts | 💥 +* typescript/cast/assert-and-assign.ts | 💥 +* typescript/cast/generic-cast.ts | 💥 +* typescript/cast/hug-args.ts | 💥 +* typescript/cast/parenthesis.ts | 💥 +* typescript/cast/tuple-and-record.ts | 💥 ### typescript/chain-expression -* typescript/chain-expression/call-expression.ts -* typescript/chain-expression/member-expression.ts -* typescript/chain-expression/test.ts +* typescript/chain-expression/call-expression.ts | 💥 +* typescript/chain-expression/member-expression.ts | 💥 +* typescript/chain-expression/test.ts | 💥 ### typescript/class -* typescript/class/constructor.ts -* typescript/class/empty-method-body.ts -* typescript/class/extends_implements.ts -* typescript/class/generics.ts -* typescript/class/issue-16723.ts -* typescript/class/parameter-properties.ts -* typescript/class/quoted-property.ts +* typescript/class/constructor.ts | 💥 +* typescript/class/empty-method-body.ts | 💥 +* typescript/class/extends_implements.ts | 💥 +* typescript/class/generics.ts | 💥 +* typescript/class/issue-16723.ts | 💥 +* typescript/class/parameter-properties.ts | 💥 +* typescript/class/quoted-property.ts | 💥 ### typescript/class-comment -* typescript/class-comment/class-implements.ts -* typescript/class-comment/declare.ts -* typescript/class-comment/generic.ts -* typescript/class-comment/misc.ts +* typescript/class-comment/class-implements.ts | 💥 +* typescript/class-comment/declare.ts | 💥 +* typescript/class-comment/generic.ts | 💥 +* typescript/class-comment/misc.ts | 💥 ### typescript/classes -* typescript/classes/break-heritage.ts -* typescript/classes/break.ts +* typescript/classes/break-heritage.ts | 💥 +* typescript/classes/break.ts | 💥 ### typescript/comments -* typescript/comments/15707.ts -* typescript/comments/16065-2.ts -* typescript/comments/16065.ts -* typescript/comments/abstract_class.ts -* typescript/comments/abstract_methods.ts -* typescript/comments/after_jsx_generic.tsx -* typescript/comments/declare_function.ts -* typescript/comments/interface.ts -* typescript/comments/issues.ts -* typescript/comments/jsx.tsx -* typescript/comments/location.ts -* typescript/comments/mapped_types.ts -* typescript/comments/method_types.ts -* typescript/comments/methods.ts -* typescript/comments/ts-parameter-proerty.ts -* typescript/comments/type-parameters.ts -* typescript/comments/type_literals.ts -* typescript/comments/types.ts -* typescript/comments/union.ts +* typescript/comments/15707.ts | 💥 +* typescript/comments/16065-2.ts | 💥 +* typescript/comments/16065.ts | 💥 +* typescript/comments/abstract_class.ts | 💥 +* typescript/comments/abstract_methods.ts | 💥 +* typescript/comments/after_jsx_generic.tsx | 💥 +* typescript/comments/declare_function.ts | 💥 +* typescript/comments/interface.ts | 💥 +* typescript/comments/issues.ts | 💥 +* typescript/comments/jsx.tsx | 💥 +* typescript/comments/location.ts | 💥 +* typescript/comments/mapped_types.ts | 💥 +* typescript/comments/method_types.ts | 💥 +* typescript/comments/methods.ts | 💥 +* typescript/comments/ts-parameter-proerty.ts | 💥 +* typescript/comments/type-parameters.ts | 💥 +* typescript/comments/type_literals.ts | 💥 +* typescript/comments/types.ts | 💥 +* typescript/comments/union.ts | 💥 ### typescript/comments-2 -* typescript/comments-2/dangling.ts -* typescript/comments-2/issues.ts -* typescript/comments-2/last-arg.ts +* typescript/comments-2/dangling.ts | 💥💥 +* typescript/comments-2/issues.ts | 💥💥 +* typescript/comments-2/last-arg.ts | 💥💥 ### typescript/compiler -* typescript/compiler/anyIsAssignableToObject.ts -* typescript/compiler/castOfAwait.ts -* typescript/compiler/castParentheses.ts -* typescript/compiler/checkInfiniteExpansionTermination.ts -* typescript/compiler/commentInNamespaceDeclarationWithIdentifierPathName.ts -* typescript/compiler/commentsInterface.ts -* typescript/compiler/contextualSignatureInstantiation2.ts -* typescript/compiler/declareDottedModuleName.ts -* typescript/compiler/es5ExportDefaultClassDeclaration4.ts -* typescript/compiler/functionOverloadsOnGenericArity1.ts -* typescript/compiler/indexSignatureWithInitializer.ts -* typescript/compiler/mappedTypeWithCombinedTypeMappers.ts -* typescript/compiler/privacyGloImport.ts +* typescript/compiler/anyIsAssignableToObject.ts | 💥 +* typescript/compiler/castOfAwait.ts | 💥 +* typescript/compiler/castParentheses.ts | 💥 +* typescript/compiler/checkInfiniteExpansionTermination.ts | 💥 +* typescript/compiler/commentInNamespaceDeclarationWithIdentifierPathName.ts | 💥 +* typescript/compiler/commentsInterface.ts | 💥 +* typescript/compiler/contextualSignatureInstantiation2.ts | 💥 +* typescript/compiler/declareDottedModuleName.ts | 💥 +* typescript/compiler/es5ExportDefaultClassDeclaration4.ts | 💥 +* typescript/compiler/functionOverloadsOnGenericArity1.ts | 💥 +* typescript/compiler/indexSignatureWithInitializer.ts | 💥 +* typescript/compiler/mappedTypeWithCombinedTypeMappers.ts | 💥 +* typescript/compiler/privacyGloImport.ts | 💥 ### typescript/conditional-types -* typescript/conditional-types/comments.ts -* typescript/conditional-types/conditonal-types.ts -* typescript/conditional-types/infer-type.ts -* typescript/conditional-types/nested-in-condition.ts -* typescript/conditional-types/new-ternary-spec.ts -* typescript/conditional-types/parentheses.ts +* typescript/conditional-types/comments.ts | 💥💥 +* typescript/conditional-types/conditonal-types.ts | 💥💥 +* typescript/conditional-types/infer-type.ts | 💥💥 +* typescript/conditional-types/nested-in-condition.ts | 💥💥 +* typescript/conditional-types/new-ternary-spec.ts | 💥💥 +* typescript/conditional-types/parentheses.ts | 💥💥 ### typescript/conformance/classes -* typescript/conformance/classes/mixinAccessModifiers.ts -* typescript/conformance/classes/mixinClassesAnnotated.ts -* typescript/conformance/classes/mixinClassesAnonymous.ts -* typescript/conformance/classes/mixinClassesMembers.ts -* typescript/conformance/classes/nestedClassDeclaration.ts +* typescript/conformance/classes/mixinAccessModifiers.ts | 💥 +* typescript/conformance/classes/mixinClassesAnnotated.ts | 💥 +* typescript/conformance/classes/mixinClassesAnonymous.ts | 💥 +* typescript/conformance/classes/mixinClassesMembers.ts | 💥 +* typescript/conformance/classes/nestedClassDeclaration.ts | 💥 ### typescript/conformance/classes/classDeclarations/classHeritageSpecification -* typescript/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly.ts +* typescript/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly.ts | 💥 ### typescript/conformance/classes/constructorDeclarations/constructorParameters -* typescript/conformance/classes/constructorDeclarations/constructorParameters/constructorImplementationWithDefaultValues2.ts -* typescript/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties.ts -* typescript/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties2.ts -* typescript/conformance/classes/constructorDeclarations/constructorParameters/declarationEmitReadonly.ts -* typescript/conformance/classes/constructorDeclarations/constructorParameters/readonlyConstructorAssignment.ts +* typescript/conformance/classes/constructorDeclarations/constructorParameters/constructorImplementationWithDefaultValues2.ts | 💥 +* typescript/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties.ts | 💥 +* typescript/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties2.ts | 💥 +* typescript/conformance/classes/constructorDeclarations/constructorParameters/declarationEmitReadonly.ts | 💥 +* typescript/conformance/classes/constructorDeclarations/constructorParameters/readonlyConstructorAssignment.ts | 💥 ### typescript/conformance/comments -* typescript/conformance/comments/comments.ts +* typescript/conformance/comments/comments.ts | 💥 ### typescript/conformance/declarationEmit/typePredicates -* typescript/conformance/declarationEmit/typePredicates/declarationEmitThisPredicatesWithPrivateName01.ts +* typescript/conformance/declarationEmit/typePredicates/declarationEmitThisPredicatesWithPrivateName01.ts | 💥 ### typescript/conformance/es6/Symbols -* typescript/conformance/es6/Symbols/symbolProperty15.ts +* typescript/conformance/es6/Symbols/symbolProperty15.ts | 💥 ### typescript/conformance/es6/templates -* typescript/conformance/es6/templates/templateStringWithEmbeddedTypeAssertionOnAdditionES6.ts +* typescript/conformance/es6/templates/templateStringWithEmbeddedTypeAssertionOnAdditionES6.ts | 💥 ### typescript/conformance/expressions/asOperator -* typescript/conformance/expressions/asOperator/asOperatorContextualType.ts +* typescript/conformance/expressions/asOperator/asOperatorContextualType.ts | 💥 ### typescript/conformance/expressions/functionCalls -* typescript/conformance/expressions/functionCalls/callWithSpreadES6.ts +* typescript/conformance/expressions/functionCalls/callWithSpreadES6.ts | 💥 ### typescript/conformance/internalModules/importDeclarations -* typescript/conformance/internalModules/importDeclarations/circularImportAlias.ts -* typescript/conformance/internalModules/importDeclarations/exportImportAlias.ts -* typescript/conformance/internalModules/importDeclarations/importAliasIdentifiers.ts -* typescript/conformance/internalModules/importDeclarations/invalidImportAliasIdentifiers.ts -* typescript/conformance/internalModules/importDeclarations/shadowedInternalModule.ts +* typescript/conformance/internalModules/importDeclarations/circularImportAlias.ts | 💥 +* typescript/conformance/internalModules/importDeclarations/exportImportAlias.ts | 💥 +* typescript/conformance/internalModules/importDeclarations/importAliasIdentifiers.ts | 💥 +* typescript/conformance/internalModules/importDeclarations/invalidImportAliasIdentifiers.ts | 💥 +* typescript/conformance/internalModules/importDeclarations/shadowedInternalModule.ts | 💥 ### typescript/conformance/types/any -* typescript/conformance/types/any/anyAsConstructor.ts -* typescript/conformance/types/any/anyAsFunctionCall.ts -* typescript/conformance/types/any/anyAsGenericFunctionCall.ts +* typescript/conformance/types/any/anyAsConstructor.ts | 💥 +* typescript/conformance/types/any/anyAsFunctionCall.ts | 💥 +* typescript/conformance/types/any/anyAsGenericFunctionCall.ts | 💥 ### typescript/conformance/types/firstTypeNode -* typescript/conformance/types/firstTypeNode/firstTypeNode.ts +* typescript/conformance/types/firstTypeNode/firstTypeNode.ts | 💥 ### typescript/conformance/types/functions -* typescript/conformance/types/functions/functionImplementationErrors.ts -* typescript/conformance/types/functions/functionImplementations.ts -* typescript/conformance/types/functions/functionOverloadErrorsSyntax.ts -* typescript/conformance/types/functions/parameterInitializersForwardReferencing.ts +* typescript/conformance/types/functions/functionImplementationErrors.ts | 💥 +* typescript/conformance/types/functions/functionImplementations.ts | 💥 +* typescript/conformance/types/functions/functionOverloadErrorsSyntax.ts | 💥 +* typescript/conformance/types/functions/parameterInitializersForwardReferencing.ts | 💥 ### typescript/conformance/types/mappedType -* typescript/conformance/types/mappedType/mappedType.ts +* typescript/conformance/types/mappedType/mappedType.ts | 💥 ### typescript/conformance/types/moduleDeclaration -* typescript/conformance/types/moduleDeclaration/kind-detection.ts +* typescript/conformance/types/moduleDeclaration/kind-detection.ts | 💥 ### typescript/conformance/types/namespaceExportDeclaration -* typescript/conformance/types/namespaceExportDeclaration/exportAsNamespace.d.ts +* typescript/conformance/types/namespaceExportDeclaration/exportAsNamespace.d.ts | 💥 ### typescript/conformance/types/parameterProperty -* typescript/conformance/types/parameterProperty/parameterProperty.ts +* typescript/conformance/types/parameterProperty/parameterProperty.ts | 💥 ### typescript/conformance/types/tuple -* typescript/conformance/types/tuple/contextualTypeWithTuple.ts -* typescript/conformance/types/tuple/indexerWithTuple.ts -* typescript/conformance/types/tuple/typeInferenceWithTupleType.ts -* typescript/conformance/types/tuple/wideningTuples1.ts -* typescript/conformance/types/tuple/wideningTuples2.ts -* typescript/conformance/types/tuple/wideningTuples3.ts -* typescript/conformance/types/tuple/wideningTuples5.ts -* typescript/conformance/types/tuple/wideningTuples7.ts +* typescript/conformance/types/tuple/contextualTypeWithTuple.ts | 💥 +* typescript/conformance/types/tuple/indexerWithTuple.ts | 💥 +* typescript/conformance/types/tuple/typeInferenceWithTupleType.ts | 💥 +* typescript/conformance/types/tuple/wideningTuples1.ts | 💥 +* typescript/conformance/types/tuple/wideningTuples2.ts | 💥 +* typescript/conformance/types/tuple/wideningTuples3.ts | 💥 +* typescript/conformance/types/tuple/wideningTuples5.ts | 💥 +* typescript/conformance/types/tuple/wideningTuples7.ts | 💥 ### typescript/conformance/types/tuple/emptyTuples -* typescript/conformance/types/tuple/emptyTuples/emptyTuplesTypeAssertion02.ts +* typescript/conformance/types/tuple/emptyTuples/emptyTuplesTypeAssertion02.ts | 💥 ### typescript/conformance/types/typeOperator -* typescript/conformance/types/typeOperator/typeOperator.ts +* typescript/conformance/types/typeOperator/typeOperator.ts | 💥 ### typescript/conformance/types/typeParameter -* typescript/conformance/types/typeParameter/typeParameter.ts +* typescript/conformance/types/typeParameter/typeParameter.ts | 💥 ### typescript/conformance/types/typeParameters/typeParameterLists -* typescript/conformance/types/typeParameters/typeParameterLists/innerTypeParameterShadowingOuterOne.ts -* typescript/conformance/types/typeParameters/typeParameterLists/innerTypeParameterShadowingOuterOne2.ts -* typescript/conformance/types/typeParameters/typeParameterLists/staticMembersUsingClassTypeParameter.ts +* typescript/conformance/types/typeParameters/typeParameterLists/innerTypeParameterShadowingOuterOne.ts | 💥 +* typescript/conformance/types/typeParameters/typeParameterLists/innerTypeParameterShadowingOuterOne2.ts | 💥 +* typescript/conformance/types/typeParameters/typeParameterLists/staticMembersUsingClassTypeParameter.ts | 💥 ### typescript/conformance/types/union -* typescript/conformance/types/union/unionTypeCallSignatures.ts -* typescript/conformance/types/union/unionTypeCallSignatures3.ts -* typescript/conformance/types/union/unionTypeCallSignatures4.ts -* typescript/conformance/types/union/unionTypeConstructSignatures.ts -* typescript/conformance/types/union/unionTypeEquivalence.ts -* typescript/conformance/types/union/unionTypeFromArrayLiteral.ts -* typescript/conformance/types/union/unionTypeIndexSignature.ts +* typescript/conformance/types/union/unionTypeCallSignatures.ts | 💥 +* typescript/conformance/types/union/unionTypeCallSignatures3.ts | 💥 +* typescript/conformance/types/union/unionTypeCallSignatures4.ts | 💥 +* typescript/conformance/types/union/unionTypeConstructSignatures.ts | 💥 +* typescript/conformance/types/union/unionTypeEquivalence.ts | 💥 +* typescript/conformance/types/union/unionTypeFromArrayLiteral.ts | 💥 +* typescript/conformance/types/union/unionTypeIndexSignature.ts | 💥 ### typescript/const -* typescript/const/initializer-ambient-context.ts +* typescript/const/initializer-ambient-context.ts | 💥 ### typescript/custom/computedProperties -* typescript/custom/computedProperties/symbol.ts +* typescript/custom/computedProperties/symbol.ts | 💥 ### typescript/custom/modifiers -* typescript/custom/modifiers/minustoken.ts -* typescript/custom/modifiers/question.ts -* typescript/custom/modifiers/readonly.ts +* typescript/custom/modifiers/minustoken.ts | 💥 +* typescript/custom/modifiers/question.ts | 💥 +* typescript/custom/modifiers/readonly.ts | 💥 ### typescript/custom/module -* typescript/custom/module/global.ts -* typescript/custom/module/nestedNamespace.ts +* typescript/custom/module/global.ts | 💥 +* typescript/custom/module/nestedNamespace.ts | 💥 ### typescript/custom/new -* typescript/custom/new/newKeyword.ts +* typescript/custom/new/newKeyword.ts | 💥 ### typescript/custom/stability -* typescript/custom/stability/moduleBlock.ts +* typescript/custom/stability/moduleBlock.ts | 💥 ### typescript/custom/typeParameters -* typescript/custom/typeParameters/callAndConstructSignatureLong.ts -* typescript/custom/typeParameters/functionTypeLong.ts -* typescript/custom/typeParameters/interfaceParamsLong.ts -* typescript/custom/typeParameters/typeParametersLong.ts -* typescript/custom/typeParameters/variables.ts +* typescript/custom/typeParameters/callAndConstructSignatureLong.ts | 💥 +* typescript/custom/typeParameters/functionTypeLong.ts | 💥 +* typescript/custom/typeParameters/interfaceParamsLong.ts | 💥 +* typescript/custom/typeParameters/typeParametersLong.ts | 💥 +* typescript/custom/typeParameters/variables.ts | 💥 ### typescript/declare -* typescript/declare/declare_var.ts -* typescript/declare/object-type-in-declare-function.ts +* typescript/declare/declare_var.ts | 💥 +* typescript/declare/object-type-in-declare-function.ts | 💥 ### typescript/decorator-auto-accessors -* typescript/decorator-auto-accessors/decorator-auto-accessors-type-annotations.ts +* typescript/decorator-auto-accessors/decorator-auto-accessors-type-annotations.ts | 💥 ### typescript/decorators -* typescript/decorators/abstract-method.ts -* typescript/decorators/accessor.ts -* typescript/decorators/argument-list-preserve-line.ts -* typescript/decorators/comments.ts -* typescript/decorators/decorator-type-assertion.ts -* typescript/decorators/decorators-comments.ts -* typescript/decorators/decorators.ts -* typescript/decorators/inline-decorators.ts -* typescript/decorators/legacy.ts -* typescript/decorators/mobx.ts +* typescript/decorators/abstract-method.ts | 💥 +* typescript/decorators/accessor.ts | 💥 +* typescript/decorators/argument-list-preserve-line.ts | 💥 +* typescript/decorators/comments.ts | 💥 +* typescript/decorators/decorator-type-assertion.ts | 💥 +* typescript/decorators/decorators-comments.ts | 💥 +* typescript/decorators/decorators.ts | 💥 +* typescript/decorators/inline-decorators.ts | 💥 +* typescript/decorators/legacy.ts | 💥 +* typescript/decorators/mobx.ts | 💥 ### typescript/decorators-ts -* typescript/decorators-ts/accessor-decorator.ts -* typescript/decorators-ts/angular.ts -* typescript/decorators-ts/method-decorator.ts -* typescript/decorators-ts/mobx.ts -* typescript/decorators-ts/multiple.ts -* typescript/decorators-ts/parameter-decorator.ts -* typescript/decorators-ts/property-decorator.ts -* typescript/decorators-ts/typeorm.ts +* typescript/decorators-ts/accessor-decorator.ts | 💥 +* typescript/decorators-ts/angular.ts | 💥 +* typescript/decorators-ts/method-decorator.ts | 💥 +* typescript/decorators-ts/mobx.ts | 💥 +* typescript/decorators-ts/multiple.ts | 💥 +* typescript/decorators-ts/parameter-decorator.ts | 💥 +* typescript/decorators-ts/property-decorator.ts | 💥 +* typescript/decorators-ts/typeorm.ts | 💥 ### typescript/definite -* typescript/definite/definite.ts -* typescript/definite/without-annotation.ts +* typescript/definite/definite.ts | 💥 +* typescript/definite/without-annotation.ts | 💥 ### typescript/end-of-line -* typescript/end-of-line/multiline.ts +* typescript/end-of-line/multiline.ts | 💥💥💥 ### typescript/enum -* typescript/enum/computed-members.ts -* typescript/enum/enum.ts +* typescript/enum/computed-members.ts | 💥 +* typescript/enum/enum.ts | 💥 ### typescript/export -* typescript/export/comment.ts -* typescript/export/export-type-star-from-2.ts -* typescript/export/export-type-star-from.ts +* typescript/export/comment.ts | 💥 +* typescript/export/export-type-star-from-2.ts | 💥 +* typescript/export/export-type-star-from.ts | 💥 ### typescript/export-default -* typescript/export-default/function_as.ts +* typescript/export-default/function_as.ts | 💥 ### typescript/function-type -* typescript/function-type/consistent.ts -* typescript/function-type/type-annotation.ts +* typescript/function-type/consistent.ts | 💥 +* typescript/function-type/type-annotation.ts | 💥 ### typescript/functional-composition -* typescript/functional-composition/pipe-function-calls-with-comments.ts -* typescript/functional-composition/pipe-function-calls.ts +* typescript/functional-composition/pipe-function-calls-with-comments.ts | 💥 +* typescript/functional-composition/pipe-function-calls.ts | 💥 ### typescript/generic -* typescript/generic/arrow-return-type.ts -* typescript/generic/issue-6899.ts -* typescript/generic/ungrouped-parameters.ts +* typescript/generic/arrow-return-type.ts | 💥 +* typescript/generic/issue-6899.ts | 💥 +* typescript/generic/ungrouped-parameters.ts | 💥 ### typescript/import-export -* typescript/import-export/empty-import.ts -* typescript/import-export/type-modifier.ts +* typescript/import-export/empty-import.ts | 💥 +* typescript/import-export/type-modifier.ts | 💥 ### typescript/import-require -* typescript/import-require/type-imports.ts +* typescript/import-require/type-imports.ts | 💥 ### typescript/import-type -* typescript/import-type/import-type.ts +* typescript/import-type/import-type.ts | 💥💥 ### typescript/index-signature -* typescript/index-signature/index-signature.ts -* typescript/index-signature/static.ts +* typescript/index-signature/index-signature.ts | 💥 +* typescript/index-signature/static.ts | 💥 ### typescript/infer-extends -* typescript/infer-extends/basic.ts +* typescript/infer-extends/basic.ts | 💥 ### typescript/instantiation-expression -* typescript/instantiation-expression/basic.ts -* typescript/instantiation-expression/inferface-asi.ts -* typescript/instantiation-expression/new.ts -* typescript/instantiation-expression/property-access.ts +* typescript/instantiation-expression/basic.ts | 💥 +* typescript/instantiation-expression/inferface-asi.ts | 💥 +* typescript/instantiation-expression/new.ts | 💥 +* typescript/instantiation-expression/property-access.ts | 💥 ### typescript/interface -* typescript/interface/comments-generic.ts -* typescript/interface/comments.ts -* typescript/interface/generic.ts -* typescript/interface/ignore.ts -* typescript/interface/long-extends.ts +* typescript/interface/comments-generic.ts | 💥💥 +* typescript/interface/comments.ts | 💥💥 +* typescript/interface/generic.ts | 💥💥 +* typescript/interface/ignore.ts | 💥💥 +* typescript/interface/long-extends.ts | 💥💥 ### typescript/interface/long-type-parameters -* typescript/interface/long-type-parameters/long-type-parameters.ts +* typescript/interface/long-type-parameters/long-type-parameters.ts | 💥💥 ### typescript/interface2 -* typescript/interface2/comments-declare.ts -* typescript/interface2/comments.ts +* typescript/interface2/comments-declare.ts | 💥 +* typescript/interface2/comments.ts | 💥 ### typescript/interface2/break -* typescript/interface2/break/break.ts +* typescript/interface2/break/break.ts | 💥💥💥 ### typescript/intersection -* typescript/intersection/type-arguments.ts +* typescript/intersection/type-arguments.ts | 💥💥 ### typescript/intersection/consistent-with-flow -* typescript/intersection/consistent-with-flow/comment.ts -* typescript/intersection/consistent-with-flow/intersection-parens.ts +* typescript/intersection/consistent-with-flow/comment.ts | 💥 +* typescript/intersection/consistent-with-flow/intersection-parens.ts | 💥 ### typescript/key-remapping-in-mapped-types -* typescript/key-remapping-in-mapped-types/key-remapping.ts +* typescript/key-remapping-in-mapped-types/key-remapping.ts | 💥 ### typescript/keyof -* typescript/keyof/keyof.ts +* typescript/keyof/keyof.ts | 💥 ### typescript/keyword-types -* typescript/keyword-types/conditional-types.ts -* typescript/keyword-types/keyword-types-with-parens-comments.ts +* typescript/keyword-types/conditional-types.ts | 💥 +* typescript/keyword-types/keyword-types-with-parens-comments.ts | 💥 ### typescript/keywords -* typescript/keywords/keywords-2.ts -* typescript/keywords/module.ts +* typescript/keywords/keywords-2.ts | 💥 +* typescript/keywords/module.ts | 💥 ### typescript/last-argument-expansion -* typescript/last-argument-expansion/break.ts -* typescript/last-argument-expansion/decorated-function.tsx -* typescript/last-argument-expansion/edge_case.ts -* typescript/last-argument-expansion/forward-ref.tsx +* typescript/last-argument-expansion/break.ts | 💥 +* typescript/last-argument-expansion/decorated-function.tsx | 💥 +* typescript/last-argument-expansion/edge_case.ts | 💥 +* typescript/last-argument-expansion/forward-ref.tsx | 💥 ### typescript/mapped-type -* typescript/mapped-type/intersection.ts -* typescript/mapped-type/issue-11098.ts -* typescript/mapped-type/mapped-type.ts +* typescript/mapped-type/intersection.ts | 💥 +* typescript/mapped-type/issue-11098.ts | 💥 +* typescript/mapped-type/mapped-type.ts | 💥 ### typescript/mapped-type/break-mode -* typescript/mapped-type/break-mode/break-mode.ts +* typescript/mapped-type/break-mode/break-mode.ts | 💥 ### typescript/method -* typescript/method/issue-10352-consistency.ts +* typescript/method/issue-10352-consistency.ts | 💥 ### typescript/method-chain -* typescript/method-chain/comment.ts +* typescript/method-chain/comment.ts | 💥 ### typescript/module -* typescript/module/empty.ts -* typescript/module/global.ts -* typescript/module/keyword.ts -* typescript/module/module_nested.ts -* typescript/module/namespace_nested.ts +* typescript/module/empty.ts | 💥 +* typescript/module/global.ts | 💥 +* typescript/module/keyword.ts | 💥 +* typescript/module/module_nested.ts | 💥 +* typescript/module/namespace_nested.ts | 💥 ### typescript/multiparser-css -* typescript/multiparser-css/issue-6259.ts +* typescript/multiparser-css/issue-6259.ts | 💥 ### typescript/new -* typescript/new/new-signature.ts +* typescript/new/new-signature.ts | 💥 ### typescript/no-semi -* typescript/no-semi/no-semi.ts -* typescript/no-semi/non-null.ts +* typescript/no-semi/no-semi.ts | 💥💥 +* typescript/no-semi/non-null.ts | 💥💥 ### typescript/non-null -* typescript/non-null/braces.ts -* typescript/non-null/optional-chain.ts -* typescript/non-null/parens.ts +* typescript/non-null/braces.ts | 💥 +* typescript/non-null/optional-chain.ts | 💥 +* typescript/non-null/parens.ts | 💥 ### typescript/nosemi -* typescript/nosemi/type.ts +* typescript/nosemi/type.ts | 💥 ### typescript/optional-method -* typescript/optional-method/optional-method.ts +* typescript/optional-method/optional-method.ts | 💥 ### typescript/optional-type -* typescript/optional-type/complex.ts +* typescript/optional-type/complex.ts | 💥 ### typescript/prettier-ignore -* typescript/prettier-ignore/issue-14238.ts -* typescript/prettier-ignore/mapped-types.ts -* typescript/prettier-ignore/prettier-ignore-nested-unions.ts -* typescript/prettier-ignore/prettier-ignore-parenthesized-type.ts +* typescript/prettier-ignore/issue-14238.ts | 💥 +* typescript/prettier-ignore/mapped-types.ts | 💥 +* typescript/prettier-ignore/prettier-ignore-nested-unions.ts | 💥 +* typescript/prettier-ignore/prettier-ignore-parenthesized-type.ts | 💥 ### typescript/private-fields-in-in -* typescript/private-fields-in-in/basic.ts +* typescript/private-fields-in-in/basic.ts | 💥 ### typescript/rest-type -* typescript/rest-type/complex.ts -* typescript/rest-type/infer-type.ts +* typescript/rest-type/complex.ts | 💥 +* typescript/rest-type/infer-type.ts | 💥 ### typescript/satisfies-operators -* typescript/satisfies-operators/argument-expansion.ts -* typescript/satisfies-operators/assignment.ts -* typescript/satisfies-operators/basic.ts -* typescript/satisfies-operators/comments-unstable.ts -* typescript/satisfies-operators/comments.ts -* typescript/satisfies-operators/export-default-as.ts -* typescript/satisfies-operators/expression-statement.ts -* typescript/satisfies-operators/gt-lt.ts -* typescript/satisfies-operators/hug-args.ts -* typescript/satisfies-operators/lhs.ts -* typescript/satisfies-operators/nested-await-and-satisfies.ts -* typescript/satisfies-operators/non-null.ts -* typescript/satisfies-operators/satisfies.ts -* typescript/satisfies-operators/template-literal.ts -* typescript/satisfies-operators/ternary.ts -* typescript/satisfies-operators/types-comments.ts +* typescript/satisfies-operators/argument-expansion.ts | 💥💥 +* typescript/satisfies-operators/assignment.ts | 💥💥 +* typescript/satisfies-operators/basic.ts | 💥💥 +* typescript/satisfies-operators/comments-unstable.ts | 💥💥 +* typescript/satisfies-operators/comments.ts | 💥💥 +* typescript/satisfies-operators/export-default-as.ts | 💥💥 +* typescript/satisfies-operators/expression-statement.ts | 💥💥 +* typescript/satisfies-operators/gt-lt.ts | 💥💥 +* typescript/satisfies-operators/hug-args.ts | 💥💥 +* typescript/satisfies-operators/lhs.ts | 💥💥 +* typescript/satisfies-operators/nested-await-and-satisfies.ts | 💥💥 +* typescript/satisfies-operators/non-null.ts | 💥💥 +* typescript/satisfies-operators/satisfies.ts | 💥💥 +* typescript/satisfies-operators/template-literal.ts | 💥💥 +* typescript/satisfies-operators/ternary.ts | 💥💥 +* typescript/satisfies-operators/types-comments.ts | 💥💥 ### typescript/static-blocks -* typescript/static-blocks/nested.ts +* typescript/static-blocks/nested.ts | 💥 ### typescript/template-literals -* typescript/template-literals/as-expression.ts +* typescript/template-literals/as-expression.ts | 💥 ### typescript/ternaries -* typescript/ternaries/indent.ts +* typescript/ternaries/indent.ts | 💥 ### typescript/test-declarations -* typescript/test-declarations/test_declarations.ts +* typescript/test-declarations/test_declarations.ts | 💥💥 ### typescript/trailing-comma -* typescript/trailing-comma/arrow-functions.tsx -* typescript/trailing-comma/trailing.ts -* typescript/trailing-comma/type-arguments.ts -* typescript/trailing-comma/type-parameters-vs-arguments.ts +* typescript/trailing-comma/arrow-functions.tsx | 💥💥💥 +* typescript/trailing-comma/trailing.ts | 💥💥💥 +* typescript/trailing-comma/type-arguments.ts | 💥💥💥 +* typescript/trailing-comma/type-parameters-vs-arguments.ts | 💥💥💥 ### typescript/tsx -* typescript/tsx/member-expression.tsx -* typescript/tsx/not-react.ts -* typescript/tsx/react.tsx -* typescript/tsx/type-parameters.tsx -* typescript/tsx/url.tsx +* typescript/tsx/member-expression.tsx | 💥 +* typescript/tsx/not-react.ts | 💥 +* typescript/tsx/react.tsx | 💥 +* typescript/tsx/type-parameters.tsx | 💥 +* typescript/tsx/url.tsx | 💥 ### typescript/tuple -* typescript/tuple/dangling-comments.ts -* typescript/tuple/trailing-comma-for-empty-tuples.ts -* typescript/tuple/trailing-comma-trailing-rest.ts -* typescript/tuple/trailing-comma.ts -* typescript/tuple/tuple-labeled.ts -* typescript/tuple/tuple-rest-not-last.ts -* typescript/tuple/tuple.ts +* typescript/tuple/dangling-comments.ts | 💥💥💥 +* typescript/tuple/trailing-comma-for-empty-tuples.ts | 💥💥💥 +* typescript/tuple/trailing-comma-trailing-rest.ts | 💥💥💥 +* typescript/tuple/trailing-comma.ts | 💥💥💥 +* typescript/tuple/tuple-labeled.ts | 💥💥💥 +* typescript/tuple/tuple-rest-not-last.ts | 💥💥💥 +* typescript/tuple/tuple.ts | 💥💥💥 ### typescript/type-alias -* typescript/type-alias/conditional.ts -* typescript/type-alias/issue-100857.ts -* typescript/type-alias/issue-9874.ts +* typescript/type-alias/conditional.ts | 💥 +* typescript/type-alias/issue-100857.ts | 💥 +* typescript/type-alias/issue-9874.ts | 💥 ### typescript/type-arguments-bit-shift-left-like -* typescript/type-arguments-bit-shift-left-like/1.ts -* typescript/type-arguments-bit-shift-left-like/3.ts -* typescript/type-arguments-bit-shift-left-like/4.ts -* typescript/type-arguments-bit-shift-left-like/5.tsx +* typescript/type-arguments-bit-shift-left-like/1.ts | 💥 +* typescript/type-arguments-bit-shift-left-like/3.ts | 💥 +* typescript/type-arguments-bit-shift-left-like/4.ts | 💥 +* typescript/type-arguments-bit-shift-left-like/5.tsx | 💥 ### typescript/type-member-get-set -* typescript/type-member-get-set/type-member-get-set.ts +* typescript/type-member-get-set/type-member-get-set.ts | 💥 ### typescript/type-only-module-specifiers -* typescript/type-only-module-specifiers/basic.ts +* typescript/type-only-module-specifiers/basic.ts | 💥 ### typescript/typeof -* typescript/typeof/typeof.ts +* typescript/typeof/typeof.ts | 💥 ### typescript/typeof-this -* typescript/typeof-this/decorators.ts -* typescript/typeof-this/typeof-this.ts +* typescript/typeof-this/decorators.ts | 💥 +* typescript/typeof-this/typeof-this.ts | 💥 ### typescript/typeparams -* typescript/typeparams/class-method.ts -* typescript/typeparams/const.ts -* typescript/typeparams/line-breaking-after-extends-2.ts -* typescript/typeparams/line-breaking-after-extends.ts -* typescript/typeparams/long-function-arg.ts -* typescript/typeparams/tagged-template-expression.ts +* typescript/typeparams/class-method.ts | 💥 +* typescript/typeparams/const.ts | 💥 +* typescript/typeparams/line-breaking-after-extends-2.ts | 💥 +* typescript/typeparams/line-breaking-after-extends.ts | 💥 +* typescript/typeparams/long-function-arg.ts | 💥 +* typescript/typeparams/tagged-template-expression.ts | 💥 ### typescript/typeparams/empty-parameters-with-arrow-function -* typescript/typeparams/empty-parameters-with-arrow-function/issue-13817.ts +* typescript/typeparams/empty-parameters-with-arrow-function/issue-13817.ts | 💥 ### typescript/typeparams/print-width-120 -* typescript/typeparams/print-width-120/issue-7542.tsx +* typescript/typeparams/print-width-120/issue-7542.tsx | 💥 ### typescript/typeparams/trailing-comma -* typescript/typeparams/trailing-comma/type-paramters.ts +* typescript/typeparams/trailing-comma/type-paramters.ts | 💥💥💥 ### typescript/union -* typescript/union/comments.ts -* typescript/union/inlining.ts -* typescript/union/union-parens.ts -* typescript/union/with-type-params.ts +* typescript/union/comments.ts | 💥 +* typescript/union/inlining.ts | 💥 +* typescript/union/union-parens.ts | 💥 +* typescript/union/with-type-params.ts | 💥 ### typescript/union/consistent-with-flow -* typescript/union/consistent-with-flow/comment.ts -* typescript/union/consistent-with-flow/comments.ts -* typescript/union/consistent-with-flow/prettier-ignore.ts -* typescript/union/consistent-with-flow/single-type.ts -* typescript/union/consistent-with-flow/within-tuple.ts +* typescript/union/consistent-with-flow/comment.ts | 💥 +* typescript/union/consistent-with-flow/comments.ts | 💥 +* typescript/union/consistent-with-flow/prettier-ignore.ts | 💥 +* typescript/union/consistent-with-flow/single-type.ts | 💥 +* typescript/union/consistent-with-flow/within-tuple.ts | 💥 ### typescript/union/single-type -* typescript/union/single-type/single-type.ts +* typescript/union/single-type/single-type.ts | 💥 ### typescript/update-expression -* typescript/update-expression/update-expressions.ts +* typescript/update-expression/update-expressions.ts | 💥 ### typescript/webhost -* typescript/webhost/webtsc.ts +* typescript/webhost/webtsc.ts | 💥 diff --git a/tasks/prettier_conformance/src/lib.rs b/tasks/prettier_conformance/src/lib.rs index a1614d1e9bf15..f6e162d5d62ce 100644 --- a/tasks/prettier_conformance/src/lib.rs +++ b/tasks/prettier_conformance/src/lib.rs @@ -89,10 +89,12 @@ impl TestRunner { &dir.strip_prefix(fixtures_root()).unwrap().to_string_lossy() )); // Each failed test file - for path in failed_test_files { + for (path, (failed, passed)) in failed_test_files { failed_reports.push_str(&format!( - "* {}\n", - path.strip_prefix(fixtures_root()).unwrap().to_string_lossy() + "* {} | {}{}\n", + path.strip_prefix(fixtures_root()).unwrap().to_string_lossy(), + "💥".repeat(failed), + "✨".repeat(passed), )); } } @@ -185,7 +187,11 @@ fn collect_test_files(dir: &Path, filter: Option<&String>) -> Vec { } /// Run `oxc_prettier` and compare the output with the Prettier's snapshot -fn test_snapshots(dir: &Path, test_files: &Vec, has_debug_filter: bool) -> Vec { +fn test_snapshots( + dir: &Path, + test_files: &Vec, + has_debug_filter: bool, +) -> Vec<(PathBuf, (usize, usize))> { // Parse all `runFormatTest()` calls and collect format options let spec_path = &dir.join(FORMAT_TEST_SPEC_NAME); let spec_calls = parse_spec(spec_path); @@ -202,8 +208,10 @@ fn test_snapshots(dir: &Path, test_files: &Vec, has_debug_filter: bool) for path in test_files { // Single source text is used for multiple options let source_text = std::fs::read_to_string(path).unwrap(); + + let mut failed_count = 0; // Check every combination of options! - let result = spec_calls.iter().all(|(prettier_options, snapshot_options)| { + for (prettier_options, snapshot_options) in &spec_calls { // Single snapshot file contains multiple test cases, so need to find the right one let expected = find_output_from_snapshots( &snapshots, @@ -224,6 +232,10 @@ fn test_snapshots(dir: &Path, test_files: &Vec, has_debug_filter: bool) let result = expected == actual; + if !result { + failed_count += 1; + } + if has_debug_filter { let print_with_border = |title: &str| { let w = prettier_options.print_width; @@ -257,12 +269,11 @@ fn test_snapshots(dir: &Path, test_files: &Vec, has_debug_filter: bool) } println!(); } + } - result - }); - - if !result { - failed_test_files.push(path.clone()); + if failed_count != 0 { + let passed_count = spec_calls.len() - failed_count; + failed_test_files.push((path.clone(), (failed_count, passed_count))); } }