@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,49 +1,47 @@
1
1
  import type { TtscLintRuleSetting } from "../TtscLintRuleSetting";
2
2
  /**
3
- * Security-focused TypeScript source rules from
4
- * `eslint-plugin-security`.
3
+ * Security-focused TypeScript source rules from `eslint-plugin-security`.
5
4
  *
6
- * Reports likely security smells — non-literal sinks for eval, file
7
- * I/O, regex construction, child-process spawning, cryptographic
8
- * primitives — that warrant human review even if no exploit is
9
- * statically provable.
5
+ * Reports likely security smells — non-literal sinks for eval, file I/O, regex
6
+ * construction, child-process spawning, cryptographic primitives — that warrant
7
+ * human review even if no exploit is statically provable.
10
8
  *
11
- * Treat findings as *hints*, not proofs.
9
+ * Treat findings as _hints_, not proofs.
12
10
  *
13
11
  * @reference https://github.com/eslint-community/eslint-plugin-security
14
12
  */
15
13
  export interface ITtscLintSecurityRules {
16
14
  /**
17
- * Detect Trojan-Source bidi control characters (U+202A, U+202E,
18
- * ...) hidden inside source.
15
+ * Detect Trojan-Source bidi control characters (U+202A, U+202E, ...) hidden
16
+ * inside source.
19
17
  *
20
18
  * @reference https://github.com/eslint-community/eslint-plugin-security/blob/main/docs/rules/detect-bidi-characters.md
21
19
  */
22
20
  "security/detect-bidi-characters"?: TtscLintRuleSetting;
23
21
  /**
24
- * Detect Buffer reads/writes called with `noAssert = true`, which
25
- * skips Node's offset/length bounds checks.
22
+ * Detect Buffer reads/writes called with `noAssert = true`, which skips
23
+ * Node's offset/length bounds checks.
26
24
  *
27
- * The flag lets the offset slide past the buffer end and read
28
- * unrelated memory, so production code should never set it.
25
+ * The flag lets the offset slide past the buffer end and read unrelated
26
+ * memory, so production code should never set it.
29
27
  *
30
28
  * @reference https://github.com/eslint-community/eslint-plugin-security/blob/main/docs/rules/detect-buffer-noassert.md
31
29
  */
32
30
  "security/detect-buffer-noassert"?: TtscLintRuleSetting;
33
31
  /**
34
- * Detect any import of `child_process` and any `exec`/`execSync`
35
- * call whose command argument is not a string literal.
32
+ * Detect any import of `child_process` and any `exec`/`execSync` call whose
33
+ * command argument is not a string literal.
36
34
  *
37
- * Non-literal commands are the canonical shell-injection sink in
38
- * Node services.
35
+ * Non-literal commands are the canonical shell-injection sink in Node
36
+ * services.
39
37
  *
40
38
  * @reference https://github.com/eslint-community/eslint-plugin-security/blob/main/docs/rules/detect-child-process.md
41
39
  */
42
40
  "security/detect-child-process"?: TtscLintRuleSetting;
43
41
  /**
44
- * Detect assignments setting `escapeMarkup = false` (or the
45
- * equivalent option on Handlebars/Mustache-style engines), which
46
- * turns off HTML entity escaping in template output.
42
+ * Detect assignments setting `escapeMarkup = false` (or the equivalent option
43
+ * on Handlebars/Mustache-style engines), which turns off HTML entity escaping
44
+ * in template output.
47
45
  *
48
46
  * Result: an unguarded XSS sink for caller-controlled strings.
49
47
  *
@@ -54,15 +52,14 @@ export interface ITtscLintSecurityRules {
54
52
  * Detect `eval(...)` calls whose argument is not a string literal.
55
53
  *
56
54
  * Any expression argument means caller-controlled data can reach a
57
- * code-execution sink. The rule flags the call shape, not proven
58
- * taint.
55
+ * code-execution sink. The rule flags the call shape, not proven taint.
59
56
  *
60
57
  * @reference https://github.com/eslint-community/eslint-plugin-security/blob/main/docs/rules/detect-eval-with-expression.md
61
58
  */
62
59
  "security/detect-eval-with-expression"?: TtscLintRuleSetting;
63
60
  /**
64
- * Detect `new Buffer(input)` constructions with non-literal
65
- * input — historical source of allocation-disclosure bugs.
61
+ * Detect `new Buffer(input)` constructions with non-literal input —
62
+ * historical source of allocation-disclosure bugs.
66
63
  *
67
64
  * @reference https://github.com/eslint-community/eslint-plugin-security/blob/main/docs/rules/detect-new-buffer.md
68
65
  */
@@ -75,40 +72,38 @@ export interface ITtscLintSecurityRules {
75
72
  */
76
73
  "security/detect-no-csrf-before-method-override"?: TtscLintRuleSetting;
77
74
  /**
78
- * Detect `fs` calls (`readFile`, `writeFile`, `createReadStream`,
79
- * ...) whose filename argument is not a string literal.
75
+ * Detect `fs` calls (`readFile`, `writeFile`, `createReadStream`, ...) whose
76
+ * filename argument is not a string literal.
80
77
  *
81
- * Dynamic filenames are the standard path-traversal sink; sanitise
82
- * or allow-list before the call.
78
+ * Dynamic filenames are the standard path-traversal sink; sanitise or
79
+ * allow-list before the call.
83
80
  *
84
81
  * @reference https://github.com/eslint-community/eslint-plugin-security/blob/main/docs/rules/detect-non-literal-fs-filename.md
85
82
  */
86
83
  "security/detect-non-literal-fs-filename"?: TtscLintRuleSetting;
87
84
  /**
88
- * Detect `new RegExp(...)` construction whose pattern argument is
89
- * not a string literal.
85
+ * Detect `new RegExp(...)` construction whose pattern argument is not a
86
+ * string literal.
90
87
  *
91
- * Caller-controlled patterns can both trigger catastrophic
92
- * backtracking and let an attacker reshape the matcher to bypass
93
- * intended validation.
88
+ * Caller-controlled patterns can both trigger catastrophic backtracking and
89
+ * let an attacker reshape the matcher to bypass intended validation.
94
90
  *
95
91
  * @reference https://github.com/eslint-community/eslint-plugin-security/blob/main/docs/rules/detect-non-literal-regexp.md
96
92
  */
97
93
  "security/detect-non-literal-regexp"?: TtscLintRuleSetting;
98
94
  /**
99
- * Detect `require(...)` calls whose specifier is computed at
100
- * runtime.
95
+ * Detect `require(...)` calls whose specifier is computed at runtime.
101
96
  *
102
- * A dynamic specifier lets caller-controlled data choose the module
103
- * to load, bypassing any module allow-list on Node.
97
+ * A dynamic specifier lets caller-controlled data choose the module to load,
98
+ * bypassing any module allow-list on Node.
104
99
  *
105
100
  * @reference https://github.com/eslint-community/eslint-plugin-security/blob/main/docs/rules/detect-non-literal-require.md
106
101
  */
107
102
  "security/detect-non-literal-require"?: TtscLintRuleSetting;
108
103
  /**
109
- * Detect dynamic bracket-access such as `obj[req.body.x] = ...`,
110
- * which can let caller-controlled keys overwrite prototype-shaped
111
- * properties or pull out unintended fields.
104
+ * Detect dynamic bracket-access such as `obj[req.body.x] = ...`, which can
105
+ * let caller-controlled keys overwrite prototype-shaped properties or pull
106
+ * out unintended fields.
112
107
  *
113
108
  * Fires on virtually any computed property access; expect a high
114
109
  * false-positive rate in normal application code.
@@ -117,30 +112,28 @@ export interface ITtscLintSecurityRules {
117
112
  */
118
113
  "security/detect-object-injection"?: TtscLintRuleSetting;
119
114
  /**
120
- * Detect direct equality comparisons involving secret-like
121
- * identifiers (`if (token === expected)`) — use
122
- * `crypto.timingSafeEqual` instead.
115
+ * Detect direct equality comparisons involving secret-like identifiers (`if
116
+ * (token === expected)`) — use `crypto.timingSafeEqual` instead.
123
117
  *
124
118
  * @reference https://github.com/eslint-community/eslint-plugin-security/blob/main/docs/rules/detect-possible-timing-attacks.md
125
119
  */
126
120
  "security/detect-possible-timing-attacks"?: TtscLintRuleSetting;
127
121
  /**
128
- * Detect `crypto.pseudoRandomBytes`, which produces values that
129
- * are not cryptographically secure.
122
+ * Detect `crypto.pseudoRandomBytes`, which produces values that are not
123
+ * cryptographically secure.
130
124
  *
131
- * Tokens, session ids, and key material must use
132
- * `crypto.randomBytes` (or Web Crypto's `getRandomValues`) instead.
125
+ * Tokens, session ids, and key material must use `crypto.randomBytes` (or Web
126
+ * Crypto's `getRandomValues`) instead.
133
127
  *
134
128
  * @reference https://github.com/eslint-community/eslint-plugin-security/blob/main/docs/rules/detect-pseudoRandomBytes.md
135
129
  */
136
130
  "security/detect-pseudoRandomBytes"?: TtscLintRuleSetting;
137
131
  /**
138
- * Detect regex literals with catastrophic backtracking potential
139
- * (ReDoS) — typically nested or overlapping quantifiers over the
140
- * same character set.
132
+ * Detect regex literals with catastrophic backtracking potential (ReDoS) —
133
+ * typically nested or overlapping quantifiers over the same character set.
141
134
  *
142
- * Matching caller-controlled input against such a pattern can
143
- * block the event loop for seconds.
135
+ * Matching caller-controlled input against such a pattern can block the event
136
+ * loop for seconds.
144
137
  *
145
138
  * @reference https://github.com/eslint-community/eslint-plugin-security/blob/main/docs/rules/detect-unsafe-regex.md
146
139
  */
@@ -2,64 +2,63 @@ import type { TtscLintRuleSetting } from "../TtscLintRuleSetting";
2
2
  /**
3
3
  * Solid TSX rules from `eslint-plugin-solid`.
4
4
  *
5
- * Solid components compile to fine-grained reactivity, so patterns
6
- * that look correct in React (destructuring props, calling
7
- * `useEffect`-style hooks with array deps) silently break reactivity
8
- * in Solid. This family captures the common Solid-only pitfalls.
5
+ * Solid components compile to fine-grained reactivity, so patterns that look
6
+ * correct in React (destructuring props, calling `useEffect`-style hooks with
7
+ * array deps) silently break reactivity in Solid. This family captures the
8
+ * common Solid-only pitfalls.
9
9
  *
10
10
  * @reference https://github.com/solidjs-community/eslint-plugin-solid
11
11
  */
12
12
  export interface ITtscLintSolidRules {
13
13
  /**
14
- * Reject early and conditional `return` from a Solid component
15
- * — Solid components must return exactly once at the top level.
14
+ * Reject early and conditional `return` from a Solid component — Solid
15
+ * components must return exactly once at the top level.
16
16
  *
17
17
  * @reference https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/components-return-once.md
18
18
  */
19
19
  "solid/components-return-once"?: TtscLintRuleSetting;
20
20
  /**
21
- * Require DOM event handler props to use canonical Solid casing
22
- * (`onClick`, not `onclick` / `onClIcK`) so the compiler recognizes
23
- * them as events. Also flags `on*`-named props bound to non-function
24
- * values, which look like handlers but are not.
21
+ * Require DOM event handler props to use canonical Solid casing (`onClick`,
22
+ * not `onclick` / `onClIcK`) so the compiler recognizes them as events. Also
23
+ * flags `on*`-named props bound to non-function values, which look like
24
+ * handlers but are not.
25
25
  *
26
26
  * @reference https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/event-handlers.md
27
27
  */
28
28
  "solid/event-handlers"?: TtscLintRuleSetting;
29
29
  /**
30
30
  * Route each Solid export to the correct entry point (`solid-js`,
31
- * `solid-js/web`, or `solid-js/store`) and merge duplicate imports
32
- * from the same entry.
31
+ * `solid-js/web`, or `solid-js/store`) and merge duplicate imports from the
32
+ * same entry.
33
33
  *
34
34
  * @reference https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/imports.md
35
35
  */
36
36
  "solid/imports"?: TtscLintRuleSetting;
37
37
  /**
38
- * Reject duplicate JSX props on the same Solid element. Unlike
39
- * React, Solid silently keeps the first value, so the duplicate is
40
- * dead code and almost always a typo.
38
+ * Reject duplicate JSX props on the same Solid element. Unlike React, Solid
39
+ * silently keeps the first value, so the duplicate is dead code and almost
40
+ * always a typo.
41
41
  *
42
42
  * @reference https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/jsx-no-duplicate-props.md
43
43
  */
44
44
  "solid/jsx-no-duplicate-props"?: TtscLintRuleSetting;
45
45
  /**
46
- * Reject `javascript:` URLs in Solid JSX attributes (`href`, `src`,
47
- * ...) — they evaluate the suffix as code in the page context and
48
- * are a long-standing XSS vector.
46
+ * Reject `javascript:` URLs in Solid JSX attributes (`href`, `src`, ...) —
47
+ * they evaluate the suffix as code in the page context and are a
48
+ * long-standing XSS vector.
49
49
  *
50
50
  * @reference https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/jsx-no-script-url.md
51
51
  */
52
52
  "solid/jsx-no-script-url"?: TtscLintRuleSetting;
53
53
  /**
54
- * Reject Solid JSX component names that are not declared or
55
- * imported in scope.
54
+ * Reject Solid JSX component names that are not declared or imported in
55
+ * scope.
56
56
  *
57
57
  * @reference https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/jsx-no-undef.md
58
58
  */
59
59
  "solid/jsx-no-undef"?: TtscLintRuleSetting;
60
60
  /**
61
- * Scope-marker compatibility rule (mirrors ESLint's
62
- * `react/jsx-uses-vars`).
61
+ * Scope-marker compatibility rule (mirrors ESLint's `react/jsx-uses-vars`).
63
62
  *
64
63
  * The native engine emits no diagnostics for this id.
65
64
  *
@@ -67,32 +66,32 @@ export interface ITtscLintSolidRules {
67
66
  */
68
67
  "solid/jsx-uses-vars"?: TtscLintRuleSetting;
69
68
  /**
70
- * Reject array values passed as Solid event handlers — Solid
71
- * does not unwrap the array form React supports.
69
+ * Reject array values passed as Solid event handlers — Solid does not unwrap
70
+ * the array form React supports.
72
71
  *
73
72
  * @reference https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-array-handlers.md
74
73
  */
75
74
  "solid/no-array-handlers"?: TtscLintRuleSetting;
76
75
  /**
77
- * Reject destructured Solid component props — destructuring breaks
78
- * reactivity by reading the property eagerly.
76
+ * Reject destructured Solid component props — destructuring breaks reactivity
77
+ * by reading the property eagerly.
79
78
  *
80
79
  * @reference https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-destructure.md
81
80
  */
82
81
  "solid/no-destructure"?: TtscLintRuleSetting;
83
82
  /**
84
- * Reject `innerHTML` JSX attributes because they bypass sanitization
85
- * and are a common XSS sink. A static string literal is still
86
- * allowed by default; flip `allowStatic` off to ban that form too.
83
+ * Reject `innerHTML` JSX attributes because they bypass sanitization and are
84
+ * a common XSS sink. A static string literal is still allowed by default;
85
+ * flip `allowStatic` off to ban that form too.
87
86
  *
88
87
  * @reference https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-innerhtml.md
89
88
  */
90
89
  "solid/no-innerhtml"?: TtscLintRuleSetting;
91
90
  /**
92
91
  * Reject Solid APIs that rely on ES6 `Proxy` (including `new Proxy`,
93
- * `Proxy.revocable`, imports from `solid-js/store`, and dynamic
94
- * spread shapes through `mergeProps`). For shipping to runtimes
95
- * without `Proxy` support; off by default.
92
+ * `Proxy.revocable`, imports from `solid-js/store`, and dynamic spread shapes
93
+ * through `mergeProps`). For shipping to runtimes without `Proxy` support;
94
+ * off by default.
96
95
  *
97
96
  * @reference https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-proxy-apis.md
98
97
  */
@@ -105,24 +104,24 @@ export interface ITtscLintSolidRules {
105
104
  */
106
105
  "solid/no-react-deps"?: TtscLintRuleSetting;
107
106
  /**
108
- * Reject React-specific JSX props such as `className` and
109
- * `htmlFor` — Solid uses `class` and `for`.
107
+ * Reject React-specific JSX props such as `className` and `htmlFor` — Solid
108
+ * uses `class` and `for`.
110
109
  *
111
110
  * @reference https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-react-specific-props.md
112
111
  */
113
112
  "solid/no-react-specific-props"?: TtscLintRuleSetting;
114
113
  /**
115
- * Restrict namespaced JSX attributes (`ns:name={...}`) to the
116
- * built-in Solid namespaces (`on:`, `oncapture:`, `use:`, `prop:`,
117
- * `attr:`, `bool:`, `style:`, `class:`). Extra names can be allowed
118
- * through the `allowedNamespaces` option.
114
+ * Restrict namespaced JSX attributes (`ns:name={...}`) to the built-in Solid
115
+ * namespaces (`on:`, `oncapture:`, `use:`, `prop:`, `attr:`, `bool:`,
116
+ * `style:`, `class:`). Extra names can be allowed through the
117
+ * `allowedNamespaces` option.
119
118
  *
120
119
  * @reference https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-unknown-namespaces.md
121
120
  */
122
121
  "solid/no-unknown-namespaces"?: TtscLintRuleSetting;
123
122
  /**
124
- * Rewrite `class={cn({ ... })}` / `clsx(...)` / `classnames(...)`
125
- * calls to the reactive `classlist={{ ... }}` prop.
123
+ * Rewrite `class={cn({ ... })}` / `clsx(...)` / `classnames(...)` calls to
124
+ * the reactive `classlist={{ ... }}` prop.
126
125
  *
127
126
  * Deprecated and off by default upstream.
128
127
  *
@@ -130,50 +129,48 @@ export interface ITtscLintSolidRules {
130
129
  */
131
130
  "solid/prefer-classlist"?: TtscLintRuleSetting;
132
131
  /**
133
- * Replace inline `array.map(item => <JSX />)` with Solid's `<For>`
134
- * component so the iteration stays keyed and reactive instead of
135
- * re-creating every child on each update.
132
+ * Replace inline `array.map(item => <JSX />)` with Solid's `<For>` component
133
+ * so the iteration stays keyed and reactive instead of re-creating every
134
+ * child on each update.
136
135
  *
137
136
  * @reference https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/prefer-for.md
138
137
  */
139
138
  "solid/prefer-for"?: TtscLintRuleSetting;
140
139
  /**
141
140
  * Rewrite `{cond && <JSX />}` short-circuits in JSX to `<Show
142
- * when={cond}>...</Show>`. Stylistic only — Solid's compiler
143
- * already handles the boolean form — so it is off by default.
141
+ * when={cond}>...</Show>`. Stylistic only — Solid's compiler already handles
142
+ * the boolean form — so it is off by default.
144
143
  *
145
144
  * @reference https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/prefer-show.md
146
145
  */
147
146
  "solid/prefer-show"?: TtscLintRuleSetting;
148
147
  /**
149
- * Reject common Solid reactivity breakages — reading a signal
150
- * outside a tracking scope, destructuring a `Store`, etc.
148
+ * Reject common Solid reactivity breakages — reading a signal outside a
149
+ * tracking scope, destructuring a `Store`, etc.
151
150
  *
152
151
  * @reference https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/reactivity.md
153
152
  */
154
153
  "solid/reactivity"?: TtscLintRuleSetting;
155
154
  /**
156
155
  * Collapse JSX elements with no children to the self-closing form
157
- * (`<Foo></Foo>` to `<Foo />`). Configurable per component vs HTML
158
- * element, including a `"void"` mode that only enforces it for void
159
- * tags.
156
+ * (`<Foo></Foo>` to `<Foo />`). Configurable per component vs HTML element,
157
+ * including a `"void"` mode that only enforces it for void tags.
160
158
  *
161
159
  * @reference https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/self-closing-comp.md
162
160
  */
163
161
  "solid/self-closing-comp"?: TtscLintRuleSetting;
164
162
  /**
165
163
  * Require `style={{...}}` keys to be valid kebab-case CSS properties
166
- * (`"font-size"`, not React's `fontSize`) and dimensioned values to
167
- * be strings — Solid does not append implicit `px`.
164
+ * (`"font-size"`, not React's `fontSize`) and dimensioned values to be
165
+ * strings — Solid does not append implicit `px`.
168
166
  *
169
167
  * @reference https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/style-prop.md
170
168
  */
171
169
  "solid/style-prop"?: TtscLintRuleSetting;
172
170
  /**
173
- * Reject JSX nestings that the HTML parser would silently restructure
174
- * at runtime — `<p>` cannot contain block-level children, `<a>` cannot
175
- * contain another `<a>`, and `<button>` cannot contain other
176
- * interactive elements.
171
+ * Reject JSX nestings that the HTML parser would silently restructure at
172
+ * runtime — `<p>` cannot contain block-level children, `<a>` cannot contain
173
+ * another `<a>`, and `<button>` cannot contain other interactive elements.
177
174
  *
178
175
  * @reference https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/validate-jsx-nesting.md
179
176
  */
@@ -7,15 +7,14 @@
7
7
  /** `storybook/no-uninstalled-addons` rule options. */
8
8
  export interface ITtscLintStorybookNoUninstalledAddonsRuleOptions {
9
9
  /**
10
- * Explicit `package.json` path used to validate configured Storybook
11
- * addons. When omitted, the rule walks upward from the linted config
12
- * file.
10
+ * Explicit `package.json` path used to validate configured Storybook addons.
11
+ * When omitted, the rule walks upward from the linted config file.
13
12
  */
14
13
  packageJsonLocation?: string;
15
14
  /**
16
15
  * Addon package names to skip when checking installation status.
17
16
  *
18
- * @default []
17
+ * @default [ ]
19
18
  */
20
19
  ignore?: readonly string[];
21
20
  }