@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
@@ -3,58 +3,54 @@ import type { TtscLintRuleSetting } from "../TtscLintRuleSetting";
3
3
  * Jest test source rules from `eslint-plugin-jest`.
4
4
  *
5
5
  * Apply to TypeScript test files that use the Jest runner (`describe`,
6
- * `test`/`it`, `expect`, lifecycle hooks). They guard test-quality
7
- * patterns the type system cannot detect — unended assertions, focused
8
- * tests left behind, duplicate hook calls.
6
+ * `test`/`it`, `expect`, lifecycle hooks). They guard test-quality patterns the
7
+ * type system cannot detect — unended assertions, focused tests left behind,
8
+ * duplicate hook calls.
9
9
  *
10
10
  * @reference https://github.com/jest-community/eslint-plugin-jest
11
11
  */
12
12
  export interface ITtscLintJestRules {
13
13
  /**
14
- * Require every Jest test body to contain at least one
15
- * `expect(...)` call. A test with no expectations passes silently.
14
+ * Require every Jest test body to contain at least one `expect(...)` call. A
15
+ * test with no expectations passes silently.
16
16
  *
17
17
  * @reference https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/expect-expect.md
18
18
  */
19
19
  "jest/expect-expect"?: TtscLintRuleSetting;
20
20
  /**
21
- * Limit the number of `expect(...)` calls inside a single Jest test
22
- * body.
21
+ * Limit the number of `expect(...)` calls inside a single Jest test body.
23
22
  *
24
- * A test packed with assertions usually verifies several behaviors
25
- * at once, making failures ambiguous — splitting per scenario keeps
26
- * each case diagnostic.
23
+ * A test packed with assertions usually verifies several behaviors at once,
24
+ * making failures ambiguous — splitting per scenario keeps each case
25
+ * diagnostic.
27
26
  *
28
27
  * @reference https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/max-expects.md
29
28
  */
30
29
  "jest/max-expects"?: TtscLintRuleSetting;
31
30
  /**
32
- * Reject `expect(...)` calls under `if`/`try`/`catch` or other
33
- * conditional branches in Jest tests.
31
+ * Reject `expect(...)` calls under `if`/`try`/`catch` or other conditional
32
+ * branches in Jest tests.
34
33
  *
35
- * A branch that never executes turns the assertion into a silent
36
- * 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.
37
36
  *
38
37
  * @reference https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/no-conditional-expect.md
39
38
  */
40
39
  "jest/no-conditional-expect"?: TtscLintRuleSetting;
41
40
  /**
42
- * Reject conditional logic (`if`/`switch`/ternary) inside Jest
43
- * test bodies.
41
+ * Reject conditional logic (`if`/`switch`/ternary) inside Jest test bodies.
44
42
  *
45
- * Each test should describe a single deterministic scenario;
46
- * branching hides which path the runner took when reading a
47
- * passing log.
43
+ * Each test should describe a single deterministic scenario; branching hides
44
+ * which path the runner took when reading a passing log.
48
45
  *
49
46
  * @reference https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/no-conditional-in-test.md
50
47
  */
51
48
  "jest/no-conditional-in-test"?: TtscLintRuleSetting;
52
49
  /**
53
- * Reject `test.skip`, `xit`, `xdescribe`, and other disabled Jest
54
- * tests.
50
+ * Reject `test.skip`, `xit`, `xdescribe`, and other disabled Jest tests.
55
51
  *
56
- * Skipped tests appear green in CI but quietly drop coverage for
57
- * the feature they were meant to pin, so they rot unseen.
52
+ * Skipped tests appear green in CI but quietly drop coverage for the feature
53
+ * they were meant to pin, so they rot unseen.
58
54
  *
59
55
  * @reference https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/no-disabled-tests.md
60
56
  */
@@ -62,20 +58,19 @@ export interface ITtscLintJestRules {
62
58
  /**
63
59
  * Reject `done` callback parameters in Jest tests and hooks.
64
60
  *
65
- * The callback style predates async/await and makes error
66
- * propagation easy to miss — forgetting `done()` hangs the test
67
- * until timeout. Use `async`/`await` or return a Promise instead.
61
+ * The callback style predates async/await and makes error propagation easy to
62
+ * miss — forgetting `done()` hangs the test until timeout. Use
63
+ * `async`/`await` or return a Promise instead.
68
64
  *
69
65
  * @reference https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/no-done-callback.md
70
66
  */
71
67
  "jest/no-done-callback"?: TtscLintRuleSetting;
72
68
  /**
73
- * Reject duplicate setup/teardown hook calls
74
- * (`beforeEach`/`beforeAll`/etc.) within the same `describe`
75
- * block.
69
+ * Reject duplicate setup/teardown hook calls (`beforeEach`/`beforeAll`/etc.)
70
+ * within the same `describe` block.
76
71
  *
77
- * Jest runs both copies in declaration order, which is almost
78
- * always a copy-paste mistake.
72
+ * Jest runs both copies in declaration order, which is almost always a
73
+ * copy-paste mistake.
79
74
  *
80
75
  * @reference https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/no-duplicate-hooks.md
81
76
  */
@@ -83,20 +78,18 @@ export interface ITtscLintJestRules {
83
78
  /**
84
79
  * Reject `export` declarations in Jest test files.
85
80
  *
86
- * Tests are leaf consumers and should not expose helpers; the
87
- * runner silently skips test files with any export, so a stray
88
- * `export` can make a whole file disappear from the suite.
81
+ * Tests are leaf consumers and should not expose helpers; the runner silently
82
+ * skips test files with any export, so a stray `export` can make a whole file
83
+ * disappear from the suite.
89
84
  *
90
85
  * @reference https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/no-export.md
91
86
  */
92
87
  "jest/no-export"?: TtscLintRuleSetting;
93
88
  /**
94
- * Reject `test.only`, `fit`, `fdescribe`, and other focused Jest
95
- * tests.
89
+ * Reject `test.only`, `fit`, `fdescribe`, and other focused Jest tests.
96
90
  *
97
- * A focused test silently skips every other test in the file, so
98
- * a stray `.only` left from debugging hides the rest of the suite
99
- * 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.
100
93
  *
101
94
  * @reference https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/no-focused-tests.md
102
95
  */
@@ -104,39 +97,36 @@ export interface ITtscLintJestRules {
104
97
  /**
105
98
  * Reject Jest setup/teardown hooks altogether.
106
99
  *
107
- * Promotes the style where each test arranges and tears down its
108
- * own state inline, so a reader can understand it in isolation
109
- * without scrolling to a distant `beforeEach`.
100
+ * Promotes the style where each test arranges and tears down its own state
101
+ * inline, so a reader can understand it in isolation without scrolling to a
102
+ * distant `beforeEach`.
110
103
  *
111
104
  * @reference https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/no-hooks.md
112
105
  */
113
106
  "jest/no-hooks"?: TtscLintRuleSetting;
114
107
  /**
115
- * Reject duplicate test or `describe` titles at the same suite
116
- * level — the runner cannot distinguish two tests with the same
117
- * name in error output.
108
+ * Reject duplicate test or `describe` titles at the same suite level — the
109
+ * runner cannot distinguish two tests with the same name in error output.
118
110
  *
119
111
  * @reference https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/no-identical-title.md
120
112
  */
121
113
  "jest/no-identical-title"?: TtscLintRuleSetting;
122
114
  /**
123
- * Reject `expect(...)` calls outside the body of a Jest test or
124
- * lifecycle hook.
115
+ * Reject `expect(...)` calls outside the body of a Jest test or lifecycle
116
+ * hook.
125
117
  *
126
- * Top-level assertions execute at module load before any test
127
- * starts, so failures never attach to a named case in the runner's
128
- * report.
118
+ * Top-level assertions execute at module load before any test starts, so
119
+ * failures never attach to a named case in the runner's report.
129
120
  *
130
121
  * @reference https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/no-standalone-expect.md
131
122
  */
132
123
  "jest/no-standalone-expect"?: TtscLintRuleSetting;
133
124
  /**
134
- * Reject `xit`, `fit`, `xdescribe`, `fdescribe`, and the rest of
135
- * the single-letter Jest test prefix aliases.
125
+ * Reject `xit`, `fit`, `xdescribe`, `fdescribe`, and the rest of the
126
+ * single-letter Jest test prefix aliases.
136
127
  *
137
- * They duplicate the `.only`/`.skip` variants but read as typos at
138
- * a glance, making accidental focus or disable harder to spot in
139
- * review.
128
+ * They duplicate the `.only`/`.skip` variants but read as typos at a glance,
129
+ * making accidental focus or disable harder to spot in review.
140
130
  *
141
131
  * @reference https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/no-test-prefixes.md
142
132
  */
@@ -144,26 +134,26 @@ export interface ITtscLintJestRules {
144
134
  /**
145
135
  * Reject non-Promise `return` statements from Jest test bodies.
146
136
  *
147
- * Jest only awaits returned thenables, so a plain `return` value
148
- * is dropped and following code becomes dead — usually a symptom
149
- * of a missing `await` or an accidental early exit.
137
+ * Jest only awaits returned thenables, so a plain `return` value is dropped
138
+ * and following code becomes dead — usually a symptom of a missing `await` or
139
+ * an accidental early exit.
150
140
  *
151
141
  * @reference https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/no-test-return-statement.md
152
142
  */
153
143
  "jest/no-test-return-statement"?: TtscLintRuleSetting;
154
144
  /**
155
- * Prefer `expect(value).toHaveLength(n)` over asserting on
156
- * `value.length` directly with `toBe`.
145
+ * Prefer `expect(value).toHaveLength(n)` over asserting on `value.length`
146
+ * directly with `toBe`.
157
147
  *
158
- * The dedicated matcher reports the actual length on failure
159
- * instead of a bare number mismatch with no context.
148
+ * The dedicated matcher reports the actual length on failure instead of a
149
+ * bare number mismatch with no context.
160
150
  *
161
151
  * @reference https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/prefer-to-have-length.md
162
152
  */
163
153
  "jest/prefer-to-have-length"?: TtscLintRuleSetting;
164
154
  /**
165
- * Require a message argument on `expect(...).toThrow(...)` so a
166
- * regression with a different error type still surfaces clearly.
155
+ * Require a message argument on `expect(...).toThrow(...)` so a regression
156
+ * with a different error type still surfaces clearly.
167
157
  *
168
158
  * @reference https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/require-to-throw-message.md
169
159
  */
@@ -171,20 +161,19 @@ export interface ITtscLintJestRules {
171
161
  /**
172
162
  * Validate the shape of Jest `describe` callbacks.
173
163
  *
174
- * The callback must be synchronous and take no arguments — Jest
175
- * ignores returned Promises and `done`-style parameters at the
176
- * describe level, silently swallowing setup errors.
164
+ * The callback must be synchronous and take no arguments — Jest ignores
165
+ * returned Promises and `done`-style parameters at the describe level,
166
+ * silently swallowing setup errors.
177
167
  *
178
168
  * @reference https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/valid-describe-callback.md
179
169
  */
180
170
  "jest/valid-describe-callback"?: TtscLintRuleSetting;
181
171
  /**
182
- * Validate `expect(...)` arity and matcher chaining: exactly one
183
- * argument, terminated by a matcher call, and async matchers
184
- * properly awaited.
172
+ * Validate `expect(...)` arity and matcher chaining: exactly one argument,
173
+ * terminated by a matcher call, and async matchers properly awaited.
185
174
  *
186
- * Malformed expects either throw at runtime or pass without
187
- * asserting anything.
175
+ * Malformed expects either throw at runtime or pass without asserting
176
+ * anything.
188
177
  *
189
178
  * @reference https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/valid-expect.md
190
179
  */
@@ -192,8 +181,8 @@ export interface ITtscLintJestRules {
192
181
  /**
193
182
  * Require non-empty static Jest test and `describe` titles.
194
183
  *
195
- * Empty or dynamically-built titles produce unreadable failure
196
- * output and break filter-by-name flags like `--testNamePattern`.
184
+ * Empty or dynamically-built titles produce unreadable failure output and
185
+ * break filter-by-name flags like `--testNamePattern`.
197
186
  *
198
187
  * @reference https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/valid-title.md
199
188
  */
@@ -2,29 +2,29 @@ import type { TtscLintRuleSetting } from "../TtscLintRuleSetting";
2
2
  /**
3
3
  * Documentation-comment validation rules.
4
4
  *
5
- * Bundles `eslint-plugin-jsdoc` content checks (tag names, parameter
6
- * coverage, descriptions) with the lone `eslint-plugin-tsdoc` syntax
7
- * check (`jsdoc/tsdoc-syntax`) — both target `/** ... *\/` comments and
8
- * are too small in upstream-tsdoc's case to justify a dedicated family.
5
+ * Bundles `eslint-plugin-jsdoc` content checks (tag names, parameter coverage,
6
+ * descriptions) with the lone `eslint-plugin-tsdoc` syntax check
7
+ * (`jsdoc/tsdoc-syntax`) — both target `/** ... *\/` comments and are too small
8
+ * in upstream-tsdoc's case to justify a dedicated family.
9
9
  *
10
- * Formatting concerns (alignment, indentation) are configured through
11
- * the top-level `format` block, not here.
10
+ * Formatting concerns (alignment, indentation) are configured through the
11
+ * top-level `format` block, not here.
12
12
  *
13
13
  * @reference https://github.com/gajus/eslint-plugin-jsdoc
14
14
  */
15
15
  export interface ITtscLintJsdocRules {
16
16
  /**
17
- * Reject unknown JSDoc block-tag names. Catches typos like
18
- * `@returs` or `@parm`.
17
+ * Reject unknown JSDoc block-tag names. Catches typos like `@returs` or
18
+ * `@parm`.
19
19
  *
20
20
  * @reference https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-tag-names.md
21
21
  */
22
22
  "jsdoc/check-tag-names"?: TtscLintRuleSetting;
23
23
  /**
24
- * Validate `@access` values against the closed set `public`,
25
- * `protected`, `private`, `package`. (Upstream extends to
26
- * `@version`/`@since`/`@license`/`@kind`/`@import` value checks;
27
- * those shapes are not yet implemented in the native engine.)
24
+ * Validate `@access` values against the closed set `public`, `protected`,
25
+ * `private`, `package`. (Upstream extends to
26
+ * `@version`/`@since`/`@license`/`@kind`/`@import` value checks; those shapes
27
+ * are not yet implemented in the native engine.)
28
28
  *
29
29
  * Catches typos and stale enum members that slip past doc tooling.
30
30
  *
@@ -32,22 +32,22 @@ export interface ITtscLintJsdocRules {
32
32
  */
33
33
  "jsdoc/check-values"?: TtscLintRuleSetting;
34
34
  /**
35
- * Reject content on marker-only JSDoc tags (`@async`, `@public`,
36
- * `@override`, ...) — these tags take no value.
35
+ * Reject content on marker-only JSDoc tags (`@async`, `@public`, `@override`,
36
+ * ...) — these tags take no value.
37
37
  *
38
38
  * @reference https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/empty-tags.md
39
39
  */
40
40
  "jsdoc/empty-tags"?: TtscLintRuleSetting;
41
41
  /**
42
- * Reject JSDoc type braces in TypeScript sources, since the
43
- * surrounding TypeScript already carries the type.
42
+ * Reject JSDoc type braces in TypeScript sources, since the surrounding
43
+ * TypeScript already carries the type.
44
44
  *
45
45
  * @reference https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-types.md
46
46
  */
47
47
  "jsdoc/no-types"?: TtscLintRuleSetting;
48
48
  /**
49
- * Reject `any` and `*` inside JSDoc type braces — these escape
50
- * the documented type system the same way TypeScript `any` does.
49
+ * Reject `any` and `*` inside JSDoc type braces — these escape the documented
50
+ * type system the same way TypeScript `any` does.
51
51
  *
52
52
  * @reference https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-any-type.md
53
53
  */
@@ -62,77 +62,70 @@ export interface ITtscLintJsdocRules {
62
62
  */
63
63
  "jsdoc/reject-function-type"?: TtscLintRuleSetting;
64
64
  /**
65
- * Require JSDoc blocks to include a leading block-level
66
- * description — every documented identifier should explain itself.
65
+ * Require JSDoc blocks to include a leading block-level description — every
66
+ * documented identifier should explain itself.
67
67
  *
68
68
  * @reference https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-description.md
69
69
  */
70
70
  "jsdoc/require-description"?: TtscLintRuleSetting;
71
71
  /**
72
- * Require every `@param` tag that names a parameter to also
73
- * carry a description after the name.
72
+ * Require every `@param` tag that names a parameter to also carry a
73
+ * description after the name.
74
74
  *
75
- * A name-only `@param` adds nothing beyond the signature, so the
76
- * rule pushes authors to either describe the parameter or drop
77
- * the tag.
75
+ * A name-only `@param` adds nothing beyond the signature, so the rule pushes
76
+ * authors to either describe the parameter or drop the tag.
78
77
  *
79
78
  * @reference https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-description.md
80
79
  */
81
80
  "jsdoc/require-param-description"?: TtscLintRuleSetting;
82
81
  /**
83
- * Require every `@param` tag to include the parameter name it
84
- * documents.
82
+ * Require every `@param` tag to include the parameter name it documents.
85
83
  *
86
- * A bare `@param` cannot be linked to a signature position, so
87
- * doc tooling silently drops it.
84
+ * A bare `@param` cannot be linked to a signature position, so doc tooling
85
+ * silently drops it.
88
86
  *
89
87
  * @reference https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-name.md
90
88
  */
91
89
  "jsdoc/require-param-name"?: TtscLintRuleSetting;
92
90
  /**
93
- * Require every `@property` tag that names a property to also
94
- * carry a description.
91
+ * Require every `@property` tag that names a property to also carry a
92
+ * description.
95
93
  *
96
- * Mirrors `require-param-description` for typedef and object-shape
97
- * comments, where a name-only entry adds nothing the surrounding
98
- * type doesn't convey.
94
+ * Mirrors `require-param-description` for typedef and object-shape comments,
95
+ * where a name-only entry adds nothing the surrounding type doesn't convey.
99
96
  *
100
97
  * @reference https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-description.md
101
98
  */
102
99
  "jsdoc/require-property-description"?: TtscLintRuleSetting;
103
100
  /**
104
- * Require every `@property` tag to include the property name it
105
- * documents.
101
+ * Require every `@property` tag to include the property name it documents.
106
102
  *
107
- * Without the name the tag cannot be linked to a member of the
108
- * surrounding typedef, and doc generators discard it.
103
+ * Without the name the tag cannot be linked to a member of the surrounding
104
+ * typedef, and doc generators discard it.
109
105
  *
110
106
  * @reference https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-name.md
111
107
  */
112
108
  "jsdoc/require-property-name"?: TtscLintRuleSetting;
113
109
  /**
114
- * Require every `@returns` tag to carry a description of the
115
- * returned value.
110
+ * Require every `@returns` tag to carry a description of the returned value.
116
111
  *
117
- * The TypeScript signature already states the return type, so the
118
- * tag earns its keep only when it explains what the value means,
119
- * not its shape.
112
+ * The TypeScript signature already states the return type, so the tag earns
113
+ * its keep only when it explains what the value means, not its shape.
120
114
  *
121
115
  * @reference https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-description.md
122
116
  */
123
117
  "jsdoc/require-returns-description"?: TtscLintRuleSetting;
124
118
  /**
125
- * Detect structural TSDoc problems in documentation comments:
126
- * malformed top-level block tags (`@` followed by non-letter) and
127
- * malformed or unclosed inline tags (`{@link ...}`). The broader
128
- * TSDoc grammar closed-set tag names, escape sequences,
129
- * `{Type}`-annotation rejection, fenced-code rules — is not yet
130
- * implemented.
131
- *
132
- * TSDoc is Microsoft's curated dialect that powers API Extractor and
133
- * the rest of the Microsoft TypeScript documentation pipeline.
134
- * Upstream `eslint-plugin-tsdoc` ships exactly one rule; it lives
135
- * here rather than in a one-rule `tsdoc/*` family.
119
+ * Detect structural TSDoc problems in documentation comments: malformed
120
+ * top-level block tags (`@` followed by non-letter) and malformed or unclosed
121
+ * inline tags (`{@link ...}`). The broader TSDoc grammar — closed-set tag
122
+ * names, escape sequences, `{Type}`-annotation rejection, fenced-code rules —
123
+ * is not yet implemented.
124
+ *
125
+ * TSDoc is Microsoft's curated dialect that powers API Extractor and the rest
126
+ * of the Microsoft TypeScript documentation pipeline. Upstream
127
+ * `eslint-plugin-tsdoc` ships exactly one rule; it lives here rather than in
128
+ * a one-rule `tsdoc/*` family.
136
129
  *
137
130
  * @reference https://github.com/microsoft/tsdoc/blob/main/eslint-plugin/README.md
138
131
  */