@ttsc/lint 0.14.0-dev.20260529.2 → 0.14.1

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 +23 -25
  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 +167 -5
  68. package/linthost/print_nodes_call.go +786 -77
  69. package/linthost/print_nodes_function.go +43 -0
  70. package/linthost/print_nodes_imports.go +64 -14
  71. package/linthost/print_nodes_list.go +214 -8
  72. package/linthost/print_nodes_object.go +14 -6
  73. package/linthost/print_nodes_ternary.go +147 -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 +213 -0
  83. package/linthost/rules_format_bracket_spacing.go +117 -0
  84. package/linthost/rules_format_clause_join.go +179 -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 +180 -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 +517 -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,12 +1,11 @@
1
- import type { ITtscLintTestingLibraryConsistentDataTestIdRuleOptions } from "./ITtscLintTestingLibraryRuleOptions";
2
1
  import type { TtscLintRuleOptionsSetting, TtscLintRuleSetting } from "../TtscLintRuleSetting";
2
+ import type { ITtscLintTestingLibraryConsistentDataTestIdRuleOptions } from "./ITtscLintTestingLibraryRuleOptions";
3
3
  /**
4
- * Testing Library test source rules from
5
- * `eslint-plugin-testing-library`.
4
+ * Testing Library test source rules from `eslint-plugin-testing-library`.
6
5
  *
7
- * Apply to TypeScript test sources that use any `@testing-library/*`
8
- * package and detect Testing Library anti-patterns — `container`
9
- * access, `ByTestId` overuse, missing `await` on async queries.
6
+ * Apply to TypeScript test sources that use any `@testing-library/*` package
7
+ * and detect Testing Library anti-patterns — `container` access, `ByTestId`
8
+ * overuse, missing `await` on async queries.
10
9
  *
11
10
  * @reference https://github.com/testing-library/eslint-plugin-testing-library
12
11
  */
@@ -15,9 +14,8 @@ export interface ITtscLintTestingLibraryRules {
15
14
  * Require awaiting async user-event methods (`userEvent.click`,
16
15
  * `userEvent.type`, ...) under the v14+ Promise-returning API.
17
16
  *
18
- * Without `await` the next assertion runs against the
19
- * pre-interaction DOM, which masks effects the user action was
20
- * meant to trigger.
17
+ * Without `await` the next assertion runs against the pre-interaction DOM,
18
+ * which masks effects the user action was meant to trigger.
21
19
  *
22
20
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/await-async-events.md
23
21
  */
@@ -25,30 +23,28 @@ export interface ITtscLintTestingLibraryRules {
25
23
  /**
26
24
  * Require awaiting `findBy*` and `findAllBy*` queries.
27
25
  *
28
- * They return a Promise that resolves once the element appears; an
29
- * unawaited query yields a pending Promise that no matcher can
30
- * assert against meaningfully.
26
+ * They return a Promise that resolves once the element appears; an unawaited
27
+ * query yields a pending Promise that no matcher can assert against
28
+ * meaningfully.
31
29
  *
32
30
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/await-async-queries.md
33
31
  */
34
32
  "testing-library/await-async-queries"?: TtscLintRuleSetting;
35
33
  /**
36
- * Require awaiting `waitFor`, `waitForElementToBeRemoved`, and
37
- * the other async Testing Library utilities.
34
+ * Require awaiting `waitFor`, `waitForElementToBeRemoved`, and the other
35
+ * async Testing Library utilities.
38
36
  *
39
- * Skipping the `await` means the test moves on before the
40
- * predicate settles, so subsequent assertions race against the
41
- * wait.
37
+ * Skipping the `await` means the test moves on before the predicate settles,
38
+ * so subsequent assertions race against the wait.
42
39
  *
43
40
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/await-async-utils.md
44
41
  */
45
42
  "testing-library/await-async-utils"?: TtscLintRuleSetting;
46
43
  /**
47
- * Validate JSX `data-testid` attribute values against a regex
48
- * pattern.
44
+ * Validate JSX `data-testid` attribute values against a regex pattern.
49
45
  *
50
- * The options object names the attribute and the pattern, keeping
51
- * test ids consistently formed across components.
46
+ * The options object names the attribute and the pattern, keeping test ids
47
+ * consistently formed across components.
52
48
  *
53
49
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/consistent-data-testid.md
54
50
  */
@@ -57,63 +53,60 @@ export interface ITtscLintTestingLibraryRules {
57
53
  * Reject unnecessary `await` before synchronous event helpers
58
54
  * (`fireEvent.click(...)`).
59
55
  *
60
- * The helpers return `boolean` rather than a Promise, so the
61
- * `await` is a no-op that misleads readers into thinking the
62
- * helper is async.
56
+ * The helpers return `boolean` rather than a Promise, so the `await` is a
57
+ * no-op that misleads readers into thinking the helper is async.
63
58
  *
64
59
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/no-await-sync-events.md
65
60
  */
66
61
  "testing-library/no-await-sync-events"?: TtscLintRuleSetting;
67
62
  /**
68
- * Reject unnecessary `await` before synchronous queries
69
- * (`getBy*`, `queryBy*`).
63
+ * Reject unnecessary `await` before synchronous queries (`getBy*`,
64
+ * `queryBy*`).
70
65
  *
71
- * These queries return DOM nodes directly, so the `await` misleads
72
- * readers and can shadow a genuine missing `await` on an adjacent
73
- * `findBy*`.
66
+ * These queries return DOM nodes directly, so the `await` misleads readers
67
+ * and can shadow a genuine missing `await` on an adjacent `findBy*`.
74
68
  *
75
69
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/no-await-sync-queries.md
76
70
  */
77
71
  "testing-library/no-await-sync-queries"?: TtscLintRuleSetting;
78
72
  /**
79
- * Reject `container` destructuring and DOM query methods on the
80
- * render result.
73
+ * Reject `container` destructuring and DOM query methods on the render
74
+ * result.
81
75
  *
82
- * `screen` queries the same document but matches how the user sees
83
- * the page, keeping tests accessibility-first and resilient to
84
- * layout refactors that move nodes inside the tree.
76
+ * `screen` queries the same document but matches how the user sees the page,
77
+ * keeping tests accessibility-first and resilient to layout refactors that
78
+ * move nodes inside the tree.
85
79
  *
86
80
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/no-container.md
87
81
  */
88
82
  "testing-library/no-container"?: TtscLintRuleSetting;
89
83
  /**
90
- * Reject `debug`, `prettyDOM`, `logTestingPlaygroundURL`, and
91
- * related debugging utilities in committed tests.
84
+ * Reject `debug`, `prettyDOM`, `logTestingPlaygroundURL`, and related
85
+ * debugging utilities in committed tests.
92
86
  *
93
- * They print large DOM dumps to CI logs and only exist to help
94
- * during local authoring.
87
+ * They print large DOM dumps to CI logs and only exist to help during local
88
+ * authoring.
95
89
  *
96
90
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/no-debugging-utils.md
97
91
  */
98
92
  "testing-library/no-debugging-utils"?: TtscLintRuleSetting;
99
93
  /**
100
- * Reject direct `@testing-library/dom` imports when a
101
- * framework-specific package is installed.
94
+ * Reject direct `@testing-library/dom` imports when a framework-specific
95
+ * package is installed.
102
96
  *
103
- * Framework packages (`@testing-library/react`, ...) re-export the
104
- * same surface plus a `render` that wires the framework's
105
- * lifecycle — importing `dom` directly skips that wiring.
97
+ * Framework packages (`@testing-library/react`, ...) re-export the same
98
+ * surface plus a `render` that wires the framework's lifecycle — importing
99
+ * `dom` directly skips that wiring.
106
100
  *
107
101
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/no-dom-import.md
108
102
  */
109
103
  "testing-library/no-dom-import"?: TtscLintRuleSetting;
110
104
  /**
111
- * Reject global RegExp flags (`/foo/g`) inside query text
112
- * matchers.
105
+ * Reject global RegExp flags (`/foo/g`) inside query text matchers.
113
106
  *
114
- * The matcher reuses the regex across nodes, so a global regex's
115
- * persistent `lastIndex` state causes the second call to skip
116
- * matches the first one found.
107
+ * The matcher reuses the regex across nodes, so a global regex's persistent
108
+ * `lastIndex` state causes the second call to skip matches the first one
109
+ * found.
117
110
  *
118
111
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/no-global-regexp-flag-in-query.md
119
112
  */
@@ -121,37 +114,36 @@ export interface ITtscLintTestingLibraryRules {
121
114
  /**
122
115
  * Reject manual `cleanup()` calls.
123
116
  *
124
- * Framework wrappers (`@testing-library/react`, ...) register
125
- * automatic cleanup, so explicit calls duplicate the unmount and
126
- * can race against the runner's between-test reset.
117
+ * Framework wrappers (`@testing-library/react`, ...) register automatic
118
+ * cleanup, so explicit calls duplicate the unmount and can race against the
119
+ * runner's between-test reset.
127
120
  *
128
121
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/no-manual-cleanup.md
129
122
  */
130
123
  "testing-library/no-manual-cleanup"?: TtscLintRuleSetting;
131
124
  /**
132
- * Reject direct DOM node traversal from query results
133
- * (`.parentElement`, `.firstChild`, `.children`, ...).
125
+ * Reject direct DOM node traversal from query results (`.parentElement`,
126
+ * `.firstChild`, `.children`, ...).
134
127
  *
135
- * Traversal couples the test to incidental markup; another
136
- * semantic query names what the assertion actually cares about.
128
+ * Traversal couples the test to incidental markup; another semantic query
129
+ * names what the assertion actually cares about.
137
130
  *
138
131
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/no-node-access.md
139
132
  */
140
133
  "testing-library/no-node-access"?: TtscLintRuleSetting;
141
134
  /**
142
- * Reject Promise-producing expressions passed to `fireEvent`,
143
- * since `fireEvent` is synchronous and the Promise is dropped.
135
+ * Reject Promise-producing expressions passed to `fireEvent`, since
136
+ * `fireEvent` is synchronous and the Promise is dropped.
144
137
  *
145
138
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/no-promise-in-fire-event.md
146
139
  */
147
140
  "testing-library/no-promise-in-fire-event"?: TtscLintRuleSetting;
148
141
  /**
149
- * Reject `render(...)` inside lifecycle hooks (`beforeEach`,
150
- * etc.).
142
+ * Reject `render(...)` inside lifecycle hooks (`beforeEach`, etc.).
151
143
  *
152
- * Each test should render its component directly so the arrange
153
- * step is visible in-place and auto-cleanup runs between cases
154
- * without sharing state.
144
+ * Each test should render its component directly so the arrange step is
145
+ * visible in-place and auto-cleanup runs between cases without sharing
146
+ * state.
155
147
  *
156
148
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/no-render-in-lifecycle.md
157
149
  */
@@ -159,35 +151,32 @@ export interface ITtscLintTestingLibraryRules {
159
151
  /**
160
152
  * Reject `*ByTestId` queries.
161
153
  *
162
- * Test ids couple the test to incidental markup and skip the
163
- * accessibility tree that real users navigate; queries by role,
164
- * label, or text describe the UI in user-visible terms instead.
154
+ * Test ids couple the test to incidental markup and skip the accessibility
155
+ * tree that real users navigate; queries by role, label, or text describe the
156
+ * UI in user-visible terms instead.
165
157
  *
166
158
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/no-test-id-queries.md
167
159
  */
168
160
  "testing-library/no-test-id-queries"?: TtscLintRuleSetting;
169
161
  /**
170
- * Reject unnecessary `act(...)` wrappers around Testing Library
171
- * helpers.
162
+ * Reject unnecessary `act(...)` wrappers around Testing Library helpers.
172
163
  *
173
- * `render`, `fireEvent`, and `userEvent` already wrap their work
174
- * in `act`, so the extra wrapper is dead code that obscures the
175
- * real state change.
164
+ * `render`, `fireEvent`, and `userEvent` already wrap their work in `act`, so
165
+ * the extra wrapper is dead code that obscures the real state change.
176
166
  *
177
167
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/no-unnecessary-act.md
178
168
  */
179
169
  "testing-library/no-unnecessary-act"?: TtscLintRuleSetting;
180
170
  /**
181
- * Reject multiple assertions inside one `waitFor` callback —
182
- * split into separate `waitFor`s so each retry boundary is
183
- * narrow.
171
+ * Reject multiple assertions inside one `waitFor` callback — split into
172
+ * separate `waitFor`s so each retry boundary is narrow.
184
173
  *
185
174
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/no-wait-for-multiple-assertions.md
186
175
  */
187
176
  "testing-library/no-wait-for-multiple-assertions"?: TtscLintRuleSetting;
188
177
  /**
189
- * Reject side effects inside `waitFor` callbacks — `waitFor`
190
- * retries the callback, so side effects fire repeatedly.
178
+ * Reject side effects inside `waitFor` callbacks — `waitFor` retries the
179
+ * callback, so side effects fire repeatedly.
191
180
  *
192
181
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/no-wait-for-side-effects.md
193
182
  */
@@ -195,21 +184,19 @@ export interface ITtscLintTestingLibraryRules {
195
184
  /**
196
185
  * Reject snapshot assertions inside `waitFor`.
197
186
  *
198
- * `waitFor` retries until the callback stops throwing, so the
199
- * captured snapshot is whichever pass happened to match — usually
200
- * an intermediate render rather than the settled UI the test
201
- * cares about.
187
+ * `waitFor` retries until the callback stops throwing, so the captured
188
+ * snapshot is whichever pass happened to match — usually an intermediate
189
+ * render rather than the settled UI the test cares about.
202
190
  *
203
191
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/no-wait-for-snapshot.md
204
192
  */
205
193
  "testing-library/no-wait-for-snapshot"?: TtscLintRuleSetting;
206
194
  /**
207
- * Require explicit assertions on the result of standalone
208
- * queries.
195
+ * Require explicit assertions on the result of standalone queries.
209
196
  *
210
- * A bare `screen.getByRole(...)` looks like an assertion but only
211
- * checks presence (and only for `getBy*`); adding `expect(...)`
212
- * makes the intent and the matched property obvious.
197
+ * A bare `screen.getByRole(...)` looks like an assertion but only checks
198
+ * presence (and only for `getBy*`); adding `expect(...)` makes the intent and
199
+ * the matched property obvious.
213
200
  *
214
201
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/prefer-explicit-assert.md
215
202
  */
@@ -217,9 +204,9 @@ export interface ITtscLintTestingLibraryRules {
217
204
  /**
218
205
  * Prefer `findBy*` over `waitFor` wrapping a `getBy*`.
219
206
  *
220
- * `findBy*` is the dedicated retry-aware query; the manual
221
- * combination duplicates its semantics and is easy to misconfigure
222
- * (wrong timeout, missing `await`).
207
+ * `findBy*` is the dedicated retry-aware query; the manual combination
208
+ * duplicates its semantics and is easy to misconfigure (wrong timeout,
209
+ * missing `await`).
223
210
  *
224
211
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/prefer-find-by.md
225
212
  */
@@ -227,18 +214,17 @@ export interface ITtscLintTestingLibraryRules {
227
214
  /**
228
215
  * Avoid redundant `toBeInTheDocument()` around `getBy*` queries.
229
216
  *
230
- * `getBy*` already throws when nothing is found, so the extra
231
- * matcher only restates what the query promises and adds noise to
232
- * the failure trace.
217
+ * `getBy*` already throws when nothing is found, so the extra matcher only
218
+ * restates what the query promises and adds noise to the failure trace.
233
219
  *
234
220
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/prefer-implicit-assert.md
235
221
  */
236
222
  "testing-library/prefer-implicit-assert"?: TtscLintRuleSetting;
237
223
  /**
238
- * Match presence and absence assertions to the query variant
239
- * that already encodes the same semantic: `getBy*` for presence
240
- * (throws when missing), `queryBy*` for absence (returns `null`
241
- * when missing). Mixing the two yields confusing failure modes.
224
+ * Match presence and absence assertions to the query variant that already
225
+ * encodes the same semantic: `getBy*` for presence (throws when missing),
226
+ * `queryBy*` for absence (returns `null` when missing). Mixing the two yields
227
+ * confusing failure modes.
242
228
  *
243
229
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/prefer-presence-queries.md
244
230
  */
@@ -246,20 +232,19 @@ export interface ITtscLintTestingLibraryRules {
246
232
  /**
247
233
  * Prefer `queryBy*` inside `waitForElementToBeRemoved`.
248
234
  *
249
- * The helper retries the callback against the disappearing
250
- * element, but `getBy*` throws on the very state being waited for,
251
- * which produces a noisy error in the trace each retry.
235
+ * The helper retries the callback against the disappearing element, but
236
+ * `getBy*` throws on the very state being waited for, which produces a noisy
237
+ * error in the trace each retry.
252
238
  *
253
239
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/prefer-query-by-disappearance.md
254
240
  */
255
241
  "testing-library/prefer-query-by-disappearance"?: TtscLintRuleSetting;
256
242
  /**
257
- * Prefer jest-dom document matchers (`toBeVisible`,
258
- * `toHaveTextContent`, ...) over generic equality checks on
259
- * Testing Library queries.
243
+ * Prefer jest-dom document matchers (`toBeVisible`, `toHaveTextContent`, ...)
244
+ * over generic equality checks on Testing Library queries.
260
245
  *
261
- * The dedicated matchers explain failures in terms of the DOM
262
- * property they assert on, not a structural diff of nodes.
246
+ * The dedicated matchers explain failures in terms of the DOM property they
247
+ * assert on, not a structural diff of nodes.
263
248
  *
264
249
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/prefer-query-matchers.md
265
250
  */
@@ -267,9 +252,9 @@ export interface ITtscLintTestingLibraryRules {
267
252
  /**
268
253
  * Prefer `screen.*` over queries on the render-result object.
269
254
  *
270
- * `screen` is the single global query target, so tests stay
271
- * consistent regardless of which component is mounted and the
272
- * render call's return value rarely needs destructuring.
255
+ * `screen` is the single global query target, so tests stay consistent
256
+ * regardless of which component is mounted and the render call's return value
257
+ * rarely needs destructuring.
273
258
  *
274
259
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/prefer-screen-queries.md
275
260
  */
@@ -277,32 +262,30 @@ export interface ITtscLintTestingLibraryRules {
277
262
  /**
278
263
  * Prefer `userEvent` over `fireEvent`.
279
264
  *
280
- * `userEvent` simulates the full sequence of DOM events a real
281
- * user triggers (focus, keydown, input, change, ...) while
282
- * `fireEvent` dispatches a single event and skips intermediate
283
- * state.
265
+ * `userEvent` simulates the full sequence of DOM events a real user triggers
266
+ * (focus, keydown, input, change, ...) while `fireEvent` dispatches a single
267
+ * event and skips intermediate state.
284
268
  *
285
269
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/prefer-user-event.md
286
270
  */
287
271
  "testing-library/prefer-user-event"?: TtscLintRuleSetting;
288
272
  /**
289
- * Prefer `userEvent.setup()` (the v14+ instance pattern) over
290
- * the static `userEvent.*` calls.
273
+ * Prefer `userEvent.setup()` (the v14+ instance pattern) over the static
274
+ * `userEvent.*` calls.
291
275
  *
292
- * The instance binds fresh pointer state per test, removing the
293
- * cross-test focus and click bookkeeping that the static API
294
- * leaks.
276
+ * The instance binds fresh pointer state per test, removing the cross-test
277
+ * focus and click bookkeeping that the static API leaks.
295
278
  *
296
279
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/prefer-user-event-setup.md
297
280
  */
298
281
  "testing-library/prefer-user-event-setup"?: TtscLintRuleSetting;
299
282
  /**
300
- * Require the variable assigned from `render(...)` to use one of
301
- * the conventional names (`view`, `result`, ...).
283
+ * Require the variable assigned from `render(...)` to use one of the
284
+ * conventional names (`view`, `result`, ...).
302
285
  *
303
- * The name is a reading cue: a non-conventional one usually
304
- * signals that the destructured queries are being treated as a
305
- * component surface instead of a render artifact.
286
+ * The name is a reading cue: a non-conventional one usually signals that the
287
+ * destructured queries are being treated as a component surface instead of a
288
+ * render artifact.
306
289
  *
307
290
  * @reference https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/render-result-naming-convention.md
308
291
  */