@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.
- package/README.md +23 -25
- package/lib/defaultFormat.d.ts +10 -6
- package/lib/defaultFormat.js +10 -6
- package/lib/defaultFormat.js.map +1 -1
- package/lib/structures/ITtscLintConfig.d.ts +5 -5
- package/lib/structures/TtscLintRuleSetting.d.ts +19 -19
- package/lib/structures/{ITtscLintFormat.d.ts → format/ITtscLintFormat.d.ts} +45 -70
- package/lib/structures/format/ITtscLintFormat.js.map +1 -0
- package/lib/structures/format/ITtscLintFormatJsDoc.d.ts +15 -0
- package/lib/structures/format/ITtscLintFormatJsDoc.js +3 -0
- package/lib/structures/format/ITtscLintFormatJsDoc.js.map +1 -0
- package/lib/structures/format/ITtscLintFormatSortImports.d.ts +54 -0
- package/lib/structures/format/ITtscLintFormatSortImports.js +3 -0
- package/lib/structures/format/ITtscLintFormatSortImports.js.map +1 -0
- package/lib/structures/format/index.d.ts +3 -0
- package/lib/structures/format/index.js +20 -0
- package/lib/structures/format/index.js.map +1 -0
- package/lib/structures/index.d.ts +1 -1
- package/lib/structures/index.js +1 -1
- package/lib/structures/index.js.map +1 -1
- package/lib/structures/rules/ITtscLintBoundariesRuleOptions.d.ts +18 -27
- package/lib/structures/rules/ITtscLintBoundariesRuleOptions.js +4 -5
- package/lib/structures/rules/ITtscLintBoundariesRuleOptions.js.map +1 -1
- package/lib/structures/rules/ITtscLintBoundariesRules.d.ts +29 -33
- package/lib/structures/rules/ITtscLintContributorRules.d.ts +6 -7
- package/lib/structures/rules/ITtscLintCoreRules.d.ts +380 -408
- package/lib/structures/rules/ITtscLintCypressRuleOptions.d.ts +5 -5
- package/lib/structures/rules/ITtscLintCypressRuleOptions.js +2 -2
- package/lib/structures/rules/ITtscLintCypressRules.d.ts +34 -38
- package/lib/structures/rules/ITtscLintFunctionalRuleOptions.d.ts +21 -24
- package/lib/structures/rules/ITtscLintFunctionalRuleOptions.js +2 -2
- package/lib/structures/rules/ITtscLintFunctionalRules.d.ts +51 -56
- package/lib/structures/rules/ITtscLintJestRules.d.ts +63 -74
- package/lib/structures/rules/ITtscLintJsdocRules.d.ts +47 -54
- package/lib/structures/rules/ITtscLintJsxA11yRules.d.ts +94 -102
- package/lib/structures/rules/ITtscLintNextjsRules.d.ts +50 -55
- package/lib/structures/rules/ITtscLintPlaywrightRules.d.ts +104 -122
- package/lib/structures/rules/ITtscLintPromiseRules.d.ts +62 -71
- package/lib/structures/rules/ITtscLintReactPerfRuleOptions.d.ts +4 -4
- package/lib/structures/rules/ITtscLintReactPerfRules.d.ts +17 -19
- package/lib/structures/rules/ITtscLintReactRuleOptions.d.ts +8 -10
- package/lib/structures/rules/ITtscLintReactRuleOptions.js +1 -2
- package/lib/structures/rules/ITtscLintReactRuleOptions.js.map +1 -1
- package/lib/structures/rules/ITtscLintReactRules.d.ts +91 -104
- package/lib/structures/rules/ITtscLintRegexpRules.d.ts +46 -54
- package/lib/structures/rules/ITtscLintRuleOptionsMap.d.ts +7 -8
- package/lib/structures/rules/ITtscLintSecurityRules.d.ts +45 -52
- package/lib/structures/rules/ITtscLintSolidRules.d.ts +53 -56
- package/lib/structures/rules/ITtscLintStorybookRuleOptions.d.ts +3 -4
- package/lib/structures/rules/ITtscLintStorybookRules.d.ts +60 -69
- package/lib/structures/rules/ITtscLintTanstackQueryRules.d.ts +31 -37
- package/lib/structures/rules/ITtscLintTestingLibraryRuleOptions.d.ts +2 -3
- package/lib/structures/rules/ITtscLintTestingLibraryRules.d.ts +102 -119
- package/lib/structures/rules/ITtscLintTypeScriptRules.d.ts +460 -518
- package/lib/structures/rules/ITtscLintVitestRules.d.ts +43 -51
- package/linthost/config.go +89 -72
- package/linthost/config_format.go +265 -99
- package/linthost/directives.go +5 -1
- package/linthost/display_width.go +72 -0
- package/linthost/fix.go +26 -1
- package/linthost/format.go +222 -25
- package/linthost/format_editor_settings.go +262 -0
- package/linthost/lsp.go +8 -4
- package/linthost/print_dispatch.go +3 -0
- package/linthost/print_doc.go +13 -0
- package/linthost/print_engine.go +68 -11
- package/linthost/print_nodes_array.go +167 -5
- package/linthost/print_nodes_call.go +786 -77
- package/linthost/print_nodes_function.go +43 -0
- package/linthost/print_nodes_imports.go +64 -14
- package/linthost/print_nodes_list.go +214 -8
- package/linthost/print_nodes_object.go +14 -6
- package/linthost/print_nodes_ternary.go +147 -0
- package/linthost/rules_boundaries.go +400 -400
- package/linthost/rules_camelcase.go +81 -81
- package/linthost/rules_complexity.go +52 -51
- package/linthost/rules_consistent_return.go +81 -81
- package/linthost/rules_core_extra.go +472 -472
- package/linthost/rules_curly.go +43 -43
- package/linthost/rules_default_case.go +15 -15
- package/linthost/rules_default_case_last.go +22 -22
- package/linthost/rules_format_arrow_parens.go +213 -0
- package/linthost/rules_format_bracket_spacing.go +117 -0
- package/linthost/rules_format_clause_join.go +179 -0
- package/linthost/rules_format_declaration_header.go +664 -0
- package/linthost/rules_format_indent.go +616 -0
- package/linthost/rules_format_jsdoc.go +4 -4
- package/linthost/rules_format_orphan_semi.go +106 -0
- package/linthost/rules_format_parameter_properties.go +175 -0
- package/linthost/rules_format_print_width.go +180 -69
- package/linthost/rules_format_quote_props.go +169 -0
- package/linthost/rules_format_quotes.go +75 -29
- package/linthost/rules_format_semi.go +185 -10
- package/linthost/rules_format_sort_imports.go +517 -121
- package/linthost/rules_format_statement_split.go +368 -0
- package/linthost/rules_format_ternary_nullish_parens.go +77 -0
- package/linthost/rules_format_trailing_comma.go +21 -2
- package/linthost/rules_format_whitespace.go +336 -0
- package/linthost/rules_functional.go +688 -688
- package/linthost/rules_gap.go +146 -11
- package/linthost/rules_grouped_accessor_pairs.go +60 -60
- package/linthost/rules_guard_for_in.go +122 -122
- package/linthost/rules_id_length.go +44 -44
- package/linthost/rules_imports.go +11 -3
- package/linthost/rules_init_declarations.go +25 -25
- package/linthost/rules_jsx_a11y.go +844 -844
- package/linthost/rules_max_classes_per_file.go +24 -24
- package/linthost/rules_max_depth.go +43 -43
- package/linthost/rules_max_lines.go +53 -53
- package/linthost/rules_max_lines_per_function.go +28 -28
- package/linthost/rules_max_nested_callbacks.go +26 -26
- package/linthost/rules_max_params.go +20 -20
- package/linthost/rules_max_statements.go +29 -29
- package/linthost/rules_nextjs.go +5 -5
- package/linthost/rules_no_else_return.go +38 -38
- package/linthost/rules_no_empty_named_blocks.go +45 -45
- package/linthost/rules_no_import_assign.go +96 -96
- package/linthost/rules_no_invalid_this.go +19 -19
- package/linthost/rules_no_loop_func.go +43 -43
- package/linthost/rules_no_magic_numbers.go +60 -60
- package/linthost/rules_no_mixed_operators.go +44 -44
- package/linthost/rules_no_param_reassign.go +64 -64
- package/linthost/rules_no_restricted_imports.go +45 -45
- package/linthost/rules_no_restricted_syntax.go +17 -17
- package/linthost/rules_no_shadow.go +112 -112
- package/linthost/rules_no_unreachable.go +36 -36
- package/linthost/rules_no_useless_assignment.go +79 -79
- package/linthost/rules_no_useless_constructor.go +167 -167
- package/linthost/rules_no_useless_return.go +28 -28
- package/linthost/rules_prefer_arrow_callback.go +74 -74
- package/linthost/rules_prefer_destructuring.go +61 -61
- package/linthost/rules_prefer_named_capture_group.go +87 -87
- package/linthost/rules_prefer_rest_params.go +61 -61
- package/linthost/rules_promise.go +800 -800
- package/linthost/rules_react.go +600 -600
- package/linthost/rules_react_extras.go +162 -162
- package/linthost/rules_react_hooks.go +2 -2
- package/linthost/rules_react_perf.go +231 -231
- package/linthost/rules_regexp.go +293 -293
- package/linthost/rules_security.go +613 -613
- package/linthost/rules_sort_imports.go +37 -37
- package/linthost/rules_sort_keys.go +88 -88
- package/linthost/rules_suggestions.go +13 -0
- package/linthost/rules_ts.go +2 -2
- package/linthost/rules_ts_async.go +247 -247
- package/linthost/rules_ts_class_literal_property_style.go +64 -64
- package/linthost/rules_ts_consistent_type_exports.go +209 -209
- package/linthost/rules_ts_explicit_function_return_type.go +35 -35
- package/linthost/rules_ts_extra.go +6 -2
- package/linthost/rules_ts_no_base_to_string.go +140 -140
- package/linthost/rules_ts_no_confusing_void.go +28 -28
- package/linthost/rules_ts_no_deprecated.go +110 -110
- package/linthost/rules_ts_no_for_in_array.go +45 -45
- package/linthost/rules_ts_no_magic_numbers.go +67 -67
- package/linthost/rules_ts_no_meaningless_void_operator.go +44 -44
- package/linthost/rules_ts_no_misused_spread.go +64 -64
- package/linthost/rules_ts_no_redundant_type_constituents.go +72 -72
- package/linthost/rules_ts_no_restricted_types.go +28 -28
- package/linthost/rules_ts_no_unnecessary_boolean_literal_compare.go +87 -87
- package/linthost/rules_ts_no_unnecessary_condition.go +184 -184
- package/linthost/rules_ts_no_unnecessary_qualifier.go +72 -72
- package/linthost/rules_ts_no_unnecessary_template_expression.go +120 -120
- package/linthost/rules_ts_no_unnecessary_type_arguments.go +171 -171
- package/linthost/rules_ts_no_unnecessary_type_assertion.go +90 -90
- package/linthost/rules_ts_no_unsafe_argument.go +50 -50
- package/linthost/rules_ts_no_unsafe_assignment.go +60 -60
- package/linthost/rules_ts_no_unsafe_call.go +40 -40
- package/linthost/rules_ts_no_unsafe_enum_comparison.go +147 -147
- package/linthost/rules_ts_no_unsafe_member_access.go +29 -29
- package/linthost/rules_ts_no_unsafe_return.go +64 -64
- package/linthost/rules_ts_no_unsafe_unary_minus.go +42 -42
- package/linthost/rules_ts_no_useless_constructor.go +20 -20
- package/linthost/rules_ts_non_nullable_type_assertion_style.go +60 -60
- package/linthost/rules_ts_parameter_properties.go +10 -10
- package/linthost/rules_ts_prefer_find.go +116 -116
- package/linthost/rules_ts_prefer_includes.go +173 -173
- package/linthost/rules_ts_prefer_nullish_coalescing.go +54 -54
- package/linthost/rules_ts_prefer_optional_chain.go +156 -156
- package/linthost/rules_ts_prefer_promise_reject_errors.go +104 -104
- package/linthost/rules_ts_prefer_readonly.go +31 -31
- package/linthost/rules_ts_prefer_reduce_type_parameter.go +74 -74
- package/linthost/rules_ts_prefer_regexp_exec.go +69 -69
- package/linthost/rules_ts_prefer_return_this_type.go +79 -79
- package/linthost/rules_ts_prefer_string_starts_ends_with.go +237 -237
- package/linthost/rules_ts_promise_function_async.go +41 -41
- package/linthost/rules_ts_related_getter_setter_pairs.go +61 -61
- package/linthost/rules_ts_require_array_sort_compare.go +58 -58
- package/linthost/rules_ts_restrict_plus_operands.go +82 -82
- package/linthost/rules_ts_restrict_template_expressions.go +50 -50
- package/linthost/rules_ts_simple.go +249 -249
- package/linthost/rules_ts_sort_type_constituents.go +88 -88
- package/linthost/rules_ts_strict_boolean_expressions.go +103 -103
- package/linthost/rules_ts_switch_exhaustiveness_check.go +90 -90
- package/linthost/rules_ts_unbound_method.go +65 -65
- package/linthost/rules_tsdoc.go +88 -88
- package/linthost/rules_unicorn_better_regex.go +1 -1
- package/linthost/rules_unicorn_catch_error_name.go +19 -19
- package/linthost/rules_unicorn_consistent_assert.go +20 -20
- package/linthost/rules_unicorn_consistent_date_clone.go +27 -27
- package/linthost/rules_unicorn_consistent_destructuring.go +3 -3
- package/linthost/rules_unicorn_consistent_empty_array_spread.go +34 -34
- package/linthost/rules_unicorn_consistent_existence_index_check.go +42 -42
- package/linthost/rules_unicorn_consistent_function_scoping.go +3 -3
- package/linthost/rules_unicorn_consistent_template_literal_escape.go +3 -3
- package/linthost/rules_unicorn_custom_error_definition.go +92 -92
- package/linthost/rules_unicorn_empty_brace_spaces.go +47 -47
- package/linthost/rules_unicorn_error_message.go +34 -34
- package/linthost/rules_unicorn_escape_case.go +14 -14
- package/linthost/rules_unicorn_expiring_todo_comments.go +36 -36
- package/linthost/rules_unicorn_explicit_length_check.go +51 -51
- package/linthost/rules_unicorn_filename_case.go +1 -1
- package/linthost/rules_unicorn_import_style.go +1 -1
- package/linthost/rules_unicorn_isolated_functions.go +2 -2
- package/linthost/rules_unicorn_new_for_builtins.go +49 -49
- package/linthost/rules_unicorn_no_abusive_eslint_disable.go +31 -31
- package/linthost/rules_unicorn_no_accessor_recursion.go +69 -69
- package/linthost/rules_unicorn_no_anonymous_default_export.go +40 -40
- package/linthost/rules_unicorn_no_array_callback_reference.go +33 -33
- package/linthost/rules_unicorn_no_array_for_each.go +14 -14
- package/linthost/rules_unicorn_no_array_method_this_argument.go +29 -29
- package/linthost/rules_unicorn_no_array_reduce.go +15 -15
- package/linthost/rules_unicorn_no_array_reverse.go +17 -17
- package/linthost/rules_unicorn_no_array_sort.go +17 -17
- package/linthost/rules_unicorn_no_await_expression_member.go +12 -12
- package/linthost/rules_unicorn_no_await_in_promise_methods.go +38 -38
- package/linthost/rules_unicorn_no_console_spaces.go +30 -30
- package/linthost/rules_unicorn_no_document_cookie.go +13 -13
- package/linthost/rules_unicorn_no_empty_file.go +16 -16
- package/linthost/rules_unicorn_no_for_loop.go +58 -58
- package/linthost/rules_unicorn_no_hex_escape.go +11 -11
- package/linthost/rules_unicorn_no_immediate_mutation.go +55 -55
- package/linthost/rules_unicorn_no_instanceof_builtins.go +34 -34
- package/linthost/rules_unicorn_no_invalid_fetch_options.go +52 -52
- package/linthost/rules_unicorn_no_invalid_remove_event_listener.go +25 -25
- package/linthost/rules_unicorn_no_keyword_prefix.go +56 -56
- package/linthost/rules_unicorn_no_lonely_if.go +21 -21
- package/linthost/rules_unicorn_no_magic_array_flat_depth.go +22 -22
- package/linthost/rules_unicorn_no_named_default.go +25 -25
- package/linthost/rules_unicorn_no_negated_condition.go +54 -54
- package/linthost/rules_unicorn_no_negation_in_equality_check.go +23 -23
- package/linthost/rules_unicorn_no_nested_ternary.go +15 -15
- package/linthost/rules_unicorn_no_new_array.go +5 -5
- package/linthost/rules_unicorn_no_new_buffer.go +5 -5
- package/linthost/rules_unicorn_no_null.go +2 -2
- package/linthost/rules_unicorn_no_object_as_default_parameter.go +19 -19
- package/linthost/rules_unicorn_no_process_exit.go +17 -17
- package/linthost/rules_unicorn_no_single_promise_in_promise_methods.go +29 -29
- package/linthost/rules_unicorn_no_static_only_class.go +27 -27
- package/linthost/rules_unicorn_no_thenable.go +47 -47
- package/linthost/rules_unicorn_no_this_assignment.go +10 -10
- package/linthost/rules_unicorn_no_typeof_undefined.go +31 -31
- package/linthost/rules_unicorn_no_unnecessary_array_flat_depth.go +23 -23
- package/linthost/rules_unicorn_no_unnecessary_array_splice_count.go +37 -37
- package/linthost/rules_unicorn_no_unnecessary_await.go +24 -24
- package/linthost/rules_unicorn_no_unnecessary_slice_end.go +22 -22
- package/linthost/rules_unicorn_no_unreadable_array_destructuring.go +67 -67
- package/linthost/rules_unicorn_no_unreadable_iife.go +22 -22
- package/linthost/rules_unicorn_no_useless_collection_argument.go +34 -34
- package/linthost/rules_unicorn_no_useless_error_capture_stack_trace.go +18 -18
- package/linthost/rules_unicorn_no_useless_fallback_in_spread.go +49 -49
- package/linthost/rules_unicorn_no_useless_iterator_to_array.go +41 -41
- package/linthost/rules_unicorn_no_useless_length_check.go +82 -82
- package/linthost/rules_unicorn_no_useless_promise_resolve_reject.go +42 -42
- package/linthost/rules_unicorn_no_useless_spread.go +38 -38
- package/linthost/rules_unicorn_no_useless_switch_case.go +29 -29
- package/linthost/rules_unicorn_no_useless_undefined.go +25 -25
- package/linthost/rules_unicorn_no_zero_fractions.go +17 -17
- package/linthost/rules_unicorn_number_literal_case.go +33 -33
- package/linthost/rules_unicorn_numeric_separators_style.go +36 -36
- package/linthost/rules_unicorn_prefer_add_event_listener.go +30 -30
- package/linthost/rules_unicorn_prefer_array_find.go +27 -27
- package/linthost/rules_unicorn_prefer_array_flat.go +25 -25
- package/linthost/rules_unicorn_prefer_array_flat_map.go +37 -37
- package/linthost/rules_unicorn_prefer_array_index_of.go +108 -108
- package/linthost/rules_unicorn_prefer_array_some.go +43 -43
- package/linthost/rules_unicorn_prefer_at.go +42 -42
- package/linthost/rules_unicorn_prefer_bigint_literals.go +42 -42
- package/linthost/rules_unicorn_prefer_blob_reading_methods.go +15 -15
- package/linthost/rules_unicorn_prefer_class_fields.go +57 -57
- package/linthost/rules_unicorn_prefer_classlist_toggle.go +76 -76
- package/linthost/rules_unicorn_prefer_code_point.go +21 -21
- package/linthost/rules_unicorn_prefer_date_now.go +47 -47
- package/linthost/rules_unicorn_prefer_default_parameters.go +96 -96
- package/linthost/rules_unicorn_prefer_dom_node_append.go +14 -14
- package/linthost/rules_unicorn_prefer_dom_node_dataset.go +27 -27
- package/linthost/rules_unicorn_prefer_dom_node_remove.go +17 -17
- package/linthost/rules_unicorn_prefer_dom_node_text_content.go +11 -11
- package/linthost/rules_unicorn_prefer_event_target.go +10 -10
- package/linthost/rules_unicorn_prefer_export_from.go +99 -99
- package/linthost/rules_unicorn_prefer_global_this.go +91 -91
- package/linthost/rules_unicorn_prefer_import_meta_properties.go +38 -38
- package/linthost/rules_unicorn_prefer_includes.go +108 -108
- package/linthost/rules_unicorn_prefer_json_parse_buffer.go +37 -37
- package/linthost/rules_unicorn_prefer_keyboard_event_key.go +10 -10
- package/linthost/rules_unicorn_prefer_logical_operator_over_ternary.go +20 -20
- package/linthost/rules_unicorn_prefer_math_min_max.go +33 -33
- package/linthost/rules_unicorn_prefer_math_trunc.go +32 -32
- package/linthost/rules_unicorn_prefer_modern_dom_apis.go +18 -18
- package/linthost/rules_unicorn_prefer_modern_math_apis.go +38 -38
- package/linthost/rules_unicorn_prefer_module.go +22 -22
- package/linthost/rules_unicorn_prefer_native_coercion_functions.go +73 -73
- package/linthost/rules_unicorn_prefer_negative_index.go +46 -46
- package/linthost/rules_unicorn_prefer_node_protocol.go +90 -90
- package/linthost/rules_unicorn_prefer_number_properties.go +57 -57
- package/linthost/rules_unicorn_prefer_object_from_entries.go +26 -26
- package/linthost/rules_unicorn_prefer_optional_catch_binding.go +24 -24
- package/linthost/rules_unicorn_prefer_prototype_methods.go +25 -25
- package/linthost/rules_unicorn_prefer_query_selector.go +25 -25
- package/linthost/rules_unicorn_prefer_reflect_apply.go +10 -10
- package/linthost/rules_unicorn_prefer_regexp_test_rule.go +47 -47
- package/linthost/rules_unicorn_prefer_response_static_json.go +26 -26
- package/linthost/rules_unicorn_prefer_set_has.go +16 -16
- package/linthost/rules_unicorn_prefer_set_size.go +22 -22
- package/linthost/rules_unicorn_prefer_simple_condition_first.go +3 -3
- package/linthost/rules_unicorn_prefer_single_call.go +59 -59
- package/linthost/rules_unicorn_prefer_spread.go +24 -24
- package/linthost/rules_unicorn_prefer_string_raw.go +12 -12
- package/linthost/rules_unicorn_prefer_string_replace_all.go +46 -46
- package/linthost/rules_unicorn_prefer_string_slice.go +17 -17
- package/linthost/rules_unicorn_prefer_string_starts_ends_with.go +104 -104
- package/linthost/rules_unicorn_prefer_string_trim_start_end.go +21 -21
- package/linthost/rules_unicorn_prefer_structured_clone.go +36 -36
- package/linthost/rules_unicorn_prefer_switch.go +65 -65
- package/linthost/rules_unicorn_prefer_ternary.go +35 -35
- package/linthost/rules_unicorn_prefer_top_level_await.go +34 -34
- package/linthost/rules_unicorn_prefer_type_error.go +84 -84
- package/linthost/rules_unicorn_prevent_abbreviations.go +68 -68
- package/linthost/rules_unicorn_relative_url_style.go +19 -19
- package/linthost/rules_unicorn_require_array_join_separator.go +18 -18
- package/linthost/rules_unicorn_require_module_attributes.go +25 -25
- package/linthost/rules_unicorn_require_module_specifiers.go +28 -28
- package/linthost/rules_unicorn_require_number_to_fixed_digits_argument.go +18 -18
- package/linthost/rules_unicorn_require_post_message_target_origin.go +18 -18
- package/linthost/rules_unicorn_string_content.go +1 -1
- package/linthost/rules_unicorn_switch_case_braces.go +16 -16
- package/linthost/rules_unicorn_switch_case_break_position.go +3 -3
- package/linthost/rules_unicorn_template_indent.go +1 -1
- package/linthost/rules_unicorn_text_encoding_identifier_case.go +36 -36
- package/linthost/rules_unicorn_throw_new_error.go +30 -30
- package/linthost/rules_var.go +273 -3
- package/package.json +3 -3
- package/src/defaultFormat.ts +11 -7
- package/src/structures/ITtscLintConfig.ts +5 -5
- package/src/structures/TtscLintRuleSetting.ts +19 -19
- package/src/structures/{ITtscLintFormat.ts → format/ITtscLintFormat.ts} +48 -75
- package/src/structures/format/ITtscLintFormatJsDoc.ts +16 -0
- package/src/structures/format/ITtscLintFormatSortImports.ts +62 -0
- package/src/structures/format/index.ts +3 -0
- package/src/structures/index.ts +1 -1
- package/src/structures/rules/ITtscLintBoundariesRuleOptions.ts +20 -31
- package/src/structures/rules/ITtscLintBoundariesRules.ts +32 -36
- package/src/structures/rules/ITtscLintContributorRules.ts +6 -7
- package/src/structures/rules/ITtscLintCoreRules.ts +380 -408
- package/src/structures/rules/ITtscLintCypressRuleOptions.ts +5 -5
- package/src/structures/rules/ITtscLintCypressRules.ts +34 -38
- package/src/structures/rules/ITtscLintFunctionalRuleOptions.ts +28 -41
- package/src/structures/rules/ITtscLintFunctionalRules.ts +51 -56
- package/src/structures/rules/ITtscLintJestRules.ts +63 -74
- package/src/structures/rules/ITtscLintJsdocRules.ts +47 -54
- package/src/structures/rules/ITtscLintJsxA11yRules.ts +94 -102
- package/src/structures/rules/ITtscLintNextjsRules.ts +50 -55
- package/src/structures/rules/ITtscLintPlaywrightRules.ts +104 -122
- package/src/structures/rules/ITtscLintPromiseRules.ts +62 -71
- package/src/structures/rules/ITtscLintReactPerfRuleOptions.ts +4 -4
- package/src/structures/rules/ITtscLintReactPerfRules.ts +17 -19
- package/src/structures/rules/ITtscLintReactRuleOptions.ts +8 -10
- package/src/structures/rules/ITtscLintReactRules.ts +91 -104
- package/src/structures/rules/ITtscLintRegexpRules.ts +46 -54
- package/src/structures/rules/ITtscLintRuleOptionsMap.ts +7 -8
- package/src/structures/rules/ITtscLintSecurityRules.ts +45 -52
- package/src/structures/rules/ITtscLintSolidRules.ts +53 -56
- package/src/structures/rules/ITtscLintStorybookRuleOptions.ts +3 -4
- package/src/structures/rules/ITtscLintStorybookRules.ts +60 -69
- package/src/structures/rules/ITtscLintTanstackQueryRules.ts +31 -37
- package/src/structures/rules/ITtscLintTestingLibraryRuleOptions.ts +2 -3
- package/src/structures/rules/ITtscLintTestingLibraryRules.ts +102 -119
- package/src/structures/rules/ITtscLintTypeScriptRules.ts +460 -518
- package/src/structures/rules/ITtscLintVitestRules.ts +43 -51
- package/lib/structures/ITtscLintFormat.js.map +0 -1
- /package/lib/structures/{ITtscLintFormat.js → format/ITtscLintFormat.js} +0 -0
|
@@ -1,39 +1,38 @@
|
|
|
1
|
-
import type { ITtscLintStorybookNoUninstalledAddonsRuleOptions } from "./ITtscLintStorybookRuleOptions";
|
|
2
1
|
import type {
|
|
3
2
|
TtscLintRuleOptionsSetting,
|
|
4
3
|
TtscLintRuleSetting,
|
|
5
4
|
} from "../TtscLintRuleSetting";
|
|
5
|
+
import type { ITtscLintStorybookNoUninstalledAddonsRuleOptions } from "./ITtscLintStorybookRuleOptions";
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* Storybook CSF and configuration rules from
|
|
9
|
-
* `eslint-plugin-storybook`.
|
|
8
|
+
* Storybook CSF and configuration rules from `eslint-plugin-storybook`.
|
|
10
9
|
*
|
|
11
|
-
* Checks Component Story Format conventions (default export meta,
|
|
12
|
-
*
|
|
13
|
-
*
|
|
10
|
+
* Checks Component Story Format conventions (default export meta, named story
|
|
11
|
+
* exports, play-function shape) and configuration pitfalls in
|
|
12
|
+
* `.storybook/main.ts`.
|
|
14
13
|
*
|
|
15
14
|
* @reference https://github.com/storybookjs/eslint-plugin-storybook
|
|
16
15
|
*/
|
|
17
16
|
export interface ITtscLintStorybookRules {
|
|
18
17
|
/**
|
|
19
|
-
* Require `await` on Storybook interaction helpers (`userEvent`,
|
|
20
|
-
* `
|
|
18
|
+
* Require `await` on Storybook interaction helpers (`userEvent`, `expect`,
|
|
19
|
+
* `waitFor`, ...) inside a `play` function.
|
|
21
20
|
*
|
|
22
|
-
* The interactions addon intercepts the awaited promises to record
|
|
23
|
-
*
|
|
24
|
-
*
|
|
21
|
+
* The interactions addon intercepts the awaited promises to record steps, so
|
|
22
|
+
* a missing `await` skips that frame in the debugger and races the next
|
|
23
|
+
* assertion.
|
|
25
24
|
*
|
|
26
25
|
* @reference https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/await-interactions.md
|
|
27
26
|
*/
|
|
28
27
|
"storybook/await-interactions"?: TtscLintRuleSetting;
|
|
29
28
|
|
|
30
29
|
/**
|
|
31
|
-
* Require forwarding the play-function `context` argument when
|
|
32
|
-
*
|
|
30
|
+
* Require forwarding the play-function `context` argument when invoking
|
|
31
|
+
* another story's `play` function.
|
|
33
32
|
*
|
|
34
|
-
* Storybook hangs the canvas, step tracker, and interactions addon
|
|
35
|
-
*
|
|
36
|
-
*
|
|
33
|
+
* Storybook hangs the canvas, step tracker, and interactions addon off
|
|
34
|
+
* `context`; omitting it leaves the nested call without the runtime hooks it
|
|
35
|
+
* needs to drive the canvas.
|
|
37
36
|
*
|
|
38
37
|
* @reference https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/context-in-play-function.md
|
|
39
38
|
*/
|
|
@@ -42,9 +41,8 @@ export interface ITtscLintStorybookRules {
|
|
|
42
41
|
/**
|
|
43
42
|
* Require the CSF default meta object to declare a `component`.
|
|
44
43
|
*
|
|
45
|
-
* The reference unlocks Storybook's auto-generated controls,
|
|
46
|
-
*
|
|
47
|
-
* features silently no-op.
|
|
44
|
+
* The reference unlocks Storybook's auto-generated controls, prop-table docs,
|
|
45
|
+
* and CSF3 default render — without it those features silently no-op.
|
|
48
46
|
*
|
|
49
47
|
* @reference https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/csf-component.md
|
|
50
48
|
*/
|
|
@@ -53,64 +51,61 @@ export interface ITtscLintStorybookRules {
|
|
|
53
51
|
/**
|
|
54
52
|
* Require every story file to provide the CSF default export.
|
|
55
53
|
*
|
|
56
|
-
* Storybook keys all per-file configuration (title, decorators,
|
|
57
|
-
*
|
|
58
|
-
*
|
|
54
|
+
* Storybook keys all per-file configuration (title, decorators, parameters,
|
|
55
|
+
* component) off that default; files without it are skipped at indexing
|
|
56
|
+
* time.
|
|
59
57
|
*
|
|
60
58
|
* @reference https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/default-exports.md
|
|
61
59
|
*/
|
|
62
60
|
"storybook/default-exports"?: TtscLintRuleSetting;
|
|
63
61
|
|
|
64
62
|
/**
|
|
65
|
-
* Reject the legacy `|` separator in Storybook story titles
|
|
66
|
-
* (`"Foo|Bar"`).
|
|
63
|
+
* Reject the legacy `|` separator in Storybook story titles (`"Foo|Bar"`).
|
|
67
64
|
*
|
|
68
|
-
* Storybook 6 standardized on `/` for hierarchy and treats `|` as
|
|
69
|
-
*
|
|
70
|
-
*
|
|
65
|
+
* Storybook 6 standardized on `/` for hierarchy and treats `|` as a literal
|
|
66
|
+
* character, so the title collapses into a single sidebar entry instead of
|
|
67
|
+
* nested folders.
|
|
71
68
|
*
|
|
72
69
|
* @reference https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/hierarchy-separator.md
|
|
73
70
|
*/
|
|
74
71
|
"storybook/hierarchy-separator"?: TtscLintRuleSetting;
|
|
75
72
|
|
|
76
73
|
/**
|
|
77
|
-
* Require `title` and `args` in CSF meta to be inline literals,
|
|
78
|
-
*
|
|
74
|
+
* Require `title` and `args` in CSF meta to be inline literals, not
|
|
75
|
+
* references to outside variables or function calls.
|
|
79
76
|
*
|
|
80
|
-
* Storybook's indexer and upgrade codemods read these via static
|
|
81
|
-
*
|
|
77
|
+
* Storybook's indexer and upgrade codemods read these via static analysis and
|
|
78
|
+
* skip stories where the value is not literal.
|
|
82
79
|
*
|
|
83
80
|
* @reference https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/meta-inline-properties.md
|
|
84
81
|
*/
|
|
85
82
|
"storybook/meta-inline-properties"?: TtscLintRuleSetting;
|
|
86
83
|
|
|
87
84
|
/**
|
|
88
|
-
* Require CSF meta objects to type-check with `satisfies Meta<…>`
|
|
89
|
-
*
|
|
85
|
+
* Require CSF meta objects to type-check with `satisfies Meta<…>` rather than
|
|
86
|
+
* a `: Meta<…>` annotation or `as` cast.
|
|
90
87
|
*
|
|
91
|
-
* `satisfies` preserves the narrowed literal types so dependent
|
|
92
|
-
*
|
|
93
|
-
* precisely.
|
|
88
|
+
* `satisfies` preserves the narrowed literal types so dependent `StoryObj`
|
|
89
|
+
* declarations can infer the component's args precisely.
|
|
94
90
|
*
|
|
95
91
|
* @reference https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/meta-satisfies-type.md
|
|
96
92
|
*/
|
|
97
93
|
"storybook/meta-satisfies-type"?: TtscLintRuleSetting;
|
|
98
94
|
|
|
99
95
|
/**
|
|
100
|
-
* Reject `name` metadata on a story when it matches Storybook's
|
|
101
|
-
*
|
|
96
|
+
* Reject `name` metadata on a story when it matches Storybook's auto-derived
|
|
97
|
+
* name from the export identifier.
|
|
102
98
|
*
|
|
103
|
-
* The explicit value adds boilerplate and drifts from the export
|
|
104
|
-
*
|
|
99
|
+
* The explicit value adds boilerplate and drifts from the export when one
|
|
100
|
+
* side is renamed without the other.
|
|
105
101
|
*
|
|
106
102
|
* @reference https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/no-redundant-story-name.md
|
|
107
103
|
*/
|
|
108
104
|
"storybook/no-redundant-story-name"?: TtscLintRuleSetting;
|
|
109
105
|
|
|
110
106
|
/**
|
|
111
|
-
* Reject direct imports from Storybook renderer packages
|
|
112
|
-
*
|
|
113
|
-
* surface.
|
|
107
|
+
* Reject direct imports from Storybook renderer packages (`@storybook/react`,
|
|
108
|
+
* etc.); use the user-facing package surface.
|
|
114
109
|
*
|
|
115
110
|
* @reference https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/no-renderer-packages.md
|
|
116
111
|
*/
|
|
@@ -119,29 +114,27 @@ export interface ITtscLintStorybookRules {
|
|
|
119
114
|
/**
|
|
120
115
|
* Reject the legacy `storiesOf(...)` builder API.
|
|
121
116
|
*
|
|
122
|
-
* Storybook 7 removed it in favour of CSF default-export metadata;
|
|
123
|
-
*
|
|
124
|
-
* indexer.
|
|
117
|
+
* Storybook 7 removed it in favour of CSF default-export metadata; remaining
|
|
118
|
+
* uses block the migration to CSF3 and the modern indexer.
|
|
125
119
|
*
|
|
126
120
|
* @reference https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/no-stories-of.md
|
|
127
121
|
*/
|
|
128
122
|
"storybook/no-stories-of"?: TtscLintRuleSetting;
|
|
129
123
|
|
|
130
124
|
/**
|
|
131
|
-
* Reject the `title` property in CSF meta when the project uses
|
|
132
|
-
*
|
|
125
|
+
* Reject the `title` property in CSF meta when the project uses Storybook's
|
|
126
|
+
* auto-title generation.
|
|
133
127
|
*
|
|
134
|
-
* CSF3 derives the title from the file path, so an explicit
|
|
135
|
-
*
|
|
136
|
-
* files are moved.
|
|
128
|
+
* CSF3 derives the title from the file path, so an explicit `title` is
|
|
129
|
+
* redundant and drifts from the on-disk layout when files are moved.
|
|
137
130
|
*
|
|
138
131
|
* @reference https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/no-title-property-in-meta.md
|
|
139
132
|
*/
|
|
140
133
|
"storybook/no-title-property-in-meta"?: TtscLintRuleSetting;
|
|
141
134
|
|
|
142
135
|
/**
|
|
143
|
-
* Validate Storybook addon names against the project's
|
|
144
|
-
*
|
|
136
|
+
* Validate Storybook addon names against the project's dependencies, so
|
|
137
|
+
* misspelled addon ids surface at lint time.
|
|
145
138
|
*
|
|
146
139
|
* @reference https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/no-uninstalled-addons.md
|
|
147
140
|
*/
|
|
@@ -150,42 +143,40 @@ export interface ITtscLintStorybookRules {
|
|
|
150
143
|
/**
|
|
151
144
|
* Require named story exports to use PascalCase.
|
|
152
145
|
*
|
|
153
|
-
* Storybook derives the displayed story name from the export
|
|
154
|
-
*
|
|
155
|
-
*
|
|
156
|
-
* the sidebar.
|
|
146
|
+
* Storybook derives the displayed story name from the export identifier and
|
|
147
|
+
* inserts spaces at case boundaries, so non-PascalCase exports render with
|
|
148
|
+
* awkward or merged labels in the sidebar.
|
|
157
149
|
*
|
|
158
150
|
* @reference https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/prefer-pascal-case.md
|
|
159
151
|
*/
|
|
160
152
|
"storybook/prefer-pascal-case"?: TtscLintRuleSetting;
|
|
161
153
|
|
|
162
154
|
/**
|
|
163
|
-
* Require every story file to export at least one named story
|
|
164
|
-
*
|
|
155
|
+
* Require every story file to export at least one named story alongside the
|
|
156
|
+
* default meta.
|
|
165
157
|
*
|
|
166
|
-
* A file with only the default export contributes nothing to the
|
|
167
|
-
*
|
|
168
|
-
* not.
|
|
158
|
+
* A file with only the default export contributes nothing to the sidebar and
|
|
159
|
+
* usually means a story was deleted but the file was not.
|
|
169
160
|
*
|
|
170
161
|
* @reference https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/story-exports.md
|
|
171
162
|
*/
|
|
172
163
|
"storybook/story-exports"?: TtscLintRuleSetting;
|
|
173
164
|
|
|
174
165
|
/**
|
|
175
|
-
* Require `expect` to be imported from `@storybook/test` in play
|
|
176
|
-
*
|
|
166
|
+
* Require `expect` to be imported from `@storybook/test` in play functions,
|
|
167
|
+
* not from Jest.
|
|
177
168
|
*
|
|
178
|
-
* The Storybook re-export is built for the browser interactions
|
|
179
|
-
*
|
|
180
|
-
*
|
|
169
|
+
* The Storybook re-export is built for the browser interactions runner;
|
|
170
|
+
* Jest's `expect` ships only Node-only matchers and throws when the play
|
|
171
|
+
* function executes in a browser preview.
|
|
181
172
|
*
|
|
182
173
|
* @reference https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/use-storybook-expect.md
|
|
183
174
|
*/
|
|
184
175
|
"storybook/use-storybook-expect"?: TtscLintRuleSetting;
|
|
185
176
|
|
|
186
177
|
/**
|
|
187
|
-
* Reject direct Testing Library imports inside story files;
|
|
188
|
-
*
|
|
178
|
+
* Reject direct Testing Library imports inside story files; use the
|
|
179
|
+
* Storybook-bundled re-exports.
|
|
189
180
|
*
|
|
190
181
|
* @reference https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/use-storybook-testing-library.md
|
|
191
182
|
*/
|
|
@@ -3,42 +3,38 @@ import type { TtscLintRuleSetting } from "../TtscLintRuleSetting";
|
|
|
3
3
|
/**
|
|
4
4
|
* TanStack Query rules from `@tanstack/eslint-plugin-query`.
|
|
5
5
|
*
|
|
6
|
-
* Guards the ergonomic and correctness contracts of TanStack Query
|
|
7
|
-
*
|
|
8
|
-
* TypeScript sources.
|
|
6
|
+
* Guards the ergonomic and correctness contracts of TanStack Query (`useQuery`,
|
|
7
|
+
* `useMutation`, query-options factories) inside React TypeScript sources.
|
|
9
8
|
*
|
|
10
9
|
* @reference https://github.com/TanStack/query/tree/main/packages/eslint-plugin-query
|
|
11
10
|
*/
|
|
12
11
|
export interface ITtscLintTanstackQueryRules {
|
|
13
12
|
/**
|
|
14
|
-
* Require TanStack Query `queryKey` arrays to include every
|
|
15
|
-
*
|
|
16
|
-
* dependency tracking.
|
|
13
|
+
* Require TanStack Query `queryKey` arrays to include every variable read by
|
|
14
|
+
* the `queryFn` body, mirroring React Hooks dependency tracking.
|
|
17
15
|
*
|
|
18
16
|
* @reference https://tanstack.com/query/latest/docs/eslint/exhaustive-deps
|
|
19
17
|
*/
|
|
20
18
|
"tanstack-query/exhaustive-deps"?: TtscLintRuleSetting;
|
|
21
19
|
|
|
22
20
|
/**
|
|
23
|
-
* Require `queryFn`, `getPreviousPageParam`, and `getNextPageParam`
|
|
24
|
-
*
|
|
25
|
-
* documents.
|
|
21
|
+
* Require `queryFn`, `getPreviousPageParam`, and `getNextPageParam` inside
|
|
22
|
+
* `useInfiniteQuery` to appear in the order TanStack Query documents.
|
|
26
23
|
*
|
|
27
|
-
* Type inference flows through these callbacks in sequence, so a
|
|
28
|
-
*
|
|
29
|
-
* `unknown`.
|
|
24
|
+
* Type inference flows through these callbacks in sequence, so a reordered
|
|
25
|
+
* options object widens the page-param type to `unknown`.
|
|
30
26
|
*
|
|
31
27
|
* @reference https://tanstack.com/query/latest/docs/eslint/infinite-query-property-order
|
|
32
28
|
*/
|
|
33
29
|
"tanstack-query/infinite-query-property-order"?: TtscLintRuleSetting;
|
|
34
30
|
|
|
35
31
|
/**
|
|
36
|
-
* Require `useMutation` callbacks to declare `onMutate` before
|
|
37
|
-
* `
|
|
32
|
+
* Require `useMutation` callbacks to declare `onMutate` before `onError` and
|
|
33
|
+
* `onSettled`.
|
|
38
34
|
*
|
|
39
|
-
* The options object's type inference threads the `onMutate`
|
|
40
|
-
*
|
|
41
|
-
*
|
|
35
|
+
* The options object's type inference threads the `onMutate` return value
|
|
36
|
+
* into the later callbacks' `context` parameter, which collapses to `unknown`
|
|
37
|
+
* when the order is wrong.
|
|
42
38
|
*
|
|
43
39
|
* @reference https://tanstack.com/query/latest/docs/eslint/mutation-property-order
|
|
44
40
|
*/
|
|
@@ -47,22 +43,21 @@ export interface ITtscLintTanstackQueryRules {
|
|
|
47
43
|
/**
|
|
48
44
|
* Reject `...rest` destructuring on TanStack Query hook results.
|
|
49
45
|
*
|
|
50
|
-
* The result object is a tracked proxy that only re-renders for
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* optimization.
|
|
46
|
+
* The result object is a tracked proxy that only re-renders for the fields
|
|
47
|
+
* you read; rest-destructuring touches every field, subscribes the component
|
|
48
|
+
* to all of them, and disables that optimization.
|
|
54
49
|
*
|
|
55
50
|
* @reference https://tanstack.com/query/latest/docs/eslint/no-rest-destructuring
|
|
56
51
|
*/
|
|
57
52
|
"tanstack-query/no-rest-destructuring"?: TtscLintRuleSetting;
|
|
58
53
|
|
|
59
54
|
/**
|
|
60
|
-
* Reject passing entire TanStack Query hook results into React
|
|
61
|
-
*
|
|
55
|
+
* Reject passing entire TanStack Query hook results into React dependency
|
|
56
|
+
* arrays.
|
|
62
57
|
*
|
|
63
|
-
* The returned object is a fresh reference on every render, so
|
|
64
|
-
* `
|
|
65
|
-
*
|
|
58
|
+
* The returned object is a fresh reference on every render, so `useEffect` /
|
|
59
|
+
* `useMemo` / `useCallback` would re-run unconditionally; depend on the
|
|
60
|
+
* specific fields you read instead.
|
|
66
61
|
*
|
|
67
62
|
* @reference https://tanstack.com/query/latest/docs/eslint/no-unstable-deps
|
|
68
63
|
*/
|
|
@@ -71,30 +66,29 @@ export interface ITtscLintTanstackQueryRules {
|
|
|
71
66
|
/**
|
|
72
67
|
* Reject `queryFn` callbacks that resolve to `void`.
|
|
73
68
|
*
|
|
74
|
-
* The return value is what TanStack Query caches and exposes as
|
|
75
|
-
*
|
|
76
|
-
*
|
|
69
|
+
* The return value is what TanStack Query caches and exposes as `data`; a
|
|
70
|
+
* void implementation always populates the cache with `undefined` and almost
|
|
71
|
+
* always indicates a forgotten `return`.
|
|
77
72
|
*
|
|
78
73
|
* @reference https://tanstack.com/query/latest/docs/eslint/no-void-query-fn
|
|
79
74
|
*/
|
|
80
75
|
"tanstack-query/no-void-query-fn"?: TtscLintRuleSetting;
|
|
81
76
|
|
|
82
77
|
/**
|
|
83
|
-
* Prefer wrapping query options in the `queryOptions()` helper
|
|
84
|
-
*
|
|
78
|
+
* Prefer wrapping query options in the `queryOptions()` helper over inline `{
|
|
79
|
+
* queryKey, queryFn }` literals.
|
|
85
80
|
*
|
|
86
|
-
* The helper co-locates key and fetcher, lets
|
|
87
|
-
* `
|
|
88
|
-
*
|
|
89
|
-
* different `queryFn`s.
|
|
81
|
+
* The helper co-locates key and fetcher, lets `queryClient.getQueryData` and
|
|
82
|
+
* `setQueryData` share the same typed key, and prevents the same key being
|
|
83
|
+
* paired with two different `queryFn`s.
|
|
90
84
|
*
|
|
91
85
|
* @reference https://tanstack.com/query/latest/docs/eslint/prefer-query-options
|
|
92
86
|
*/
|
|
93
87
|
"tanstack-query/prefer-query-options"?: TtscLintRuleSetting;
|
|
94
88
|
|
|
95
89
|
/**
|
|
96
|
-
* Reject creating a `QueryClient` inside a React component or
|
|
97
|
-
*
|
|
90
|
+
* Reject creating a `QueryClient` inside a React component or hook body — the
|
|
91
|
+
* client must be stable across renders.
|
|
98
92
|
*
|
|
99
93
|
* @reference https://tanstack.com/query/latest/docs/eslint/stable-query-client
|
|
100
94
|
*/
|
|
@@ -9,9 +9,8 @@
|
|
|
9
9
|
/** `testing-library/consistent-data-testid` rule options. */
|
|
10
10
|
export interface ITtscLintTestingLibraryConsistentDataTestIdRuleOptions {
|
|
11
11
|
/**
|
|
12
|
-
* Regular expression string every configured test-id attribute value
|
|
13
|
-
*
|
|
14
|
-
* first dot.
|
|
12
|
+
* Regular expression string every configured test-id attribute value must
|
|
13
|
+
* match. `{fileName}` is replaced with the basename before the first dot.
|
|
15
14
|
*/
|
|
16
15
|
testIdPattern: string;
|
|
17
16
|
|