From ff18ad5a1459b10af21a7cd0565621b6503e0d89 Mon Sep 17 00:00:00 2001 From: Carson McManus Date: Fri, 10 May 2024 09:13:28 -0400 Subject: [PATCH] refactor(analyze): add `language` field to rule metadata --- crates/biome_analyze/src/rule.rs | 18 ++++++++++++++++-- .../src/lint/nursery/no_color_invalid_hex.rs | 1 + .../src/lint/nursery/no_css_empty_block.rs | 1 + .../nursery/no_duplicate_at_import_rules.rs | 1 + .../lint/nursery/no_duplicate_font_names.rs | 1 + .../no_duplicate_selectors_keyframe_block.rs | 1 + .../lint/nursery/no_important_in_keyframe.rs | 1 + .../no_invalid_position_at_import_rule.rs | 1 + .../src/lint/nursery/no_unknown_function.rs | 1 + .../nursery/no_unknown_media_feature_name.rs | 1 + .../src/lint/nursery/no_unknown_property.rs | 1 + .../no_unknown_selector_pseudo_element.rs | 1 + .../src/lint/nursery/no_unknown_unit.rs | 1 + .../nursery/no_unmatchable_anb_selector.rs | 1 + .../src/lint/nursery/use_generic_font_names.rs | 1 + .../assists/correctness/organize_imports.rs | 1 + .../src/lint/a11y/no_access_key.rs | 1 + .../lint/a11y/no_aria_hidden_on_focusable.rs | 1 + .../lint/a11y/no_aria_unsupported_elements.rs | 1 + .../src/lint/a11y/no_autofocus.rs | 1 + .../src/lint/a11y/no_blank_target.rs | 1 + .../src/lint/a11y/no_distracting_elements.rs | 1 + .../src/lint/a11y/no_header_scope.rs | 1 + ...teractive_element_to_noninteractive_role.rs | 1 + ...ninteractive_element_to_interactive_role.rs | 1 + .../lint/a11y/no_noninteractive_tabindex.rs | 1 + .../src/lint/a11y/no_positive_tabindex.rs | 1 + .../src/lint/a11y/no_redundant_alt.rs | 1 + .../src/lint/a11y/no_redundant_roles.rs | 1 + .../src/lint/a11y/no_svg_without_title.rs | 1 + .../src/lint/a11y/use_alt_text.rs | 1 + .../src/lint/a11y/use_anchor_content.rs | 1 + .../use_aria_activedescendant_with_tabindex.rs | 1 + .../src/lint/a11y/use_aria_props_for_role.rs | 1 + .../src/lint/a11y/use_button_type.rs | 1 + .../src/lint/a11y/use_heading_content.rs | 1 + .../src/lint/a11y/use_html_lang.rs | 1 + .../src/lint/a11y/use_iframe_title.rs | 1 + .../src/lint/a11y/use_key_with_click_events.rs | 1 + .../src/lint/a11y/use_key_with_mouse_events.rs | 1 + .../src/lint/a11y/use_media_caption.rs | 1 + .../src/lint/a11y/use_valid_anchor.rs | 1 + .../src/lint/a11y/use_valid_aria_props.rs | 1 + .../src/lint/a11y/use_valid_aria_role.rs | 1 + .../src/lint/a11y/use_valid_aria_values.rs | 1 + .../src/lint/a11y/use_valid_lang.rs | 1 + .../src/lint/complexity/no_banned_types.rs | 1 + .../complexity/no_empty_type_parameters.rs | 1 + .../no_excessive_cognitive_complexity.rs | 1 + .../no_excessive_nested_test_suites.rs | 1 + .../lint/complexity/no_extra_boolean_cast.rs | 1 + .../src/lint/complexity/no_for_each.rs | 1 + ...le_spaces_in_regular_expression_literals.rs | 1 + .../lint/complexity/no_static_only_class.rs | 1 + .../src/lint/complexity/no_this_in_static.rs | 1 + .../src/lint/complexity/no_useless_catch.rs | 1 + .../lint/complexity/no_useless_constructor.rs | 1 + .../lint/complexity/no_useless_empty_export.rs | 1 + .../lint/complexity/no_useless_fragments.rs | 1 + .../src/lint/complexity/no_useless_label.rs | 1 + .../no_useless_lone_block_statements.rs | 1 + .../src/lint/complexity/no_useless_rename.rs | 1 + .../lint/complexity/no_useless_switch_case.rs | 1 + .../src/lint/complexity/no_useless_ternary.rs | 1 + .../lint/complexity/no_useless_this_alias.rs | 1 + .../complexity/no_useless_type_constraint.rs | 1 + .../src/lint/complexity/no_void.rs | 1 + .../src/lint/complexity/no_with.rs | 1 + .../src/lint/complexity/use_arrow_function.rs | 1 + .../src/lint/complexity/use_flat_map.rs | 1 + .../src/lint/complexity/use_literal_keys.rs | 1 + .../src/lint/complexity/use_optional_chain.rs | 1 + .../src/lint/complexity/use_regex_literals.rs | 1 + .../lint/complexity/use_simple_number_keys.rs | 1 + .../use_simplified_logic_expression.rs | 1 + .../src/lint/correctness/no_children_prop.rs | 1 + .../src/lint/correctness/no_const_assign.rs | 1 + .../lint/correctness/no_constant_condition.rs | 1 + .../lint/correctness/no_constructor_return.rs | 1 + .../no_empty_character_class_in_regex.rs | 1 + .../src/lint/correctness/no_empty_pattern.rs | 1 + .../lint/correctness/no_global_object_calls.rs | 1 + .../lint/correctness/no_inner_declarations.rs | 1 + .../no_invalid_constructor_super.rs | 1 + .../lint/correctness/no_invalid_new_builtin.rs | 1 + .../no_invalid_use_before_declaration.rs | 1 + .../src/lint/correctness/no_new_symbol.rs | 1 + .../correctness/no_nonoctal_decimal_escape.rs | 1 + .../src/lint/correctness/no_precision_loss.rs | 1 + .../lint/correctness/no_render_return_value.rs | 1 + .../src/lint/correctness/no_self_assign.rs | 1 + .../src/lint/correctness/no_setter_return.rs | 1 + .../correctness/no_string_case_mismatch.rs | 1 + .../lint/correctness/no_switch_declarations.rs | 1 + .../correctness/no_undeclared_variables.rs | 1 + .../correctness/no_unnecessary_continue.rs | 1 + .../src/lint/correctness/no_unreachable.rs | 1 + .../lint/correctness/no_unreachable_super.rs | 1 + .../src/lint/correctness/no_unsafe_finally.rs | 1 + .../correctness/no_unsafe_optional_chaining.rs | 1 + .../src/lint/correctness/no_unused_imports.rs | 1 + .../src/lint/correctness/no_unused_labels.rs | 1 + .../no_unused_private_class_members.rs | 1 + .../lint/correctness/no_unused_variables.rs | 1 + .../no_void_elements_with_children.rs | 1 + .../lint/correctness/no_void_type_return.rs | 1 + .../correctness/use_exhaustive_dependencies.rs | 1 + .../lint/correctness/use_hook_at_top_level.rs | 1 + .../src/lint/correctness/use_is_nan.rs | 1 + .../correctness/use_jsx_key_in_iterable.rs | 1 + .../correctness/use_valid_for_direction.rs | 1 + .../src/lint/correctness/use_yield.rs | 1 + .../src/lint/nursery/no_console.rs | 1 + .../nursery/no_constant_math_min_max_clamp.rs | 1 + .../src/lint/nursery/no_done_callback.rs | 1 + .../src/lint/nursery/no_duplicate_else_if.rs | 1 + .../src/lint/nursery/no_evolving_any.rs | 1 + .../src/lint/nursery/no_flat_map_identity.rs | 1 + .../src/lint/nursery/no_misplaced_assertion.rs | 1 + .../src/lint/nursery/no_nodejs_modules.rs | 1 + .../lint/nursery/no_react_specific_props.rs | 1 + .../src/lint/nursery/no_restricted_imports.rs | 1 + .../lint/nursery/no_undeclared_dependencies.rs | 1 + .../lint/nursery/no_useless_string_concat.rs | 1 + .../no_useless_undefined_initialization.rs | 1 + .../src/lint/nursery/use_array_literals.rs | 1 + .../use_consistent_builtin_instantiation.rs | 1 + .../lint/nursery/use_default_switch_clause.rs | 1 + .../lint/nursery/use_explicit_length_check.rs | 1 + .../lint/nursery/use_focusable_interactive.rs | 1 + .../lint/nursery/use_import_restrictions.rs | 1 + .../src/lint/nursery/use_sorted_classes.rs | 1 + .../src/lint/nursery/use_throw_new_error.rs | 1 + .../lint/performance/no_accumulating_spread.rs | 1 + .../src/lint/performance/no_barrel_file.rs | 1 + .../src/lint/performance/no_delete.rs | 1 + .../src/lint/performance/no_re_export_all.rs | 1 + .../security/no_dangerously_set_inner_html.rs | 1 + ...dangerously_set_inner_html_with_children.rs | 1 + .../src/lint/security/no_global_eval.rs | 1 + .../src/lint/style/no_arguments.rs | 1 + .../src/lint/style/no_comma_operator.rs | 1 + .../src/lint/style/no_default_export.rs | 1 + .../src/lint/style/no_implicit_boolean.rs | 1 + .../src/lint/style/no_inferrable_types.rs | 1 + .../src/lint/style/no_namespace.rs | 1 + .../src/lint/style/no_namespace_import.rs | 1 + .../src/lint/style/no_negation_else.rs | 1 + .../src/lint/style/no_non_null_assertion.rs | 1 + .../src/lint/style/no_parameter_assign.rs | 1 + .../src/lint/style/no_parameter_properties.rs | 1 + .../src/lint/style/no_restricted_globals.rs | 1 + .../src/lint/style/no_shouty_constants.rs | 1 + .../lint/style/no_unused_template_literal.rs | 1 + .../src/lint/style/no_useless_else.rs | 1 + .../biome_js_analyze/src/lint/style/no_var.rs | 1 + .../src/lint/style/use_as_const_assertion.rs | 1 + .../src/lint/style/use_block_statements.rs | 1 + .../src/lint/style/use_collapsed_else_if.rs | 1 + .../lint/style/use_consistent_array_type.rs | 1 + .../src/lint/style/use_const.rs | 1 + .../lint/style/use_default_parameter_last.rs | 1 + .../src/lint/style/use_enum_initializers.rs | 1 + .../lint/style/use_exponentiation_operator.rs | 1 + .../src/lint/style/use_export_type.rs | 1 + .../lint/style/use_filenaming_convention.rs | 1 + .../src/lint/style/use_for_of.rs | 1 + .../src/lint/style/use_fragment_syntax.rs | 1 + .../src/lint/style/use_import_type.rs | 1 + .../src/lint/style/use_literal_enum_members.rs | 1 + .../src/lint/style/use_naming_convention.rs | 1 + .../src/lint/style/use_node_assert_strict.rs | 1 + .../lint/style/use_nodejs_import_protocol.rs | 1 + .../src/lint/style/use_number_namespace.rs | 1 + .../src/lint/style/use_numeric_literals.rs | 1 + .../lint/style/use_self_closing_elements.rs | 1 + .../src/lint/style/use_shorthand_array_type.rs | 1 + .../src/lint/style/use_shorthand_assign.rs | 1 + .../lint/style/use_shorthand_function_type.rs | 1 + .../lint/style/use_single_case_statement.rs | 1 + .../lint/style/use_single_var_declarator.rs | 1 + .../src/lint/style/use_template.rs | 1 + .../src/lint/style/use_while.rs | 1 + .../no_approximative_numeric_constant.rs | 1 + .../src/lint/suspicious/no_array_index_key.rs | 1 + .../suspicious/no_assign_in_expressions.rs | 1 + .../suspicious/no_async_promise_executor.rs | 1 + .../src/lint/suspicious/no_catch_assign.rs | 1 + .../src/lint/suspicious/no_class_assign.rs | 1 + .../src/lint/suspicious/no_comment_text.rs | 1 + .../src/lint/suspicious/no_compare_neg_zero.rs | 1 + .../src/lint/suspicious/no_confusing_labels.rs | 1 + .../lint/suspicious/no_confusing_void_type.rs | 1 + .../src/lint/suspicious/no_console_log.rs | 1 + .../src/lint/suspicious/no_const_enum.rs | 1 + .../no_control_characters_in_regex.rs | 1 + .../src/lint/suspicious/no_debugger.rs | 1 + .../src/lint/suspicious/no_double_equals.rs | 1 + .../src/lint/suspicious/no_duplicate_case.rs | 1 + .../suspicious/no_duplicate_class_members.rs | 1 + .../lint/suspicious/no_duplicate_jsx_props.rs | 1 + .../suspicious/no_duplicate_object_keys.rs | 1 + .../lint/suspicious/no_duplicate_parameters.rs | 1 + .../lint/suspicious/no_duplicate_test_hooks.rs | 1 + .../suspicious/no_empty_block_statements.rs | 1 + .../src/lint/suspicious/no_empty_interface.rs | 1 + .../src/lint/suspicious/no_explicit_any.rs | 1 + .../src/lint/suspicious/no_exports_in_test.rs | 1 + .../suspicious/no_extra_non_null_assertion.rs | 1 + .../suspicious/no_fallthrough_switch_clause.rs | 1 + .../src/lint/suspicious/no_focused_tests.rs | 1 + .../src/lint/suspicious/no_function_assign.rs | 1 + .../src/lint/suspicious/no_global_assign.rs | 1 + .../src/lint/suspicious/no_global_is_finite.rs | 1 + .../src/lint/suspicious/no_global_is_nan.rs | 1 + .../src/lint/suspicious/no_implicit_any_let.rs | 1 + .../src/lint/suspicious/no_import_assign.rs | 1 + .../src/lint/suspicious/no_label_var.rs | 1 + .../no_misleading_character_class.rs | 1 + .../suspicious/no_misleading_instantiator.rs | 1 + .../no_misrefactored_shorthand_assign.rs | 1 + .../lint/suspicious/no_prototype_builtins.rs | 1 + .../src/lint/suspicious/no_redeclare.rs | 1 + .../lint/suspicious/no_redundant_use_strict.rs | 1 + .../src/lint/suspicious/no_self_compare.rs | 1 + .../suspicious/no_shadow_restricted_names.rs | 1 + .../src/lint/suspicious/no_skipped_tests.rs | 1 + .../src/lint/suspicious/no_sparse_array.rs | 1 + .../no_suspicious_semicolon_in_jsx.rs | 1 + .../src/lint/suspicious/no_then_property.rs | 1 + .../no_unsafe_declaration_merging.rs | 1 + .../src/lint/suspicious/no_unsafe_negation.rs | 1 + .../src/lint/suspicious/use_await.rs | 1 + .../use_default_switch_clause_last.rs | 1 + .../src/lint/suspicious/use_getter_return.rs | 1 + .../src/lint/suspicious/use_is_array.rs | 1 + .../lint/suspicious/use_namespace_keyword.rs | 1 + .../src/lint/suspicious/use_valid_typeof.rs | 1 + .../no_duplicate_private_class_members.rs | 1 + .../no_initializer_with_definite.rs | 1 + .../correctness/no_super_without_extends.rs | 1 + .../nursery/no_type_only_import_attributes.rs | 1 + .../src/declare_transformation.rs | 3 ++- .../src/transformers/ts_enum.rs | 1 + .../src/lint/nursery/no_duplicate_json_keys.rs | 1 + crates/biome_migrate/src/macros.rs | 2 +- xtask/codegen/src/generate_new_lintrule.rs | 2 ++ 247 files changed, 264 insertions(+), 4 deletions(-) diff --git a/crates/biome_analyze/src/rule.rs b/crates/biome_analyze/src/rule.rs index 2f1a2be13a07..0b0167427752 100644 --- a/crates/biome_analyze/src/rule.rs +++ b/crates/biome_analyze/src/rule.rs @@ -28,6 +28,8 @@ pub struct RuleMetadata { pub name: &'static str, /// The content of the documentation comments for this rule pub docs: &'static str, + /// The language that the rule applies to. + pub language: &'static str, /// Whether a rule is recommended or not pub recommended: bool, /// The kind of fix @@ -242,12 +244,18 @@ impl RuleSourceKind { } impl RuleMetadata { - pub const fn new(version: &'static str, name: &'static str, docs: &'static str) -> Self { + pub const fn new( + version: &'static str, + name: &'static str, + docs: &'static str, + language: &'static str, + ) -> Self { Self { deprecated: None, version, name, docs, + language, recommended: false, fix_kind: None, sources: &[], @@ -282,6 +290,11 @@ impl RuleMetadata { self.source_kind = Some(source_kind); self } + + pub const fn language(mut self, language: &'static str) -> Self { + self.language = language; + self + } } pub trait RuleMeta { @@ -315,6 +328,7 @@ macro_rules! declare_rule { ( $( #[doc = $doc:literal] )+ $vis:vis $id:ident { version: $version:literal, name: $name:tt, + language: $language:literal, $( $key:ident: $value:expr, )* } ) => { $( #[doc = $doc] )* @@ -323,7 +337,7 @@ macro_rules! declare_rule { impl $crate::RuleMeta for $id { type Group = super::Group; const METADATA: $crate::RuleMetadata = - $crate::RuleMetadata::new($version, $name, concat!( $( $doc, "\n", )* )) $( .$key($value) )*; + $crate::RuleMetadata::new($version, $name, concat!( $( $doc, "\n", )* ), $language) $( .$key($value) )*; } // Declare a new `rule_category!` macro in the module context that diff --git a/crates/biome_css_analyze/src/lint/nursery/no_color_invalid_hex.rs b/crates/biome_css_analyze/src/lint/nursery/no_color_invalid_hex.rs index 868082f85459..3af4de0543bc 100644 --- a/crates/biome_css_analyze/src/lint/nursery/no_color_invalid_hex.rs +++ b/crates/biome_css_analyze/src/lint/nursery/no_color_invalid_hex.rs @@ -27,6 +27,7 @@ declare_rule! { pub NoColorInvalidHex { version: "next", name: "noColorInvalidHex", + language: "css", recommended: false, } } diff --git a/crates/biome_css_analyze/src/lint/nursery/no_css_empty_block.rs b/crates/biome_css_analyze/src/lint/nursery/no_css_empty_block.rs index 0e1fd2e958de..cd1467a3442f 100644 --- a/crates/biome_css_analyze/src/lint/nursery/no_css_empty_block.rs +++ b/crates/biome_css_analyze/src/lint/nursery/no_css_empty_block.rs @@ -61,6 +61,7 @@ declare_rule! { pub NoCssEmptyBlock { version: "next", name: "noCssEmptyBlock", + language: "css", recommended: true, sources: &[RuleSource::Stylelint("no-empty-block")], } diff --git a/crates/biome_css_analyze/src/lint/nursery/no_duplicate_at_import_rules.rs b/crates/biome_css_analyze/src/lint/nursery/no_duplicate_at_import_rules.rs index 85436342e2d0..76ffb4a657a8 100644 --- a/crates/biome_css_analyze/src/lint/nursery/no_duplicate_at_import_rules.rs +++ b/crates/biome_css_analyze/src/lint/nursery/no_duplicate_at_import_rules.rs @@ -46,6 +46,7 @@ declare_rule! { pub NoDuplicateAtImportRules { version: "next", name: "noDuplicateAtImportRules", + language: "css", recommended: true, sources: &[RuleSource::Stylelint("no-duplicate-at-import-rules")], } diff --git a/crates/biome_css_analyze/src/lint/nursery/no_duplicate_font_names.rs b/crates/biome_css_analyze/src/lint/nursery/no_duplicate_font_names.rs index 3342fab4ef54..a1f2f4ab66e4 100644 --- a/crates/biome_css_analyze/src/lint/nursery/no_duplicate_font_names.rs +++ b/crates/biome_css_analyze/src/lint/nursery/no_duplicate_font_names.rs @@ -43,6 +43,7 @@ declare_rule! { pub NoDuplicateFontNames { version: "next", name: "noDuplicateFontNames", + language: "css", recommended: true, sources: &[RuleSource::Stylelint("font-family-no-duplicate-names")], } diff --git a/crates/biome_css_analyze/src/lint/nursery/no_duplicate_selectors_keyframe_block.rs b/crates/biome_css_analyze/src/lint/nursery/no_duplicate_selectors_keyframe_block.rs index 29870a49ab7e..e59ba2c7d45b 100644 --- a/crates/biome_css_analyze/src/lint/nursery/no_duplicate_selectors_keyframe_block.rs +++ b/crates/biome_css_analyze/src/lint/nursery/no_duplicate_selectors_keyframe_block.rs @@ -37,6 +37,7 @@ declare_rule! { pub NoDuplicateSelectorsKeyframeBlock { version: "next", name: "noDuplicateSelectorsKeyframeBlock", + language: "css", recommended: true, sources:&[RuleSource::Stylelint("keyframe-block-no-duplicate-selectors")], } diff --git a/crates/biome_css_analyze/src/lint/nursery/no_important_in_keyframe.rs b/crates/biome_css_analyze/src/lint/nursery/no_important_in_keyframe.rs index c061e146f0c9..78167eb43394 100644 --- a/crates/biome_css_analyze/src/lint/nursery/no_important_in_keyframe.rs +++ b/crates/biome_css_analyze/src/lint/nursery/no_important_in_keyframe.rs @@ -41,6 +41,7 @@ declare_rule! { pub NoImportantInKeyframe { version: "next", name: "noImportantInKeyframe", + language: "css", recommended: true, sources:&[RuleSource::Stylelint("keyframe-declaration-no-important")], } diff --git a/crates/biome_css_analyze/src/lint/nursery/no_invalid_position_at_import_rule.rs b/crates/biome_css_analyze/src/lint/nursery/no_invalid_position_at_import_rule.rs index 49d804f3c59e..4661fd7ab108 100644 --- a/crates/biome_css_analyze/src/lint/nursery/no_invalid_position_at_import_rule.rs +++ b/crates/biome_css_analyze/src/lint/nursery/no_invalid_position_at_import_rule.rs @@ -27,6 +27,7 @@ declare_rule! { pub NoInvalidPositionAtImportRule { version: "next", name: "noInvalidPositionAtImportRule", + language: "css", recommended: true, sources: &[RuleSource::Stylelint("no-invalid-position-at-import-rule")], } diff --git a/crates/biome_css_analyze/src/lint/nursery/no_unknown_function.rs b/crates/biome_css_analyze/src/lint/nursery/no_unknown_function.rs index 44c6e304e019..2cd5f94a70b8 100644 --- a/crates/biome_css_analyze/src/lint/nursery/no_unknown_function.rs +++ b/crates/biome_css_analyze/src/lint/nursery/no_unknown_function.rs @@ -32,6 +32,7 @@ declare_rule! { pub NoUnknownFunction { version: "next", name: "noUnknownFunction", + language: "css", recommended: true, sources: &[RuleSource::Stylelint("function-no-unknown")], } diff --git a/crates/biome_css_analyze/src/lint/nursery/no_unknown_media_feature_name.rs b/crates/biome_css_analyze/src/lint/nursery/no_unknown_media_feature_name.rs index 7926d0c406c2..8f7d688c0cb2 100644 --- a/crates/biome_css_analyze/src/lint/nursery/no_unknown_media_feature_name.rs +++ b/crates/biome_css_analyze/src/lint/nursery/no_unknown_media_feature_name.rs @@ -67,6 +67,7 @@ declare_rule! { pub NoUnknownMediaFeatureName { version: "next", name: "noUnknownMediaFeatureName", + language: "css", recommended: false, sources: &[RuleSource::Stylelint("media-feature-name-no-unknown")], } diff --git a/crates/biome_css_analyze/src/lint/nursery/no_unknown_property.rs b/crates/biome_css_analyze/src/lint/nursery/no_unknown_property.rs index 118a73d38905..111e5d3a608b 100644 --- a/crates/biome_css_analyze/src/lint/nursery/no_unknown_property.rs +++ b/crates/biome_css_analyze/src/lint/nursery/no_unknown_property.rs @@ -56,6 +56,7 @@ declare_rule! { pub NoUnknownProperty { version: "next", name: "noUnknownProperty", + language: "css", recommended: false, } } diff --git a/crates/biome_css_analyze/src/lint/nursery/no_unknown_selector_pseudo_element.rs b/crates/biome_css_analyze/src/lint/nursery/no_unknown_selector_pseudo_element.rs index 586049bf5dad..1b68b4d29dea 100644 --- a/crates/biome_css_analyze/src/lint/nursery/no_unknown_selector_pseudo_element.rs +++ b/crates/biome_css_analyze/src/lint/nursery/no_unknown_selector_pseudo_element.rs @@ -49,6 +49,7 @@ declare_rule! { pub NoUnknownSelectorPseudoElement { version: "next", name: "noUnknownSelectorPseudoElement", + language: "css", recommended: true, sources: &[RuleSource::Stylelint("selector-pseudo-element-no-unknown")], } diff --git a/crates/biome_css_analyze/src/lint/nursery/no_unknown_unit.rs b/crates/biome_css_analyze/src/lint/nursery/no_unknown_unit.rs index 262886ce93c6..d2615bb7b633 100644 --- a/crates/biome_css_analyze/src/lint/nursery/no_unknown_unit.rs +++ b/crates/biome_css_analyze/src/lint/nursery/no_unknown_unit.rs @@ -59,6 +59,7 @@ declare_rule! { pub NoUnknownUnit { version: "next", name: "noUnknownUnit", + language: "css", recommended: true, sources: &[RuleSource::Stylelint("unit-no-unknown")], } diff --git a/crates/biome_css_analyze/src/lint/nursery/no_unmatchable_anb_selector.rs b/crates/biome_css_analyze/src/lint/nursery/no_unmatchable_anb_selector.rs index e7a5193254c8..10abcb104257 100644 --- a/crates/biome_css_analyze/src/lint/nursery/no_unmatchable_anb_selector.rs +++ b/crates/biome_css_analyze/src/lint/nursery/no_unmatchable_anb_selector.rs @@ -53,6 +53,7 @@ declare_rule! { pub NoUnmatchableAnbSelector { version: "next", name: "noUnmatchableAnbSelector", + language: "css", recommended: true, sources: &[RuleSource::Stylelint("selector-anb-no-unmatchable")], } diff --git a/crates/biome_css_analyze/src/lint/nursery/use_generic_font_names.rs b/crates/biome_css_analyze/src/lint/nursery/use_generic_font_names.rs index 769306d398f0..17a18ab8f447 100644 --- a/crates/biome_css_analyze/src/lint/nursery/use_generic_font_names.rs +++ b/crates/biome_css_analyze/src/lint/nursery/use_generic_font_names.rs @@ -60,6 +60,7 @@ declare_rule! { pub UseGenericFontNames { version: "next", name: "useGenericFontNames", + language: "css", recommended: true, sources: &[RuleSource::Stylelint("font-family-no-missing-generic-family-keyword")], } diff --git a/crates/biome_js_analyze/src/assists/correctness/organize_imports.rs b/crates/biome_js_analyze/src/assists/correctness/organize_imports.rs index 02db41071049..08347e679b82 100644 --- a/crates/biome_js_analyze/src/assists/correctness/organize_imports.rs +++ b/crates/biome_js_analyze/src/assists/correctness/organize_imports.rs @@ -44,6 +44,7 @@ declare_rule! { pub OrganizeImports { version: "1.0.0", name: "organizeImports", + language: "js", recommended: false, fix_kind: FixKind::Unsafe, } diff --git a/crates/biome_js_analyze/src/lint/a11y/no_access_key.rs b/crates/biome_js_analyze/src/lint/a11y/no_access_key.rs index f587c0dbefe7..754654d730ea 100644 --- a/crates/biome_js_analyze/src/lint/a11y/no_access_key.rs +++ b/crates/biome_js_analyze/src/lint/a11y/no_access_key.rs @@ -40,6 +40,7 @@ declare_rule! { pub NoAccessKey { version: "1.0.0", name: "noAccessKey", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("no-access-key")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/a11y/no_aria_hidden_on_focusable.rs b/crates/biome_js_analyze/src/lint/a11y/no_aria_hidden_on_focusable.rs index 8856d771250f..a6bb93140430 100644 --- a/crates/biome_js_analyze/src/lint/a11y/no_aria_hidden_on_focusable.rs +++ b/crates/biome_js_analyze/src/lint/a11y/no_aria_hidden_on_focusable.rs @@ -45,6 +45,7 @@ declare_rule! { pub NoAriaHiddenOnFocusable { version: "1.4.0", name: "noAriaHiddenOnFocusable", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("no-aria-hidden-on-focusable")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/a11y/no_aria_unsupported_elements.rs b/crates/biome_js_analyze/src/lint/a11y/no_aria_unsupported_elements.rs index 897aed2cf16e..501fd20b9c42 100644 --- a/crates/biome_js_analyze/src/lint/a11y/no_aria_unsupported_elements.rs +++ b/crates/biome_js_analyze/src/lint/a11y/no_aria_unsupported_elements.rs @@ -36,6 +36,7 @@ declare_rule! { pub NoAriaUnsupportedElements { version: "1.0.0", name: "noAriaUnsupportedElements", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("aria-unsupported-elements")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/a11y/no_autofocus.rs b/crates/biome_js_analyze/src/lint/a11y/no_autofocus.rs index 5ad72c27cd65..71f618bcb61d 100644 --- a/crates/biome_js_analyze/src/lint/a11y/no_autofocus.rs +++ b/crates/biome_js_analyze/src/lint/a11y/no_autofocus.rs @@ -60,6 +60,7 @@ declare_rule! { pub NoAutofocus { version: "1.0.0", name: "noAutofocus", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("no-autofocus")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/a11y/no_blank_target.rs b/crates/biome_js_analyze/src/lint/a11y/no_blank_target.rs index 214849f80887..8041fed3e060 100644 --- a/crates/biome_js_analyze/src/lint/a11y/no_blank_target.rs +++ b/crates/biome_js_analyze/src/lint/a11y/no_blank_target.rs @@ -51,6 +51,7 @@ declare_rule! { pub NoBlankTarget { version: "1.0.0", name: "noBlankTarget", + language: "jsx", sources: &[RuleSource::EslintReact("jsx-no-target-blank")], recommended: true, fix_kind: FixKind::Safe, diff --git a/crates/biome_js_analyze/src/lint/a11y/no_distracting_elements.rs b/crates/biome_js_analyze/src/lint/a11y/no_distracting_elements.rs index 25fb5d980bb1..a8998d57bb1d 100644 --- a/crates/biome_js_analyze/src/lint/a11y/no_distracting_elements.rs +++ b/crates/biome_js_analyze/src/lint/a11y/no_distracting_elements.rs @@ -40,6 +40,7 @@ declare_rule! { pub NoDistractingElements { version: "1.0.0", name: "noDistractingElements", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("no-distracting-elements")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/a11y/no_header_scope.rs b/crates/biome_js_analyze/src/lint/a11y/no_header_scope.rs index 4521ecef684e..2f9ba928f0c7 100644 --- a/crates/biome_js_analyze/src/lint/a11y/no_header_scope.rs +++ b/crates/biome_js_analyze/src/lint/a11y/no_header_scope.rs @@ -40,6 +40,7 @@ declare_rule! { pub NoHeaderScope { version: "1.0.0", name: "noHeaderScope", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("scope")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/a11y/no_interactive_element_to_noninteractive_role.rs b/crates/biome_js_analyze/src/lint/a11y/no_interactive_element_to_noninteractive_role.rs index b490a0408328..85c1360c189a 100644 --- a/crates/biome_js_analyze/src/lint/a11y/no_interactive_element_to_noninteractive_role.rs +++ b/crates/biome_js_analyze/src/lint/a11y/no_interactive_element_to_noninteractive_role.rs @@ -35,6 +35,7 @@ declare_rule! { pub NoInteractiveElementToNoninteractiveRole { version: "1.3.0", name: "noInteractiveElementToNoninteractiveRole", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("no-interactive-element-to-noninteractive-role")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/a11y/no_noninteractive_element_to_interactive_role.rs b/crates/biome_js_analyze/src/lint/a11y/no_noninteractive_element_to_interactive_role.rs index 09cdbf89db5b..a3905c2556b7 100644 --- a/crates/biome_js_analyze/src/lint/a11y/no_noninteractive_element_to_interactive_role.rs +++ b/crates/biome_js_analyze/src/lint/a11y/no_noninteractive_element_to_interactive_role.rs @@ -48,6 +48,7 @@ declare_rule! { pub NoNoninteractiveElementToInteractiveRole { version: "1.0.0", name: "noNoninteractiveElementToInteractiveRole", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("no-noninteractive-element-to-interactive-role")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/a11y/no_noninteractive_tabindex.rs b/crates/biome_js_analyze/src/lint/a11y/no_noninteractive_tabindex.rs index eb1745db2cc8..945508d6aae1 100644 --- a/crates/biome_js_analyze/src/lint/a11y/no_noninteractive_tabindex.rs +++ b/crates/biome_js_analyze/src/lint/a11y/no_noninteractive_tabindex.rs @@ -51,6 +51,7 @@ declare_rule! { pub NoNoninteractiveTabindex { version: "1.0.0", name: "noNoninteractiveTabindex", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("no-noninteractive-tabindex")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/a11y/no_positive_tabindex.rs b/crates/biome_js_analyze/src/lint/a11y/no_positive_tabindex.rs index 17f0505ac084..df8f35c95355 100644 --- a/crates/biome_js_analyze/src/lint/a11y/no_positive_tabindex.rs +++ b/crates/biome_js_analyze/src/lint/a11y/no_positive_tabindex.rs @@ -51,6 +51,7 @@ declare_rule! { pub NoPositiveTabindex { version: "1.0.0", name: "noPositiveTabindex", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("tabindex-no-positive")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/a11y/no_redundant_alt.rs b/crates/biome_js_analyze/src/lint/a11y/no_redundant_alt.rs index 0abb4972c7e6..58fef723520d 100644 --- a/crates/biome_js_analyze/src/lint/a11y/no_redundant_alt.rs +++ b/crates/biome_js_analyze/src/lint/a11y/no_redundant_alt.rs @@ -42,6 +42,7 @@ declare_rule! { pub NoRedundantAlt { version: "1.0.0", name: "noRedundantAlt", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("img-redundant-alt")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/a11y/no_redundant_roles.rs b/crates/biome_js_analyze/src/lint/a11y/no_redundant_roles.rs index fa8e0be3f42a..e05a58796a18 100644 --- a/crates/biome_js_analyze/src/lint/a11y/no_redundant_roles.rs +++ b/crates/biome_js_analyze/src/lint/a11y/no_redundant_roles.rs @@ -46,6 +46,7 @@ declare_rule! { pub NoRedundantRoles { version: "1.0.0", name: "noRedundantRoles", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("no-redundant-roles")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/a11y/no_svg_without_title.rs b/crates/biome_js_analyze/src/lint/a11y/no_svg_without_title.rs index bae7de2b58b7..05a73edb4eed 100644 --- a/crates/biome_js_analyze/src/lint/a11y/no_svg_without_title.rs +++ b/crates/biome_js_analyze/src/lint/a11y/no_svg_without_title.rs @@ -99,6 +99,7 @@ declare_rule! { pub NoSvgWithoutTitle { version: "1.0.0", name: "noSvgWithoutTitle", + language: "jsx", recommended: true, } } diff --git a/crates/biome_js_analyze/src/lint/a11y/use_alt_text.rs b/crates/biome_js_analyze/src/lint/a11y/use_alt_text.rs index 8a5ef6de1e60..9dd508e51d3c 100644 --- a/crates/biome_js_analyze/src/lint/a11y/use_alt_text.rs +++ b/crates/biome_js_analyze/src/lint/a11y/use_alt_text.rs @@ -46,6 +46,7 @@ declare_rule! { pub UseAltText { version: "1.0.0", name: "useAltText", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("alt-text")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/a11y/use_anchor_content.rs b/crates/biome_js_analyze/src/lint/a11y/use_anchor_content.rs index e99d0fa16eba..eb1cd7e8f209 100644 --- a/crates/biome_js_analyze/src/lint/a11y/use_anchor_content.rs +++ b/crates/biome_js_analyze/src/lint/a11y/use_anchor_content.rs @@ -67,6 +67,7 @@ declare_rule! { pub UseAnchorContent { version: "1.0.0", name: "useAnchorContent", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("anchor-has-content")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/a11y/use_aria_activedescendant_with_tabindex.rs b/crates/biome_js_analyze/src/lint/a11y/use_aria_activedescendant_with_tabindex.rs index 73ee7e5785e4..edaa2f8926c1 100644 --- a/crates/biome_js_analyze/src/lint/a11y/use_aria_activedescendant_with_tabindex.rs +++ b/crates/biome_js_analyze/src/lint/a11y/use_aria_activedescendant_with_tabindex.rs @@ -51,6 +51,7 @@ declare_rule! { pub UseAriaActivedescendantWithTabindex { version: "1.3.0", name: "useAriaActivedescendantWithTabindex", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("aria-activedescendant-has-tabindex")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/a11y/use_aria_props_for_role.rs b/crates/biome_js_analyze/src/lint/a11y/use_aria_props_for_role.rs index 9b444e11fca5..ce2b60f88f72 100644 --- a/crates/biome_js_analyze/src/lint/a11y/use_aria_props_for_role.rs +++ b/crates/biome_js_analyze/src/lint/a11y/use_aria_props_for_role.rs @@ -41,6 +41,7 @@ declare_rule! { pub UseAriaPropsForRole { version: "1.0.0", name: "useAriaPropsForRole", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("role-has-required-aria-props")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/a11y/use_button_type.rs b/crates/biome_js_analyze/src/lint/a11y/use_button_type.rs index d7261ee20a18..6b23936117d0 100644 --- a/crates/biome_js_analyze/src/lint/a11y/use_button_type.rs +++ b/crates/biome_js_analyze/src/lint/a11y/use_button_type.rs @@ -39,6 +39,7 @@ declare_rule! { pub UseButtonType { version: "1.0.0", name: "useButtonType", + language: "jsx", sources: &[RuleSource::EslintReact("button-has-type")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/a11y/use_heading_content.rs b/crates/biome_js_analyze/src/lint/a11y/use_heading_content.rs index c9187597f268..f3314bbcf666 100644 --- a/crates/biome_js_analyze/src/lint/a11y/use_heading_content.rs +++ b/crates/biome_js_analyze/src/lint/a11y/use_heading_content.rs @@ -47,6 +47,7 @@ declare_rule! { pub UseHeadingContent { version: "1.0.0", name: "useHeadingContent", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("heading-has-content")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/a11y/use_html_lang.rs b/crates/biome_js_analyze/src/lint/a11y/use_html_lang.rs index 19feea9e70cc..d826c4b2a38e 100644 --- a/crates/biome_js_analyze/src/lint/a11y/use_html_lang.rs +++ b/crates/biome_js_analyze/src/lint/a11y/use_html_lang.rs @@ -55,6 +55,7 @@ declare_rule! { pub UseHtmlLang { version: "1.0.0", name: "useHtmlLang", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("html-has-lang")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/a11y/use_iframe_title.rs b/crates/biome_js_analyze/src/lint/a11y/use_iframe_title.rs index 8f84af79c909..d93572d7978b 100644 --- a/crates/biome_js_analyze/src/lint/a11y/use_iframe_title.rs +++ b/crates/biome_js_analyze/src/lint/a11y/use_iframe_title.rs @@ -61,6 +61,7 @@ declare_rule! { pub UseIframeTitle { version: "1.0.0", name: "useIframeTitle", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("iframe-has-title")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/a11y/use_key_with_click_events.rs b/crates/biome_js_analyze/src/lint/a11y/use_key_with_click_events.rs index ec72beb5d954..7241fa7803bf 100644 --- a/crates/biome_js_analyze/src/lint/a11y/use_key_with_click_events.rs +++ b/crates/biome_js_analyze/src/lint/a11y/use_key_with_click_events.rs @@ -59,6 +59,7 @@ declare_rule! { pub UseKeyWithClickEvents { version: "1.0.0", name: "useKeyWithClickEvents", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("click-events-have-key-events")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/a11y/use_key_with_mouse_events.rs b/crates/biome_js_analyze/src/lint/a11y/use_key_with_mouse_events.rs index cf4b6d4d6333..75a51ddd50e4 100644 --- a/crates/biome_js_analyze/src/lint/a11y/use_key_with_mouse_events.rs +++ b/crates/biome_js_analyze/src/lint/a11y/use_key_with_mouse_events.rs @@ -42,6 +42,7 @@ declare_rule! { pub UseKeyWithMouseEvents { version: "1.0.0", name: "useKeyWithMouseEvents", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("mouse-events-have-key-events")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/a11y/use_media_caption.rs b/crates/biome_js_analyze/src/lint/a11y/use_media_caption.rs index e00f41e28174..0d8b7ecd0e62 100644 --- a/crates/biome_js_analyze/src/lint/a11y/use_media_caption.rs +++ b/crates/biome_js_analyze/src/lint/a11y/use_media_caption.rs @@ -33,6 +33,7 @@ declare_rule! { pub UseMediaCaption { version: "1.0.0", name: "useMediaCaption", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("media-has-caption")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/a11y/use_valid_anchor.rs b/crates/biome_js_analyze/src/lint/a11y/use_valid_anchor.rs index 5605a44c6fbe..5d58c809690a 100644 --- a/crates/biome_js_analyze/src/lint/a11y/use_valid_anchor.rs +++ b/crates/biome_js_analyze/src/lint/a11y/use_valid_anchor.rs @@ -74,6 +74,7 @@ declare_rule! { pub UseValidAnchor { version: "1.0.0", name: "useValidAnchor", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("anchor-is-valid")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/a11y/use_valid_aria_props.rs b/crates/biome_js_analyze/src/lint/a11y/use_valid_aria_props.rs index d8be65fd1b62..00669ab07371 100644 --- a/crates/biome_js_analyze/src/lint/a11y/use_valid_aria_props.rs +++ b/crates/biome_js_analyze/src/lint/a11y/use_valid_aria_props.rs @@ -28,6 +28,7 @@ declare_rule! { pub UseValidAriaProps { version: "1.0.0", name: "useValidAriaProps", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("aria-props")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/a11y/use_valid_aria_role.rs b/crates/biome_js_analyze/src/lint/a11y/use_valid_aria_role.rs index d8dba6855aac..21ce7d58cdef 100644 --- a/crates/biome_js_analyze/src/lint/a11y/use_valid_aria_role.rs +++ b/crates/biome_js_analyze/src/lint/a11y/use_valid_aria_role.rs @@ -67,6 +67,7 @@ declare_rule! { pub UseValidAriaRole { version: "1.4.0", name: "useValidAriaRole", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("aria-role")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/a11y/use_valid_aria_values.rs b/crates/biome_js_analyze/src/lint/a11y/use_valid_aria_values.rs index 0b588d5e8204..b6a28cbc6a82 100644 --- a/crates/biome_js_analyze/src/lint/a11y/use_valid_aria_values.rs +++ b/crates/biome_js_analyze/src/lint/a11y/use_valid_aria_values.rs @@ -50,6 +50,7 @@ declare_rule! { pub UseValidAriaValues { version: "1.0.0", name: "useValidAriaValues", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("aria-proptypes")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/a11y/use_valid_lang.rs b/crates/biome_js_analyze/src/lint/a11y/use_valid_lang.rs index 364813f8b3f8..f08f8f5b9dbd 100644 --- a/crates/biome_js_analyze/src/lint/a11y/use_valid_lang.rs +++ b/crates/biome_js_analyze/src/lint/a11y/use_valid_lang.rs @@ -31,6 +31,7 @@ declare_rule! { pub UseValidLang { version: "1.0.0", name: "useValidLang", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("lang")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/complexity/no_banned_types.rs b/crates/biome_js_analyze/src/lint/complexity/no_banned_types.rs index 4cc93d908a31..9f695d0809d4 100644 --- a/crates/biome_js_analyze/src/lint/complexity/no_banned_types.rs +++ b/crates/biome_js_analyze/src/lint/complexity/no_banned_types.rs @@ -91,6 +91,7 @@ declare_rule! { pub NoBannedTypes { version: "1.0.0", name: "noBannedTypes", + language: "ts", sources: &[RuleSource::EslintTypeScript("ban-types")], recommended: true, fix_kind: FixKind::Safe, diff --git a/crates/biome_js_analyze/src/lint/complexity/no_empty_type_parameters.rs b/crates/biome_js_analyze/src/lint/complexity/no_empty_type_parameters.rs index 6b71c698a8f9..5cbaeeb8b9ca 100644 --- a/crates/biome_js_analyze/src/lint/complexity/no_empty_type_parameters.rs +++ b/crates/biome_js_analyze/src/lint/complexity/no_empty_type_parameters.rs @@ -37,6 +37,7 @@ declare_rule! { pub NoEmptyTypeParameters { version: "1.5.0", name: "noEmptyTypeParameters", + language: "ts", recommended: true, } } diff --git a/crates/biome_js_analyze/src/lint/complexity/no_excessive_cognitive_complexity.rs b/crates/biome_js_analyze/src/lint/complexity/no_excessive_cognitive_complexity.rs index bff7fa4db154..70df0fb07068 100644 --- a/crates/biome_js_analyze/src/lint/complexity/no_excessive_cognitive_complexity.rs +++ b/crates/biome_js_analyze/src/lint/complexity/no_excessive_cognitive_complexity.rs @@ -72,6 +72,7 @@ declare_rule! { pub NoExcessiveCognitiveComplexity { version: "1.0.0", name: "noExcessiveCognitiveComplexity", + language: "js", sources: &[RuleSource::EslintSonarJs("cognitive-complexity")], recommended: false, } diff --git a/crates/biome_js_analyze/src/lint/complexity/no_excessive_nested_test_suites.rs b/crates/biome_js_analyze/src/lint/complexity/no_excessive_nested_test_suites.rs index 7a94954e0158..69209659f44d 100644 --- a/crates/biome_js_analyze/src/lint/complexity/no_excessive_nested_test_suites.rs +++ b/crates/biome_js_analyze/src/lint/complexity/no_excessive_nested_test_suites.rs @@ -54,6 +54,7 @@ declare_rule! { pub NoExcessiveNestedTestSuites { version: "1.6.0", name: "noExcessiveNestedTestSuites", + language: "js", recommended: true, sources: &[RuleSource::EslintJest("max-nested-describe")], source_kind: RuleSourceKind::SameLogic, diff --git a/crates/biome_js_analyze/src/lint/complexity/no_extra_boolean_cast.rs b/crates/biome_js_analyze/src/lint/complexity/no_extra_boolean_cast.rs index 208f298e9bdd..1a69a6e8837f 100644 --- a/crates/biome_js_analyze/src/lint/complexity/no_extra_boolean_cast.rs +++ b/crates/biome_js_analyze/src/lint/complexity/no_extra_boolean_cast.rs @@ -58,6 +58,7 @@ declare_rule! { pub NoExtraBooleanCast { version: "1.0.0", name: "noExtraBooleanCast", + language: "js", sources: &[RuleSource::Eslint("no-extra-boolean-cast")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/complexity/no_for_each.rs b/crates/biome_js_analyze/src/lint/complexity/no_for_each.rs index 832bf6477b20..cbd43d2c4963 100644 --- a/crates/biome_js_analyze/src/lint/complexity/no_for_each.rs +++ b/crates/biome_js_analyze/src/lint/complexity/no_for_each.rs @@ -61,6 +61,7 @@ declare_rule! { pub NoForEach { version: "1.0.0", name: "noForEach", + language: "js", sources: &[ RuleSource::EslintUnicorn("no-array-for-each"), RuleSource::Clippy("needless_for_each"), diff --git a/crates/biome_js_analyze/src/lint/complexity/no_multiple_spaces_in_regular_expression_literals.rs b/crates/biome_js_analyze/src/lint/complexity/no_multiple_spaces_in_regular_expression_literals.rs index cb627c907b9a..92358c673a21 100644 --- a/crates/biome_js_analyze/src/lint/complexity/no_multiple_spaces_in_regular_expression_literals.rs +++ b/crates/biome_js_analyze/src/lint/complexity/no_multiple_spaces_in_regular_expression_literals.rs @@ -49,6 +49,7 @@ declare_rule! { pub NoMultipleSpacesInRegularExpressionLiterals { version: "1.0.0", name: "noMultipleSpacesInRegularExpressionLiterals", + language: "js", sources: &[RuleSource::Eslint("no-regex-spaces")], recommended: true, fix_kind: FixKind::Safe, diff --git a/crates/biome_js_analyze/src/lint/complexity/no_static_only_class.rs b/crates/biome_js_analyze/src/lint/complexity/no_static_only_class.rs index eb3a529af3bc..53f6e3b65e9f 100644 --- a/crates/biome_js_analyze/src/lint/complexity/no_static_only_class.rs +++ b/crates/biome_js_analyze/src/lint/complexity/no_static_only_class.rs @@ -91,6 +91,7 @@ declare_rule! { pub NoStaticOnlyClass { version: "1.0.0", name: "noStaticOnlyClass", + language: "js", sources: &[ RuleSource::EslintTypeScript("no-extraneous-class"), RuleSource::EslintUnicorn("no-static-only-class"), diff --git a/crates/biome_js_analyze/src/lint/complexity/no_this_in_static.rs b/crates/biome_js_analyze/src/lint/complexity/no_this_in_static.rs index a8ba21be5bb7..88146dc1b62f 100644 --- a/crates/biome_js_analyze/src/lint/complexity/no_this_in_static.rs +++ b/crates/biome_js_analyze/src/lint/complexity/no_this_in_static.rs @@ -81,6 +81,7 @@ declare_rule! { pub NoThisInStatic { version: "1.3.1", name: "noThisInStatic", + language: "js", sources: &[RuleSource::EslintMysticatea("no-this-in-static")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/complexity/no_useless_catch.rs b/crates/biome_js_analyze/src/lint/complexity/no_useless_catch.rs index 130db16c7857..6a3fc67bfee3 100644 --- a/crates/biome_js_analyze/src/lint/complexity/no_useless_catch.rs +++ b/crates/biome_js_analyze/src/lint/complexity/no_useless_catch.rs @@ -53,6 +53,7 @@ declare_rule! { pub NoUselessCatch { version: "1.0.0", name: "noUselessCatch", + language: "js", sources: &[RuleSource::Eslint("no-useless-catch")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/complexity/no_useless_constructor.rs b/crates/biome_js_analyze/src/lint/complexity/no_useless_constructor.rs index 2f0977afe96a..96a9040a8cb5 100644 --- a/crates/biome_js_analyze/src/lint/complexity/no_useless_constructor.rs +++ b/crates/biome_js_analyze/src/lint/complexity/no_useless_constructor.rs @@ -118,6 +118,7 @@ declare_rule! { pub NoUselessConstructor { version: "1.0.0", name: "noUselessConstructor", + language: "js", sources: &[ RuleSource::Eslint("no-useless-constructor"), RuleSource::EslintTypeScript("no-useless-constructor"), diff --git a/crates/biome_js_analyze/src/lint/complexity/no_useless_empty_export.rs b/crates/biome_js_analyze/src/lint/complexity/no_useless_empty_export.rs index b77a5bbbf461..d1fccd3b4417 100644 --- a/crates/biome_js_analyze/src/lint/complexity/no_useless_empty_export.rs +++ b/crates/biome_js_analyze/src/lint/complexity/no_useless_empty_export.rs @@ -45,6 +45,7 @@ declare_rule! { pub NoUselessEmptyExport { version: "1.0.0", name: "noUselessEmptyExport", + language: "ts", sources: &[RuleSource::EslintTypeScript("no-useless-empty-export")], recommended: true, fix_kind: FixKind::Safe, diff --git a/crates/biome_js_analyze/src/lint/complexity/no_useless_fragments.rs b/crates/biome_js_analyze/src/lint/complexity/no_useless_fragments.rs index f5de07caa82f..d521104a859a 100644 --- a/crates/biome_js_analyze/src/lint/complexity/no_useless_fragments.rs +++ b/crates/biome_js_analyze/src/lint/complexity/no_useless_fragments.rs @@ -62,6 +62,7 @@ declare_rule! { pub NoUselessFragments { version: "1.0.0", name: "noUselessFragments", + language: "jsx", sources: &[RuleSource::EslintReact("jsx-no-useless-fragment")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/complexity/no_useless_label.rs b/crates/biome_js_analyze/src/lint/complexity/no_useless_label.rs index 665b43bf74b3..b2cb99c68285 100644 --- a/crates/biome_js_analyze/src/lint/complexity/no_useless_label.rs +++ b/crates/biome_js_analyze/src/lint/complexity/no_useless_label.rs @@ -35,6 +35,7 @@ declare_rule! { pub NoUselessLabel { version: "1.0.0", name: "noUselessLabel", + language: "js", sources: &[RuleSource::Eslint("no-extra-label")], recommended: true, fix_kind: FixKind::Safe, diff --git a/crates/biome_js_analyze/src/lint/complexity/no_useless_lone_block_statements.rs b/crates/biome_js_analyze/src/lint/complexity/no_useless_lone_block_statements.rs index aeadd3dc26aa..d400dc78cf61 100644 --- a/crates/biome_js_analyze/src/lint/complexity/no_useless_lone_block_statements.rs +++ b/crates/biome_js_analyze/src/lint/complexity/no_useless_lone_block_statements.rs @@ -46,6 +46,7 @@ declare_rule! { pub NoUselessLoneBlockStatements { version: "1.3.3", name: "noUselessLoneBlockStatements", + language: "js", sources: &[RuleSource::Eslint("no-lone-blocks")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/complexity/no_useless_rename.rs b/crates/biome_js_analyze/src/lint/complexity/no_useless_rename.rs index 4853fbcaae66..20707674ac26 100644 --- a/crates/biome_js_analyze/src/lint/complexity/no_useless_rename.rs +++ b/crates/biome_js_analyze/src/lint/complexity/no_useless_rename.rs @@ -60,6 +60,7 @@ declare_rule! { pub NoUselessRename { version: "1.0.0", name: "noUselessRename", + language: "js", sources: &[RuleSource::Eslint("no-useless-rename")], recommended: true, fix_kind: FixKind::Safe, diff --git a/crates/biome_js_analyze/src/lint/complexity/no_useless_switch_case.rs b/crates/biome_js_analyze/src/lint/complexity/no_useless_switch_case.rs index 34b5014fe76c..e1a3bcd4a3b4 100644 --- a/crates/biome_js_analyze/src/lint/complexity/no_useless_switch_case.rs +++ b/crates/biome_js_analyze/src/lint/complexity/no_useless_switch_case.rs @@ -60,6 +60,7 @@ declare_rule! { pub NoUselessSwitchCase { version: "1.0.0", name: "noUselessSwitchCase", + language: "js", sources: &[RuleSource::EslintUnicorn("no-useless-switch-case")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/complexity/no_useless_ternary.rs b/crates/biome_js_analyze/src/lint/complexity/no_useless_ternary.rs index ee2de1025d91..97cf76a61325 100644 --- a/crates/biome_js_analyze/src/lint/complexity/no_useless_ternary.rs +++ b/crates/biome_js_analyze/src/lint/complexity/no_useless_ternary.rs @@ -56,6 +56,7 @@ declare_rule! { pub NoUselessTernary { version: "1.5.0", name: "noUselessTernary", + language: "js", sources: &[RuleSource::Eslint("no-unneeded-ternary")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/complexity/no_useless_this_alias.rs b/crates/biome_js_analyze/src/lint/complexity/no_useless_this_alias.rs index 082c9b8fdcf0..cf017454ab0a 100644 --- a/crates/biome_js_analyze/src/lint/complexity/no_useless_this_alias.rs +++ b/crates/biome_js_analyze/src/lint/complexity/no_useless_this_alias.rs @@ -54,6 +54,7 @@ declare_rule! { pub NoUselessThisAlias { version: "1.0.0", name: "noUselessThisAlias", + language: "ts", sources: &[RuleSource::EslintTypeScript("no-this-alias")], source_kind: RuleSourceKind::Inspired, recommended: true, diff --git a/crates/biome_js_analyze/src/lint/complexity/no_useless_type_constraint.rs b/crates/biome_js_analyze/src/lint/complexity/no_useless_type_constraint.rs index f310d310ad5f..e66dd929e408 100644 --- a/crates/biome_js_analyze/src/lint/complexity/no_useless_type_constraint.rs +++ b/crates/biome_js_analyze/src/lint/complexity/no_useless_type_constraint.rs @@ -79,6 +79,7 @@ declare_rule! { pub NoUselessTypeConstraint { version: "1.0.0", name: "noUselessTypeConstraint", + language: "ts", sources: &[RuleSource::EslintTypeScript("no-unnecessary-type-constraint")], recommended: true, fix_kind: FixKind::Safe, diff --git a/crates/biome_js_analyze/src/lint/complexity/no_void.rs b/crates/biome_js_analyze/src/lint/complexity/no_void.rs index 78e2c0f8f84d..e0e176ee774f 100644 --- a/crates/biome_js_analyze/src/lint/complexity/no_void.rs +++ b/crates/biome_js_analyze/src/lint/complexity/no_void.rs @@ -20,6 +20,7 @@ declare_rule! { pub NoVoid { version: "1.0.0", name: "noVoid", + language: "js", sources: &[RuleSource::Eslint("no-void")], recommended: false, } diff --git a/crates/biome_js_analyze/src/lint/complexity/no_with.rs b/crates/biome_js_analyze/src/lint/complexity/no_with.rs index d31e0dd95f9a..a2acee8b1428 100644 --- a/crates/biome_js_analyze/src/lint/complexity/no_with.rs +++ b/crates/biome_js_analyze/src/lint/complexity/no_with.rs @@ -25,6 +25,7 @@ declare_rule! { pub NoWith { version: "1.0.0", name: "noWith", + language: "js", sources: &[RuleSource::Eslint("no-with")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/complexity/use_arrow_function.rs b/crates/biome_js_analyze/src/lint/complexity/use_arrow_function.rs index d115745607e8..ec416dea974a 100644 --- a/crates/biome_js_analyze/src/lint/complexity/use_arrow_function.rs +++ b/crates/biome_js_analyze/src/lint/complexity/use_arrow_function.rs @@ -70,6 +70,7 @@ declare_rule! { pub UseArrowFunction { version: "1.0.0", name: "useArrowFunction", + language: "js", sources: &[RuleSource::Eslint("prefer-arrow-callback")], source_kind: RuleSourceKind::Inspired, recommended: true, diff --git a/crates/biome_js_analyze/src/lint/complexity/use_flat_map.rs b/crates/biome_js_analyze/src/lint/complexity/use_flat_map.rs index dadfa8f88b31..a72ef3c166d7 100644 --- a/crates/biome_js_analyze/src/lint/complexity/use_flat_map.rs +++ b/crates/biome_js_analyze/src/lint/complexity/use_flat_map.rs @@ -34,6 +34,7 @@ declare_rule! { pub UseFlatMap { version: "1.0.0", name: "useFlatMap", + language: "js", sources: &[ RuleSource::EslintUnicorn("prefer-array-flat-map"), RuleSource::Clippy("map_flatten"), diff --git a/crates/biome_js_analyze/src/lint/complexity/use_literal_keys.rs b/crates/biome_js_analyze/src/lint/complexity/use_literal_keys.rs index d9937a84b860..20dbcdce548f 100644 --- a/crates/biome_js_analyze/src/lint/complexity/use_literal_keys.rs +++ b/crates/biome_js_analyze/src/lint/complexity/use_literal_keys.rs @@ -51,6 +51,7 @@ declare_rule! { pub UseLiteralKeys { version: "1.0.0", name: "useLiteralKeys", + language: "js", sources: &[ RuleSource::Eslint("dot-notation"), RuleSource::EslintTypeScript("dot-notation") diff --git a/crates/biome_js_analyze/src/lint/complexity/use_optional_chain.rs b/crates/biome_js_analyze/src/lint/complexity/use_optional_chain.rs index 76e6d529842c..657d88baeef5 100644 --- a/crates/biome_js_analyze/src/lint/complexity/use_optional_chain.rs +++ b/crates/biome_js_analyze/src/lint/complexity/use_optional_chain.rs @@ -76,6 +76,7 @@ declare_rule! { pub UseOptionalChain { version: "1.0.0", name: "useOptionalChain", + language: "ts", sources: &[RuleSource::EslintTypeScript("prefer-optional-chain")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/complexity/use_regex_literals.rs b/crates/biome_js_analyze/src/lint/complexity/use_regex_literals.rs index 1bffc5c8bf8f..2564cbf31bce 100644 --- a/crates/biome_js_analyze/src/lint/complexity/use_regex_literals.rs +++ b/crates/biome_js_analyze/src/lint/complexity/use_regex_literals.rs @@ -46,6 +46,7 @@ declare_rule! { pub UseRegexLiterals { version: "1.3.0", name: "useRegexLiterals", + language: "js", sources: &[RuleSource::Eslint("prefer-regex-literals")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/complexity/use_simple_number_keys.rs b/crates/biome_js_analyze/src/lint/complexity/use_simple_number_keys.rs index 7b64c0b7cc81..31f6256e6142 100644 --- a/crates/biome_js_analyze/src/lint/complexity/use_simple_number_keys.rs +++ b/crates/biome_js_analyze/src/lint/complexity/use_simple_number_keys.rs @@ -48,6 +48,7 @@ declare_rule! { pub UseSimpleNumberKeys { version: "1.0.0", name: "useSimpleNumberKeys", + language: "js", recommended: true, fix_kind: FixKind::Safe, } diff --git a/crates/biome_js_analyze/src/lint/complexity/use_simplified_logic_expression.rs b/crates/biome_js_analyze/src/lint/complexity/use_simplified_logic_expression.rs index 0aaae4f97864..2f202485afb7 100644 --- a/crates/biome_js_analyze/src/lint/complexity/use_simplified_logic_expression.rs +++ b/crates/biome_js_analyze/src/lint/complexity/use_simplified_logic_expression.rs @@ -51,6 +51,7 @@ declare_rule! { pub UseSimplifiedLogicExpression { version: "1.0.0", name: "useSimplifiedLogicExpression", + language: "js", recommended: false, fix_kind: FixKind::Unsafe, } diff --git a/crates/biome_js_analyze/src/lint/correctness/no_children_prop.rs b/crates/biome_js_analyze/src/lint/correctness/no_children_prop.rs index 5647f1c83e92..2cac56d9d69a 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_children_prop.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_children_prop.rs @@ -25,6 +25,7 @@ declare_rule! { pub NoChildrenProp { version: "1.0.0", name: "noChildrenProp", + language: "jsx", sources: &[RuleSource::EslintReact("no-children-prop")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/correctness/no_const_assign.rs b/crates/biome_js_analyze/src/lint/correctness/no_const_assign.rs index 8f49570096b8..301f65bf9116 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_const_assign.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_const_assign.rs @@ -50,6 +50,7 @@ declare_rule! { pub NoConstAssign { version: "1.0.0", name: "noConstAssign", + language: "js", sources: &[RuleSource::Eslint("no-const-assign")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/correctness/no_constant_condition.rs b/crates/biome_js_analyze/src/lint/correctness/no_constant_condition.rs index 2145ab4a0a99..a3cb5ff8c8ea 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_constant_condition.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_constant_condition.rs @@ -82,6 +82,7 @@ declare_rule! { pub NoConstantCondition { version: "1.0.0", name: "noConstantCondition", + language: "js", sources: &[RuleSource::Eslint("no-constant-condition")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/correctness/no_constructor_return.rs b/crates/biome_js_analyze/src/lint/correctness/no_constructor_return.rs index d81e22ed381b..4a43f58ae77a 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_constructor_return.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_constructor_return.rs @@ -46,6 +46,7 @@ declare_rule! { pub NoConstructorReturn { version: "1.0.0", name: "noConstructorReturn", + language: "js", sources: &[RuleSource::Eslint("no-constructor-return")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/correctness/no_empty_character_class_in_regex.rs b/crates/biome_js_analyze/src/lint/correctness/no_empty_character_class_in_regex.rs index 4e04bdaae5ce..291a08136e75 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_empty_character_class_in_regex.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_empty_character_class_in_regex.rs @@ -41,6 +41,7 @@ declare_rule! { pub NoEmptyCharacterClassInRegex { version: "1.3.0", name: "noEmptyCharacterClassInRegex", + language: "js", sources: &[RuleSource::Eslint("no-empty-character-class")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/correctness/no_empty_pattern.rs b/crates/biome_js_analyze/src/lint/correctness/no_empty_pattern.rs index 035b1884f63f..34fb309f6315 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_empty_pattern.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_empty_pattern.rs @@ -35,6 +35,7 @@ declare_rule! { pub NoEmptyPattern { version: "1.0.0", name: "noEmptyPattern", + language: "js", sources: &[RuleSource::Eslint("no-empty-pattern")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/correctness/no_global_object_calls.rs b/crates/biome_js_analyze/src/lint/correctness/no_global_object_calls.rs index cb222c308dfb..9ac22ecaa435 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_global_object_calls.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_global_object_calls.rs @@ -86,6 +86,7 @@ declare_rule! { pub NoGlobalObjectCalls { version: "1.0.0", name: "noGlobalObjectCalls", + language: "js", sources: &[RuleSource::Eslint("no-obj-calls")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/correctness/no_inner_declarations.rs b/crates/biome_js_analyze/src/lint/correctness/no_inner_declarations.rs index 3b89e1151ee4..2088679e2a40 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_inner_declarations.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_inner_declarations.rs @@ -88,6 +88,7 @@ declare_rule! { pub NoInnerDeclarations { version: "1.0.0", name: "noInnerDeclarations", + language: "js", sources: &[RuleSource::Eslint("no-inner-declarations")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/correctness/no_invalid_constructor_super.rs b/crates/biome_js_analyze/src/lint/correctness/no_invalid_constructor_super.rs index 452b4efd3d05..7d30bcdf84f5 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_invalid_constructor_super.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_invalid_constructor_super.rs @@ -48,6 +48,7 @@ declare_rule! { pub NoInvalidConstructorSuper { version: "1.0.0", name: "noInvalidConstructorSuper", + language: "js", sources: &[RuleSource::Eslint("constructor-super")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/correctness/no_invalid_new_builtin.rs b/crates/biome_js_analyze/src/lint/correctness/no_invalid_new_builtin.rs index 4ab50eda6ece..ba2c7e9f2a4f 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_invalid_new_builtin.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_invalid_new_builtin.rs @@ -52,6 +52,7 @@ declare_rule! { pub NoInvalidNewBuiltin { version: "1.3.0", name: "noInvalidNewBuiltin", + language: "js", // TODO: Remove this source once `useConsistentBuiltinInstantiation` is stable sources: &[RuleSource::Eslint("no-new-native-nonconstructor")], recommended: true, diff --git a/crates/biome_js_analyze/src/lint/correctness/no_invalid_use_before_declaration.rs b/crates/biome_js_analyze/src/lint/correctness/no_invalid_use_before_declaration.rs index 4dc3d00d8ee1..0d529b2fa3b9 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_invalid_use_before_declaration.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_invalid_use_before_declaration.rs @@ -60,6 +60,7 @@ declare_rule! { pub NoInvalidUseBeforeDeclaration { version: "1.5.0", name: "noInvalidUseBeforeDeclaration", + language: "js", sources: &[ RuleSource::Eslint("no-use-before-define"), RuleSource::EslintTypeScript("no-use-before-define"), diff --git a/crates/biome_js_analyze/src/lint/correctness/no_new_symbol.rs b/crates/biome_js_analyze/src/lint/correctness/no_new_symbol.rs index 09ec199a0391..7c417152409b 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_new_symbol.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_new_symbol.rs @@ -33,6 +33,7 @@ declare_rule! { pub NoNewSymbol { version: "1.0.0", name: "noNewSymbol", + language: "js", recommended: false, sources: &[RuleSource::Eslint("no-new-symbol")], deprecated: "Use `noInvalidNewBuiltin` instead.", diff --git a/crates/biome_js_analyze/src/lint/correctness/no_nonoctal_decimal_escape.rs b/crates/biome_js_analyze/src/lint/correctness/no_nonoctal_decimal_escape.rs index 378a62d6791b..6d278b2bdaa4 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_nonoctal_decimal_escape.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_nonoctal_decimal_escape.rs @@ -56,6 +56,7 @@ declare_rule! { pub NoNonoctalDecimalEscape { version: "1.0.0", name: "noNonoctalDecimalEscape", + language: "js", sources: &[RuleSource::Eslint("no-nonoctal-decimal-escape")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/correctness/no_precision_loss.rs b/crates/biome_js_analyze/src/lint/correctness/no_precision_loss.rs index deafc6b06c71..f52f0c5fd409 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_precision_loss.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_precision_loss.rs @@ -48,6 +48,7 @@ declare_rule! { pub NoPrecisionLoss { version: "1.0.0", name: "noPrecisionLoss", + language: "js", sources: &[ RuleSource::Eslint("no-loss-of-precision"), RuleSource::EslintTypeScript("no-loss-of-precision"), diff --git a/crates/biome_js_analyze/src/lint/correctness/no_render_return_value.rs b/crates/biome_js_analyze/src/lint/correctness/no_render_return_value.rs index e018ff9410eb..49fe12730b33 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_render_return_value.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_render_return_value.rs @@ -32,6 +32,7 @@ declare_rule! { pub NoRenderReturnValue { version: "1.0.0", name: "noRenderReturnValue", + language: "jsx", recommended: true, } } diff --git a/crates/biome_js_analyze/src/lint/correctness/no_self_assign.rs b/crates/biome_js_analyze/src/lint/correctness/no_self_assign.rs index e0602566056e..7584462779d8 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_self_assign.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_self_assign.rs @@ -66,6 +66,7 @@ declare_rule! { pub NoSelfAssign { version: "1.0.0", name: "noSelfAssign", + language: "js", sources: &[ RuleSource::Eslint("no-self-assign"), RuleSource::Clippy("self_assignment"), diff --git a/crates/biome_js_analyze/src/lint/correctness/no_setter_return.rs b/crates/biome_js_analyze/src/lint/correctness/no_setter_return.rs index 8cc80a2e8f55..bc00516fc1a4 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_setter_return.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_setter_return.rs @@ -67,6 +67,7 @@ declare_rule! { pub NoSetterReturn { version: "1.0.0", name: "noSetterReturn", + language: "js", sources: &[RuleSource::Eslint("no-setter-return")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/correctness/no_string_case_mismatch.rs b/crates/biome_js_analyze/src/lint/correctness/no_string_case_mismatch.rs index c5386024bd66..ae7b664eeca3 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_string_case_mismatch.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_string_case_mismatch.rs @@ -34,6 +34,7 @@ declare_rule! { pub NoStringCaseMismatch { version: "1.0.0", name: "noStringCaseMismatch", + language: "js", sources: &[RuleSource::Clippy("match_str_case_mismatch")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/correctness/no_switch_declarations.rs b/crates/biome_js_analyze/src/lint/correctness/no_switch_declarations.rs index a09872bc55c5..343cecfeadf3 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_switch_declarations.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_switch_declarations.rs @@ -72,6 +72,7 @@ declare_rule! { pub NoSwitchDeclarations { version: "1.0.0", name: "noSwitchDeclarations", + language: "js", sources: &[RuleSource::Eslint("no-case-declarations")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/correctness/no_undeclared_variables.rs b/crates/biome_js_analyze/src/lint/correctness/no_undeclared_variables.rs index 33526dc9ebab..2f64fe639709 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_undeclared_variables.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_undeclared_variables.rs @@ -31,6 +31,7 @@ declare_rule! { pub NoUndeclaredVariables { version: "1.0.0", name: "noUndeclaredVariables", + language: "js", sources: &[RuleSource::Eslint("no-undef")], recommended: false, } diff --git a/crates/biome_js_analyze/src/lint/correctness/no_unnecessary_continue.rs b/crates/biome_js_analyze/src/lint/correctness/no_unnecessary_continue.rs index cc1fea6339be..5737ce6c3799 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_unnecessary_continue.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_unnecessary_continue.rs @@ -74,6 +74,7 @@ declare_rule! { pub NoUnnecessaryContinue { version: "1.0.0", name: "noUnnecessaryContinue", + language: "js", recommended: true, fix_kind: FixKind::Unsafe, } diff --git a/crates/biome_js_analyze/src/lint/correctness/no_unreachable.rs b/crates/biome_js_analyze/src/lint/correctness/no_unreachable.rs index 892b69639bc1..befc74379b96 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_unreachable.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_unreachable.rs @@ -50,6 +50,7 @@ declare_rule! { pub NoUnreachable { version: "1.0.0", name: "noUnreachable", + language: "js", sources: &[RuleSource::Eslint("no-unreachable")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/correctness/no_unreachable_super.rs b/crates/biome_js_analyze/src/lint/correctness/no_unreachable_super.rs index db32f6637e29..fad456df20ec 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_unreachable_super.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_unreachable_super.rs @@ -64,6 +64,7 @@ declare_rule! { pub NoUnreachableSuper { version: "1.0.0", name: "noUnreachableSuper", + language: "js", sources: &[RuleSource::Eslint("no-this-before-super")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/correctness/no_unsafe_finally.rs b/crates/biome_js_analyze/src/lint/correctness/no_unsafe_finally.rs index 832afe49b2d5..194188ccd992 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_unsafe_finally.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_unsafe_finally.rs @@ -127,6 +127,7 @@ declare_rule! { pub NoUnsafeFinally { version: "1.0.0", name: "noUnsafeFinally", + language: "js", sources: &[RuleSource::Eslint("no-unsafe-finally")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/correctness/no_unsafe_optional_chaining.rs b/crates/biome_js_analyze/src/lint/correctness/no_unsafe_optional_chaining.rs index 28ed6ee66fcd..9704fe26870b 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_unsafe_optional_chaining.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_unsafe_optional_chaining.rs @@ -64,6 +64,7 @@ declare_rule! { pub NoUnsafeOptionalChaining { version: "1.0.0", name: "noUnsafeOptionalChaining", + language: "js", sources: &[RuleSource::Eslint("no-unsafe-optional-chaining")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/correctness/no_unused_imports.rs b/crates/biome_js_analyze/src/lint/correctness/no_unused_imports.rs index 31b2137e56e3..3451293bb1bb 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_unused_imports.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_unused_imports.rs @@ -79,6 +79,7 @@ declare_rule! { pub NoUnusedImports { version: "1.3.0", name: "noUnusedImports", + language: "js", recommended: false, fix_kind: FixKind::Safe, } diff --git a/crates/biome_js_analyze/src/lint/correctness/no_unused_labels.rs b/crates/biome_js_analyze/src/lint/correctness/no_unused_labels.rs index 609f33708ce4..9a0147631a6f 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_unused_labels.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_unused_labels.rs @@ -62,6 +62,7 @@ declare_rule! { pub NoUnusedLabels { version: "1.0.0", name: "noUnusedLabels", + language: "js", sources: &[RuleSource::Eslint("no-unused-labels")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/correctness/no_unused_private_class_members.rs b/crates/biome_js_analyze/src/lint/correctness/no_unused_private_class_members.rs index 3a72f8f58745..dec5fd96703b 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_unused_private_class_members.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_unused_private_class_members.rs @@ -64,6 +64,7 @@ declare_rule! { pub NoUnusedPrivateClassMembers { version: "1.3.3", name: "noUnusedPrivateClassMembers", + language: "js", sources: &[RuleSource::Eslint("no-unused-private-class-members")], recommended: false, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/correctness/no_unused_variables.rs b/crates/biome_js_analyze/src/lint/correctness/no_unused_variables.rs index 7d23a65cd8e3..25a1ade0275b 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_unused_variables.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_unused_variables.rs @@ -90,6 +90,7 @@ declare_rule! { pub NoUnusedVariables { version: "1.0.0", name: "noUnusedVariables", + language: "js", sources: &[ RuleSource::Eslint("no-unused-vars"), RuleSource::EslintTypeScript("no-unused-vars"), diff --git a/crates/biome_js_analyze/src/lint/correctness/no_void_elements_with_children.rs b/crates/biome_js_analyze/src/lint/correctness/no_void_elements_with_children.rs index 9b30c5960341..516d67749f39 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_void_elements_with_children.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_void_elements_with_children.rs @@ -33,6 +33,7 @@ declare_rule! { pub NoVoidElementsWithChildren { version: "1.0.0", name: "noVoidElementsWithChildren", + language: "jsx", sources: &[RuleSource::EslintReact("void-dom-elements-no-children")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/correctness/no_void_type_return.rs b/crates/biome_js_analyze/src/lint/correctness/no_void_type_return.rs index 9f2f60387eb4..9dfd04b8e37d 100644 --- a/crates/biome_js_analyze/src/lint/correctness/no_void_type_return.rs +++ b/crates/biome_js_analyze/src/lint/correctness/no_void_type_return.rs @@ -87,6 +87,7 @@ declare_rule! { pub NoVoidTypeReturn { version: "1.0.0", name: "noVoidTypeReturn", + language: "ts", recommended: true, } } diff --git a/crates/biome_js_analyze/src/lint/correctness/use_exhaustive_dependencies.rs b/crates/biome_js_analyze/src/lint/correctness/use_exhaustive_dependencies.rs index 11803dd26ba8..e4af2ba9532e 100644 --- a/crates/biome_js_analyze/src/lint/correctness/use_exhaustive_dependencies.rs +++ b/crates/biome_js_analyze/src/lint/correctness/use_exhaustive_dependencies.rs @@ -219,6 +219,7 @@ declare_rule! { pub UseExhaustiveDependencies { version: "1.0.0", name: "useExhaustiveDependencies", + language: "jsx", sources: &[RuleSource::EslintReactHooks("exhaustive-deps")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/correctness/use_hook_at_top_level.rs b/crates/biome_js_analyze/src/lint/correctness/use_hook_at_top_level.rs index 77f066f7f16d..3e8037947166 100644 --- a/crates/biome_js_analyze/src/lint/correctness/use_hook_at_top_level.rs +++ b/crates/biome_js_analyze/src/lint/correctness/use_hook_at_top_level.rs @@ -65,6 +65,7 @@ declare_rule! { pub UseHookAtTopLevel { version: "1.0.0", name: "useHookAtTopLevel", + language: "jsx", sources: &[RuleSource::EslintReactHooks("rules-of-hooks")], recommended: false, } diff --git a/crates/biome_js_analyze/src/lint/correctness/use_is_nan.rs b/crates/biome_js_analyze/src/lint/correctness/use_is_nan.rs index 9a8f8bc91eab..cfb7fac79ef2 100644 --- a/crates/biome_js_analyze/src/lint/correctness/use_is_nan.rs +++ b/crates/biome_js_analyze/src/lint/correctness/use_is_nan.rs @@ -62,6 +62,7 @@ declare_rule! { pub UseIsNan { version: "1.0.0", name: "useIsNan", + language: "js", sources: &[RuleSource::Eslint("use-isnan")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/correctness/use_jsx_key_in_iterable.rs b/crates/biome_js_analyze/src/lint/correctness/use_jsx_key_in_iterable.rs index 90291e526292..fa6d61a509cc 100644 --- a/crates/biome_js_analyze/src/lint/correctness/use_jsx_key_in_iterable.rs +++ b/crates/biome_js_analyze/src/lint/correctness/use_jsx_key_in_iterable.rs @@ -38,6 +38,7 @@ declare_rule! { pub UseJsxKeyInIterable { version: "1.6.0", name: "useJsxKeyInIterable", + language: "jsx", sources: &[RuleSource::EslintReact("jsx-key")], source_kind: RuleSourceKind::SameLogic, recommended: true, diff --git a/crates/biome_js_analyze/src/lint/correctness/use_valid_for_direction.rs b/crates/biome_js_analyze/src/lint/correctness/use_valid_for_direction.rs index b5638ea6f010..569d1dd6af85 100644 --- a/crates/biome_js_analyze/src/lint/correctness/use_valid_for_direction.rs +++ b/crates/biome_js_analyze/src/lint/correctness/use_valid_for_direction.rs @@ -41,6 +41,7 @@ declare_rule! { pub UseValidForDirection { version: "1.0.0", name: "useValidForDirection", + language: "js", sources: &[RuleSource::Eslint("for-direction")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/correctness/use_yield.rs b/crates/biome_js_analyze/src/lint/correctness/use_yield.rs index f3d3339f6629..3eff02f4c240 100644 --- a/crates/biome_js_analyze/src/lint/correctness/use_yield.rs +++ b/crates/biome_js_analyze/src/lint/correctness/use_yield.rs @@ -39,6 +39,7 @@ declare_rule! { pub UseYield { version: "1.0.0", name: "useYield", + language: "js", sources: &[RuleSource::Eslint("require-yield")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/nursery/no_console.rs b/crates/biome_js_analyze/src/lint/nursery/no_console.rs index c679663ef437..e00bc69b7fdc 100644 --- a/crates/biome_js_analyze/src/lint/nursery/no_console.rs +++ b/crates/biome_js_analyze/src/lint/nursery/no_console.rs @@ -23,6 +23,7 @@ declare_rule! { pub NoConsole { version: "1.6.0", name: "noConsole", + language: "js", sources: &[RuleSource::Eslint("no-console")], recommended: false, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/nursery/no_constant_math_min_max_clamp.rs b/crates/biome_js_analyze/src/lint/nursery/no_constant_math_min_max_clamp.rs index 46da716ce6fd..256b2bf3f089 100644 --- a/crates/biome_js_analyze/src/lint/nursery/no_constant_math_min_max_clamp.rs +++ b/crates/biome_js_analyze/src/lint/nursery/no_constant_math_min_max_clamp.rs @@ -37,6 +37,7 @@ declare_rule! { pub NoConstantMathMinMaxClamp { version: "1.7.0", name: "noConstantMathMinMaxClamp", + language: "js", sources: &[RuleSource::Clippy("min_max")], recommended: false, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/nursery/no_done_callback.rs b/crates/biome_js_analyze/src/lint/nursery/no_done_callback.rs index 56ea7a8e1cd4..0cec9b8402bc 100644 --- a/crates/biome_js_analyze/src/lint/nursery/no_done_callback.rs +++ b/crates/biome_js_analyze/src/lint/nursery/no_done_callback.rs @@ -46,6 +46,7 @@ declare_rule! { pub NoDoneCallback { version: "1.6.1", name: "noDoneCallback", + language: "js", recommended: true, sources: &[RuleSource::EslintJest("no-done-callback")], source_kind: RuleSourceKind::SameLogic, diff --git a/crates/biome_js_analyze/src/lint/nursery/no_duplicate_else_if.rs b/crates/biome_js_analyze/src/lint/nursery/no_duplicate_else_if.rs index ac6396cdd60f..d2d3cffa5526 100644 --- a/crates/biome_js_analyze/src/lint/nursery/no_duplicate_else_if.rs +++ b/crates/biome_js_analyze/src/lint/nursery/no_duplicate_else_if.rs @@ -47,6 +47,7 @@ declare_rule! { pub NoDuplicateElseIf { version: "1.6.2", name: "noDuplicateElseIf", + language: "js", recommended: true, sources: &[RuleSource::Eslint("no-dupe-else-if")], } diff --git a/crates/biome_js_analyze/src/lint/nursery/no_evolving_any.rs b/crates/biome_js_analyze/src/lint/nursery/no_evolving_any.rs index 8adde53393cc..ac792aa5f710 100644 --- a/crates/biome_js_analyze/src/lint/nursery/no_evolving_any.rs +++ b/crates/biome_js_analyze/src/lint/nursery/no_evolving_any.rs @@ -44,6 +44,7 @@ declare_rule! { pub NoEvolvingAny { version: "1.6.3", name: "noEvolvingAny", + language: "ts", recommended: true, } } diff --git a/crates/biome_js_analyze/src/lint/nursery/no_flat_map_identity.rs b/crates/biome_js_analyze/src/lint/nursery/no_flat_map_identity.rs index ac718db31d3c..1684ed1d7673 100644 --- a/crates/biome_js_analyze/src/lint/nursery/no_flat_map_identity.rs +++ b/crates/biome_js_analyze/src/lint/nursery/no_flat_map_identity.rs @@ -39,6 +39,7 @@ declare_rule! { pub NoFlatMapIdentity { version: "1.7.0", name: "noFlatMapIdentity", + language: "js", recommended: true, sources: &[RuleSource::Clippy("flat_map_identity")], fix_kind: FixKind::Safe, diff --git a/crates/biome_js_analyze/src/lint/nursery/no_misplaced_assertion.rs b/crates/biome_js_analyze/src/lint/nursery/no_misplaced_assertion.rs index 8794752d419d..a0278a84be9d 100644 --- a/crates/biome_js_analyze/src/lint/nursery/no_misplaced_assertion.rs +++ b/crates/biome_js_analyze/src/lint/nursery/no_misplaced_assertion.rs @@ -105,6 +105,7 @@ declare_rule! { pub NoMisplacedAssertion { version: "next", name: "noMisplacedAssertion", + language: "js", recommended: false, sources: &[RuleSource::EslintJest("no-standalone-expect")], source_kind: RuleSourceKind::Inspired, diff --git a/crates/biome_js_analyze/src/lint/nursery/no_nodejs_modules.rs b/crates/biome_js_analyze/src/lint/nursery/no_nodejs_modules.rs index 33a2f0631b67..18406ed5fe2e 100644 --- a/crates/biome_js_analyze/src/lint/nursery/no_nodejs_modules.rs +++ b/crates/biome_js_analyze/src/lint/nursery/no_nodejs_modules.rs @@ -29,6 +29,7 @@ declare_rule! { pub NoNodejsModules { version: "1.5.0", name: "noNodejsModules", + language: "js", sources: &[RuleSource::EslintImport("no-nodejs-modules")], recommended: false, } diff --git a/crates/biome_js_analyze/src/lint/nursery/no_react_specific_props.rs b/crates/biome_js_analyze/src/lint/nursery/no_react_specific_props.rs index 37c589a04417..a809baebe7dc 100644 --- a/crates/biome_js_analyze/src/lint/nursery/no_react_specific_props.rs +++ b/crates/biome_js_analyze/src/lint/nursery/no_react_specific_props.rs @@ -29,6 +29,7 @@ declare_rule! { pub NoReactSpecificProps { version: "1.7.2", name: "noReactSpecificProps", + language: "js", sources: &[RuleSource::EslintSolid("no-react-specific-props")], recommended: false, fix_kind: FixKind::Safe, diff --git a/crates/biome_js_analyze/src/lint/nursery/no_restricted_imports.rs b/crates/biome_js_analyze/src/lint/nursery/no_restricted_imports.rs index 42e421d59f83..fd2f4be81c82 100644 --- a/crates/biome_js_analyze/src/lint/nursery/no_restricted_imports.rs +++ b/crates/biome_js_analyze/src/lint/nursery/no_restricted_imports.rs @@ -27,6 +27,7 @@ declare_rule! { pub NoRestrictedImports { version: "1.6.0", name: "noRestrictedImports", + language: "js", sources: &[ RuleSource::Eslint("no-restricted-imports"), RuleSource::EslintTypeScript("no-restricted-imports"), diff --git a/crates/biome_js_analyze/src/lint/nursery/no_undeclared_dependencies.rs b/crates/biome_js_analyze/src/lint/nursery/no_undeclared_dependencies.rs index aa3a6b3095d9..146f573086a9 100644 --- a/crates/biome_js_analyze/src/lint/nursery/no_undeclared_dependencies.rs +++ b/crates/biome_js_analyze/src/lint/nursery/no_undeclared_dependencies.rs @@ -32,6 +32,7 @@ declare_rule! { pub NoUndeclaredDependencies { version: "1.6.0", name: "noUndeclaredDependencies", + language: "js", recommended: false, } } diff --git a/crates/biome_js_analyze/src/lint/nursery/no_useless_string_concat.rs b/crates/biome_js_analyze/src/lint/nursery/no_useless_string_concat.rs index 3e00f60bdfc0..57faeadd1658 100644 --- a/crates/biome_js_analyze/src/lint/nursery/no_useless_string_concat.rs +++ b/crates/biome_js_analyze/src/lint/nursery/no_useless_string_concat.rs @@ -65,6 +65,7 @@ declare_rule! { pub NoUselessStringConcat { version: "next", name: "noUselessStringConcat", + language: "js", sources: &[RuleSource::Eslint("no-useless-concat")], recommended: false, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/nursery/no_useless_undefined_initialization.rs b/crates/biome_js_analyze/src/lint/nursery/no_useless_undefined_initialization.rs index 4bb0d671d7e5..d03b32d618e7 100644 --- a/crates/biome_js_analyze/src/lint/nursery/no_useless_undefined_initialization.rs +++ b/crates/biome_js_analyze/src/lint/nursery/no_useless_undefined_initialization.rs @@ -49,6 +49,7 @@ declare_rule! { pub NoUselessUndefinedInitialization { version: "1.7.2", name: "noUselessUndefinedInitialization", + language: "js", sources: &[RuleSource::Eslint("no-undef-init")], source_kind: RuleSourceKind::Inspired, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/nursery/use_array_literals.rs b/crates/biome_js_analyze/src/lint/nursery/use_array_literals.rs index 5fa71e147044..5aa7cf3be38f 100644 --- a/crates/biome_js_analyze/src/lint/nursery/use_array_literals.rs +++ b/crates/biome_js_analyze/src/lint/nursery/use_array_literals.rs @@ -44,6 +44,7 @@ declare_rule! { pub UseArrayLiterals { version: "1.7.2", name: "useArrayLiterals", + language: "js", sources: &[RuleSource::Eslint("no-array-constructor")], recommended: false, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/nursery/use_consistent_builtin_instantiation.rs b/crates/biome_js_analyze/src/lint/nursery/use_consistent_builtin_instantiation.rs index c8c10695b918..e7d016fbdacf 100644 --- a/crates/biome_js_analyze/src/lint/nursery/use_consistent_builtin_instantiation.rs +++ b/crates/biome_js_analyze/src/lint/nursery/use_consistent_builtin_instantiation.rs @@ -102,6 +102,7 @@ declare_rule! { pub UseConsistentBuiltinInstantiation { version: "1.7.2", name: "useConsistentBuiltinInstantiation", + language: "js", sources: &[ RuleSource::EslintUnicorn("new-for-builtins"), RuleSource::Eslint("no-new-wrappers"), diff --git a/crates/biome_js_analyze/src/lint/nursery/use_default_switch_clause.rs b/crates/biome_js_analyze/src/lint/nursery/use_default_switch_clause.rs index 9c7d8c59f8f7..eb4ee6e3b643 100644 --- a/crates/biome_js_analyze/src/lint/nursery/use_default_switch_clause.rs +++ b/crates/biome_js_analyze/src/lint/nursery/use_default_switch_clause.rs @@ -40,6 +40,7 @@ declare_rule! { pub UseDefaultSwitchClause { version: "1.7.2", name: "useDefaultSwitchClause", + language: "js", sources: &[RuleSource::Eslint("default-case")], recommended: false, } diff --git a/crates/biome_js_analyze/src/lint/nursery/use_explicit_length_check.rs b/crates/biome_js_analyze/src/lint/nursery/use_explicit_length_check.rs index 6e2f534afab2..4d61fa878977 100644 --- a/crates/biome_js_analyze/src/lint/nursery/use_explicit_length_check.rs +++ b/crates/biome_js_analyze/src/lint/nursery/use_explicit_length_check.rs @@ -123,6 +123,7 @@ declare_rule! { pub UseExplicitLengthCheck { version: "1.7.3", name: "useExplicitLengthCheck", + language: "js", recommended: false, sources: &[RuleSource::EslintUnicorn("explicit-length-check")], source_kind: RuleSourceKind::Inspired, diff --git a/crates/biome_js_analyze/src/lint/nursery/use_focusable_interactive.rs b/crates/biome_js_analyze/src/lint/nursery/use_focusable_interactive.rs index fcc12bdc8e84..ac7e9eb7672c 100644 --- a/crates/biome_js_analyze/src/lint/nursery/use_focusable_interactive.rs +++ b/crates/biome_js_analyze/src/lint/nursery/use_focusable_interactive.rs @@ -40,6 +40,7 @@ declare_rule! { pub UseFocusableInteractive { version: "next", name: "useFocusableInteractive", + language: "jsx", sources: &[RuleSource::EslintJsxA11y("interactive-support-focus")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/nursery/use_import_restrictions.rs b/crates/biome_js_analyze/src/lint/nursery/use_import_restrictions.rs index 83edad07cf14..f0ea9c7b3b45 100644 --- a/crates/biome_js_analyze/src/lint/nursery/use_import_restrictions.rs +++ b/crates/biome_js_analyze/src/lint/nursery/use_import_restrictions.rs @@ -75,6 +75,7 @@ declare_rule! { pub UseImportRestrictions { version: "1.0.0", name: "useImportRestrictions", + language: "js", sources: &[RuleSource::EslintImportAccess("eslint-plugin-import-access")], source_kind: RuleSourceKind::Inspired, recommended: false, diff --git a/crates/biome_js_analyze/src/lint/nursery/use_sorted_classes.rs b/crates/biome_js_analyze/src/lint/nursery/use_sorted_classes.rs index f45489f3d49a..f1a483ce3e58 100644 --- a/crates/biome_js_analyze/src/lint/nursery/use_sorted_classes.rs +++ b/crates/biome_js_analyze/src/lint/nursery/use_sorted_classes.rs @@ -141,6 +141,7 @@ declare_rule! { pub UseSortedClasses { version: "1.6.0", name: "useSortedClasses", + language: "jsx", recommended: false, fix_kind: FixKind::Unsafe, } diff --git a/crates/biome_js_analyze/src/lint/nursery/use_throw_new_error.rs b/crates/biome_js_analyze/src/lint/nursery/use_throw_new_error.rs index 7b87e5a57ddd..e5664e673811 100644 --- a/crates/biome_js_analyze/src/lint/nursery/use_throw_new_error.rs +++ b/crates/biome_js_analyze/src/lint/nursery/use_throw_new_error.rs @@ -48,6 +48,7 @@ declare_rule! { pub UseThrowNewError { version: "next", name: "useThrowNewError", + language: "js", sources: &[RuleSource::EslintUnicorn("throw-new-error")], recommended: false, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/performance/no_accumulating_spread.rs b/crates/biome_js_analyze/src/lint/performance/no_accumulating_spread.rs index 1e3e7159c134..db8f81181045 100644 --- a/crates/biome_js_analyze/src/lint/performance/no_accumulating_spread.rs +++ b/crates/biome_js_analyze/src/lint/performance/no_accumulating_spread.rs @@ -48,6 +48,7 @@ declare_rule! { pub NoAccumulatingSpread { version: "1.0.0", name: "noAccumulatingSpread", + language: "js", recommended: true, } } diff --git a/crates/biome_js_analyze/src/lint/performance/no_barrel_file.rs b/crates/biome_js_analyze/src/lint/performance/no_barrel_file.rs index 5d22a9da2437..87e386f91515 100644 --- a/crates/biome_js_analyze/src/lint/performance/no_barrel_file.rs +++ b/crates/biome_js_analyze/src/lint/performance/no_barrel_file.rs @@ -44,6 +44,7 @@ declare_rule! { pub NoBarrelFile { version: "1.6.0", name: "noBarrelFile", + language: "ts", recommended: false, sources: &[RuleSource::EslintBarrelFiles("avoid-barrel-files")], source_kind: RuleSourceKind::Inspired, diff --git a/crates/biome_js_analyze/src/lint/performance/no_delete.rs b/crates/biome_js_analyze/src/lint/performance/no_delete.rs index c6cd97d1c1a7..c56b572f43d3 100644 --- a/crates/biome_js_analyze/src/lint/performance/no_delete.rs +++ b/crates/biome_js_analyze/src/lint/performance/no_delete.rs @@ -61,6 +61,7 @@ declare_rule! { pub NoDelete { version: "1.0.0", name: "noDelete", + language: "js", recommended: true, fix_kind: FixKind::Unsafe, } diff --git a/crates/biome_js_analyze/src/lint/performance/no_re_export_all.rs b/crates/biome_js_analyze/src/lint/performance/no_re_export_all.rs index 85f5d588b839..345790d20ba9 100644 --- a/crates/biome_js_analyze/src/lint/performance/no_re_export_all.rs +++ b/crates/biome_js_analyze/src/lint/performance/no_re_export_all.rs @@ -38,6 +38,7 @@ declare_rule! { pub NoReExportAll { version: "1.6.0", name: "noReExportAll", + language: "js", recommended: false, sources: &[RuleSource::EslintBarrelFiles("avoid-re-export-all")], source_kind: RuleSourceKind::SameLogic, diff --git a/crates/biome_js_analyze/src/lint/security/no_dangerously_set_inner_html.rs b/crates/biome_js_analyze/src/lint/security/no_dangerously_set_inner_html.rs index ba2ca01bc562..ab1e02d4d4cc 100644 --- a/crates/biome_js_analyze/src/lint/security/no_dangerously_set_inner_html.rs +++ b/crates/biome_js_analyze/src/lint/security/no_dangerously_set_inner_html.rs @@ -28,6 +28,7 @@ declare_rule! { pub NoDangerouslySetInnerHtml { version: "1.0.0", name: "noDangerouslySetInnerHtml", + language: "jsx", sources: &[RuleSource::EslintReact("no-danger-with-children")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/security/no_dangerously_set_inner_html_with_children.rs b/crates/biome_js_analyze/src/lint/security/no_dangerously_set_inner_html_with_children.rs index a38d6a9661c6..7573dc95f9e9 100644 --- a/crates/biome_js_analyze/src/lint/security/no_dangerously_set_inner_html_with_children.rs +++ b/crates/biome_js_analyze/src/lint/security/no_dangerously_set_inner_html_with_children.rs @@ -37,6 +37,7 @@ declare_rule! { pub NoDangerouslySetInnerHtmlWithChildren { version: "1.0.0", name: "noDangerouslySetInnerHtmlWithChildren", + language: "jsx", sources: &[RuleSource::EslintReact("no-danger")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/security/no_global_eval.rs b/crates/biome_js_analyze/src/lint/security/no_global_eval.rs index 173b39544455..a63d87e2cdd1 100644 --- a/crates/biome_js_analyze/src/lint/security/no_global_eval.rs +++ b/crates/biome_js_analyze/src/lint/security/no_global_eval.rs @@ -52,6 +52,7 @@ declare_rule! { pub NoGlobalEval { version: "1.5.0", name: "noGlobalEval", + language: "js", sources: &[RuleSource::Eslint("no-eval")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/style/no_arguments.rs b/crates/biome_js_analyze/src/lint/style/no_arguments.rs index cd81fa58160c..1e82d2caf21b 100644 --- a/crates/biome_js_analyze/src/lint/style/no_arguments.rs +++ b/crates/biome_js_analyze/src/lint/style/no_arguments.rs @@ -27,6 +27,7 @@ declare_rule! { pub NoArguments { version: "1.0.0", name: "noArguments", + language: "js", sources: &[RuleSource::Eslint("prefer-rest-params")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/style/no_comma_operator.rs b/crates/biome_js_analyze/src/lint/style/no_comma_operator.rs index b5d9b77ea3ca..b587f0e3ece4 100644 --- a/crates/biome_js_analyze/src/lint/style/no_comma_operator.rs +++ b/crates/biome_js_analyze/src/lint/style/no_comma_operator.rs @@ -39,6 +39,7 @@ declare_rule! { pub NoCommaOperator { version: "1.0.0", name: "noCommaOperator", + language: "js", sources: &[RuleSource::Eslint("no-sequences")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/style/no_default_export.rs b/crates/biome_js_analyze/src/lint/style/no_default_export.rs index 71dbb3b2ca27..dad3e1399976 100644 --- a/crates/biome_js_analyze/src/lint/style/no_default_export.rs +++ b/crates/biome_js_analyze/src/lint/style/no_default_export.rs @@ -59,6 +59,7 @@ declare_rule! { pub NoDefaultExport { version: "1.4.0", name: "noDefaultExport", + language: "js", sources: &[RuleSource::EslintImport("no-default-export")], recommended: false, } diff --git a/crates/biome_js_analyze/src/lint/style/no_implicit_boolean.rs b/crates/biome_js_analyze/src/lint/style/no_implicit_boolean.rs index 3fe7d77eeb63..9e8794339b98 100644 --- a/crates/biome_js_analyze/src/lint/style/no_implicit_boolean.rs +++ b/crates/biome_js_analyze/src/lint/style/no_implicit_boolean.rs @@ -47,6 +47,7 @@ declare_rule! { pub NoImplicitBoolean { version: "1.0.0", name: "noImplicitBoolean", + language: "jsx", sources: &[RuleSource::EslintReact("jsx-boolean-value")], recommended: false, fix_kind: FixKind::Safe, diff --git a/crates/biome_js_analyze/src/lint/style/no_inferrable_types.rs b/crates/biome_js_analyze/src/lint/style/no_inferrable_types.rs index 1d1f675a42ad..efcecda36f32 100644 --- a/crates/biome_js_analyze/src/lint/style/no_inferrable_types.rs +++ b/crates/biome_js_analyze/src/lint/style/no_inferrable_types.rs @@ -98,6 +98,7 @@ declare_rule! { pub NoInferrableTypes { version: "1.0.0", name: "noInferrableTypes", + language: "ts", sources: &[RuleSource::EslintTypeScript("no-inferrable-types")], recommended: true, fix_kind: FixKind::Safe, diff --git a/crates/biome_js_analyze/src/lint/style/no_namespace.rs b/crates/biome_js_analyze/src/lint/style/no_namespace.rs index 515a2a9f335d..4159fb0b6c9a 100644 --- a/crates/biome_js_analyze/src/lint/style/no_namespace.rs +++ b/crates/biome_js_analyze/src/lint/style/no_namespace.rs @@ -48,6 +48,7 @@ declare_rule! { pub NoNamespace { version: "1.0.0", name: "noNamespace", + language: "ts", sources: &[RuleSource::EslintTypeScript("no-namespace")], recommended: false, } diff --git a/crates/biome_js_analyze/src/lint/style/no_namespace_import.rs b/crates/biome_js_analyze/src/lint/style/no_namespace_import.rs index 1a62d78acdd2..96d7c4a3165e 100644 --- a/crates/biome_js_analyze/src/lint/style/no_namespace_import.rs +++ b/crates/biome_js_analyze/src/lint/style/no_namespace_import.rs @@ -31,6 +31,7 @@ declare_rule! { pub NoNamespaceImport { version: "1.6.0", name: "noNamespaceImport", + language: "js", recommended: false, sources: &[RuleSource::EslintBarrelFiles("avoid-namespace-import")], source_kind: RuleSourceKind::SameLogic, diff --git a/crates/biome_js_analyze/src/lint/style/no_negation_else.rs b/crates/biome_js_analyze/src/lint/style/no_negation_else.rs index aa57b671ddcb..e8d38edd2c67 100644 --- a/crates/biome_js_analyze/src/lint/style/no_negation_else.rs +++ b/crates/biome_js_analyze/src/lint/style/no_negation_else.rs @@ -47,6 +47,7 @@ declare_rule! { pub NoNegationElse { version: "1.0.0", name: "noNegationElse", + language: "js", sources: &[ RuleSource::Eslint("no-negated-condition"), RuleSource::Clippy("if_not_else"), diff --git a/crates/biome_js_analyze/src/lint/style/no_non_null_assertion.rs b/crates/biome_js_analyze/src/lint/style/no_non_null_assertion.rs index 664ff840052f..dd99b36503b1 100644 --- a/crates/biome_js_analyze/src/lint/style/no_non_null_assertion.rs +++ b/crates/biome_js_analyze/src/lint/style/no_non_null_assertion.rs @@ -48,6 +48,7 @@ declare_rule! { pub NoNonNullAssertion { version: "1.0.0", name: "noNonNullAssertion", + language: "ts", sources: &[RuleSource::EslintTypeScript("no-non-null-assertion")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/style/no_parameter_assign.rs b/crates/biome_js_analyze/src/lint/style/no_parameter_assign.rs index 24606f1b2977..c892091a6d30 100644 --- a/crates/biome_js_analyze/src/lint/style/no_parameter_assign.rs +++ b/crates/biome_js_analyze/src/lint/style/no_parameter_assign.rs @@ -56,6 +56,7 @@ declare_rule! { pub NoParameterAssign { version: "1.0.0", name: "noParameterAssign", + language: "js", sources: &[RuleSource::Eslint("no-param-reassign")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/style/no_parameter_properties.rs b/crates/biome_js_analyze/src/lint/style/no_parameter_properties.rs index 75f8f5ba92f8..83235ecbffcc 100644 --- a/crates/biome_js_analyze/src/lint/style/no_parameter_properties.rs +++ b/crates/biome_js_analyze/src/lint/style/no_parameter_properties.rs @@ -33,6 +33,7 @@ declare_rule! { pub NoParameterProperties { version: "1.0.0", name: "noParameterProperties", + language: "ts", sources: &[RuleSource::EslintTypeScript("parameter-properties")], source_kind: RuleSourceKind::Inspired, recommended: false, diff --git a/crates/biome_js_analyze/src/lint/style/no_restricted_globals.rs b/crates/biome_js_analyze/src/lint/style/no_restricted_globals.rs index e8f26d431751..4676f0dafb9e 100644 --- a/crates/biome_js_analyze/src/lint/style/no_restricted_globals.rs +++ b/crates/biome_js_analyze/src/lint/style/no_restricted_globals.rs @@ -48,6 +48,7 @@ declare_rule! { pub NoRestrictedGlobals { version: "1.0.0", name: "noRestrictedGlobals", + language: "js", sources: &[RuleSource::Eslint("no-restricted-globals")], recommended: false, } diff --git a/crates/biome_js_analyze/src/lint/style/no_shouty_constants.rs b/crates/biome_js_analyze/src/lint/style/no_shouty_constants.rs index 1b37a803dff8..a09e794f90d5 100644 --- a/crates/biome_js_analyze/src/lint/style/no_shouty_constants.rs +++ b/crates/biome_js_analyze/src/lint/style/no_shouty_constants.rs @@ -47,6 +47,7 @@ declare_rule! { pub NoShoutyConstants { version: "1.0.0", name: "noShoutyConstants", + language: "js", recommended: false, fix_kind: FixKind::Unsafe, } diff --git a/crates/biome_js_analyze/src/lint/style/no_unused_template_literal.rs b/crates/biome_js_analyze/src/lint/style/no_unused_template_literal.rs index c5ea600881b5..df794c21ef4d 100644 --- a/crates/biome_js_analyze/src/lint/style/no_unused_template_literal.rs +++ b/crates/biome_js_analyze/src/lint/style/no_unused_template_literal.rs @@ -41,6 +41,7 @@ declare_rule! { pub NoUnusedTemplateLiteral { version: "1.0.0", name: "noUnusedTemplateLiteral", + language: "ts", sources: &[RuleSource::EslintTypeScript("no-useless-template-literals")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/style/no_useless_else.rs b/crates/biome_js_analyze/src/lint/style/no_useless_else.rs index 3aa5ad68de15..88017afad9d5 100644 --- a/crates/biome_js_analyze/src/lint/style/no_useless_else.rs +++ b/crates/biome_js_analyze/src/lint/style/no_useless_else.rs @@ -88,6 +88,7 @@ declare_rule! { pub NoUselessElse { version: "1.3.0", name: "noUselessElse", + language: "js", sources: &[ RuleSource::Eslint("no-else-return"), RuleSource::Clippy("redundant_else "), diff --git a/crates/biome_js_analyze/src/lint/style/no_var.rs b/crates/biome_js_analyze/src/lint/style/no_var.rs index ba32e4b37cf8..ec4083d8118a 100644 --- a/crates/biome_js_analyze/src/lint/style/no_var.rs +++ b/crates/biome_js_analyze/src/lint/style/no_var.rs @@ -39,6 +39,7 @@ declare_rule! { pub NoVar { version: "1.0.0", name: "noVar", + language: "js", sources: &[RuleSource::Eslint("no-var")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/style/use_as_const_assertion.rs b/crates/biome_js_analyze/src/lint/style/use_as_const_assertion.rs index 629bf15cf326..2498c8ec85be 100644 --- a/crates/biome_js_analyze/src/lint/style/use_as_const_assertion.rs +++ b/crates/biome_js_analyze/src/lint/style/use_as_const_assertion.rs @@ -48,6 +48,7 @@ declare_rule! { pub UseAsConstAssertion { version: "1.3.0", name: "useAsConstAssertion", + language: "ts", sources: &[RuleSource::EslintTypeScript("prefer-as-const")], recommended: true, fix_kind: FixKind::Safe, diff --git a/crates/biome_js_analyze/src/lint/style/use_block_statements.rs b/crates/biome_js_analyze/src/lint/style/use_block_statements.rs index 97b717ff6f08..dec414532141 100644 --- a/crates/biome_js_analyze/src/lint/style/use_block_statements.rs +++ b/crates/biome_js_analyze/src/lint/style/use_block_statements.rs @@ -68,6 +68,7 @@ declare_rule! { pub UseBlockStatements { version: "1.0.0", name: "useBlockStatements", + language: "js", sources: &[RuleSource::Eslint("curly")], recommended: false, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/style/use_collapsed_else_if.rs b/crates/biome_js_analyze/src/lint/style/use_collapsed_else_if.rs index 345ca9d895c8..260a1705cd61 100644 --- a/crates/biome_js_analyze/src/lint/style/use_collapsed_else_if.rs +++ b/crates/biome_js_analyze/src/lint/style/use_collapsed_else_if.rs @@ -84,6 +84,7 @@ declare_rule! { pub UseCollapsedElseIf { version: "1.1.0", name: "useCollapsedElseIf", + language: "js", sources: &[ RuleSource::Eslint("no-lonely-if"), RuleSource::Clippy("collapsible_else_if") diff --git a/crates/biome_js_analyze/src/lint/style/use_consistent_array_type.rs b/crates/biome_js_analyze/src/lint/style/use_consistent_array_type.rs index 8b1f83e34aa4..6cc3de379d8f 100644 --- a/crates/biome_js_analyze/src/lint/style/use_consistent_array_type.rs +++ b/crates/biome_js_analyze/src/lint/style/use_consistent_array_type.rs @@ -70,6 +70,7 @@ declare_rule! { pub UseConsistentArrayType { version: "1.5.0", name: "useConsistentArrayType", + language: "ts", sources: &[RuleSource::EslintTypeScript("array-type")], recommended: false, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/style/use_const.rs b/crates/biome_js_analyze/src/lint/style/use_const.rs index 2055b1955b97..39e54a611624 100644 --- a/crates/biome_js_analyze/src/lint/style/use_const.rs +++ b/crates/biome_js_analyze/src/lint/style/use_const.rs @@ -76,6 +76,7 @@ declare_rule! { pub UseConst { version: "1.0.0", name: "useConst", + language: "js", sources: &[RuleSource::Eslint("prefer-const")], recommended: true, fix_kind: FixKind::Safe, diff --git a/crates/biome_js_analyze/src/lint/style/use_default_parameter_last.rs b/crates/biome_js_analyze/src/lint/style/use_default_parameter_last.rs index a5948bf4e7b5..cdcd22ddbb66 100644 --- a/crates/biome_js_analyze/src/lint/style/use_default_parameter_last.rs +++ b/crates/biome_js_analyze/src/lint/style/use_default_parameter_last.rs @@ -51,6 +51,7 @@ declare_rule! { pub UseDefaultParameterLast { version: "1.0.0", name: "useDefaultParameterLast", + language: "js", sources: &[ RuleSource::Eslint("default-param-last"), RuleSource::EslintTypeScript("default-param-last") diff --git a/crates/biome_js_analyze/src/lint/style/use_enum_initializers.rs b/crates/biome_js_analyze/src/lint/style/use_enum_initializers.rs index b126302b65d1..90526d1388a3 100644 --- a/crates/biome_js_analyze/src/lint/style/use_enum_initializers.rs +++ b/crates/biome_js_analyze/src/lint/style/use_enum_initializers.rs @@ -67,6 +67,7 @@ declare_rule! { pub UseEnumInitializers { version: "1.0.0", name: "useEnumInitializers", + language: "ts", sources: &[RuleSource::EslintTypeScript("prefer-enum-initializers")], recommended: true, fix_kind: FixKind::Safe, diff --git a/crates/biome_js_analyze/src/lint/style/use_exponentiation_operator.rs b/crates/biome_js_analyze/src/lint/style/use_exponentiation_operator.rs index 8f0f7fd2cd72..fe44a91dfdbd 100644 --- a/crates/biome_js_analyze/src/lint/style/use_exponentiation_operator.rs +++ b/crates/biome_js_analyze/src/lint/style/use_exponentiation_operator.rs @@ -56,6 +56,7 @@ declare_rule! { pub UseExponentiationOperator { version: "1.0.0", name: "useExponentiationOperator", + language: "js", sources: &[RuleSource::Eslint("prefer-exponentiation-operator")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/style/use_export_type.rs b/crates/biome_js_analyze/src/lint/style/use_export_type.rs index 528862980be8..162d6a460818 100644 --- a/crates/biome_js_analyze/src/lint/style/use_export_type.rs +++ b/crates/biome_js_analyze/src/lint/style/use_export_type.rs @@ -61,6 +61,7 @@ declare_rule! { pub UseExportType { version: "1.5.0", name: "useExportType", + language: "ts", sources: &[RuleSource::EslintTypeScript("consistent-type-exports")], source_kind: RuleSourceKind::Inspired, recommended: true, diff --git a/crates/biome_js_analyze/src/lint/style/use_filenaming_convention.rs b/crates/biome_js_analyze/src/lint/style/use_filenaming_convention.rs index a723af8f5d8e..232bab813d89 100644 --- a/crates/biome_js_analyze/src/lint/style/use_filenaming_convention.rs +++ b/crates/biome_js_analyze/src/lint/style/use_filenaming_convention.rs @@ -85,6 +85,7 @@ declare_rule! { pub UseFilenamingConvention { version: "1.5.0", name: "useFilenamingConvention", + language: "js", sources: &[RuleSource::EslintUnicorn("filename-case")], source_kind: RuleSourceKind::Inspired, recommended: false, diff --git a/crates/biome_js_analyze/src/lint/style/use_for_of.rs b/crates/biome_js_analyze/src/lint/style/use_for_of.rs index 465731885de5..79073b32d67b 100644 --- a/crates/biome_js_analyze/src/lint/style/use_for_of.rs +++ b/crates/biome_js_analyze/src/lint/style/use_for_of.rs @@ -49,6 +49,7 @@ declare_rule! { pub UseForOf { version: "1.5.0", name: "useForOf", + language: "js", sources: &[ RuleSource::EslintTypeScript("prefer-for-of"), RuleSource::EslintUnicorn("no-for-loop"), diff --git a/crates/biome_js_analyze/src/lint/style/use_fragment_syntax.rs b/crates/biome_js_analyze/src/lint/style/use_fragment_syntax.rs index 9c9f95840ae7..fbe01753ce3f 100644 --- a/crates/biome_js_analyze/src/lint/style/use_fragment_syntax.rs +++ b/crates/biome_js_analyze/src/lint/style/use_fragment_syntax.rs @@ -30,6 +30,7 @@ declare_rule! { pub UseFragmentSyntax { version: "1.0.0", name: "useFragmentSyntax", + language: "jsx", sources: &[RuleSource::EslintReact("jsx-fragments")], recommended: false, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/style/use_import_type.rs b/crates/biome_js_analyze/src/lint/style/use_import_type.rs index ab9b066d961c..272bb13aa52a 100644 --- a/crates/biome_js_analyze/src/lint/style/use_import_type.rs +++ b/crates/biome_js_analyze/src/lint/style/use_import_type.rs @@ -103,6 +103,7 @@ declare_rule! { pub UseImportType { version: "1.5.0", name: "useImportType", + language: "ts", sources: &[RuleSource::EslintTypeScript("consistent-type-imports")], source_kind: RuleSourceKind::Inspired, recommended: true, diff --git a/crates/biome_js_analyze/src/lint/style/use_literal_enum_members.rs b/crates/biome_js_analyze/src/lint/style/use_literal_enum_members.rs index 3ce3b7971a2e..1c0c1e85ceac 100644 --- a/crates/biome_js_analyze/src/lint/style/use_literal_enum_members.rs +++ b/crates/biome_js_analyze/src/lint/style/use_literal_enum_members.rs @@ -64,6 +64,7 @@ declare_rule! { pub UseLiteralEnumMembers { version: "1.0.0", name: "useLiteralEnumMembers", + language: "ts", sources: &[RuleSource::EslintTypeScript("prefer-literal-enum-member")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/style/use_naming_convention.rs b/crates/biome_js_analyze/src/lint/style/use_naming_convention.rs index 7cbd5d487a5f..5217be1915d7 100644 --- a/crates/biome_js_analyze/src/lint/style/use_naming_convention.rs +++ b/crates/biome_js_analyze/src/lint/style/use_naming_convention.rs @@ -285,6 +285,7 @@ declare_rule! { pub UseNamingConvention { version: "1.0.0", name: "useNamingConvention", + language: "ts", sources: &[RuleSource::EslintTypeScript("naming-convention")], source_kind: RuleSourceKind::Inspired, recommended: false, diff --git a/crates/biome_js_analyze/src/lint/style/use_node_assert_strict.rs b/crates/biome_js_analyze/src/lint/style/use_node_assert_strict.rs index d3dabca0372c..ac5614429204 100644 --- a/crates/biome_js_analyze/src/lint/style/use_node_assert_strict.rs +++ b/crates/biome_js_analyze/src/lint/style/use_node_assert_strict.rs @@ -29,6 +29,7 @@ declare_rule! { pub UseNodeAssertStrict { version: "1.6.0", name: "useNodeAssertStrict", + language: "js", recommended: false, fix_kind: FixKind::Safe, } diff --git a/crates/biome_js_analyze/src/lint/style/use_nodejs_import_protocol.rs b/crates/biome_js_analyze/src/lint/style/use_nodejs_import_protocol.rs index 50e180fce3c1..63a9f410a23a 100644 --- a/crates/biome_js_analyze/src/lint/style/use_nodejs_import_protocol.rs +++ b/crates/biome_js_analyze/src/lint/style/use_nodejs_import_protocol.rs @@ -44,6 +44,7 @@ declare_rule! { pub UseNodejsImportProtocol { version: "1.5.0", name: "useNodejsImportProtocol", + language: "js", sources: &[RuleSource::EslintUnicorn("prefer-node-protocol")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/style/use_number_namespace.rs b/crates/biome_js_analyze/src/lint/style/use_number_namespace.rs index 9363a339d112..27c989e16662 100644 --- a/crates/biome_js_analyze/src/lint/style/use_number_namespace.rs +++ b/crates/biome_js_analyze/src/lint/style/use_number_namespace.rs @@ -68,6 +68,7 @@ declare_rule! { pub UseNumberNamespace { version: "1.5.0", name: "useNumberNamespace", + language: "js", sources: &[RuleSource::EslintUnicorn("prefer-number-properties")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/style/use_numeric_literals.rs b/crates/biome_js_analyze/src/lint/style/use_numeric_literals.rs index 64268fc04e82..15d17b8a9912 100644 --- a/crates/biome_js_analyze/src/lint/style/use_numeric_literals.rs +++ b/crates/biome_js_analyze/src/lint/style/use_numeric_literals.rs @@ -57,6 +57,7 @@ declare_rule! { pub UseNumericLiterals { version: "1.0.0", name: "useNumericLiterals", + language: "js", sources: &[RuleSource::Eslint("prefer-numeric-literals")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/style/use_self_closing_elements.rs b/crates/biome_js_analyze/src/lint/style/use_self_closing_elements.rs index 5a76bedca652..27d8272c130a 100644 --- a/crates/biome_js_analyze/src/lint/style/use_self_closing_elements.rs +++ b/crates/biome_js_analyze/src/lint/style/use_self_closing_elements.rs @@ -57,6 +57,7 @@ declare_rule! { pub UseSelfClosingElements { version: "1.0.0", name: "useSelfClosingElements", + language: "js", sources: &[RuleSource::EslintStylistic("jsx-self-closing-comp")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/style/use_shorthand_array_type.rs b/crates/biome_js_analyze/src/lint/style/use_shorthand_array_type.rs index 654aff2e3e81..bb39f99790c1 100644 --- a/crates/biome_js_analyze/src/lint/style/use_shorthand_array_type.rs +++ b/crates/biome_js_analyze/src/lint/style/use_shorthand_array_type.rs @@ -51,6 +51,7 @@ declare_rule! { pub UseShorthandArrayType { version: "1.0.0", name: "useShorthandArrayType", + language: "ts", recommended: false, deprecated: "Use `useConsistentArrayType` instead.", fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/style/use_shorthand_assign.rs b/crates/biome_js_analyze/src/lint/style/use_shorthand_assign.rs index e136de5b05c7..73785abe3b6e 100644 --- a/crates/biome_js_analyze/src/lint/style/use_shorthand_assign.rs +++ b/crates/biome_js_analyze/src/lint/style/use_shorthand_assign.rs @@ -53,6 +53,7 @@ declare_rule! { pub UseShorthandAssign { version: "1.3.0", name: "useShorthandAssign", + language: "js", sources: &[RuleSource::Eslint("operator-assignment")], recommended: false, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/style/use_shorthand_function_type.rs b/crates/biome_js_analyze/src/lint/style/use_shorthand_function_type.rs index 17ded5e4ec88..e6a0a877ecc0 100644 --- a/crates/biome_js_analyze/src/lint/style/use_shorthand_function_type.rs +++ b/crates/biome_js_analyze/src/lint/style/use_shorthand_function_type.rs @@ -81,6 +81,7 @@ declare_rule! { pub UseShorthandFunctionType { version: "1.5.0", name: "useShorthandFunctionType", + language: "ts", sources: &[RuleSource::EslintTypeScript("prefer-function-type")], recommended: true, fix_kind: FixKind::Safe, diff --git a/crates/biome_js_analyze/src/lint/style/use_single_case_statement.rs b/crates/biome_js_analyze/src/lint/style/use_single_case_statement.rs index ce43b7223b53..21b7d9cda4a3 100644 --- a/crates/biome_js_analyze/src/lint/style/use_single_case_statement.rs +++ b/crates/biome_js_analyze/src/lint/style/use_single_case_statement.rs @@ -39,6 +39,7 @@ declare_rule! { pub UseSingleCaseStatement { version: "1.0.0", name: "useSingleCaseStatement", + language: "js", recommended: false, fix_kind: FixKind::Unsafe, } diff --git a/crates/biome_js_analyze/src/lint/style/use_single_var_declarator.rs b/crates/biome_js_analyze/src/lint/style/use_single_var_declarator.rs index 75da247fa37f..bb46015b919b 100644 --- a/crates/biome_js_analyze/src/lint/style/use_single_var_declarator.rs +++ b/crates/biome_js_analyze/src/lint/style/use_single_var_declarator.rs @@ -44,6 +44,7 @@ declare_rule! { pub UseSingleVarDeclarator { version: "1.0.0", name: "useSingleVarDeclarator", + language: "js", sources: &[RuleSource::Eslint("one-var")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/style/use_template.rs b/crates/biome_js_analyze/src/lint/style/use_template.rs index a9d9ce71c458..3e5acc00d50b 100644 --- a/crates/biome_js_analyze/src/lint/style/use_template.rs +++ b/crates/biome_js_analyze/src/lint/style/use_template.rs @@ -50,6 +50,7 @@ declare_rule! { pub UseTemplate { version: "1.0.0", name: "useTemplate", + language: "js", sources: &[RuleSource::Eslint("prefer-template")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/style/use_while.rs b/crates/biome_js_analyze/src/lint/style/use_while.rs index 8f278b3d80e3..d34d30fab33c 100644 --- a/crates/biome_js_analyze/src/lint/style/use_while.rs +++ b/crates/biome_js_analyze/src/lint/style/use_while.rs @@ -41,6 +41,7 @@ declare_rule! { pub UseWhile { version: "1.0.0", name: "useWhile", + language: "js", recommended: true, fix_kind: FixKind::Safe, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_approximative_numeric_constant.rs b/crates/biome_js_analyze/src/lint/suspicious/no_approximative_numeric_constant.rs index 148f4c74e00a..ad59f99d4bb9 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_approximative_numeric_constant.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_approximative_numeric_constant.rs @@ -46,6 +46,7 @@ declare_rule! { pub NoApproximativeNumericConstant { version: "1.3.0", name: "noApproximativeNumericConstant", + language: "js", sources: &[RuleSource::Clippy("approx_constant")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_array_index_key.rs b/crates/biome_js_analyze/src/lint/suspicious/no_array_index_key.rs index 4323338a8523..853dba9e491d 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_array_index_key.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_array_index_key.rs @@ -66,6 +66,7 @@ declare_rule! { pub NoArrayIndexKey { version: "1.0.0", name: "noArrayIndexKey", + language: "jsx", sources: &[RuleSource::EslintReact("no-array-index-key")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_assign_in_expressions.rs b/crates/biome_js_analyze/src/lint/suspicious/no_assign_in_expressions.rs index a830ec7c9bdc..1124058a5bba 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_assign_in_expressions.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_assign_in_expressions.rs @@ -44,6 +44,7 @@ declare_rule! { pub NoAssignInExpressions { version: "1.0.0", name: "noAssignInExpressions", + language: "js", sources: &[RuleSource::Eslint("no-cond-assign")], source_kind: RuleSourceKind::Inspired, recommended: true, diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_async_promise_executor.rs b/crates/biome_js_analyze/src/lint/suspicious/no_async_promise_executor.rs index ce9796e40993..f046c8c34694 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_async_promise_executor.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_async_promise_executor.rs @@ -39,6 +39,7 @@ declare_rule! { pub NoAsyncPromiseExecutor { version: "1.0.0", name: "noAsyncPromiseExecutor", + language: "js", sources: &[RuleSource::Eslint("no-async-promise-executor")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_catch_assign.rs b/crates/biome_js_analyze/src/lint/suspicious/no_catch_assign.rs index 91f82e071a98..3a2c77489e15 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_catch_assign.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_catch_assign.rs @@ -37,6 +37,7 @@ declare_rule! { pub NoCatchAssign { version: "1.0.0", name: "noCatchAssign", + language: "js", sources: &[RuleSource::Eslint("no-ex-assign")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_class_assign.rs b/crates/biome_js_analyze/src/lint/suspicious/no_class_assign.rs index 303e9314595c..e9cd87303164 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_class_assign.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_class_assign.rs @@ -68,6 +68,7 @@ declare_rule! { pub NoClassAssign { version: "1.0.0", name: "noClassAssign", + language: "js", sources: &[RuleSource::Eslint("no-class-assign")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_comment_text.rs b/crates/biome_js_analyze/src/lint/suspicious/no_comment_text.rs index f32ccf876e97..998e66bb9ab9 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_comment_text.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_comment_text.rs @@ -38,6 +38,7 @@ declare_rule! { pub NoCommentText { version: "1.0.0", name: "noCommentText", + language: "jsx", sources: &[RuleSource::EslintReact("jsx-no-comment-textnodes")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_compare_neg_zero.rs b/crates/biome_js_analyze/src/lint/suspicious/no_compare_neg_zero.rs index fe04dde09b0c..f9653d8f8417 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_compare_neg_zero.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_compare_neg_zero.rs @@ -37,6 +37,7 @@ declare_rule! { pub NoCompareNegZero { version: "1.0.0", name: "noCompareNegZero", + language: "js", sources: &[RuleSource::Eslint("no-compare-neg-zero")], recommended: true, fix_kind: FixKind::Safe, diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_confusing_labels.rs b/crates/biome_js_analyze/src/lint/suspicious/no_confusing_labels.rs index ff763155323b..8f22a428ef5e 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_confusing_labels.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_confusing_labels.rs @@ -58,6 +58,7 @@ declare_rule! { pub NoConfusingLabels { version: "1.0.0", name: "noConfusingLabels", + language: "js", sources: &[RuleSource::Eslint("no-labels")], source_kind: RuleSourceKind::Inspired, recommended: true, diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_confusing_void_type.rs b/crates/biome_js_analyze/src/lint/suspicious/no_confusing_void_type.rs index 7f199207ab96..620b586451e2 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_confusing_void_type.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_confusing_void_type.rs @@ -49,6 +49,7 @@ declare_rule! { pub NoConfusingVoidType { version: "1.2.0", name: "noConfusingVoidType", + language: "ts", sources: &[RuleSource::EslintTypeScript("no-invalid-void-type")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_console_log.rs b/crates/biome_js_analyze/src/lint/suspicious/no_console_log.rs index 41a25b24d03d..5b88a2e2f00a 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_console_log.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_console_log.rs @@ -36,6 +36,7 @@ declare_rule! { pub NoConsoleLog { version: "1.0.0", name: "noConsoleLog", + language: "js", sources: &[RuleSource::Eslint("no-console")], source_kind: RuleSourceKind::Inspired, recommended: false, diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_const_enum.rs b/crates/biome_js_analyze/src/lint/suspicious/no_const_enum.rs index cd6fbca094a9..51e906ddf79e 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_const_enum.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_const_enum.rs @@ -38,6 +38,7 @@ declare_rule! { pub NoConstEnum { version: "1.0.0", name: "noConstEnum", + language: "ts", recommended: true, fix_kind: FixKind::Safe, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_control_characters_in_regex.rs b/crates/biome_js_analyze/src/lint/suspicious/no_control_characters_in_regex.rs index faa44bb75903..1ff322f222a3 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_control_characters_in_regex.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_control_characters_in_regex.rs @@ -61,6 +61,7 @@ declare_rule! { pub NoControlCharactersInRegex { version: "1.0.0", name: "noControlCharactersInRegex", + language: "js", sources: &[RuleSource::Eslint("no-control-regex")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_debugger.rs b/crates/biome_js_analyze/src/lint/suspicious/no_debugger.rs index 01e9eaca974f..71b3a4e51d9d 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_debugger.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_debugger.rs @@ -29,6 +29,7 @@ declare_rule! { pub NoDebugger { version: "1.0.0", name: "noDebugger", + language: "js", sources: &[RuleSource::Eslint("no-debugger")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_double_equals.rs b/crates/biome_js_analyze/src/lint/suspicious/no_double_equals.rs index 4f8ecde5ef9d..55df0332a1b2 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_double_equals.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_double_equals.rs @@ -50,6 +50,7 @@ declare_rule! { pub NoDoubleEquals { version: "1.0.0", name: "noDoubleEquals", + language: "js", sources: &[RuleSource::Eslint("eqeqeq")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_case.rs b/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_case.rs index 1aef323464ea..88148815bfe3 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_case.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_case.rs @@ -83,6 +83,7 @@ declare_rule! { pub NoDuplicateCase { version: "1.0.0", name: "noDuplicateCase", + language: "js", sources: &[RuleSource::Eslint("no-duplicate-case")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_class_members.rs b/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_class_members.rs index 890bc5a8a9a0..98e105c58621 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_class_members.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_class_members.rs @@ -87,6 +87,7 @@ declare_rule! { pub NoDuplicateClassMembers { version: "1.0.0", name: "noDuplicateClassMembers", + language: "js", sources: &[ RuleSource::Eslint("no-dupe-class-members"), RuleSource::EslintTypeScript("no-dupe-class-members") diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_jsx_props.rs b/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_jsx_props.rs index 34c313997c56..01a8d07c32e8 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_jsx_props.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_jsx_props.rs @@ -33,6 +33,7 @@ declare_rule! { pub NoDuplicateJsxProps { version: "1.0.0", name: "noDuplicateJsxProps", + language: "jsx", sources: &[RuleSource::EslintReact("jsx-no-duplicate-props")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_object_keys.rs b/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_object_keys.rs index ef9592820889..c50188f1ff76 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_object_keys.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_object_keys.rs @@ -57,6 +57,7 @@ declare_rule! { pub NoDuplicateObjectKeys { version: "1.0.0", name: "noDuplicateObjectKeys", + language: "js", sources: &[RuleSource::Eslint("no-dupe-keys")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_parameters.rs b/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_parameters.rs index 3015cd4ae6b7..694f7a03ab36 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_parameters.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_parameters.rs @@ -40,6 +40,7 @@ declare_rule! { pub NoDuplicateParameters { version: "1.0.0", name: "noDuplicateParameters", + language: "js", sources: &[RuleSource::Eslint("no-dupe-args")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_test_hooks.rs b/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_test_hooks.rs index eb1c89681757..2c3576d0e6c7 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_test_hooks.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_duplicate_test_hooks.rs @@ -59,6 +59,7 @@ declare_rule! { pub NoDuplicateTestHooks { version: "1.6.0", name: "noDuplicateTestHooks", + language: "js", recommended: true, sources: &[RuleSource::EslintJest("no-duplicate-hooks")], source_kind: RuleSourceKind::Inspired, diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_empty_block_statements.rs b/crates/biome_js_analyze/src/lint/suspicious/no_empty_block_statements.rs index 5a9c13aaa44b..9e3b3034c91e 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_empty_block_statements.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_empty_block_statements.rs @@ -54,6 +54,7 @@ declare_rule! { pub NoEmptyBlockStatements { version: "1.3.0", name: "noEmptyBlockStatements", + language: "js", sources: &[ RuleSource::Eslint("no-empty"), RuleSource::Eslint("no-empty-static-block"), diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_empty_interface.rs b/crates/biome_js_analyze/src/lint/suspicious/no_empty_interface.rs index b511a5ee89d3..61aa33f14294 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_empty_interface.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_empty_interface.rs @@ -43,6 +43,7 @@ declare_rule! { pub NoEmptyInterface { version: "1.0.0", name: "noEmptyInterface", + language: "ts", sources: &[RuleSource::EslintTypeScript("no-empty-interface")], source_kind: RuleSourceKind::Inspired, recommended: true, diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_explicit_any.rs b/crates/biome_js_analyze/src/lint/suspicious/no_explicit_any.rs index 67ca443f7686..5e893d1887c6 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_explicit_any.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_explicit_any.rs @@ -54,6 +54,7 @@ declare_rule! { pub NoExplicitAny { version: "1.0.0", name: "noExplicitAny", + language: "ts", sources: &[RuleSource::EslintTypeScript("no-explicit-any")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_exports_in_test.rs b/crates/biome_js_analyze/src/lint/suspicious/no_exports_in_test.rs index 07984a7518fa..aa46229eb32d 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_exports_in_test.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_exports_in_test.rs @@ -39,6 +39,7 @@ declare_rule! { pub NoExportsInTest { version: "1.6.0", name: "noExportsInTest", + language: "js", recommended: true, sources: &[RuleSource::EslintJest("no-export")], source_kind: RuleSourceKind::Inspired, diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_extra_non_null_assertion.rs b/crates/biome_js_analyze/src/lint/suspicious/no_extra_non_null_assertion.rs index d7025c4990c4..76df8c05eb39 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_extra_non_null_assertion.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_extra_non_null_assertion.rs @@ -48,6 +48,7 @@ declare_rule! { pub NoExtraNonNullAssertion { version: "1.0.0", name: "noExtraNonNullAssertion", + language: "ts", sources: &[RuleSource::EslintTypeScript("no-extra-non-null-assertion")], recommended: true, fix_kind: FixKind::Safe, diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_fallthrough_switch_clause.rs b/crates/biome_js_analyze/src/lint/suspicious/no_fallthrough_switch_clause.rs index 7b5206e31f7c..65d4fe1ebb96 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_fallthrough_switch_clause.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_fallthrough_switch_clause.rs @@ -57,6 +57,7 @@ declare_rule! { pub NoFallthroughSwitchClause { version: "1.0.0", name: "noFallthroughSwitchClause", + language: "js", sources: &[RuleSource::Eslint("no-fallthrough")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_focused_tests.rs b/crates/biome_js_analyze/src/lint/suspicious/no_focused_tests.rs index cfc87ea4db51..411461f7a322 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_focused_tests.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_focused_tests.rs @@ -35,6 +35,7 @@ declare_rule! { pub NoFocusedTests { version: "1.6.0", name: "noFocusedTests", + language: "js", recommended: true, sources: &[RuleSource::EslintJest("no-focused-tests")], source_kind: RuleSourceKind::Inspired, diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_function_assign.rs b/crates/biome_js_analyze/src/lint/suspicious/no_function_assign.rs index b683ffaf29c3..c47e55b8437e 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_function_assign.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_function_assign.rs @@ -96,6 +96,7 @@ declare_rule! { pub NoFunctionAssign { version: "1.0.0", name: "noFunctionAssign", + language: "js", sources: &[RuleSource::Eslint("no-func-assign")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_global_assign.rs b/crates/biome_js_analyze/src/lint/suspicious/no_global_assign.rs index 78ee57cdc8c6..ef3d72172664 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_global_assign.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_global_assign.rs @@ -41,6 +41,7 @@ declare_rule! { pub NoGlobalAssign { version: "1.5.0", name: "noGlobalAssign", + language: "js", sources: &[RuleSource::Eslint("no-global-assign")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_global_is_finite.rs b/crates/biome_js_analyze/src/lint/suspicious/no_global_is_finite.rs index 30fd8c94cc10..2619083aeafa 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_global_is_finite.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_global_is_finite.rs @@ -32,6 +32,7 @@ declare_rule! { pub NoGlobalIsFinite { version: "1.0.0", name: "noGlobalIsFinite", + language: "js", recommended: true, fix_kind: FixKind::Unsafe, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_global_is_nan.rs b/crates/biome_js_analyze/src/lint/suspicious/no_global_is_nan.rs index 8ab147df8052..aa0b1799173d 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_global_is_nan.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_global_is_nan.rs @@ -33,6 +33,7 @@ declare_rule! { pub NoGlobalIsNan { version: "1.0.0", name: "noGlobalIsNan", + language: "js", recommended: true, fix_kind: FixKind::Unsafe, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_implicit_any_let.rs b/crates/biome_js_analyze/src/lint/suspicious/no_implicit_any_let.rs index d9f4c782fae9..de9ab1d121ed 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_implicit_any_let.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_implicit_any_let.rs @@ -36,6 +36,7 @@ declare_rule! { pub NoImplicitAnyLet { version: "1.4.0", name: "noImplicitAnyLet", + language: "ts", recommended: true, } } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_import_assign.rs b/crates/biome_js_analyze/src/lint/suspicious/no_import_assign.rs index a01fe88bb0ed..2da148df3e22 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_import_assign.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_import_assign.rs @@ -52,6 +52,7 @@ declare_rule! { pub NoImportAssign { version: "1.0.0", name: "noImportAssign", + language: "js", sources: &[RuleSource::Eslint("no-import-assign")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_label_var.rs b/crates/biome_js_analyze/src/lint/suspicious/no_label_var.rs index 9fa06a89795f..4fbafe222806 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_label_var.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_label_var.rs @@ -25,6 +25,7 @@ declare_rule! { pub NoLabelVar { version: "1.0.0", name: "noLabelVar", + language: "js", sources: &[RuleSource::Eslint("no-label-var")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_misleading_character_class.rs b/crates/biome_js_analyze/src/lint/suspicious/no_misleading_character_class.rs index d847c2d4962d..5010b77a62fd 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_misleading_character_class.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_misleading_character_class.rs @@ -61,6 +61,7 @@ declare_rule! { pub NoMisleadingCharacterClass { version: "1.5.0", name: "noMisleadingCharacterClass", + language: "js", sources: &[RuleSource::Eslint("no-misleading-character-class")], recommended: true, fix_kind: FixKind::Safe, diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_misleading_instantiator.rs b/crates/biome_js_analyze/src/lint/suspicious/no_misleading_instantiator.rs index 9b6c6fcb3c6d..27a3145d486e 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_misleading_instantiator.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_misleading_instantiator.rs @@ -48,6 +48,7 @@ declare_rule! { pub NoMisleadingInstantiator { version: "1.3.0", name: "noMisleadingInstantiator", + language: "ts", sources: &[RuleSource::EslintTypeScript("no-misused-new")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_misrefactored_shorthand_assign.rs b/crates/biome_js_analyze/src/lint/suspicious/no_misrefactored_shorthand_assign.rs index 20479522e5e8..a80972232488 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_misrefactored_shorthand_assign.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_misrefactored_shorthand_assign.rs @@ -52,6 +52,7 @@ declare_rule! { pub NoMisrefactoredShorthandAssign { version: "1.3.0", name: "noMisrefactoredShorthandAssign", + language: "js", sources: &[RuleSource::Clippy("misrefactored_assign_op")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_prototype_builtins.rs b/crates/biome_js_analyze/src/lint/suspicious/no_prototype_builtins.rs index 334f4a5745b4..8676267c5928 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_prototype_builtins.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_prototype_builtins.rs @@ -42,6 +42,7 @@ declare_rule! { pub NoPrototypeBuiltins { version: "1.0.0", name: "noPrototypeBuiltins", + language: "js", sources: &[RuleSource::Eslint("no-prototype-builtins")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_redeclare.rs b/crates/biome_js_analyze/src/lint/suspicious/no_redeclare.rs index d83923946bc6..9e6b165a8a4e 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_redeclare.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_redeclare.rs @@ -61,6 +61,7 @@ declare_rule! { pub NoRedeclare { version: "1.0.0", name: "noRedeclare", + language: "js", sources: &[ RuleSource::Eslint("no-redeclare"), RuleSource::EslintTypeScript("no-redeclare"), diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_redundant_use_strict.rs b/crates/biome_js_analyze/src/lint/suspicious/no_redundant_use_strict.rs index eecf6d0b2d12..7c58a5ca4219 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_redundant_use_strict.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_redundant_use_strict.rs @@ -85,6 +85,7 @@ declare_rule! { pub NoRedundantUseStrict { version: "1.0.0", name: "noRedundantUseStrict", + language: "js", recommended: true, fix_kind: FixKind::Safe, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_self_compare.rs b/crates/biome_js_analyze/src/lint/suspicious/no_self_compare.rs index 5da8f74fd060..e5fa2ee5ab08 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_self_compare.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_self_compare.rs @@ -27,6 +27,7 @@ declare_rule! { pub NoSelfCompare { version: "1.0.0", name: "noSelfCompare", + language: "js", sources: &[ RuleSource::Eslint("no-self-compare"), RuleSource::Clippy("eq_op"), diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_shadow_restricted_names.rs b/crates/biome_js_analyze/src/lint/suspicious/no_shadow_restricted_names.rs index 933e62e80a4d..800ae3533bc7 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_shadow_restricted_names.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_shadow_restricted_names.rs @@ -33,6 +33,7 @@ declare_rule! { pub NoShadowRestrictedNames { version: "1.0.0", name: "noShadowRestrictedNames", + language: "js", sources: &[RuleSource::Eslint("no-shadow-restricted-names")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_skipped_tests.rs b/crates/biome_js_analyze/src/lint/suspicious/no_skipped_tests.rs index a81e88be217a..570926fd89dc 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_skipped_tests.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_skipped_tests.rs @@ -37,6 +37,7 @@ declare_rule! { pub NoSkippedTests { version: "1.6.0", name: "noSkippedTests", + language: "js", recommended: false, sources: &[RuleSource::EslintJest("no-disabled-tests")], source_kind: RuleSourceKind::Inspired, diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_sparse_array.rs b/crates/biome_js_analyze/src/lint/suspicious/no_sparse_array.rs index 8c6388b0e3de..a483180ac2cd 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_sparse_array.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_sparse_array.rs @@ -23,6 +23,7 @@ declare_rule! { pub NoSparseArray { version: "1.0.0", name: "noSparseArray", + language: "js", sources: &[RuleSource::Eslint("no-sparse-array")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_suspicious_semicolon_in_jsx.rs b/crates/biome_js_analyze/src/lint/suspicious/no_suspicious_semicolon_in_jsx.rs index bffe1ec7e469..3d1cd762e30e 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_suspicious_semicolon_in_jsx.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_suspicious_semicolon_in_jsx.rs @@ -45,6 +45,7 @@ declare_rule! { pub NoSuspiciousSemicolonInJsx { version: "1.6.0", name: "noSuspiciousSemicolonInJsx", + language: "js", recommended: true, } } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_then_property.rs b/crates/biome_js_analyze/src/lint/suspicious/no_then_property.rs index 3a5216ff0472..14423b905dfa 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_then_property.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_then_property.rs @@ -86,6 +86,7 @@ declare_rule! { pub NoThenProperty { version: "1.5.0", name: "noThenProperty", + language: "js", sources: &[RuleSource::EslintUnicorn("no-thenable")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_unsafe_declaration_merging.rs b/crates/biome_js_analyze/src/lint/suspicious/no_unsafe_declaration_merging.rs index 44de5ff79a68..6c6eb1ca1a62 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_unsafe_declaration_merging.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_unsafe_declaration_merging.rs @@ -43,6 +43,7 @@ declare_rule! { pub NoUnsafeDeclarationMerging { version: "1.0.0", name: "noUnsafeDeclarationMerging", + language: "ts", sources: &[RuleSource::EslintTypeScript("no-unsafe-declaration-merging")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/no_unsafe_negation.rs b/crates/biome_js_analyze/src/lint/suspicious/no_unsafe_negation.rs index eddaddbdef31..702974c4cedd 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/no_unsafe_negation.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/no_unsafe_negation.rs @@ -36,6 +36,7 @@ declare_rule! { pub NoUnsafeNegation { version: "1.0.0", name: "noUnsafeNegation", + language: "js", sources: &[RuleSource::Eslint("no-unsafe-negation")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/suspicious/use_await.rs b/crates/biome_js_analyze/src/lint/suspicious/use_await.rs index 4aa5c9dc7702..a1dd9b6c47d2 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/use_await.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/use_await.rs @@ -48,6 +48,7 @@ declare_rule! { pub UseAwait { version: "1.4.0", name: "useAwait", + language: "js", sources: &[ RuleSource::Eslint("require-await"), RuleSource::EslintTypeScript("require-await"), diff --git a/crates/biome_js_analyze/src/lint/suspicious/use_default_switch_clause_last.rs b/crates/biome_js_analyze/src/lint/suspicious/use_default_switch_clause_last.rs index 21a13a14c5bd..48ddb555261a 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/use_default_switch_clause_last.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/use_default_switch_clause_last.rs @@ -72,6 +72,7 @@ declare_rule! { pub UseDefaultSwitchClauseLast { version: "1.0.0", name: "useDefaultSwitchClauseLast", + language: "js", sources: &[RuleSource::Eslint("default-case-last")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/use_getter_return.rs b/crates/biome_js_analyze/src/lint/suspicious/use_getter_return.rs index 343bfce204b1..d065949ad4cd 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/use_getter_return.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/use_getter_return.rs @@ -60,6 +60,7 @@ declare_rule! { pub UseGetterReturn { version: "1.0.0", name: "useGetterReturn", + language: "js", sources: &[RuleSource::Eslint("getter-return")], recommended: true, } diff --git a/crates/biome_js_analyze/src/lint/suspicious/use_is_array.rs b/crates/biome_js_analyze/src/lint/suspicious/use_is_array.rs index 8ccb59a0aceb..c6ec57f77efa 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/use_is_array.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/use_is_array.rs @@ -39,6 +39,7 @@ declare_rule! { pub UseIsArray { version: "1.0.0", name: "useIsArray", + language: "js", sources: &[RuleSource::EslintUnicorn("no-instanceof-array")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/lint/suspicious/use_namespace_keyword.rs b/crates/biome_js_analyze/src/lint/suspicious/use_namespace_keyword.rs index 09eb889ea91d..7800e1281f74 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/use_namespace_keyword.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/use_namespace_keyword.rs @@ -44,6 +44,7 @@ declare_rule! { pub UseNamespaceKeyword { version: "1.0.0", name: "useNamespaceKeyword", + language: "ts", sources: &[RuleSource::EslintTypeScript("prefer-namespace-keyword")], recommended: true, fix_kind: FixKind::Safe, diff --git a/crates/biome_js_analyze/src/lint/suspicious/use_valid_typeof.rs b/crates/biome_js_analyze/src/lint/suspicious/use_valid_typeof.rs index 29c5d1f04cbb..1899c065d3be 100644 --- a/crates/biome_js_analyze/src/lint/suspicious/use_valid_typeof.rs +++ b/crates/biome_js_analyze/src/lint/suspicious/use_valid_typeof.rs @@ -72,6 +72,7 @@ declare_rule! { pub UseValidTypeof { version: "1.0.0", name: "useValidTypeof", + language: "js", sources: &[RuleSource::Eslint("valid-typeof")], recommended: true, fix_kind: FixKind::Unsafe, diff --git a/crates/biome_js_analyze/src/syntax/correctness/no_duplicate_private_class_members.rs b/crates/biome_js_analyze/src/syntax/correctness/no_duplicate_private_class_members.rs index 8f5a8b3510bf..d871045cadfd 100644 --- a/crates/biome_js_analyze/src/syntax/correctness/no_duplicate_private_class_members.rs +++ b/crates/biome_js_analyze/src/syntax/correctness/no_duplicate_private_class_members.rs @@ -19,6 +19,7 @@ declare_rule! { pub NoDuplicatePrivateClassMembers { version: "1.0.0", name: "noDuplicatePrivateClassMembers", + language: "js", } } diff --git a/crates/biome_js_analyze/src/syntax/correctness/no_initializer_with_definite.rs b/crates/biome_js_analyze/src/syntax/correctness/no_initializer_with_definite.rs index be96a135dcb1..87ce27c3bdba 100644 --- a/crates/biome_js_analyze/src/syntax/correctness/no_initializer_with_definite.rs +++ b/crates/biome_js_analyze/src/syntax/correctness/no_initializer_with_definite.rs @@ -15,6 +15,7 @@ declare_rule! { pub NoInitializerWithDefinite { version: "1.4.0", name: "noInitializerWithDefinite", + language: "js", } } diff --git a/crates/biome_js_analyze/src/syntax/correctness/no_super_without_extends.rs b/crates/biome_js_analyze/src/syntax/correctness/no_super_without_extends.rs index 50f8bd812498..032404b877c7 100644 --- a/crates/biome_js_analyze/src/syntax/correctness/no_super_without_extends.rs +++ b/crates/biome_js_analyze/src/syntax/correctness/no_super_without_extends.rs @@ -20,6 +20,7 @@ declare_rule! { pub NoSuperWithoutExtends { version: "1.0.0", name: "noSuperWithoutExtends", + language: "js", } } diff --git a/crates/biome_js_analyze/src/syntax/nursery/no_type_only_import_attributes.rs b/crates/biome_js_analyze/src/syntax/nursery/no_type_only_import_attributes.rs index f700f3677aad..d20a05aaeebf 100644 --- a/crates/biome_js_analyze/src/syntax/nursery/no_type_only_import_attributes.rs +++ b/crates/biome_js_analyze/src/syntax/nursery/no_type_only_import_attributes.rs @@ -16,6 +16,7 @@ declare_rule! { pub NoTypeOnlyImportAttributes { version: "1.5.0", name: "noTypeOnlyImportAttributes", + language: "js", } } diff --git a/crates/biome_js_transform/src/declare_transformation.rs b/crates/biome_js_transform/src/declare_transformation.rs index 8fd530590846..877824bbb3be 100644 --- a/crates/biome_js_transform/src/declare_transformation.rs +++ b/crates/biome_js_transform/src/declare_transformation.rs @@ -3,6 +3,7 @@ macro_rules! declare_transformation { ( $( #[doc = $doc:literal] )+ $vis:vis $id:ident { version: $version:literal, name: $name:tt, + language: $language:literal, $( $key:ident: $value:expr, )* } ) => { $( #[doc = $doc] )* @@ -11,7 +12,7 @@ macro_rules! declare_transformation { impl ::biome_analyze::RuleMeta for $id { type Group = $crate::registry::TransformationGroup; const METADATA: ::biome_analyze::RuleMetadata = - ::biome_analyze::RuleMetadata::new($version, $name, concat!( $( $doc, "\n", )* )); + ::biome_analyze::RuleMetadata::new($version, $name, concat!( $( $doc, "\n", )* ), $language); } }; } diff --git a/crates/biome_js_transform/src/transformers/ts_enum.rs b/crates/biome_js_transform/src/transformers/ts_enum.rs index a50755fd6272..7fac567f8857 100644 --- a/crates/biome_js_transform/src/transformers/ts_enum.rs +++ b/crates/biome_js_transform/src/transformers/ts_enum.rs @@ -25,6 +25,7 @@ declare_transformation! { pub(crate) TsEnum { version: "1.3.0", name: "transformEnum", + language: "ts", } } diff --git a/crates/biome_json_analyze/src/lint/nursery/no_duplicate_json_keys.rs b/crates/biome_json_analyze/src/lint/nursery/no_duplicate_json_keys.rs index 7cbd8d85ce39..ff64c428bade 100644 --- a/crates/biome_json_analyze/src/lint/nursery/no_duplicate_json_keys.rs +++ b/crates/biome_json_analyze/src/lint/nursery/no_duplicate_json_keys.rs @@ -29,6 +29,7 @@ declare_rule! { pub NoDuplicateJsonKeys { version: "1.0.0", name: "noDuplicateJsonKeys", + language: "json", recommended: true, } } diff --git a/crates/biome_migrate/src/macros.rs b/crates/biome_migrate/src/macros.rs index e9a20db43927..d48308593204 100644 --- a/crates/biome_migrate/src/macros.rs +++ b/crates/biome_migrate/src/macros.rs @@ -10,7 +10,7 @@ macro_rules! declare_migration { impl biome_analyze::RuleMeta for $id { type Group = $crate::analyzers::MigrationGroup; const METADATA: biome_analyze::RuleMetadata = - biome_analyze::RuleMetadata::new($version, $name, "") $( .$key($value) )*; + biome_analyze::RuleMetadata::new($version, $name, "", "") $( .$key($value) )*; } // Declare a new `rule_category!` macro in the module context that diff --git a/xtask/codegen/src/generate_new_lintrule.rs b/xtask/codegen/src/generate_new_lintrule.rs index 5bf1f4e88598..497a8046ea9e 100644 --- a/xtask/codegen/src/generate_new_lintrule.rs +++ b/xtask/codegen/src/generate_new_lintrule.rs @@ -75,6 +75,7 @@ declare_rule! {{ pub {rule_name_upper_camel} {{ version: "next", name: "{rule_name_lower_camel}", + language: "js", recommended: false, }} }} @@ -149,6 +150,7 @@ declare_rule! {{ pub {rule_name_upper_camel} {{ version: "next", name: "{rule_name_lower_camel}", + language: "css", recommended: false, }} }}