@ttsc/lint 0.14.0-dev.20260529.2 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/README.md +21 -23
  2. package/lib/defaultFormat.d.ts +10 -6
  3. package/lib/defaultFormat.js +10 -6
  4. package/lib/defaultFormat.js.map +1 -1
  5. package/lib/structures/ITtscLintConfig.d.ts +5 -5
  6. package/lib/structures/TtscLintRuleSetting.d.ts +19 -19
  7. package/lib/structures/{ITtscLintFormat.d.ts → format/ITtscLintFormat.d.ts} +45 -70
  8. package/lib/structures/format/ITtscLintFormat.js.map +1 -0
  9. package/lib/structures/format/ITtscLintFormatJsDoc.d.ts +15 -0
  10. package/lib/structures/format/ITtscLintFormatJsDoc.js +3 -0
  11. package/lib/structures/format/ITtscLintFormatJsDoc.js.map +1 -0
  12. package/lib/structures/format/ITtscLintFormatSortImports.d.ts +54 -0
  13. package/lib/structures/format/ITtscLintFormatSortImports.js +3 -0
  14. package/lib/structures/format/ITtscLintFormatSortImports.js.map +1 -0
  15. package/lib/structures/format/index.d.ts +3 -0
  16. package/lib/structures/format/index.js +20 -0
  17. package/lib/structures/format/index.js.map +1 -0
  18. package/lib/structures/index.d.ts +1 -1
  19. package/lib/structures/index.js +1 -1
  20. package/lib/structures/index.js.map +1 -1
  21. package/lib/structures/rules/ITtscLintBoundariesRuleOptions.d.ts +18 -27
  22. package/lib/structures/rules/ITtscLintBoundariesRuleOptions.js +4 -5
  23. package/lib/structures/rules/ITtscLintBoundariesRuleOptions.js.map +1 -1
  24. package/lib/structures/rules/ITtscLintBoundariesRules.d.ts +29 -33
  25. package/lib/structures/rules/ITtscLintContributorRules.d.ts +6 -7
  26. package/lib/structures/rules/ITtscLintCoreRules.d.ts +380 -408
  27. package/lib/structures/rules/ITtscLintCypressRuleOptions.d.ts +5 -5
  28. package/lib/structures/rules/ITtscLintCypressRuleOptions.js +2 -2
  29. package/lib/structures/rules/ITtscLintCypressRules.d.ts +34 -38
  30. package/lib/structures/rules/ITtscLintFunctionalRuleOptions.d.ts +21 -24
  31. package/lib/structures/rules/ITtscLintFunctionalRuleOptions.js +2 -2
  32. package/lib/structures/rules/ITtscLintFunctionalRules.d.ts +51 -56
  33. package/lib/structures/rules/ITtscLintJestRules.d.ts +63 -74
  34. package/lib/structures/rules/ITtscLintJsdocRules.d.ts +47 -54
  35. package/lib/structures/rules/ITtscLintJsxA11yRules.d.ts +94 -102
  36. package/lib/structures/rules/ITtscLintNextjsRules.d.ts +50 -55
  37. package/lib/structures/rules/ITtscLintPlaywrightRules.d.ts +104 -122
  38. package/lib/structures/rules/ITtscLintPromiseRules.d.ts +62 -71
  39. package/lib/structures/rules/ITtscLintReactPerfRuleOptions.d.ts +4 -4
  40. package/lib/structures/rules/ITtscLintReactPerfRules.d.ts +17 -19
  41. package/lib/structures/rules/ITtscLintReactRuleOptions.d.ts +8 -10
  42. package/lib/structures/rules/ITtscLintReactRuleOptions.js +1 -2
  43. package/lib/structures/rules/ITtscLintReactRuleOptions.js.map +1 -1
  44. package/lib/structures/rules/ITtscLintReactRules.d.ts +91 -104
  45. package/lib/structures/rules/ITtscLintRegexpRules.d.ts +46 -54
  46. package/lib/structures/rules/ITtscLintRuleOptionsMap.d.ts +7 -8
  47. package/lib/structures/rules/ITtscLintSecurityRules.d.ts +45 -52
  48. package/lib/structures/rules/ITtscLintSolidRules.d.ts +53 -56
  49. package/lib/structures/rules/ITtscLintStorybookRuleOptions.d.ts +3 -4
  50. package/lib/structures/rules/ITtscLintStorybookRules.d.ts +60 -69
  51. package/lib/structures/rules/ITtscLintTanstackQueryRules.d.ts +31 -37
  52. package/lib/structures/rules/ITtscLintTestingLibraryRuleOptions.d.ts +2 -3
  53. package/lib/structures/rules/ITtscLintTestingLibraryRules.d.ts +102 -119
  54. package/lib/structures/rules/ITtscLintTypeScriptRules.d.ts +460 -518
  55. package/lib/structures/rules/ITtscLintVitestRules.d.ts +43 -51
  56. package/linthost/config.go +89 -72
  57. package/linthost/config_format.go +265 -99
  58. package/linthost/directives.go +5 -1
  59. package/linthost/display_width.go +72 -0
  60. package/linthost/fix.go +26 -1
  61. package/linthost/format.go +222 -25
  62. package/linthost/format_editor_settings.go +262 -0
  63. package/linthost/lsp.go +8 -4
  64. package/linthost/print_dispatch.go +3 -0
  65. package/linthost/print_doc.go +13 -0
  66. package/linthost/print_engine.go +68 -11
  67. package/linthost/print_nodes_array.go +108 -5
  68. package/linthost/print_nodes_call.go +515 -74
  69. package/linthost/print_nodes_function.go +25 -0
  70. package/linthost/print_nodes_imports.go +47 -14
  71. package/linthost/print_nodes_list.go +191 -8
  72. package/linthost/print_nodes_object.go +12 -6
  73. package/linthost/print_nodes_ternary.go +106 -0
  74. package/linthost/rules_boundaries.go +400 -400
  75. package/linthost/rules_camelcase.go +81 -81
  76. package/linthost/rules_complexity.go +52 -51
  77. package/linthost/rules_consistent_return.go +81 -81
  78. package/linthost/rules_core_extra.go +472 -472
  79. package/linthost/rules_curly.go +43 -43
  80. package/linthost/rules_default_case.go +15 -15
  81. package/linthost/rules_default_case_last.go +22 -22
  82. package/linthost/rules_format_arrow_parens.go +167 -0
  83. package/linthost/rules_format_bracket_spacing.go +117 -0
  84. package/linthost/rules_format_clause_join.go +172 -0
  85. package/linthost/rules_format_declaration_header.go +664 -0
  86. package/linthost/rules_format_indent.go +616 -0
  87. package/linthost/rules_format_jsdoc.go +4 -4
  88. package/linthost/rules_format_orphan_semi.go +106 -0
  89. package/linthost/rules_format_parameter_properties.go +175 -0
  90. package/linthost/rules_format_print_width.go +185 -69
  91. package/linthost/rules_format_quote_props.go +169 -0
  92. package/linthost/rules_format_quotes.go +75 -29
  93. package/linthost/rules_format_semi.go +185 -10
  94. package/linthost/rules_format_sort_imports.go +456 -121
  95. package/linthost/rules_format_statement_split.go +368 -0
  96. package/linthost/rules_format_ternary_nullish_parens.go +77 -0
  97. package/linthost/rules_format_trailing_comma.go +21 -2
  98. package/linthost/rules_format_whitespace.go +336 -0
  99. package/linthost/rules_functional.go +688 -688
  100. package/linthost/rules_gap.go +146 -11
  101. package/linthost/rules_grouped_accessor_pairs.go +60 -60
  102. package/linthost/rules_guard_for_in.go +122 -122
  103. package/linthost/rules_id_length.go +44 -44
  104. package/linthost/rules_imports.go +11 -3
  105. package/linthost/rules_init_declarations.go +25 -25
  106. package/linthost/rules_jsx_a11y.go +844 -844
  107. package/linthost/rules_max_classes_per_file.go +24 -24
  108. package/linthost/rules_max_depth.go +43 -43
  109. package/linthost/rules_max_lines.go +53 -53
  110. package/linthost/rules_max_lines_per_function.go +28 -28
  111. package/linthost/rules_max_nested_callbacks.go +26 -26
  112. package/linthost/rules_max_params.go +20 -20
  113. package/linthost/rules_max_statements.go +29 -29
  114. package/linthost/rules_nextjs.go +5 -5
  115. package/linthost/rules_no_else_return.go +38 -38
  116. package/linthost/rules_no_empty_named_blocks.go +45 -45
  117. package/linthost/rules_no_import_assign.go +96 -96
  118. package/linthost/rules_no_invalid_this.go +19 -19
  119. package/linthost/rules_no_loop_func.go +43 -43
  120. package/linthost/rules_no_magic_numbers.go +60 -60
  121. package/linthost/rules_no_mixed_operators.go +44 -44
  122. package/linthost/rules_no_param_reassign.go +64 -64
  123. package/linthost/rules_no_restricted_imports.go +45 -45
  124. package/linthost/rules_no_restricted_syntax.go +17 -17
  125. package/linthost/rules_no_shadow.go +112 -112
  126. package/linthost/rules_no_unreachable.go +36 -36
  127. package/linthost/rules_no_useless_assignment.go +79 -79
  128. package/linthost/rules_no_useless_constructor.go +167 -167
  129. package/linthost/rules_no_useless_return.go +28 -28
  130. package/linthost/rules_prefer_arrow_callback.go +74 -74
  131. package/linthost/rules_prefer_destructuring.go +61 -61
  132. package/linthost/rules_prefer_named_capture_group.go +87 -87
  133. package/linthost/rules_prefer_rest_params.go +61 -61
  134. package/linthost/rules_promise.go +800 -800
  135. package/linthost/rules_react.go +600 -600
  136. package/linthost/rules_react_extras.go +162 -162
  137. package/linthost/rules_react_hooks.go +2 -2
  138. package/linthost/rules_react_perf.go +231 -231
  139. package/linthost/rules_regexp.go +293 -293
  140. package/linthost/rules_security.go +613 -613
  141. package/linthost/rules_sort_imports.go +37 -37
  142. package/linthost/rules_sort_keys.go +88 -88
  143. package/linthost/rules_suggestions.go +13 -0
  144. package/linthost/rules_ts.go +2 -2
  145. package/linthost/rules_ts_async.go +247 -247
  146. package/linthost/rules_ts_class_literal_property_style.go +64 -64
  147. package/linthost/rules_ts_consistent_type_exports.go +209 -209
  148. package/linthost/rules_ts_explicit_function_return_type.go +35 -35
  149. package/linthost/rules_ts_extra.go +6 -2
  150. package/linthost/rules_ts_no_base_to_string.go +140 -140
  151. package/linthost/rules_ts_no_confusing_void.go +28 -28
  152. package/linthost/rules_ts_no_deprecated.go +110 -110
  153. package/linthost/rules_ts_no_for_in_array.go +45 -45
  154. package/linthost/rules_ts_no_magic_numbers.go +67 -67
  155. package/linthost/rules_ts_no_meaningless_void_operator.go +44 -44
  156. package/linthost/rules_ts_no_misused_spread.go +64 -64
  157. package/linthost/rules_ts_no_redundant_type_constituents.go +72 -72
  158. package/linthost/rules_ts_no_restricted_types.go +28 -28
  159. package/linthost/rules_ts_no_unnecessary_boolean_literal_compare.go +87 -87
  160. package/linthost/rules_ts_no_unnecessary_condition.go +184 -184
  161. package/linthost/rules_ts_no_unnecessary_qualifier.go +72 -72
  162. package/linthost/rules_ts_no_unnecessary_template_expression.go +120 -120
  163. package/linthost/rules_ts_no_unnecessary_type_arguments.go +171 -171
  164. package/linthost/rules_ts_no_unnecessary_type_assertion.go +90 -90
  165. package/linthost/rules_ts_no_unsafe_argument.go +50 -50
  166. package/linthost/rules_ts_no_unsafe_assignment.go +60 -60
  167. package/linthost/rules_ts_no_unsafe_call.go +40 -40
  168. package/linthost/rules_ts_no_unsafe_enum_comparison.go +147 -147
  169. package/linthost/rules_ts_no_unsafe_member_access.go +29 -29
  170. package/linthost/rules_ts_no_unsafe_return.go +64 -64
  171. package/linthost/rules_ts_no_unsafe_unary_minus.go +42 -42
  172. package/linthost/rules_ts_no_useless_constructor.go +20 -20
  173. package/linthost/rules_ts_non_nullable_type_assertion_style.go +60 -60
  174. package/linthost/rules_ts_parameter_properties.go +10 -10
  175. package/linthost/rules_ts_prefer_find.go +116 -116
  176. package/linthost/rules_ts_prefer_includes.go +173 -173
  177. package/linthost/rules_ts_prefer_nullish_coalescing.go +54 -54
  178. package/linthost/rules_ts_prefer_optional_chain.go +156 -156
  179. package/linthost/rules_ts_prefer_promise_reject_errors.go +104 -104
  180. package/linthost/rules_ts_prefer_readonly.go +31 -31
  181. package/linthost/rules_ts_prefer_reduce_type_parameter.go +74 -74
  182. package/linthost/rules_ts_prefer_regexp_exec.go +69 -69
  183. package/linthost/rules_ts_prefer_return_this_type.go +79 -79
  184. package/linthost/rules_ts_prefer_string_starts_ends_with.go +237 -237
  185. package/linthost/rules_ts_promise_function_async.go +41 -41
  186. package/linthost/rules_ts_related_getter_setter_pairs.go +61 -61
  187. package/linthost/rules_ts_require_array_sort_compare.go +58 -58
  188. package/linthost/rules_ts_restrict_plus_operands.go +82 -82
  189. package/linthost/rules_ts_restrict_template_expressions.go +50 -50
  190. package/linthost/rules_ts_simple.go +249 -249
  191. package/linthost/rules_ts_sort_type_constituents.go +88 -88
  192. package/linthost/rules_ts_strict_boolean_expressions.go +103 -103
  193. package/linthost/rules_ts_switch_exhaustiveness_check.go +90 -90
  194. package/linthost/rules_ts_unbound_method.go +65 -65
  195. package/linthost/rules_tsdoc.go +88 -88
  196. package/linthost/rules_unicorn_better_regex.go +1 -1
  197. package/linthost/rules_unicorn_catch_error_name.go +19 -19
  198. package/linthost/rules_unicorn_consistent_assert.go +20 -20
  199. package/linthost/rules_unicorn_consistent_date_clone.go +27 -27
  200. package/linthost/rules_unicorn_consistent_destructuring.go +3 -3
  201. package/linthost/rules_unicorn_consistent_empty_array_spread.go +34 -34
  202. package/linthost/rules_unicorn_consistent_existence_index_check.go +42 -42
  203. package/linthost/rules_unicorn_consistent_function_scoping.go +3 -3
  204. package/linthost/rules_unicorn_consistent_template_literal_escape.go +3 -3
  205. package/linthost/rules_unicorn_custom_error_definition.go +92 -92
  206. package/linthost/rules_unicorn_empty_brace_spaces.go +47 -47
  207. package/linthost/rules_unicorn_error_message.go +34 -34
  208. package/linthost/rules_unicorn_escape_case.go +14 -14
  209. package/linthost/rules_unicorn_expiring_todo_comments.go +36 -36
  210. package/linthost/rules_unicorn_explicit_length_check.go +51 -51
  211. package/linthost/rules_unicorn_filename_case.go +1 -1
  212. package/linthost/rules_unicorn_import_style.go +1 -1
  213. package/linthost/rules_unicorn_isolated_functions.go +2 -2
  214. package/linthost/rules_unicorn_new_for_builtins.go +49 -49
  215. package/linthost/rules_unicorn_no_abusive_eslint_disable.go +31 -31
  216. package/linthost/rules_unicorn_no_accessor_recursion.go +69 -69
  217. package/linthost/rules_unicorn_no_anonymous_default_export.go +40 -40
  218. package/linthost/rules_unicorn_no_array_callback_reference.go +33 -33
  219. package/linthost/rules_unicorn_no_array_for_each.go +14 -14
  220. package/linthost/rules_unicorn_no_array_method_this_argument.go +29 -29
  221. package/linthost/rules_unicorn_no_array_reduce.go +15 -15
  222. package/linthost/rules_unicorn_no_array_reverse.go +17 -17
  223. package/linthost/rules_unicorn_no_array_sort.go +17 -17
  224. package/linthost/rules_unicorn_no_await_expression_member.go +12 -12
  225. package/linthost/rules_unicorn_no_await_in_promise_methods.go +38 -38
  226. package/linthost/rules_unicorn_no_console_spaces.go +30 -30
  227. package/linthost/rules_unicorn_no_document_cookie.go +13 -13
  228. package/linthost/rules_unicorn_no_empty_file.go +16 -16
  229. package/linthost/rules_unicorn_no_for_loop.go +58 -58
  230. package/linthost/rules_unicorn_no_hex_escape.go +11 -11
  231. package/linthost/rules_unicorn_no_immediate_mutation.go +55 -55
  232. package/linthost/rules_unicorn_no_instanceof_builtins.go +34 -34
  233. package/linthost/rules_unicorn_no_invalid_fetch_options.go +52 -52
  234. package/linthost/rules_unicorn_no_invalid_remove_event_listener.go +25 -25
  235. package/linthost/rules_unicorn_no_keyword_prefix.go +56 -56
  236. package/linthost/rules_unicorn_no_lonely_if.go +21 -21
  237. package/linthost/rules_unicorn_no_magic_array_flat_depth.go +22 -22
  238. package/linthost/rules_unicorn_no_named_default.go +25 -25
  239. package/linthost/rules_unicorn_no_negated_condition.go +54 -54
  240. package/linthost/rules_unicorn_no_negation_in_equality_check.go +23 -23
  241. package/linthost/rules_unicorn_no_nested_ternary.go +15 -15
  242. package/linthost/rules_unicorn_no_new_array.go +5 -5
  243. package/linthost/rules_unicorn_no_new_buffer.go +5 -5
  244. package/linthost/rules_unicorn_no_null.go +2 -2
  245. package/linthost/rules_unicorn_no_object_as_default_parameter.go +19 -19
  246. package/linthost/rules_unicorn_no_process_exit.go +17 -17
  247. package/linthost/rules_unicorn_no_single_promise_in_promise_methods.go +29 -29
  248. package/linthost/rules_unicorn_no_static_only_class.go +27 -27
  249. package/linthost/rules_unicorn_no_thenable.go +47 -47
  250. package/linthost/rules_unicorn_no_this_assignment.go +10 -10
  251. package/linthost/rules_unicorn_no_typeof_undefined.go +31 -31
  252. package/linthost/rules_unicorn_no_unnecessary_array_flat_depth.go +23 -23
  253. package/linthost/rules_unicorn_no_unnecessary_array_splice_count.go +37 -37
  254. package/linthost/rules_unicorn_no_unnecessary_await.go +24 -24
  255. package/linthost/rules_unicorn_no_unnecessary_slice_end.go +22 -22
  256. package/linthost/rules_unicorn_no_unreadable_array_destructuring.go +67 -67
  257. package/linthost/rules_unicorn_no_unreadable_iife.go +22 -22
  258. package/linthost/rules_unicorn_no_useless_collection_argument.go +34 -34
  259. package/linthost/rules_unicorn_no_useless_error_capture_stack_trace.go +18 -18
  260. package/linthost/rules_unicorn_no_useless_fallback_in_spread.go +49 -49
  261. package/linthost/rules_unicorn_no_useless_iterator_to_array.go +41 -41
  262. package/linthost/rules_unicorn_no_useless_length_check.go +82 -82
  263. package/linthost/rules_unicorn_no_useless_promise_resolve_reject.go +42 -42
  264. package/linthost/rules_unicorn_no_useless_spread.go +38 -38
  265. package/linthost/rules_unicorn_no_useless_switch_case.go +29 -29
  266. package/linthost/rules_unicorn_no_useless_undefined.go +25 -25
  267. package/linthost/rules_unicorn_no_zero_fractions.go +17 -17
  268. package/linthost/rules_unicorn_number_literal_case.go +33 -33
  269. package/linthost/rules_unicorn_numeric_separators_style.go +36 -36
  270. package/linthost/rules_unicorn_prefer_add_event_listener.go +30 -30
  271. package/linthost/rules_unicorn_prefer_array_find.go +27 -27
  272. package/linthost/rules_unicorn_prefer_array_flat.go +25 -25
  273. package/linthost/rules_unicorn_prefer_array_flat_map.go +37 -37
  274. package/linthost/rules_unicorn_prefer_array_index_of.go +108 -108
  275. package/linthost/rules_unicorn_prefer_array_some.go +43 -43
  276. package/linthost/rules_unicorn_prefer_at.go +42 -42
  277. package/linthost/rules_unicorn_prefer_bigint_literals.go +42 -42
  278. package/linthost/rules_unicorn_prefer_blob_reading_methods.go +15 -15
  279. package/linthost/rules_unicorn_prefer_class_fields.go +57 -57
  280. package/linthost/rules_unicorn_prefer_classlist_toggle.go +76 -76
  281. package/linthost/rules_unicorn_prefer_code_point.go +21 -21
  282. package/linthost/rules_unicorn_prefer_date_now.go +47 -47
  283. package/linthost/rules_unicorn_prefer_default_parameters.go +96 -96
  284. package/linthost/rules_unicorn_prefer_dom_node_append.go +14 -14
  285. package/linthost/rules_unicorn_prefer_dom_node_dataset.go +27 -27
  286. package/linthost/rules_unicorn_prefer_dom_node_remove.go +17 -17
  287. package/linthost/rules_unicorn_prefer_dom_node_text_content.go +11 -11
  288. package/linthost/rules_unicorn_prefer_event_target.go +10 -10
  289. package/linthost/rules_unicorn_prefer_export_from.go +99 -99
  290. package/linthost/rules_unicorn_prefer_global_this.go +91 -91
  291. package/linthost/rules_unicorn_prefer_import_meta_properties.go +38 -38
  292. package/linthost/rules_unicorn_prefer_includes.go +108 -108
  293. package/linthost/rules_unicorn_prefer_json_parse_buffer.go +37 -37
  294. package/linthost/rules_unicorn_prefer_keyboard_event_key.go +10 -10
  295. package/linthost/rules_unicorn_prefer_logical_operator_over_ternary.go +20 -20
  296. package/linthost/rules_unicorn_prefer_math_min_max.go +33 -33
  297. package/linthost/rules_unicorn_prefer_math_trunc.go +32 -32
  298. package/linthost/rules_unicorn_prefer_modern_dom_apis.go +18 -18
  299. package/linthost/rules_unicorn_prefer_modern_math_apis.go +38 -38
  300. package/linthost/rules_unicorn_prefer_module.go +22 -22
  301. package/linthost/rules_unicorn_prefer_native_coercion_functions.go +73 -73
  302. package/linthost/rules_unicorn_prefer_negative_index.go +46 -46
  303. package/linthost/rules_unicorn_prefer_node_protocol.go +90 -90
  304. package/linthost/rules_unicorn_prefer_number_properties.go +57 -57
  305. package/linthost/rules_unicorn_prefer_object_from_entries.go +26 -26
  306. package/linthost/rules_unicorn_prefer_optional_catch_binding.go +24 -24
  307. package/linthost/rules_unicorn_prefer_prototype_methods.go +25 -25
  308. package/linthost/rules_unicorn_prefer_query_selector.go +25 -25
  309. package/linthost/rules_unicorn_prefer_reflect_apply.go +10 -10
  310. package/linthost/rules_unicorn_prefer_regexp_test_rule.go +47 -47
  311. package/linthost/rules_unicorn_prefer_response_static_json.go +26 -26
  312. package/linthost/rules_unicorn_prefer_set_has.go +16 -16
  313. package/linthost/rules_unicorn_prefer_set_size.go +22 -22
  314. package/linthost/rules_unicorn_prefer_simple_condition_first.go +3 -3
  315. package/linthost/rules_unicorn_prefer_single_call.go +59 -59
  316. package/linthost/rules_unicorn_prefer_spread.go +24 -24
  317. package/linthost/rules_unicorn_prefer_string_raw.go +12 -12
  318. package/linthost/rules_unicorn_prefer_string_replace_all.go +46 -46
  319. package/linthost/rules_unicorn_prefer_string_slice.go +17 -17
  320. package/linthost/rules_unicorn_prefer_string_starts_ends_with.go +104 -104
  321. package/linthost/rules_unicorn_prefer_string_trim_start_end.go +21 -21
  322. package/linthost/rules_unicorn_prefer_structured_clone.go +36 -36
  323. package/linthost/rules_unicorn_prefer_switch.go +65 -65
  324. package/linthost/rules_unicorn_prefer_ternary.go +35 -35
  325. package/linthost/rules_unicorn_prefer_top_level_await.go +34 -34
  326. package/linthost/rules_unicorn_prefer_type_error.go +84 -84
  327. package/linthost/rules_unicorn_prevent_abbreviations.go +68 -68
  328. package/linthost/rules_unicorn_relative_url_style.go +19 -19
  329. package/linthost/rules_unicorn_require_array_join_separator.go +18 -18
  330. package/linthost/rules_unicorn_require_module_attributes.go +25 -25
  331. package/linthost/rules_unicorn_require_module_specifiers.go +28 -28
  332. package/linthost/rules_unicorn_require_number_to_fixed_digits_argument.go +18 -18
  333. package/linthost/rules_unicorn_require_post_message_target_origin.go +18 -18
  334. package/linthost/rules_unicorn_string_content.go +1 -1
  335. package/linthost/rules_unicorn_switch_case_braces.go +16 -16
  336. package/linthost/rules_unicorn_switch_case_break_position.go +3 -3
  337. package/linthost/rules_unicorn_template_indent.go +1 -1
  338. package/linthost/rules_unicorn_text_encoding_identifier_case.go +36 -36
  339. package/linthost/rules_unicorn_throw_new_error.go +30 -30
  340. package/linthost/rules_var.go +273 -3
  341. package/package.json +3 -3
  342. package/src/defaultFormat.ts +11 -7
  343. package/src/structures/ITtscLintConfig.ts +5 -5
  344. package/src/structures/TtscLintRuleSetting.ts +19 -19
  345. package/src/structures/{ITtscLintFormat.ts → format/ITtscLintFormat.ts} +48 -75
  346. package/src/structures/format/ITtscLintFormatJsDoc.ts +16 -0
  347. package/src/structures/format/ITtscLintFormatSortImports.ts +62 -0
  348. package/src/structures/format/index.ts +3 -0
  349. package/src/structures/index.ts +1 -1
  350. package/src/structures/rules/ITtscLintBoundariesRuleOptions.ts +20 -31
  351. package/src/structures/rules/ITtscLintBoundariesRules.ts +32 -36
  352. package/src/structures/rules/ITtscLintContributorRules.ts +6 -7
  353. package/src/structures/rules/ITtscLintCoreRules.ts +380 -408
  354. package/src/structures/rules/ITtscLintCypressRuleOptions.ts +5 -5
  355. package/src/structures/rules/ITtscLintCypressRules.ts +34 -38
  356. package/src/structures/rules/ITtscLintFunctionalRuleOptions.ts +28 -41
  357. package/src/structures/rules/ITtscLintFunctionalRules.ts +51 -56
  358. package/src/structures/rules/ITtscLintJestRules.ts +63 -74
  359. package/src/structures/rules/ITtscLintJsdocRules.ts +47 -54
  360. package/src/structures/rules/ITtscLintJsxA11yRules.ts +94 -102
  361. package/src/structures/rules/ITtscLintNextjsRules.ts +50 -55
  362. package/src/structures/rules/ITtscLintPlaywrightRules.ts +104 -122
  363. package/src/structures/rules/ITtscLintPromiseRules.ts +62 -71
  364. package/src/structures/rules/ITtscLintReactPerfRuleOptions.ts +4 -4
  365. package/src/structures/rules/ITtscLintReactPerfRules.ts +17 -19
  366. package/src/structures/rules/ITtscLintReactRuleOptions.ts +8 -10
  367. package/src/structures/rules/ITtscLintReactRules.ts +91 -104
  368. package/src/structures/rules/ITtscLintRegexpRules.ts +46 -54
  369. package/src/structures/rules/ITtscLintRuleOptionsMap.ts +7 -8
  370. package/src/structures/rules/ITtscLintSecurityRules.ts +45 -52
  371. package/src/structures/rules/ITtscLintSolidRules.ts +53 -56
  372. package/src/structures/rules/ITtscLintStorybookRuleOptions.ts +3 -4
  373. package/src/structures/rules/ITtscLintStorybookRules.ts +60 -69
  374. package/src/structures/rules/ITtscLintTanstackQueryRules.ts +31 -37
  375. package/src/structures/rules/ITtscLintTestingLibraryRuleOptions.ts +2 -3
  376. package/src/structures/rules/ITtscLintTestingLibraryRules.ts +102 -119
  377. package/src/structures/rules/ITtscLintTypeScriptRules.ts +460 -518
  378. package/src/structures/rules/ITtscLintVitestRules.ts +43 -51
  379. package/lib/structures/ITtscLintFormat.js.map +0 -1
  380. /package/lib/structures/{ITtscLintFormat.js → format/ITtscLintFormat.js} +0 -0
@@ -1,20 +1,18 @@
1
1
  import type { TtscLintRuleSetting } from "../TtscLintRuleSetting";
2
2
  /**
3
- * Playwright end-to-end test rules from `eslint-plugin-playwright`,
4
- * applied to TypeScript test files driven by the `@playwright/test`
5
- * runner.
3
+ * Playwright end-to-end test rules from `eslint-plugin-playwright`, applied to
4
+ * TypeScript test files driven by the `@playwright/test` runner.
6
5
  *
7
- * Guard Playwright-specific patterns — locator usage, web-first
8
- * assertions, focused/slowed tests — that would otherwise compile
9
- * and run silently.
6
+ * Guard Playwright-specific patterns — locator usage, web-first assertions,
7
+ * focused/slowed tests — that would otherwise compile and run silently.
10
8
  *
11
9
  * @reference https://github.com/playwright-community/eslint-plugin-playwright
12
10
  */
13
11
  export interface ITtscLintPlaywrightRules {
14
12
  /**
15
- * Require every Playwright test body to contain at least one
16
- * `expect(...)` call. A test with no assertions still passes,
17
- * giving a false-positive signal.
13
+ * Require every Playwright test body to contain at least one `expect(...)`
14
+ * call. A test with no assertions still passes, giving a false-positive
15
+ * signal.
18
16
  *
19
17
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/expect-expect.md
20
18
  */
@@ -22,55 +20,53 @@ export interface ITtscLintPlaywrightRules {
22
20
  /**
23
21
  * Limit the assertion count inside a single Playwright test body.
24
22
  *
25
- * A test packed with assertions usually verifies several user
26
- * flows at once, making failures ambiguous — splitting per
27
- * scenario keeps each case diagnostic.
23
+ * A test packed with assertions usually verifies several user flows at once,
24
+ * making failures ambiguous — splitting per scenario keeps each case
25
+ * diagnostic.
28
26
  *
29
27
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/max-expects.md
30
28
  */
31
29
  "playwright/max-expects"?: TtscLintRuleSetting;
32
30
  /**
33
- * Reject `expect(...)` calls under `if`/`try`/`catch` or other
34
- * conditional branches in Playwright tests.
31
+ * Reject `expect(...)` calls under `if`/`try`/`catch` or other conditional
32
+ * branches in Playwright tests.
35
33
  *
36
- * A branch that never executes turns the assertion into a silent
37
- * no-op, so the test passes without verifying anything.
34
+ * A branch that never executes turns the assertion into a silent no-op, so
35
+ * the test passes without verifying anything.
38
36
  *
39
37
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/no-conditional-expect.md
40
38
  */
41
39
  "playwright/no-conditional-expect"?: TtscLintRuleSetting;
42
40
  /**
43
- * Reject conditional logic (`if`/`switch`/ternary) inside
44
- * Playwright test bodies.
41
+ * Reject conditional logic (`if`/`switch`/ternary) inside Playwright test
42
+ * bodies.
45
43
  *
46
- * Each test should describe a single deterministic user flow;
47
- * branching hides which path the runner took when reading a
48
- * passing log.
44
+ * Each test should describe a single deterministic user flow; branching hides
45
+ * which path the runner took when reading a passing log.
49
46
  *
50
47
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/no-conditional-in-test.md
51
48
  */
52
49
  "playwright/no-conditional-in-test"?: TtscLintRuleSetting;
53
50
  /**
54
51
  * Reject duplicate Playwright setup/teardown hook calls
55
- * (`test.beforeEach`/`test.afterEach`/etc.) in the same
56
- * `test.describe`.
52
+ * (`test.beforeEach`/`test.afterEach`/etc.) in the same `test.describe`.
57
53
  *
58
- * Playwright runs both copies in declaration order, almost always
59
- * a copy-paste mistake.
54
+ * Playwright runs both copies in declaration order, almost always a
55
+ * copy-paste mistake.
60
56
  *
61
57
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/no-duplicate-hooks.md
62
58
  */
63
59
  "playwright/no-duplicate-hooks"?: TtscLintRuleSetting;
64
60
  /**
65
- * Reject repeated `test.slow()` calls inside the same test —
66
- * the first call already marks the test slow.
61
+ * Reject repeated `test.slow()` calls inside the same test — the first call
62
+ * already marks the test slow.
67
63
  *
68
64
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/no-duplicate-slow.md
69
65
  */
70
66
  "playwright/no-duplicate-slow"?: TtscLintRuleSetting;
71
67
  /**
72
- * Reject the legacy `ElementHandle`-style Playwright API
73
- * (`page.$`, `page.$$`).
68
+ * Reject the legacy `ElementHandle`-style Playwright API (`page.$`,
69
+ * `page.$$`).
74
70
  *
75
71
  * Handles snapshot the DOM at query time and bypass Playwright's
76
72
  * auto-waiting; locators are the modern retry-aware replacement.
@@ -81,31 +77,29 @@ export interface ITtscLintPlaywrightRules {
81
77
  /**
82
78
  * Reject `page.$eval` and `page.$$eval`.
83
79
  *
84
- * They depend on the legacy handle API and run user-supplied
85
- * selectors against a frozen snapshot of the DOM — use
86
- * `locator.evaluate` or inline logic in the test instead.
80
+ * They depend on the legacy handle API and run user-supplied selectors
81
+ * against a frozen snapshot of the DOM — use `locator.evaluate` or inline
82
+ * logic in the test instead.
87
83
  *
88
84
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/no-eval.md
89
85
  */
90
86
  "playwright/no-eval"?: TtscLintRuleSetting;
91
87
  /**
92
- * Reject `test.only`, `test.describe.only`, and similar focused
93
- * Playwright tests.
88
+ * Reject `test.only`, `test.describe.only`, and similar focused Playwright
89
+ * tests.
94
90
  *
95
- * A focused test silently skips every other test in the file, so
96
- * a stray `.only` left from debugging hides the rest of the suite
97
- * in CI.
91
+ * A focused test silently skips every other test in the file, so a stray
92
+ * `.only` left from debugging hides the rest of the suite in CI.
98
93
  *
99
94
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/no-focused-test.md
100
95
  */
101
96
  "playwright/no-focused-test"?: TtscLintRuleSetting;
102
97
  /**
103
- * Reject Playwright `{ force: true }` options on actionable
104
- * commands (`click`, `fill`, ...).
98
+ * Reject Playwright `{ force: true }` options on actionable commands
99
+ * (`click`, `fill`, ...).
105
100
  *
106
- * `force` skips the actionability checks Playwright relies on for
107
- * stability, usually papering over a real UI bug the test should
108
- * be exposing.
101
+ * `force` skips the actionability checks Playwright relies on for stability,
102
+ * usually papering over a real UI bug the test should be exposing.
109
103
  *
110
104
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/no-force-option.md
111
105
  */
@@ -113,20 +107,19 @@ export interface ITtscLintPlaywrightRules {
113
107
  /**
114
108
  * Reject `getByTitle(...)` locators.
115
109
  *
116
- * The `title` attribute is rarely set with testing in mind and
117
- * often changes for i18n or cosmetic reasons, making title-based
118
- * selectors among the least stable test targets.
110
+ * The `title` attribute is rarely set with testing in mind and often changes
111
+ * for i18n or cosmetic reasons, making title-based selectors among the least
112
+ * stable test targets.
119
113
  *
120
114
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/no-get-by-title.md
121
115
  */
122
116
  "playwright/no-get-by-title"?: TtscLintRuleSetting;
123
117
  /**
124
- * Reject Playwright `test.beforeEach`/`test.afterEach`/etc.
125
- * hooks.
118
+ * Reject Playwright `test.beforeEach`/`test.afterEach`/etc. hooks.
126
119
  *
127
- * Promotes the style where each test arranges and tears down its
128
- * own state inline, so a reader can understand a single case
129
- * without scrolling to a distant hook.
120
+ * Promotes the style where each test arranges and tears down its own state
121
+ * inline, so a reader can understand a single case without scrolling to a
122
+ * distant hook.
130
123
  *
131
124
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/no-hooks.md
132
125
  */
@@ -134,20 +127,19 @@ export interface ITtscLintPlaywrightRules {
134
127
  /**
135
128
  * Reject nested `test.step(...)` calls.
136
129
  *
137
- * Playwright's trace viewer collapses steps into a flat timeline,
138
- * so nested steps are hard to read and usually signal that the
139
- * inner step should live in its own top-level entry.
130
+ * Playwright's trace viewer collapses steps into a flat timeline, so nested
131
+ * steps are hard to read and usually signal that the inner step should live
132
+ * in its own top-level entry.
140
133
  *
141
134
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/no-nested-step.md
142
135
  */
143
136
  "playwright/no-nested-step"?: TtscLintRuleSetting;
144
137
  /**
145
- * Reject the `networkidle` load-state in `page.waitForLoadState`
146
- * and navigation options.
138
+ * Reject the `networkidle` load-state in `page.waitForLoadState` and
139
+ * navigation options.
147
140
  *
148
- * Modern apps stream requests on a keep-alive socket so the state
149
- * is racy; the Playwright team recommends waiting on a locator
150
- * instead.
141
+ * Modern apps stream requests on a keep-alive socket so the state is racy;
142
+ * the Playwright team recommends waiting on a locator instead.
151
143
  *
152
144
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/no-networkidle.md
153
145
  */
@@ -155,9 +147,9 @@ export interface ITtscLintPlaywrightRules {
155
147
  /**
156
148
  * Reject `.first()`, `.last()`, and `.nth(...)` on locators.
157
149
  *
158
- * Positional access couples the test to current DOM ordering and
159
- * breaks the moment the layout changes — prefer a more specific
160
- * locator (role, label, test id) that names the target directly.
150
+ * Positional access couples the test to current DOM ordering and breaks the
151
+ * moment the layout changes — prefer a more specific locator (role, label,
152
+ * test id) that names the target directly.
161
153
  *
162
154
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/no-nth-methods.md
163
155
  */
@@ -165,19 +157,18 @@ export interface ITtscLintPlaywrightRules {
165
157
  /**
166
158
  * Reject `page.pause()` debugging calls.
167
159
  *
168
- * The helper drops the runner into Playwright's inspector, which
169
- * is useful locally but hangs CI indefinitely if it slips into a
170
- * committed test.
160
+ * The helper drops the runner into Playwright's inspector, which is useful
161
+ * locally but hangs CI indefinitely if it slips into a committed test.
171
162
  *
172
163
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/no-page-pause.md
173
164
  */
174
165
  "playwright/no-page-pause"?: TtscLintRuleSetting;
175
166
  /**
176
- * Reject `test.skip`, `test.describe.skip`, and the conditional
177
- * `test.skip()` annotation.
167
+ * Reject `test.skip`, `test.describe.skip`, and the conditional `test.skip()`
168
+ * annotation.
178
169
  *
179
- * Skipped tests appear green in CI but quietly drop coverage for
180
- * the feature they were meant to pin.
170
+ * Skipped tests appear green in CI but quietly drop coverage for the feature
171
+ * they were meant to pin.
181
172
  *
182
173
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/no-skipped-test.md
183
174
  */
@@ -185,20 +176,18 @@ export interface ITtscLintPlaywrightRules {
185
176
  /**
186
177
  * Reject `test.slow()` marks on Playwright tests.
187
178
  *
188
- * The annotation triples the per-test timeout, usually masking a
189
- * real performance regression instead of fixing the underlying
190
- * wait.
179
+ * The annotation triples the per-test timeout, usually masking a real
180
+ * performance regression instead of fixing the underlying wait.
191
181
  *
192
182
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/no-slowed-test.md
193
183
  */
194
184
  "playwright/no-slowed-test"?: TtscLintRuleSetting;
195
185
  /**
196
- * Reject `expect(...)` calls outside the body of a Playwright
197
- * test or lifecycle hook.
186
+ * Reject `expect(...)` calls outside the body of a Playwright test or
187
+ * lifecycle hook.
198
188
  *
199
- * Top-level assertions execute at module load before any test
200
- * starts, so failures never attach to a named case in the runner's
201
- * report.
189
+ * Top-level assertions execute at module load before any test starts, so
190
+ * failures never attach to a named case in the runner's report.
202
191
  *
203
192
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/no-standalone-expect.md
204
193
  */
@@ -206,10 +195,9 @@ export interface ITtscLintPlaywrightRules {
206
195
  /**
207
196
  * Reject `page.waitForNavigation`.
208
197
  *
209
- * The helper races against navigations triggered by the very
210
- * command preceding it; use a locator-based wait or the action's
211
- * own `waitUntil` option to pin the post-navigation state
212
- * explicitly.
198
+ * The helper races against navigations triggered by the very command
199
+ * preceding it; use a locator-based wait or the action's own `waitUntil`
200
+ * option to pin the post-navigation state explicitly.
213
201
  *
214
202
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/no-wait-for-navigation.md
215
203
  */
@@ -217,9 +205,9 @@ export interface ITtscLintPlaywrightRules {
217
205
  /**
218
206
  * Reject `page.waitForSelector`.
219
207
  *
220
- * The helper duplicates locator auto-waiting but does not share
221
- * its retry semantics — prefer `locator.waitFor()` or a web-first
222
- * assertion on the same locator.
208
+ * The helper duplicates locator auto-waiting but does not share its retry
209
+ * semantics — prefer `locator.waitFor()` or a web-first assertion on the same
210
+ * locator.
223
211
  *
224
212
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/no-wait-for-selector.md
225
213
  */
@@ -227,52 +215,49 @@ export interface ITtscLintPlaywrightRules {
227
215
  /**
228
216
  * Reject `page.waitForTimeout(ms)` sleeps.
229
217
  *
230
- * A hardcoded delay is either too short under load (flaky
231
- * failures) or too long under normal conditions (slow suite); wait
232
- * on a locator or response that signals readiness directly.
218
+ * A hardcoded delay is either too short under load (flaky failures) or too
219
+ * long under normal conditions (slow suite); wait on a locator or response
220
+ * that signals readiness directly.
233
221
  *
234
222
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/no-wait-for-timeout.md
235
223
  */
236
224
  "playwright/no-wait-for-timeout"?: TtscLintRuleSetting;
237
225
  /**
238
- * Prefer locator-based Playwright APIs (`page.locator(sel).click()`)
239
- * over page-level convenience methods (`page.click(selector)`).
226
+ * Prefer locator-based Playwright APIs (`page.locator(sel).click()`) over
227
+ * page-level convenience methods (`page.click(selector)`).
240
228
  *
241
- * Page methods re-resolve the selector each call and skip the
242
- * retry semantics that make locators robust under animation.
229
+ * Page methods re-resolve the selector each call and skip the retry semantics
230
+ * that make locators robust under animation.
243
231
  *
244
232
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/prefer-locator.md
245
233
  */
246
234
  "playwright/prefer-locator"?: TtscLintRuleSetting;
247
235
  /**
248
- * Prefer `expect(locator).toHaveCount(n)` over asserting on
249
- * `await locator.count()`.
236
+ * Prefer `expect(locator).toHaveCount(n)` over asserting on `await
237
+ * locator.count()`.
250
238
  *
251
- * The web-first matcher retries until the count stabilizes, while
252
- * the awaited value is a one-shot snapshot that races against
253
- * ongoing renders.
239
+ * The web-first matcher retries until the count stabilizes, while the awaited
240
+ * value is a one-shot snapshot that races against ongoing renders.
254
241
  *
255
242
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/prefer-to-have-count.md
256
243
  */
257
244
  "playwright/prefer-to-have-count"?: TtscLintRuleSetting;
258
245
  /**
259
- * Prefer `expect(value).toHaveLength(n)` over asserting on
260
- * `value.length` directly.
246
+ * Prefer `expect(value).toHaveLength(n)` over asserting on `value.length`
247
+ * directly.
261
248
  *
262
- * The dedicated matcher reports the actual length on failure
263
- * instead of a bare number mismatch.
249
+ * The dedicated matcher reports the actual length on failure instead of a
250
+ * bare number mismatch.
264
251
  *
265
252
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/prefer-to-have-length.md
266
253
  */
267
254
  "playwright/prefer-to-have-length"?: TtscLintRuleSetting;
268
255
  /**
269
- * Prefer Playwright web-first assertions
270
- * (`expect(locator).toBeVisible()`, `.toHaveText(...)`) over
271
- * composed manual waits.
256
+ * Prefer Playwright web-first assertions (`expect(locator).toBeVisible()`,
257
+ * `.toHaveText(...)`) over composed manual waits.
272
258
  *
273
- * Web-first matchers retry until the predicate holds, which is how
274
- * Playwright keeps tests stable under animation and network
275
- * jitter.
259
+ * Web-first matchers retry until the predicate holds, which is how Playwright
260
+ * keeps tests stable under animation and network jitter.
276
261
  *
277
262
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/prefer-web-first-assertions.md
278
263
  */
@@ -280,8 +265,8 @@ export interface ITtscLintPlaywrightRules {
280
265
  /**
281
266
  * Require an explicit `timeout` option on `expect(...).toPass(...)`.
282
267
  *
283
- * The matcher otherwise inherits the suite-wide timeout and can
284
- * strand CI when the underlying assertion never settles.
268
+ * The matcher otherwise inherits the suite-wide timeout and can strand CI
269
+ * when the underlying assertion never settles.
285
270
  *
286
271
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/require-to-pass-timeout.md
287
272
  */
@@ -289,9 +274,8 @@ export interface ITtscLintPlaywrightRules {
289
274
  /**
290
275
  * Require a message argument on `expect(...).toThrow(...)`.
291
276
  *
292
- * Without a message the assertion only confirms that something
293
- * threw, so a regression that throws a different error still looks
294
- * green.
277
+ * Without a message the assertion only confirms that something threw, so a
278
+ * regression that throws a different error still looks green.
295
279
  *
296
280
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/require-to-throw-message.md
297
281
  */
@@ -299,30 +283,28 @@ export interface ITtscLintPlaywrightRules {
299
283
  /**
300
284
  * Validate the shape of Playwright `test.describe` callbacks.
301
285
  *
302
- * The callback must be synchronous and take no arguments —
303
- * Playwright ignores returned Promises and stray parameters at the
304
- * describe level, silently swallowing setup errors.
286
+ * The callback must be synchronous and take no arguments — Playwright ignores
287
+ * returned Promises and stray parameters at the describe level, silently
288
+ * swallowing setup errors.
305
289
  *
306
290
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/valid-describe-callback.md
307
291
  */
308
292
  "playwright/valid-describe-callback"?: TtscLintRuleSetting;
309
293
  /**
310
- * Validate `expect(...)` arity and matcher chaining: exactly one
311
- * argument, terminated by a matcher call, and async matchers
312
- * properly awaited.
294
+ * Validate `expect(...)` arity and matcher chaining: exactly one argument,
295
+ * terminated by a matcher call, and async matchers properly awaited.
313
296
  *
314
- * Malformed expects either throw at runtime or pass without
315
- * asserting anything.
297
+ * Malformed expects either throw at runtime or pass without asserting
298
+ * anything.
316
299
  *
317
300
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/valid-expect.md
318
301
  */
319
302
  "playwright/valid-expect"?: TtscLintRuleSetting;
320
303
  /**
321
- * Require non-empty static Playwright test and `describe`
322
- * titles.
304
+ * Require non-empty static Playwright test and `describe` titles.
323
305
  *
324
- * Empty or dynamically-built titles produce unreadable reports and
325
- * break filter-by-name flags like `--grep`.
306
+ * Empty or dynamically-built titles produce unreadable reports and break
307
+ * filter-by-name flags like `--grep`.
326
308
  *
327
309
  * @reference https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/valid-title.md
328
310
  */