From 3fc81b6311099f38585b17d2714fe03a9bc4694e Mon Sep 17 00:00:00 2001 From: Victorien Elvinger Date: Fri, 15 Sep 2023 12:39:21 +0200 Subject: [PATCH 1/6] chore(release): v1.2.0 --- CHANGELOG.md | 61 +- crates/biome_cli/tests/commands/check.rs | 8 +- crates/biome_cli/tests/commands/lint.rs | 2 +- .../main_commands_check/lint_error.snap | 2 +- .../main_commands_check/print_verbose.snap | 2 +- .../should_not_enable_nursery_rules.snap | 46 +- .../main_commands_ci/ci_lint_error.snap | 2 +- .../main_commands_ci/print_verbose.snap | 2 +- .../main_commands_lint/lint_error.snap | 2 +- .../main_commands_lint/print_verbose.snap | 2 +- .../should_not_enable_nursery_rules.snap | 2 +- .../incorrect_rule_name.snap | 3 + .../src/categories.rs | 32 +- .../src/analyzers/complexity.rs | 4 + .../no_static_only_class.rs | 0 .../no_useless_empty_export.rs | 0 .../src/analyzers/correctness.rs | 4 + .../no_nonoctal_decimal_escape.rs | 0 .../no_self_assign.rs | 0 .../biome_js_analyze/src/analyzers/nursery.rs | 14 - .../nursery/no_confusing_void_type.rs | 2 +- .../biome_js_analyze/src/analyzers/style.rs | 2 + .../use_literal_enum_members.rs | 0 .../src/analyzers/suspicious.rs | 4 + .../no_control_characters_in_regex.rs | 0 .../use_getter_return.rs | 0 crates/biome_js_analyze/src/aria_analyzers.rs | 3 +- .../src/aria_analyzers/a11y.rs | 8 + .../no_aria_unsupported_elements.rs | 0 .../no_noninteractive_tabindex.rs | 2 +- .../{nursery => a11y}/no_redundant_roles.rs | 0 .../{nursery => a11y}/use_aria_prop_types.rs | 2 +- .../src/aria_analyzers/nursery.rs | 20 - crates/biome_js_analyze/src/options.rs | 2 +- .../src/semantic_analyzers/complexity.rs | 4 + .../no_banned_types.rs | 0 .../no_useless_this_alias.rs | 0 .../src/semantic_analyzers/correctness.rs | 2 + .../no_constant_condition.rs | 0 .../src/semantic_analyzers/nursery.rs | 10 - .../src/semantic_analyzers/style.rs | 2 + .../use_naming_convention.rs | 0 .../src/semantic_analyzers/suspicious.rs | 2 + .../no_unsafe_declaration_merging.rs | 0 .../noAriaUnsupportedElements/invalid.jsx | 0 .../invalid.jsx.snap | 16 +- .../noAriaUnsupportedElements/valid.jsx | 0 .../noAriaUnsupportedElements/valid.jsx.snap | 0 .../noNoninteractiveTabindex/invalid.jsx | 0 .../noNoninteractiveTabindex/invalid.jsx.snap | 6 +- .../noNoninteractiveTabindex/valid.jsx | 0 .../noNoninteractiveTabindex/valid.jsx.snap | 0 .../noRedundantRoles/invalid.jsx | 0 .../noRedundantRoles/invalid.jsx.snap | 54 +- .../noRedundantRoles/valid.jsx | 0 .../noRedundantRoles/valid.jsx.snap | 0 .../useAriaPropTypes/invalid.jsx | 0 .../useAriaPropTypes/invalid.jsx.snap | 28 +- .../useAriaPropTypes/valid.jsx | 0 .../useAriaPropTypes/valid.jsx.snap | 0 .../noBannedTypes/invalid.ts | 0 .../noBannedTypes/invalid.ts.snap | 52 +- .../noBannedTypes/valid.ts | 0 .../noBannedTypes/valid.ts.snap | 0 .../noStaticOnlyClass/invalid.ts | 0 .../noStaticOnlyClass/invalid.ts.snap | 13 +- .../noStaticOnlyClass/valid.ts | 0 .../noStaticOnlyClass/valid.ts.snap | 0 .../invalid_with_default_export.js | 0 .../invalid_with_default_export.js.snap | 2 +- .../invalid_with_empty_export.js | 0 .../invalid_with_empty_export.js.snap | 2 +- .../invalid_with_export.js | 0 .../invalid_with_export.js.snap | 2 +- .../invalid_with_export_from.js | 0 .../invalid_with_export_from.js.snap | 2 +- .../invalid_with_import.js | 0 .../invalid_with_import.js.snap | 2 +- .../invalid_with_sideeffect_import.js | 0 .../invalid_with_sideeffect_import.js.snap | 2 +- .../valid_empty_export.js | 0 .../valid_empty_export.js.snap | 0 .../noUselessEmptyExport/valid_export.js | 0 .../noUselessEmptyExport/valid_export.js.snap | 0 .../noUselessThisAlias/invalid.js | 0 .../noUselessThisAlias/invalid.js.snap | 10 +- .../noUselessThisAlias/valid.js | 0 .../noUselessThisAlias/valid.js.snap | 0 .../noConstantCondition/invalid.jsonc | 0 .../noConstantCondition/invalid.jsonc.snap | 284 ++-- .../noConstantCondition/valid.jsonc | 0 .../noConstantCondition/valid.jsonc.snap | 0 .../noNonoctalDecimalEscape/invalid.js | 0 .../noNonoctalDecimalEscape/invalid.js.snap | 112 +- .../noNonoctalDecimalEscape/valid.js | 0 .../noNonoctalDecimalEscape/valid.js.snap | 0 .../noSelfAssign/invalid.js | 0 .../noSelfAssign/invalid.js.snap | 72 +- .../noSelfAssign/valid.js | 0 .../noSelfAssign/valid.js.snap | 0 .../useLiteralEnumMembers/invalid.ts | 0 .../useLiteralEnumMembers/invalid.ts.snap | 50 +- .../useLiteralEnumMembers/valid.ts | 0 .../useLiteralEnumMembers/valid.ts.snap | 0 .../invalidCatchParameter.js | 0 .../invalidCatchParameter.js.snap | 8 +- .../useNamingConvention/invalidClass.js | 0 .../useNamingConvention/invalidClass.js.snap | 10 +- .../useNamingConvention/invalidClassGetter.js | 0 .../invalidClassGetter.js.snap | 20 +- .../useNamingConvention/invalidClassMethod.js | 0 .../invalidClassMethod.js.snap | 20 +- .../invalidClassProperty.js | 0 .../invalidClassProperty.js.snap | 30 +- .../useNamingConvention/invalidClassSetter.js | 0 .../invalidClassSetter.js.snap | 20 +- .../invalidClassStaticGetter.js | 0 .../invalidClassStaticGetter.js.snap | 12 +- .../invalidClassStaticMethod.js | 0 .../invalidClassStaticMethod.js.snap | 18 +- .../invalidClassStaticSetter.js | 0 .../invalidClassStaticSetter.js.snap | 20 +- .../useNamingConvention/invalidEnum.ts | 0 .../useNamingConvention/invalidEnum.ts.snap | 6 +- .../useNamingConvention/invalidEnumMember.ts | 0 .../invalidEnumMember.ts.snap | 8 +- .../useNamingConvention/invalidExportAlias.js | 0 .../invalidExportAlias.js.snap | 8 +- .../invalidExportNamespace.js | 0 .../invalidExportNamespace.js.snap | 6 +- .../useNamingConvention/invalidFunction.js | 0 .../invalidFunction.js.snap | 8 +- .../invalidFunctionParameter.js | 0 .../invalidFunctionParameter.js.snap | 8 +- .../useNamingConvention/invalidImportAlias.js | 0 .../invalidImportAlias.js.snap | 16 +- .../invalidImportNamespace.js | 0 .../invalidImportNamespace.js.snap | 6 +- .../invalidIndexParameter.ts | 0 .../invalidIndexParameter.ts.snap | 6 +- .../useNamingConvention/invalidInterface.ts | 0 .../invalidInterface.ts.snap | 20 +- .../invalidLocalVariable.js | 0 .../invalidLocalVariable.js.snap | 16 +- .../useNamingConvention/invalidNamespace.ts | 0 .../invalidNamespace.ts.snap | 16 +- .../invalidObjectGetter.js | 0 .../invalidObjectGetter.js.snap | 6 +- .../invalidObjectMethod.js | 0 .../invalidObjectMethod.js.snap | 8 +- .../invalidObjectProperty.js | 0 .../invalidObjectProperty.js.snap | 10 +- .../invalidObjectSetter.js | 0 .../invalidObjectSetter.js.snap | 10 +- .../invalidParameterProperty.ts | 0 .../invalidParameterProperty.ts.snap | 6 +- .../invalidTopLevelVariable.ts | 0 .../invalidTopLevelVariable.ts.snap | 12 +- .../useNamingConvention/invalidTypeAlias.ts | 0 .../invalidTypeAlias.ts.snap | 16 +- .../useNamingConvention/invalidTypeGetter.ts | 0 .../invalidTypeGetter.ts.snap | 6 +- .../useNamingConvention/invalidTypeMethod.ts | 0 .../invalidTypeMethod.ts.snap | 8 +- .../invalidTypeParameter.ts | 0 .../invalidTypeParameter.ts.snap | 14 +- .../invalidTypeProperty.ts | 0 .../invalidTypeProperty.ts.snap | 12 +- .../invalidTypeReadonlyProperty.ts | 0 .../invalidTypeReadonlyProperty.ts.snap | 10 +- .../useNamingConvention/invalidTypeSetter.ts | 0 .../invalidTypeSetter.ts.snap | 10 +- .../useNamingConvention/malformedOptions.js | 0 .../malformedOptions.js.snap | 0 .../malformedOptions.options.json | 2 +- .../validCatchParameter.js | 0 .../validCatchParameter.js.snap | 0 .../useNamingConvention/validClass.js | 0 .../useNamingConvention/validClass.js.snap | 0 .../useNamingConvention/validClassGetter.js | 0 .../validClassGetter.js.snap | 0 .../useNamingConvention/validClassMethod.js | 0 .../validClassMethod.js.snap | 0 .../validClassNonStrictPascalCase.js | 0 .../validClassNonStrictPascalCase.js.snap | 0 ...validClassNonStrictPascalCase.options.json | 2 +- .../useNamingConvention/validClassProperty.js | 0 .../validClassProperty.js.snap | 0 .../useNamingConvention/validClassSetter.js | 0 .../validClassSetter.js.snap | 0 .../validClassStaticGetter.js | 0 .../validClassStaticGetter.js.snap | 0 .../validClassStaticMethod.js | 0 .../validClassStaticMethod.js.snap | 0 .../validClassStaticProperty.js | 0 .../validClassStaticProperty.js.snap | 0 .../validClassStaticSetter.js | 0 .../validClassStaticSetter.js.snap | 0 .../useNamingConvention/validEnum.ts | 0 .../useNamingConvention/validEnum.ts.snap | 0 .../useNamingConvention/validEnumMember.ts | 0 .../validEnumMember.ts.snap | 0 .../validEnumMemberCamelCase.options.json | 2 +- .../validEnumMemberCamelCase.ts | 0 .../validEnumMemberCamelCase.ts.snap | 0 .../validEnumMemberConstantCase.options.json | 2 +- .../validEnumMemberConstantCase.ts | 0 .../validEnumMemberConstantCase.ts.snap | 0 .../useNamingConvention/validExportAlias.js | 0 .../validExportAlias.js.snap | 0 .../validExportNamespace.js | 0 .../validExportNamespace.js.snap | 0 .../useNamingConvention/validExportSource.js | 0 .../validExportSource.js.snap | 0 .../useNamingConvention/validFunction.js | 0 .../useNamingConvention/validFunction.js.snap | 0 .../validFunctionParameter.js | 0 .../validFunctionParameter.js.snap | 0 .../useNamingConvention/validImportAlias.js | 0 .../validImportAlias.js.snap | 0 .../validImportNamespace.js | 0 .../validImportNamespace.js.snap | 0 .../useNamingConvention/validImportSource.js | 0 .../validImportSource.js.snap | 0 .../validIndexParameter.ts | 0 .../validIndexParameter.ts.snap | 0 .../useNamingConvention/validInterface.ts | 0 .../validInterface.ts.snap | 0 .../useNamingConvention/validLocalVariable.js | 0 .../validLocalVariable.js.snap | 0 .../useNamingConvention/validNamespace.ts | 0 .../validNamespace.ts.snap | 0 .../useNamingConvention/validObjectGetter.js | 0 .../validObjectGetter.js.snap | 0 .../useNamingConvention/validObjectMethod.js | 0 .../validObjectMethod.js.snap | 0 .../validObjectProperty.js | 0 .../validObjectProperty.js.snap | 0 .../useNamingConvention/validObjectSetter.js | 0 .../validObjectSetter.js.snap | 0 .../validParameterProperty.ts | 0 .../validParameterProperty.ts.snap | 0 .../validTopLevelVariable.ts | 0 .../validTopLevelVariable.ts.snap | 0 .../useNamingConvention/validTypeAlias.ts | 0 .../validTypeAlias.ts.snap | 0 .../useNamingConvention/validTypeGetter.ts | 0 .../validTypeGetter.ts.snap | 0 .../useNamingConvention/validTypeMethod.ts | 0 .../validTypeMethod.ts.snap | 0 .../useNamingConvention/validTypeParameter.ts | 0 .../validTypeParameter.ts.snap | 0 .../useNamingConvention/validTypeProperty.ts | 0 .../validTypeProperty.ts.snap | 0 .../validTypeReadonlyProperty.ts | 0 .../validTypeReadonlyProperty.ts.snap | 0 .../useNamingConvention/validTypeSetter.ts | 0 .../validTypeSetter.ts.snap | 0 .../noControlCharactersInRegex/invalid.js | 0 .../invalid.js.snap | 48 +- .../noControlCharactersInRegex/valid.js | 0 .../noControlCharactersInRegex/valid.js.snap | 0 .../noUnsafeDeclarationMerging/invalid.ts | 0 .../invalid.ts.snap | 8 +- .../noUnsafeDeclarationMerging/valid.ts | 0 .../noUnsafeDeclarationMerging/valid.ts.snap | 0 .../useGetterReturn/invalid.js | 0 .../useGetterReturn/invalid.js.snap | 30 +- .../useGetterReturn/valid.js | 0 .../useGetterReturn/valid.js.snap | 0 .../src/configuration/linter/rules.rs | 1200 +++++++++-------- .../src/configuration/parse/json/rules.rs | 878 ++++++------ .../naming_convention_incorrect_options.json | 2 +- editors/vscode/configuration_schema.json | 224 +-- .../@biomejs/backend-jsonrpc/src/workspace.ts | 160 +-- .../@biomejs/biome/configuration_schema.json | 224 +-- .../src/content/docs/linter/rules/index.mdx | 64 +- .../rules/no-aria-unsupported-elements.md | 8 +- .../docs/linter/rules/no-banned-types.md | 12 +- .../linter/rules/no-confusing-void-type.md | 2 +- .../linter/rules/no-constant-condition.md | 16 +- .../rules/no-control-characters-in-regex.md | 18 +- .../rules/no-noninteractive-tabindex.md | 16 +- .../rules/no-nonoctal-decimal-escape.md | 10 +- .../docs/linter/rules/no-redundant-roles.md | 10 +- .../docs/linter/rules/no-self-assign.md | 18 +- .../docs/linter/rules/no-static-only-class.md | 10 +- .../rules/no-unsafe-declaration-merging.md | 6 +- .../linter/rules/no-useless-empty-export.md | 8 +- .../linter/rules/no-useless-this-alias.md | 6 +- .../docs/linter/rules/use-aria-prop-types.md | 20 +- .../docs/linter/rules/use-getter-return.md | 10 +- .../linter/rules/use-literal-enum-members.md | 6 +- .../linter/rules/use-naming-convention.md | 10 +- 294 files changed, 2221 insertions(+), 2183 deletions(-) rename crates/biome_js_analyze/src/analyzers/{nursery => complexity}/no_static_only_class.rs (100%) rename crates/biome_js_analyze/src/analyzers/{nursery => complexity}/no_useless_empty_export.rs (100%) rename crates/biome_js_analyze/src/analyzers/{nursery => correctness}/no_nonoctal_decimal_escape.rs (100%) rename crates/biome_js_analyze/src/analyzers/{nursery => correctness}/no_self_assign.rs (100%) rename crates/biome_js_analyze/src/analyzers/{nursery => style}/use_literal_enum_members.rs (100%) rename crates/biome_js_analyze/src/analyzers/{nursery => suspicious}/no_control_characters_in_regex.rs (100%) rename crates/biome_js_analyze/src/analyzers/{nursery => suspicious}/use_getter_return.rs (100%) rename crates/biome_js_analyze/src/aria_analyzers/{nursery => a11y}/no_aria_unsupported_elements.rs (100%) rename crates/biome_js_analyze/src/aria_analyzers/{nursery => a11y}/no_noninteractive_tabindex.rs (99%) rename crates/biome_js_analyze/src/aria_analyzers/{nursery => a11y}/no_redundant_roles.rs (100%) rename crates/biome_js_analyze/src/aria_analyzers/{nursery => a11y}/use_aria_prop_types.rs (99%) delete mode 100644 crates/biome_js_analyze/src/aria_analyzers/nursery.rs rename crates/biome_js_analyze/src/semantic_analyzers/{nursery => complexity}/no_banned_types.rs (100%) rename crates/biome_js_analyze/src/semantic_analyzers/{nursery => complexity}/no_useless_this_alias.rs (100%) rename crates/biome_js_analyze/src/semantic_analyzers/{nursery => correctness}/no_constant_condition.rs (100%) rename crates/biome_js_analyze/src/semantic_analyzers/{nursery => style}/use_naming_convention.rs (100%) rename crates/biome_js_analyze/src/semantic_analyzers/{nursery => suspicious}/no_unsafe_declaration_merging.rs (100%) rename crates/biome_js_analyze/tests/specs/{nursery => a11y}/noAriaUnsupportedElements/invalid.jsx (100%) rename crates/biome_js_analyze/tests/specs/{nursery => a11y}/noAriaUnsupportedElements/invalid.jsx.snap (80%) rename crates/biome_js_analyze/tests/specs/{nursery => a11y}/noAriaUnsupportedElements/valid.jsx (100%) rename crates/biome_js_analyze/tests/specs/{nursery => a11y}/noAriaUnsupportedElements/valid.jsx.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => a11y}/noNoninteractiveTabindex/invalid.jsx (100%) rename crates/biome_js_analyze/tests/specs/{nursery => a11y}/noNoninteractiveTabindex/invalid.jsx.snap (82%) rename crates/biome_js_analyze/tests/specs/{nursery => a11y}/noNoninteractiveTabindex/valid.jsx (100%) rename crates/biome_js_analyze/tests/specs/{nursery => a11y}/noNoninteractiveTabindex/valid.jsx.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => a11y}/noRedundantRoles/invalid.jsx (100%) rename crates/biome_js_analyze/tests/specs/{nursery => a11y}/noRedundantRoles/invalid.jsx.snap (82%) rename crates/biome_js_analyze/tests/specs/{nursery => a11y}/noRedundantRoles/valid.jsx (100%) rename crates/biome_js_analyze/tests/specs/{nursery => a11y}/noRedundantRoles/valid.jsx.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => a11y}/useAriaPropTypes/invalid.jsx (100%) rename crates/biome_js_analyze/tests/specs/{nursery => a11y}/useAriaPropTypes/invalid.jsx.snap (88%) rename crates/biome_js_analyze/tests/specs/{nursery => a11y}/useAriaPropTypes/valid.jsx (100%) rename crates/biome_js_analyze/tests/specs/{nursery => a11y}/useAriaPropTypes/valid.jsx.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noBannedTypes/invalid.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noBannedTypes/invalid.ts.snap (83%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noBannedTypes/valid.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noBannedTypes/valid.ts.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noStaticOnlyClass/invalid.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noStaticOnlyClass/invalid.ts.snap (87%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noStaticOnlyClass/valid.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noStaticOnlyClass/valid.ts.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noUselessEmptyExport/invalid_with_default_export.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noUselessEmptyExport/invalid_with_default_export.js.snap (79%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noUselessEmptyExport/invalid_with_empty_export.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noUselessEmptyExport/invalid_with_empty_export.js.snap (77%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noUselessEmptyExport/invalid_with_export.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noUselessEmptyExport/invalid_with_export.js.snap (81%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noUselessEmptyExport/invalid_with_export_from.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noUselessEmptyExport/invalid_with_export_from.js.snap (79%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noUselessEmptyExport/invalid_with_import.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noUselessEmptyExport/invalid_with_import.js.snap (81%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noUselessEmptyExport/invalid_with_sideeffect_import.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noUselessEmptyExport/invalid_with_sideeffect_import.js.snap (83%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noUselessEmptyExport/valid_empty_export.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noUselessEmptyExport/valid_empty_export.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noUselessEmptyExport/valid_export.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noUselessEmptyExport/valid_export.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noUselessThisAlias/invalid.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noUselessThisAlias/invalid.js.snap (86%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noUselessThisAlias/valid.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => complexity}/noUselessThisAlias/valid.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => correctness}/noConstantCondition/invalid.jsonc (100%) rename crates/biome_js_analyze/tests/specs/{nursery => correctness}/noConstantCondition/invalid.jsonc.snap (50%) rename crates/biome_js_analyze/tests/specs/{nursery => correctness}/noConstantCondition/valid.jsonc (100%) rename crates/biome_js_analyze/tests/specs/{nursery => correctness}/noConstantCondition/valid.jsonc.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => correctness}/noNonoctalDecimalEscape/invalid.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => correctness}/noNonoctalDecimalEscape/invalid.js.snap (78%) rename crates/biome_js_analyze/tests/specs/{nursery => correctness}/noNonoctalDecimalEscape/valid.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => correctness}/noNonoctalDecimalEscape/valid.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => correctness}/noSelfAssign/invalid.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => correctness}/noSelfAssign/invalid.js.snap (82%) rename crates/biome_js_analyze/tests/specs/{nursery => correctness}/noSelfAssign/valid.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => correctness}/noSelfAssign/valid.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useLiteralEnumMembers/invalid.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useLiteralEnumMembers/invalid.ts.snap (73%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useLiteralEnumMembers/valid.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useLiteralEnumMembers/valid.ts.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidCatchParameter.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidCatchParameter.js.snap (78%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidClass.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidClass.js.snap (78%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidClassGetter.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidClassGetter.js.snap (68%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidClassMethod.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidClassMethod.js.snap (65%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidClassProperty.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidClassProperty.js.snap (64%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidClassSetter.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidClassSetter.js.snap (68%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidClassStaticGetter.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidClassStaticGetter.js.snap (69%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidClassStaticMethod.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidClassStaticMethod.js.snap (64%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidClassStaticSetter.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidClassStaticSetter.js.snap (67%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidEnum.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidEnum.ts.snap (73%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidEnumMember.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidEnumMember.ts.snap (59%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidExportAlias.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidExportAlias.js.snap (65%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidExportNamespace.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidExportNamespace.js.snap (69%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidFunction.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidFunction.js.snap (77%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidFunctionParameter.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidFunctionParameter.js.snap (76%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidImportAlias.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidImportAlias.js.snap (78%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidImportNamespace.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidImportNamespace.js.snap (81%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidIndexParameter.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidIndexParameter.ts.snap (79%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidInterface.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidInterface.ts.snap (71%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidLocalVariable.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidLocalVariable.js.snap (82%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidNamespace.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidNamespace.ts.snap (72%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidObjectGetter.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidObjectGetter.js.snap (65%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidObjectMethod.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidObjectMethod.js.snap (61%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidObjectProperty.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidObjectProperty.js.snap (66%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidObjectSetter.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidObjectSetter.js.snap (66%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidParameterProperty.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidParameterProperty.ts.snap (71%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidTopLevelVariable.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidTopLevelVariable.ts.snap (68%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidTypeAlias.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidTypeAlias.ts.snap (71%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidTypeGetter.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidTypeGetter.ts.snap (67%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidTypeMethod.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidTypeMethod.ts.snap (62%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidTypeParameter.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidTypeParameter.ts.snap (66%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidTypeProperty.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidTypeProperty.ts.snap (68%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidTypeReadonlyProperty.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidTypeReadonlyProperty.ts.snap (70%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidTypeSetter.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/invalidTypeSetter.ts.snap (67%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/malformedOptions.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/malformedOptions.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/malformedOptions.options.json (93%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validCatchParameter.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validCatchParameter.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validClass.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validClass.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validClassGetter.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validClassGetter.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validClassMethod.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validClassMethod.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validClassNonStrictPascalCase.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validClassNonStrictPascalCase.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validClassNonStrictPascalCase.options.json (93%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validClassProperty.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validClassProperty.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validClassSetter.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validClassSetter.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validClassStaticGetter.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validClassStaticGetter.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validClassStaticMethod.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validClassStaticMethod.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validClassStaticProperty.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validClassStaticProperty.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validClassStaticSetter.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validClassStaticSetter.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validEnum.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validEnum.ts.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validEnumMember.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validEnumMember.ts.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validEnumMemberCamelCase.options.json (94%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validEnumMemberCamelCase.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validEnumMemberCamelCase.ts.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validEnumMemberConstantCase.options.json (93%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validEnumMemberConstantCase.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validEnumMemberConstantCase.ts.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validExportAlias.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validExportAlias.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validExportNamespace.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validExportNamespace.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validExportSource.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validExportSource.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validFunction.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validFunction.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validFunctionParameter.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validFunctionParameter.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validImportAlias.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validImportAlias.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validImportNamespace.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validImportNamespace.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validImportSource.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validImportSource.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validIndexParameter.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validIndexParameter.ts.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validInterface.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validInterface.ts.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validLocalVariable.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validLocalVariable.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validNamespace.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validNamespace.ts.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validObjectGetter.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validObjectGetter.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validObjectMethod.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validObjectMethod.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validObjectProperty.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validObjectProperty.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validObjectSetter.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validObjectSetter.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validParameterProperty.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validParameterProperty.ts.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validTopLevelVariable.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validTopLevelVariable.ts.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validTypeAlias.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validTypeAlias.ts.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validTypeGetter.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validTypeGetter.ts.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validTypeMethod.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validTypeMethod.ts.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validTypeParameter.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validTypeParameter.ts.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validTypeProperty.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validTypeProperty.ts.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validTypeReadonlyProperty.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validTypeReadonlyProperty.ts.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validTypeSetter.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => style}/useNamingConvention/validTypeSetter.ts.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => suspicious}/noControlCharactersInRegex/invalid.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => suspicious}/noControlCharactersInRegex/invalid.js.snap (80%) rename crates/biome_js_analyze/tests/specs/{nursery => suspicious}/noControlCharactersInRegex/valid.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => suspicious}/noControlCharactersInRegex/valid.js.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => suspicious}/noUnsafeDeclarationMerging/invalid.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => suspicious}/noUnsafeDeclarationMerging/invalid.ts.snap (82%) rename crates/biome_js_analyze/tests/specs/{nursery => suspicious}/noUnsafeDeclarationMerging/valid.ts (100%) rename crates/biome_js_analyze/tests/specs/{nursery => suspicious}/noUnsafeDeclarationMerging/valid.ts.snap (100%) rename crates/biome_js_analyze/tests/specs/{nursery => suspicious}/useGetterReturn/invalid.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => suspicious}/useGetterReturn/invalid.js.snap (85%) rename crates/biome_js_analyze/tests/specs/{nursery => suspicious}/useGetterReturn/valid.js (100%) rename crates/biome_js_analyze/tests/specs/{nursery => suspicious}/useGetterReturn/valid.js.snap (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index f56783fd59af..a98f1648cc0d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,12 +8,11 @@ Read our [guidelines to categorize a change](https://biomejs.dev/internals/versi New entries must be placed in a section entitled `Unreleased`. Read our [guidelines for writing a good changelog entry](https://github.com/biomejs/biome/blob/main/CONTRIBUTING.md#changelog). -## Unreleased +## 1.2.0 (2023-09-16) -### Analyzer ### CLI -#### Features +#### New features - Add new options to customize the behaviour the formatter based on the language of the file - `--json-formatter-enabled` @@ -25,14 +24,13 @@ Read our [guidelines for writing a good changelog entry](https://github.com/biom - `--javascript-formatter-indent-size` - `--javascript-formatter-line-width` - #### Bug fixes - Fix a bug where `--errors-on-warning` didn't work when running `biome ci` command. ### Configuration -#### Features +#### New features - Add new options to customize the behaviour of the formatter based on the language of the file - `json.formatter.enabled` @@ -44,14 +42,44 @@ Read our [guidelines for writing a good changelog entry](https://github.com/biom - `javascript.formatter.indentSize` - `javascript.formatter.lineWidth` -### Editors -### Formatter -### JavaScript APIs ### Linter -#### New features + +#### Promoted rules + +New rules are incubated in the nursery group. +Once stable, we promote them to a stable group. +The following rules are promoted: + +- [a11y/noAriaUnsupportedElements](https://www.biomejs.dev/linter/rules/no-aria-unsupported-elements/) +- [a11y/noNoninteractiveTabindex](https://www.biomejs.dev/linter/rules/no-noninteractive-tabindex/) +- [a11y/noRedundantRoles](https://www.biomejs.dev/linter/rules/no-redundant-roles/) +- [a11y/useValidAriaValues](https://www.biomejs.dev/linter/rules/use-valid-aria-values/) +- [complexity/noBannedTypes](https://www.biomejs.dev/linter/rules/no-banned-types) +- [complexity/noStaticOnlyClass](https://www.biomejs.dev/linter/rules/no-static-only-class) +- [complexity/noUselessEmptyExport](https://www.biomejs.dev/linter/rules/no-useless-empty-export) +- [complexity/noUselessThisAlias](https://www.biomejs.dev/linter/rules/no-useless-this-alias) +- [correctness/noConstantCondition](https://www.biomejs.dev/linter/rules/no-constant-condition) +- [correctness/noNonoctalDecimalEscape](https://www.biomejs.dev/linter/rules/no-nonoctal-decimal-escape) +- [correctness/noSelfAssign](https://www.biomejs.dev/linter/rules/no-self-assign) +- [style/useLiteralEnumMembers](https://www.biomejs.dev/linter/rules/use-literal-enum-members) +- [style/useNamingConvention](https://www.biomejs.dev/linter/rules/use-naming-convention) +- [suspicious/noControlCharactersInRegex](https://www.biomejs.dev/linter/rules/no-control-characters-in-regex) +- [suspicious/noUnsafeDeclarationMerging](https://www.biomejs.dev/linter/rules/no-unsafe-declaration-merging) +- [suspicious/useGetterReturn](https://www.biomejs.dev/linter/rules/use-getter-return) + +#### New rules - Add [noConfusingVoidType](https://biomejs.dev/linter/rules/no-confusing-void-type/) rule. The rule reports the unusual use of the `void` type. Contributed by [@shulandmimi](https://github.com/shulandmimi) +#### Removed rules + +- Remove [noConfusingArrow](https://biomejs.dev/linter/rules/no-confusing-arrow/). + + Code formatters, such as prettier and Biome, always adds parentheses around the parameter or the body of an arrow function. + This makes the rule useless. + + Contributed by [@Conaclos](https://github.com/Conaclos) + #### Enhancements - [noFallthroughSwitchClause](https://biomejs.dev/linter/rules/no-fallthrough-switch-clause/) now relies on control flow analysis to report most of switch clause fallthrough. Contributed by [@Conaclos](https://github.com/Conaclos) @@ -90,13 +118,6 @@ Read our [guidelines for writing a good changelog entry](https://github.com/biom Contributed by [@Conaclos](https://github.com/Conaclos) -- Remove [noConfusingArrow](https://biomejs.dev/linter/rules/no-confusing-arrow/). - - Code formatters, such as prettier and Biome, always adds parentheses around the parameter or the body of an arrow function. - This makes the rule useless. - - Contributed by [@Conaclos](https://github.com/Conaclos) - #### Bug fixes - Fix [#182](https://github.com/biomejs/biome/issues/182), making [useLiteralKeys](https://biomejs.dev/linter/rules/use-literal-keys/) retains optional chaining. Contributed by [@denbezrukov](https://github.com/denbezrukov) @@ -130,9 +151,15 @@ Read our [guidelines for writing a good changelog entry](https://github.com/biom Contributed by [@Conaclos](https://github.com/Conaclos) -### Parser ### VSCode +#### Enhancements + +- Improve server binary resolution when using certain package managers, notably pnpm. + + The new strategy is to point to `node_modules/.bin/biome`` path, + which is consistent for all package managers. + ## 1.1.2 (2023-09-07) ### Editors diff --git a/crates/biome_cli/tests/commands/check.rs b/crates/biome_cli/tests/commands/check.rs index 22ddacec1e93..3cb49714cdc8 100644 --- a/crates/biome_cli/tests/commands/check.rs +++ b/crates/biome_cli/tests/commands/check.rs @@ -2535,13 +2535,7 @@ fn should_not_enable_nursery_rules() { let file_path = Path::new("fix.ts"); fs.insert( file_path.into(), - r#"const bannedType: Boolean = true; - -if (true) { - const obj = {}; - obj["useLiteralKey"]; -} - "#, + r#"let confusingVoidType: void;"#, ); let result = run_cli( diff --git a/crates/biome_cli/tests/commands/lint.rs b/crates/biome_cli/tests/commands/lint.rs index e5acd698f937..394ff45723f4 100644 --- a/crates/biome_cli/tests/commands/lint.rs +++ b/crates/biome_cli/tests/commands/lint.rs @@ -2133,7 +2133,7 @@ fn should_not_enable_nursery_rules() { fs.insert(configuration_path.into(), configuration.as_bytes()); let file_path = Path::new("fix.ts"); - fs.insert(file_path.into(), r#"const bannedType: Boolean = true;"#); + fs.insert(file_path.into(), r#"let confusingVoidType: void;"#); let result = run_cli( DynRef::Borrowed(&mut fs), diff --git a/crates/biome_cli/tests/snapshots/main_commands_check/lint_error.snap b/crates/biome_cli/tests/snapshots/main_commands_check/lint_error.snap index e5adb701e5ef..4c4eb3df4393 100644 --- a/crates/biome_cli/tests/snapshots/main_commands_check/lint_error.snap +++ b/crates/biome_cli/tests/snapshots/main_commands_check/lint_error.snap @@ -41,7 +41,7 @@ check.js:1:1 lint/style/useWhile FIXABLE ━━━━━━━━━━━━ ``` ```block -check.js:1:6 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +check.js:1:6 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Unexpected constant condition. diff --git a/crates/biome_cli/tests/snapshots/main_commands_check/print_verbose.snap b/crates/biome_cli/tests/snapshots/main_commands_check/print_verbose.snap index e5adb701e5ef..4c4eb3df4393 100644 --- a/crates/biome_cli/tests/snapshots/main_commands_check/print_verbose.snap +++ b/crates/biome_cli/tests/snapshots/main_commands_check/print_verbose.snap @@ -41,7 +41,7 @@ check.js:1:1 lint/style/useWhile FIXABLE ━━━━━━━━━━━━ ``` ```block -check.js:1:6 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +check.js:1:6 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Unexpected constant condition. diff --git a/crates/biome_cli/tests/snapshots/main_commands_check/should_not_enable_nursery_rules.snap b/crates/biome_cli/tests/snapshots/main_commands_check/should_not_enable_nursery_rules.snap index b678ed4e0b5c..1f47cbf8f66b 100644 --- a/crates/biome_cli/tests/snapshots/main_commands_check/should_not_enable_nursery_rules.snap +++ b/crates/biome_cli/tests/snapshots/main_commands_check/should_not_enable_nursery_rules.snap @@ -24,13 +24,7 @@ expression: content ## `fix.ts` ```ts -const bannedType: Boolean = true; - -if (true) { - const obj = {}; - obj["useLiteralKey"]; -} - +let confusingVoidType: void; ``` # Termination Message @@ -46,45 +40,15 @@ check ━━━━━━━━━━━━━━━━━━━━━━━━ # Emitted Messages -```block -fix.ts:5:6 lint/complexity/useLiteralKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × The computed expression can be simplified without the use of a string literal. - - 3 │ if (true) { - 4 │ const obj = {}; - > 5 │ obj["useLiteralKey"]; - │ ^^^^^^^^^^^^^^^ - 6 │ } - 7 │ - - i Suggested fix: Use a literal key instead. - - 3 3 │ if (true) { - 4 4 │ const obj = {}; - 5 │ - → obj["useLiteralKey"]; - 5 │ + → obj.useLiteralKey; - 6 6 │ } - 7 7 │ - - -``` - -```block -fix.ts lint ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × The file contains diagnostics that needs to be addressed. - - -``` - ```block fix.ts format ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ i Formatter would have printed the following content: - 7 │ → → - │ ---- + 1 │ - let·confusingVoidType:·void; + 1 │ + let·confusingVoidType:·void; + 2 │ + + ``` diff --git a/crates/biome_cli/tests/snapshots/main_commands_ci/ci_lint_error.snap b/crates/biome_cli/tests/snapshots/main_commands_ci/ci_lint_error.snap index 727a724bb8f1..d1445e059a28 100644 --- a/crates/biome_cli/tests/snapshots/main_commands_ci/ci_lint_error.snap +++ b/crates/biome_cli/tests/snapshots/main_commands_ci/ci_lint_error.snap @@ -41,7 +41,7 @@ ci.js:1:1 lint/style/useWhile FIXABLE ━━━━━━━━━━━━━ ``` ```block -ci.js:1:6 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +ci.js:1:6 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Unexpected constant condition. diff --git a/crates/biome_cli/tests/snapshots/main_commands_ci/print_verbose.snap b/crates/biome_cli/tests/snapshots/main_commands_ci/print_verbose.snap index 727a724bb8f1..d1445e059a28 100644 --- a/crates/biome_cli/tests/snapshots/main_commands_ci/print_verbose.snap +++ b/crates/biome_cli/tests/snapshots/main_commands_ci/print_verbose.snap @@ -41,7 +41,7 @@ ci.js:1:1 lint/style/useWhile FIXABLE ━━━━━━━━━━━━━ ``` ```block -ci.js:1:6 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +ci.js:1:6 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Unexpected constant condition. diff --git a/crates/biome_cli/tests/snapshots/main_commands_lint/lint_error.snap b/crates/biome_cli/tests/snapshots/main_commands_lint/lint_error.snap index 0f7e8ed74739..0b4562ab2535 100644 --- a/crates/biome_cli/tests/snapshots/main_commands_lint/lint_error.snap +++ b/crates/biome_cli/tests/snapshots/main_commands_lint/lint_error.snap @@ -41,7 +41,7 @@ check.js:1:1 lint/style/useWhile FIXABLE ━━━━━━━━━━━━ ``` ```block -check.js:1:6 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +check.js:1:6 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Unexpected constant condition. diff --git a/crates/biome_cli/tests/snapshots/main_commands_lint/print_verbose.snap b/crates/biome_cli/tests/snapshots/main_commands_lint/print_verbose.snap index 0f7e8ed74739..0b4562ab2535 100644 --- a/crates/biome_cli/tests/snapshots/main_commands_lint/print_verbose.snap +++ b/crates/biome_cli/tests/snapshots/main_commands_lint/print_verbose.snap @@ -41,7 +41,7 @@ check.js:1:1 lint/style/useWhile FIXABLE ━━━━━━━━━━━━ ``` ```block -check.js:1:6 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +check.js:1:6 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Unexpected constant condition. diff --git a/crates/biome_cli/tests/snapshots/main_commands_lint/should_not_enable_nursery_rules.snap b/crates/biome_cli/tests/snapshots/main_commands_lint/should_not_enable_nursery_rules.snap index 0d97b5dbf53e..cd61832928bb 100644 --- a/crates/biome_cli/tests/snapshots/main_commands_lint/should_not_enable_nursery_rules.snap +++ b/crates/biome_cli/tests/snapshots/main_commands_lint/should_not_enable_nursery_rules.snap @@ -24,7 +24,7 @@ expression: content ## `fix.ts` ```ts -const bannedType: Boolean = true; +let confusingVoidType: void; ``` # Emitted Messages diff --git a/crates/biome_cli/tests/snapshots/main_configuration/incorrect_rule_name.snap b/crates/biome_cli/tests/snapshots/main_configuration/incorrect_rule_name.snap index 21741a66bb9e..df709b54754c 100644 --- a/crates/biome_cli/tests/snapshots/main_configuration/incorrect_rule_name.snap +++ b/crates/biome_cli/tests/snapshots/main_configuration/incorrect_rule_name.snap @@ -51,14 +51,17 @@ biome.json:6:13 deserialize ━━━━━━━━━━━━━━━━━ - all - noChildrenProp - noConstAssign + - noConstantCondition - noConstructorReturn - noEmptyPattern - noGlobalObjectCalls - noInnerDeclarations - noInvalidConstructorSuper - noNewSymbol + - noNonoctalDecimalEscape - noPrecisionLoss - noRenderReturnValue + - noSelfAssign - noSetterReturn - noStringCaseMismatch - noSwitchDeclarations diff --git a/crates/biome_diagnostics_categories/src/categories.rs b/crates/biome_diagnostics_categories/src/categories.rs index 8afc8d6e6c36..f2922e32603c 100644 --- a/crates/biome_diagnostics_categories/src/categories.rs +++ b/crates/biome_diagnostics_categories/src/categories.rs @@ -14,16 +14,20 @@ define_categories! { "lint/a11y/noAccessKey": "https://biomejs.dev/linter/rules/no-access-key", + "lint/a11y/noAriaUnsupportedElements": "https://biomejs.dev/linter/rules/no-aria-unsupported-elements", "lint/a11y/noAutofocus": "https://biomejs.dev/linter/rules/no-autofocus", "lint/a11y/noBlankTarget": "https://biomejs.dev/linter/rules/no-blank-target", "lint/a11y/noDistractingElements": "https://biomejs.dev/linter/rules/no-distracting-elements", "lint/a11y/noHeaderScope": "https://biomejs.dev/linter/rules/no-header-scope", "lint/a11y/noNoninteractiveElementToInteractiveRole": "https://biomejs.dev/linter/rules/no-noninteractive-element-to-interactive-role", + "lint/a11y/noNoninteractiveTabindex": "https://biomejs.dev/linter/rules/no-noninteractive-tabindex", "lint/a11y/noPositiveTabindex": "https://biomejs.dev/linter/rules/no-positive-tabindex", "lint/a11y/noRedundantAlt": "https://biomejs.dev/linter/rules/no-redundant-alt", + "lint/a11y/noRedundantRoles": "https://biomejs.dev/linter/rules/no-redundant-roles", "lint/a11y/noSvgWithoutTitle": "https://biomejs.dev/linter/rules/no-svg-without-title", "lint/a11y/useAltText": "https://biomejs.dev/linter/rules/use-alt-text", "lint/a11y/useAnchorContent": "https://biomejs.dev/linter/rules/use-anchor-content", + "lint/a11y/useAriaPropTypes": "https://biomejs.dev/linter/rules/use-aria-prop-types", "lint/a11y/useAriaPropsForRole": "https://biomejs.dev/linter/rules/use-aria-props-for-role", "lint/a11y/useButtonType": "https://biomejs.dev/linter/rules/use-button-type", "lint/a11y/useHeadingContent": "https://biomejs.dev/linter/rules/use-heading-content", @@ -35,15 +39,19 @@ define_categories! { "lint/a11y/useValidAnchor": "https://biomejs.dev/linter/rules/use-valid-anchor", "lint/a11y/useValidAriaProps": "https://biomejs.dev/linter/rules/use-valid-aria-props", "lint/a11y/useValidLang": "https://biomejs.dev/linter/rules/use-valid-lang", + "lint/complexity/noBannedTypes": "https://biomejs.dev/linter/rules/no-banned-types", "lint/complexity/noExtraBooleanCast": "https://biomejs.dev/linter/rules/no-extra-boolean-cast", "lint/complexity/noForEach": "https://biomejs.dev/linter/rules/no-for-each", "lint/complexity/noMultipleSpacesInRegularExpressionLiterals": "https://biomejs.dev/linter/rules/no-multiple-spaces-in-regular-expression-literals", + "lint/complexity/noStaticOnlyClass": "https://biomejs.dev/linter/rules/no-static-only-class", "lint/complexity/noUselessCatch": "https://biomejs.dev/linter/rules/no-useless-catch", "lint/complexity/noUselessConstructor": "https://biomejs.dev/linter/rules/no-useless-constructor", + "lint/complexity/noUselessEmptyExport": "https://biomejs.dev/linter/rules/no-useless-empty-export", "lint/complexity/noUselessFragments": "https://biomejs.dev/linter/rules/no-useless-fragments", "lint/complexity/noUselessLabel": "https://biomejs.dev/linter/rules/no-useless-label", "lint/complexity/noUselessRename": "https://biomejs.dev/linter/rules/no-useless-rename", "lint/complexity/noUselessSwitchCase": "https://biomejs.dev/linter/rules/no-useless-switch-case", + "lint/complexity/noUselessThisAlias": "https://biomejs.dev/linter/rules/no-useless-this-alias", "lint/complexity/noUselessTypeConstraint": "https://biomejs.dev/linter/rules/no-useless-type-constraint", "lint/complexity/noWith": "https://biomejs.dev/linter/rules/no-with", "lint/complexity/useFlatMap": "https://biomejs.dev/linter/rules/use-flat-map", @@ -53,14 +61,17 @@ define_categories! { "lint/complexity/useSimplifiedLogicExpression": "https://biomejs.dev/linter/rules/use-simplified-logic-expression", "lint/correctness/noChildrenProp": "https://biomejs.dev/linter/rules/no-children-prop", "lint/correctness/noConstAssign": "https://biomejs.dev/linter/rules/no-const-assign", + "lint/correctness/noConstantCondition": "https://biomejs.dev/linter/rules/no-constant-condition", "lint/correctness/noConstructorReturn": "https://biomejs.dev/linter/rules/no-constructor-return", "lint/correctness/noEmptyPattern": "https://biomejs.dev/linter/rules/no-empty-pattern", "lint/correctness/noGlobalObjectCalls": "https://biomejs.dev/linter/rules/no-global-object-calls", "lint/correctness/noInnerDeclarations": "https://biomejs.dev/linter/rules/no-inner-declarations", "lint/correctness/noInvalidConstructorSuper": "https://biomejs.dev/linter/rules/no-invalid-constructor-super", "lint/correctness/noNewSymbol": "https://biomejs.dev/linter/rules/no-new-symbol", + "lint/correctness/noNonoctalDecimalEscape": "https://biomejs.dev/linter/rules/no-nonoctal-decimal-escape", "lint/correctness/noPrecisionLoss": "https://biomejs.dev/linter/rules/no-precision-loss", "lint/correctness/noRenderReturnValue": "https://biomejs.dev/linter/rules/no-render-return-value", + "lint/correctness/noSelfAssign": "https://biomejs.dev/linter/rules/no-self-assign", "lint/correctness/noSetterReturn": "https://biomejs.dev/linter/rules/no-setter-return", "lint/correctness/noStringCaseMismatch": "https://biomejs.dev/linter/rules/no-string-case-mismatch", "lint/correctness/noSwitchDeclarations": "https://biomejs.dev/linter/rules/no-switch-declarations", @@ -78,37 +89,21 @@ define_categories! { "lint/correctness/useValidForDirection": "https://biomejs.dev/linter/rules/use-valid-for-direction", "lint/correctness/useYield": "https://biomejs.dev/linter/rules/use-yield", "lint/nursery/noAccumulatingSpread": "https://biomejs.dev/linter/rules/no-accumulating-spread", - "lint/nursery/noAriaUnsupportedElements": "https://biomejs.dev/linter/rules/no-aria-unsupported-elements", - "lint/nursery/noBannedTypes": "https://biomejs.dev/linter/rules/no-banned-types", "lint/nursery/noConfusingVoidType": "https://biomejs.dev/linter/rules/no-confusing-void-type", - "lint/nursery/noConstantCondition": "https://biomejs.dev/linter/rules/no-constant-condition", - "lint/nursery/noControlCharactersInRegex": "https://biomejs.dev/linter/rules/no-control-characters-in-regex", "lint/nursery/noDuplicateJsonKeys": "https://biomejs.dev/linter/rules/no-duplicate-json-keys", "lint/nursery/noExcessiveComplexity": "https://biomejs.dev/linter/rules/no-excessive-complexity", "lint/nursery/noFallthroughSwitchClause": "https://biomejs.dev/linter/rules/no-fallthrough-switch-clause", "lint/nursery/noGlobalIsFinite": "https://biomejs.dev/linter/rules/no-global-is-finite", "lint/nursery/noGlobalIsNan": "https://biomejs.dev/linter/rules/no-global-is-nan", - "lint/nursery/noNoninteractiveTabindex": "https://biomejs.dev/linter/rules/no-noninteractive-tabindex", - "lint/nursery/noNonoctalDecimalEscape": "https://biomejs.dev/linter/rules/no-nonoctal-decimal-escape", - "lint/nursery/noRedundantRoles": "https://biomejs.dev/linter/rules/no-redundant-roles", - "lint/nursery/noSelfAssign": "https://biomejs.dev/linter/rules/no-self-assign", - "lint/nursery/noStaticOnlyClass": "https://biomejs.dev/linter/rules/no-static-only-class", - "lint/nursery/noUnsafeDeclarationMerging": "https://biomejs.dev/linter/rules/no-unsafe-declaration-merging", - "lint/nursery/noUselessEmptyExport": "https://biomejs.dev/linter/rules/no-useless-empty-export", - "lint/nursery/noUselessThisAlias": "https://biomejs.dev/linter/rules/no-useless-this-alias", "lint/nursery/noVoid": "https://biomejs.dev/linter/rules/no-void", - "lint/nursery/useAriaPropTypes": "https://biomejs.dev/linter/rules/use-aria-prop-types", "lint/nursery/useArrowFunction": "https://biomejs.dev/linter/rules/use-arrow-function", "lint/nursery/useBiomeSuppressionComment": "https://biomejs.dev/lint/rules/use-biome-suppression-comment", "lint/nursery/useCollapsedElseIf": "https://biomejs.dev/lint/rules/use-collapsed-else-if", "lint/nursery/useExhaustiveDependencies": "https://biomejs.dev/linter/rules/use-exhaustive-dependencies", - "lint/nursery/useGetterReturn": "https://biomejs.dev/linter/rules/use-getter-return", "lint/nursery/useGroupedTypeImport": "https://biomejs.dev/linter/rules/use-grouped-type-import", "lint/nursery/useHookAtTopLevel": "https://biomejs.dev/linter/rules/use-hook-at-top-level", "lint/nursery/useImportRestrictions": "https://biomejs.dev/linter/rules/use-import-restrictions", "lint/nursery/useIsArray": "https://biomejs.dev/linter/rules/use-is-array", - "lint/nursery/useLiteralEnumMembers": "https://biomejs.dev/linter/rules/use-literal-enum-members", - "lint/nursery/useNamingConvention": "https://biomejs.dev/linter/rules/use-naming-convention", "lint/performance/noDelete": "https://biomejs.dev/linter/rules/no-delete", "lint/security/noDangerouslySetInnerHtml": "https://biomejs.dev/linter/rules/no-dangerously-set-inner-html", "lint/security/noDangerouslySetInnerHtmlWithChildren": "https://biomejs.dev/linter/rules/no-dangerously-set-inner-html-with-children", @@ -131,6 +126,8 @@ define_categories! { "lint/style/useEnumInitializers": "https://biomejs.dev/linter/rules/use-enum-initializers", "lint/style/useExponentiationOperator": "https://biomejs.dev/linter/rules/use-exponentiation-operator", "lint/style/useFragmentSyntax": "https://biomejs.dev/linter/rules/use-fragment-syntax", + "lint/style/useLiteralEnumMembers": "https://biomejs.dev/linter/rules/use-literal-enum-members", + "lint/style/useNamingConvention": "https://biomejs.dev/linter/rules/use-naming-convention", "lint/style/useNumericLiterals": "https://biomejs.dev/linter/rules/use-numeric-literals", "lint/style/useSelfClosingElements": "https://biomejs.dev/linter/rules/use-self-closing-elements", "lint/style/useShorthandArrayType": "https://biomejs.dev/linter/rules/use-shorthand-array-type", @@ -148,6 +145,7 @@ define_categories! { "lint/suspicious/noConfusingLabels": "https://biomejs.dev/linter/rules/no-confusing-labels", "lint/suspicious/noConsoleLog": "https://biomejs.dev/linter/rules/no-console-log", "lint/suspicious/noConstEnum": "https://biomejs.dev/linter/rules/no-const-enum", + "lint/suspicious/noControlCharactersInRegex": "https://biomejs.dev/linter/rules/no-control-characters-in-regex", "lint/suspicious/noDebugger": "https://biomejs.dev/linter/rules/no-debugger", "lint/suspicious/noDoubleEquals": "https://biomejs.dev/linter/rules/no-double-equals", "lint/suspicious/noDuplicateCase": "https://biomejs.dev/linter/rules/no-duplicate-case", @@ -167,8 +165,10 @@ define_categories! { "lint/suspicious/noSelfCompare": "https://biomejs.dev/linter/rules/no-self-compare", "lint/suspicious/noShadowRestrictedNames": "https://biomejs.dev/linter/rules/no-shadow-restricted-names", "lint/suspicious/noSparseArray": "https://biomejs.dev/linter/rules/no-sparse-array", + "lint/suspicious/noUnsafeDeclarationMerging": "https://biomejs.dev/linter/rules/no-unsafe-declaration-merging", "lint/suspicious/noUnsafeNegation": "https://biomejs.dev/linter/rules/no-unsafe-negation", "lint/suspicious/useDefaultSwitchClauseLast": "https://biomejs.dev/linter/rules/use-default-switch-clause-last", + "lint/suspicious/useGetterReturn": "https://biomejs.dev/linter/rules/use-getter-return", "lint/suspicious/useNamespaceKeyword": "https://biomejs.dev/linter/rules/use-namespace-keyword", "lint/suspicious/useValidTypeof": "https://biomejs.dev/linter/rules/use-valid-typeof", ; diff --git a/crates/biome_js_analyze/src/analyzers/complexity.rs b/crates/biome_js_analyze/src/analyzers/complexity.rs index 438d1996b8b5..fe2bd7f814a6 100644 --- a/crates/biome_js_analyze/src/analyzers/complexity.rs +++ b/crates/biome_js_analyze/src/analyzers/complexity.rs @@ -5,8 +5,10 @@ use biome_analyze::declare_group; pub(crate) mod no_extra_boolean_cast; pub(crate) mod no_for_each; pub(crate) mod no_multiple_spaces_in_regular_expression_literals; +pub(crate) mod no_static_only_class; pub(crate) mod no_useless_catch; pub(crate) mod no_useless_constructor; +pub(crate) mod no_useless_empty_export; pub(crate) mod no_useless_label; pub(crate) mod no_useless_rename; pub(crate) mod no_useless_switch_case; @@ -25,8 +27,10 @@ declare_group! { self :: no_extra_boolean_cast :: NoExtraBooleanCast , self :: no_for_each :: NoForEach , self :: no_multiple_spaces_in_regular_expression_literals :: NoMultipleSpacesInRegularExpressionLiterals , + self :: no_static_only_class :: NoStaticOnlyClass , self :: no_useless_catch :: NoUselessCatch , self :: no_useless_constructor :: NoUselessConstructor , + self :: no_useless_empty_export :: NoUselessEmptyExport , self :: no_useless_label :: NoUselessLabel , self :: no_useless_rename :: NoUselessRename , self :: no_useless_switch_case :: NoUselessSwitchCase , diff --git a/crates/biome_js_analyze/src/analyzers/nursery/no_static_only_class.rs b/crates/biome_js_analyze/src/analyzers/complexity/no_static_only_class.rs similarity index 100% rename from crates/biome_js_analyze/src/analyzers/nursery/no_static_only_class.rs rename to crates/biome_js_analyze/src/analyzers/complexity/no_static_only_class.rs diff --git a/crates/biome_js_analyze/src/analyzers/nursery/no_useless_empty_export.rs b/crates/biome_js_analyze/src/analyzers/complexity/no_useless_empty_export.rs similarity index 100% rename from crates/biome_js_analyze/src/analyzers/nursery/no_useless_empty_export.rs rename to crates/biome_js_analyze/src/analyzers/complexity/no_useless_empty_export.rs diff --git a/crates/biome_js_analyze/src/analyzers/correctness.rs b/crates/biome_js_analyze/src/analyzers/correctness.rs index a3e23189f04a..9bd09e458939 100644 --- a/crates/biome_js_analyze/src/analyzers/correctness.rs +++ b/crates/biome_js_analyze/src/analyzers/correctness.rs @@ -6,7 +6,9 @@ pub(crate) mod no_constructor_return; pub(crate) mod no_empty_pattern; pub(crate) mod no_inner_declarations; pub(crate) mod no_invalid_constructor_super; +pub(crate) mod no_nonoctal_decimal_escape; pub(crate) mod no_precision_loss; +pub(crate) mod no_self_assign; pub(crate) mod no_setter_return; pub(crate) mod no_string_case_mismatch; pub(crate) mod no_switch_declarations; @@ -28,7 +30,9 @@ declare_group! { self :: no_empty_pattern :: NoEmptyPattern , self :: no_inner_declarations :: NoInnerDeclarations , self :: no_invalid_constructor_super :: NoInvalidConstructorSuper , + self :: no_nonoctal_decimal_escape :: NoNonoctalDecimalEscape , self :: no_precision_loss :: NoPrecisionLoss , + self :: no_self_assign :: NoSelfAssign , self :: no_setter_return :: NoSetterReturn , self :: no_string_case_mismatch :: NoStringCaseMismatch , self :: no_switch_declarations :: NoSwitchDeclarations , diff --git a/crates/biome_js_analyze/src/analyzers/nursery/no_nonoctal_decimal_escape.rs b/crates/biome_js_analyze/src/analyzers/correctness/no_nonoctal_decimal_escape.rs similarity index 100% rename from crates/biome_js_analyze/src/analyzers/nursery/no_nonoctal_decimal_escape.rs rename to crates/biome_js_analyze/src/analyzers/correctness/no_nonoctal_decimal_escape.rs diff --git a/crates/biome_js_analyze/src/analyzers/nursery/no_self_assign.rs b/crates/biome_js_analyze/src/analyzers/correctness/no_self_assign.rs similarity index 100% rename from crates/biome_js_analyze/src/analyzers/nursery/no_self_assign.rs rename to crates/biome_js_analyze/src/analyzers/correctness/no_self_assign.rs diff --git a/crates/biome_js_analyze/src/analyzers/nursery.rs b/crates/biome_js_analyze/src/analyzers/nursery.rs index ecd652570137..aab35cd1c787 100644 --- a/crates/biome_js_analyze/src/analyzers/nursery.rs +++ b/crates/biome_js_analyze/src/analyzers/nursery.rs @@ -3,40 +3,26 @@ use biome_analyze::declare_group; pub(crate) mod no_confusing_void_type; -pub(crate) mod no_control_characters_in_regex; pub(crate) mod no_excessive_complexity; pub(crate) mod no_fallthrough_switch_clause; -pub(crate) mod no_nonoctal_decimal_escape; -pub(crate) mod no_self_assign; -pub(crate) mod no_static_only_class; -pub(crate) mod no_useless_empty_export; pub(crate) mod no_void; pub(crate) mod use_arrow_function; pub(crate) mod use_collapsed_else_if; -pub(crate) mod use_getter_return; pub(crate) mod use_grouped_type_import; pub(crate) mod use_import_restrictions; -pub(crate) mod use_literal_enum_members; declare_group! { pub (crate) Nursery { name : "nursery" , rules : [ self :: no_confusing_void_type :: NoConfusingVoidType , - self :: no_control_characters_in_regex :: NoControlCharactersInRegex , self :: no_excessive_complexity :: NoExcessiveComplexity , self :: no_fallthrough_switch_clause :: NoFallthroughSwitchClause , - self :: no_nonoctal_decimal_escape :: NoNonoctalDecimalEscape , - self :: no_self_assign :: NoSelfAssign , - self :: no_static_only_class :: NoStaticOnlyClass , - self :: no_useless_empty_export :: NoUselessEmptyExport , self :: no_void :: NoVoid , self :: use_arrow_function :: UseArrowFunction , self :: use_collapsed_else_if :: UseCollapsedElseIf , - self :: use_getter_return :: UseGetterReturn , self :: use_grouped_type_import :: UseGroupedTypeImport , self :: use_import_restrictions :: UseImportRestrictions , - self :: use_literal_enum_members :: UseLiteralEnumMembers , ] } } diff --git a/crates/biome_js_analyze/src/analyzers/nursery/no_confusing_void_type.rs b/crates/biome_js_analyze/src/analyzers/nursery/no_confusing_void_type.rs index 882112f8f8e1..957a1a5967ca 100644 --- a/crates/biome_js_analyze/src/analyzers/nursery/no_confusing_void_type.rs +++ b/crates/biome_js_analyze/src/analyzers/nursery/no_confusing_void_type.rs @@ -47,7 +47,7 @@ declare_rule! { /// printArg(undefined); /// ``` pub(crate) NoConfusingVoidType { - version: "next", + version: "1.2", name: "noConfusingVoidType", recommended: false, } diff --git a/crates/biome_js_analyze/src/analyzers/style.rs b/crates/biome_js_analyze/src/analyzers/style.rs index 1f4b5afaed83..677f0d582494 100644 --- a/crates/biome_js_analyze/src/analyzers/style.rs +++ b/crates/biome_js_analyze/src/analyzers/style.rs @@ -14,6 +14,7 @@ pub(crate) mod use_block_statements; pub(crate) mod use_default_parameter_last; pub(crate) mod use_enum_initializers; pub(crate) mod use_exponentiation_operator; +pub(crate) mod use_literal_enum_members; pub(crate) mod use_numeric_literals; pub(crate) mod use_self_closing_elements; pub(crate) mod use_shorthand_array_type; @@ -38,6 +39,7 @@ declare_group! { self :: use_default_parameter_last :: UseDefaultParameterLast , self :: use_enum_initializers :: UseEnumInitializers , self :: use_exponentiation_operator :: UseExponentiationOperator , + self :: use_literal_enum_members :: UseLiteralEnumMembers , self :: use_numeric_literals :: UseNumericLiterals , self :: use_self_closing_elements :: UseSelfClosingElements , self :: use_shorthand_array_type :: UseShorthandArrayType , diff --git a/crates/biome_js_analyze/src/analyzers/nursery/use_literal_enum_members.rs b/crates/biome_js_analyze/src/analyzers/style/use_literal_enum_members.rs similarity index 100% rename from crates/biome_js_analyze/src/analyzers/nursery/use_literal_enum_members.rs rename to crates/biome_js_analyze/src/analyzers/style/use_literal_enum_members.rs diff --git a/crates/biome_js_analyze/src/analyzers/suspicious.rs b/crates/biome_js_analyze/src/analyzers/suspicious.rs index c3fde7056163..1bf1df542588 100644 --- a/crates/biome_js_analyze/src/analyzers/suspicious.rs +++ b/crates/biome_js_analyze/src/analyzers/suspicious.rs @@ -8,6 +8,7 @@ pub(crate) mod no_comment_text; pub(crate) mod no_compare_neg_zero; pub(crate) mod no_confusing_labels; pub(crate) mod no_const_enum; +pub(crate) mod no_control_characters_in_regex; pub(crate) mod no_debugger; pub(crate) mod no_double_equals; pub(crate) mod no_duplicate_case; @@ -24,6 +25,7 @@ pub(crate) mod no_shadow_restricted_names; pub(crate) mod no_sparse_array; pub(crate) mod no_unsafe_negation; pub(crate) mod use_default_switch_clause_last; +pub(crate) mod use_getter_return; pub(crate) mod use_namespace_keyword; pub(crate) mod use_valid_typeof; @@ -37,6 +39,7 @@ declare_group! { self :: no_compare_neg_zero :: NoCompareNegZero , self :: no_confusing_labels :: NoConfusingLabels , self :: no_const_enum :: NoConstEnum , + self :: no_control_characters_in_regex :: NoControlCharactersInRegex , self :: no_debugger :: NoDebugger , self :: no_double_equals :: NoDoubleEquals , self :: no_duplicate_case :: NoDuplicateCase , @@ -53,6 +56,7 @@ declare_group! { self :: no_sparse_array :: NoSparseArray , self :: no_unsafe_negation :: NoUnsafeNegation , self :: use_default_switch_clause_last :: UseDefaultSwitchClauseLast , + self :: use_getter_return :: UseGetterReturn , self :: use_namespace_keyword :: UseNamespaceKeyword , self :: use_valid_typeof :: UseValidTypeof , ] diff --git a/crates/biome_js_analyze/src/analyzers/nursery/no_control_characters_in_regex.rs b/crates/biome_js_analyze/src/analyzers/suspicious/no_control_characters_in_regex.rs similarity index 100% rename from crates/biome_js_analyze/src/analyzers/nursery/no_control_characters_in_regex.rs rename to crates/biome_js_analyze/src/analyzers/suspicious/no_control_characters_in_regex.rs diff --git a/crates/biome_js_analyze/src/analyzers/nursery/use_getter_return.rs b/crates/biome_js_analyze/src/analyzers/suspicious/use_getter_return.rs similarity index 100% rename from crates/biome_js_analyze/src/analyzers/nursery/use_getter_return.rs rename to crates/biome_js_analyze/src/analyzers/suspicious/use_getter_return.rs diff --git a/crates/biome_js_analyze/src/aria_analyzers.rs b/crates/biome_js_analyze/src/aria_analyzers.rs index 125b74785f7b..0b18adea18a7 100644 --- a/crates/biome_js_analyze/src/aria_analyzers.rs +++ b/crates/biome_js_analyze/src/aria_analyzers.rs @@ -1,5 +1,4 @@ //! Generated file, do not edit by hand, see `xtask/codegen` pub(crate) mod a11y; -pub(crate) mod nursery; -::biome_analyze::declare_category! { pub (crate) AriaAnalyzers { kind : Lint , groups : [self :: a11y :: A11y , self :: nursery :: Nursery ,] } } +::biome_analyze::declare_category! { pub (crate) AriaAnalyzers { kind : Lint , groups : [self :: a11y :: A11y ,] } } diff --git a/crates/biome_js_analyze/src/aria_analyzers/a11y.rs b/crates/biome_js_analyze/src/aria_analyzers/a11y.rs index ef89962b593f..e395e4f1eecf 100644 --- a/crates/biome_js_analyze/src/aria_analyzers/a11y.rs +++ b/crates/biome_js_analyze/src/aria_analyzers/a11y.rs @@ -2,7 +2,11 @@ use biome_analyze::declare_group; +pub(crate) mod no_aria_unsupported_elements; pub(crate) mod no_noninteractive_element_to_interactive_role; +pub(crate) mod no_noninteractive_tabindex; +pub(crate) mod no_redundant_roles; +pub(crate) mod use_aria_prop_types; pub(crate) mod use_aria_props_for_role; pub(crate) mod use_valid_aria_props; pub(crate) mod use_valid_lang; @@ -11,7 +15,11 @@ declare_group! { pub (crate) A11y { name : "a11y" , rules : [ + self :: no_aria_unsupported_elements :: NoAriaUnsupportedElements , self :: no_noninteractive_element_to_interactive_role :: NoNoninteractiveElementToInteractiveRole , + self :: no_noninteractive_tabindex :: NoNoninteractiveTabindex , + self :: no_redundant_roles :: NoRedundantRoles , + self :: use_aria_prop_types :: UseAriaPropTypes , self :: use_aria_props_for_role :: UseAriaPropsForRole , self :: use_valid_aria_props :: UseValidAriaProps , self :: use_valid_lang :: UseValidLang , diff --git a/crates/biome_js_analyze/src/aria_analyzers/nursery/no_aria_unsupported_elements.rs b/crates/biome_js_analyze/src/aria_analyzers/a11y/no_aria_unsupported_elements.rs similarity index 100% rename from crates/biome_js_analyze/src/aria_analyzers/nursery/no_aria_unsupported_elements.rs rename to crates/biome_js_analyze/src/aria_analyzers/a11y/no_aria_unsupported_elements.rs diff --git a/crates/biome_js_analyze/src/aria_analyzers/nursery/no_noninteractive_tabindex.rs b/crates/biome_js_analyze/src/aria_analyzers/a11y/no_noninteractive_tabindex.rs similarity index 99% rename from crates/biome_js_analyze/src/aria_analyzers/nursery/no_noninteractive_tabindex.rs rename to crates/biome_js_analyze/src/aria_analyzers/a11y/no_noninteractive_tabindex.rs index 09082bdbebb5..6e70f7942625 100644 --- a/crates/biome_js_analyze/src/aria_analyzers/nursery/no_noninteractive_tabindex.rs +++ b/crates/biome_js_analyze/src/aria_analyzers/a11y/no_noninteractive_tabindex.rs @@ -50,7 +50,7 @@ declare_rule! { pub(crate) NoNoninteractiveTabindex { version: "1.0.0", name: "noNoninteractiveTabindex", - recommended: false, + recommended: true, } } diff --git a/crates/biome_js_analyze/src/aria_analyzers/nursery/no_redundant_roles.rs b/crates/biome_js_analyze/src/aria_analyzers/a11y/no_redundant_roles.rs similarity index 100% rename from crates/biome_js_analyze/src/aria_analyzers/nursery/no_redundant_roles.rs rename to crates/biome_js_analyze/src/aria_analyzers/a11y/no_redundant_roles.rs diff --git a/crates/biome_js_analyze/src/aria_analyzers/nursery/use_aria_prop_types.rs b/crates/biome_js_analyze/src/aria_analyzers/a11y/use_aria_prop_types.rs similarity index 99% rename from crates/biome_js_analyze/src/aria_analyzers/nursery/use_aria_prop_types.rs rename to crates/biome_js_analyze/src/aria_analyzers/a11y/use_aria_prop_types.rs index ee12b98cf2e2..173da66e6c56 100644 --- a/crates/biome_js_analyze/src/aria_analyzers/nursery/use_aria_prop_types.rs +++ b/crates/biome_js_analyze/src/aria_analyzers/a11y/use_aria_prop_types.rs @@ -49,7 +49,7 @@ declare_rule! { pub(crate) UseAriaPropTypes { version: "1.0.0", name: "useAriaPropTypes", - recommended: false, + recommended: true, } } diff --git a/crates/biome_js_analyze/src/aria_analyzers/nursery.rs b/crates/biome_js_analyze/src/aria_analyzers/nursery.rs deleted file mode 100644 index c9a9d4427f1a..000000000000 --- a/crates/biome_js_analyze/src/aria_analyzers/nursery.rs +++ /dev/null @@ -1,20 +0,0 @@ -//! Generated file, do not edit by hand, see `xtask/codegen` - -use biome_analyze::declare_group; - -pub(crate) mod no_aria_unsupported_elements; -pub(crate) mod no_noninteractive_tabindex; -pub(crate) mod no_redundant_roles; -pub(crate) mod use_aria_prop_types; - -declare_group! { - pub (crate) Nursery { - name : "nursery" , - rules : [ - self :: no_aria_unsupported_elements :: NoAriaUnsupportedElements , - self :: no_noninteractive_tabindex :: NoNoninteractiveTabindex , - self :: no_redundant_roles :: NoRedundantRoles , - self :: use_aria_prop_types :: UseAriaPropTypes , - ] - } -} diff --git a/crates/biome_js_analyze/src/options.rs b/crates/biome_js_analyze/src/options.rs index 3cdae8de1ee1..3b2f85728c73 100644 --- a/crates/biome_js_analyze/src/options.rs +++ b/crates/biome_js_analyze/src/options.rs @@ -4,7 +4,7 @@ use crate::analyzers::nursery::no_excessive_complexity::{complexity_options, Com use crate::semantic_analyzers::nursery::use_exhaustive_dependencies::{ hooks_options, HooksOptions, }; -use crate::semantic_analyzers::nursery::use_naming_convention::{ +use crate::semantic_analyzers::style::use_naming_convention::{ naming_convention_options, NamingConventionOptions, }; use crate::semantic_analyzers::style::no_restricted_globals::{ diff --git a/crates/biome_js_analyze/src/semantic_analyzers/complexity.rs b/crates/biome_js_analyze/src/semantic_analyzers/complexity.rs index fe3c5f2e7f5a..5ddc5ac66777 100644 --- a/crates/biome_js_analyze/src/semantic_analyzers/complexity.rs +++ b/crates/biome_js_analyze/src/semantic_analyzers/complexity.rs @@ -2,13 +2,17 @@ use biome_analyze::declare_group; +pub(crate) mod no_banned_types; pub(crate) mod no_useless_fragments; +pub(crate) mod no_useless_this_alias; declare_group! { pub (crate) Complexity { name : "complexity" , rules : [ + self :: no_banned_types :: NoBannedTypes , self :: no_useless_fragments :: NoUselessFragments , + self :: no_useless_this_alias :: NoUselessThisAlias , ] } } diff --git a/crates/biome_js_analyze/src/semantic_analyzers/nursery/no_banned_types.rs b/crates/biome_js_analyze/src/semantic_analyzers/complexity/no_banned_types.rs similarity index 100% rename from crates/biome_js_analyze/src/semantic_analyzers/nursery/no_banned_types.rs rename to crates/biome_js_analyze/src/semantic_analyzers/complexity/no_banned_types.rs diff --git a/crates/biome_js_analyze/src/semantic_analyzers/nursery/no_useless_this_alias.rs b/crates/biome_js_analyze/src/semantic_analyzers/complexity/no_useless_this_alias.rs similarity index 100% rename from crates/biome_js_analyze/src/semantic_analyzers/nursery/no_useless_this_alias.rs rename to crates/biome_js_analyze/src/semantic_analyzers/complexity/no_useless_this_alias.rs diff --git a/crates/biome_js_analyze/src/semantic_analyzers/correctness.rs b/crates/biome_js_analyze/src/semantic_analyzers/correctness.rs index 6affac2aff6f..d3fb1456c22b 100644 --- a/crates/biome_js_analyze/src/semantic_analyzers/correctness.rs +++ b/crates/biome_js_analyze/src/semantic_analyzers/correctness.rs @@ -4,6 +4,7 @@ use biome_analyze::declare_group; pub(crate) mod no_children_prop; pub(crate) mod no_const_assign; +pub(crate) mod no_constant_condition; pub(crate) mod no_global_object_calls; pub(crate) mod no_new_symbol; pub(crate) mod no_render_return_value; @@ -18,6 +19,7 @@ declare_group! { rules : [ self :: no_children_prop :: NoChildrenProp , self :: no_const_assign :: NoConstAssign , + self :: no_constant_condition :: NoConstantCondition , self :: no_global_object_calls :: NoGlobalObjectCalls , self :: no_new_symbol :: NoNewSymbol , self :: no_render_return_value :: NoRenderReturnValue , diff --git a/crates/biome_js_analyze/src/semantic_analyzers/nursery/no_constant_condition.rs b/crates/biome_js_analyze/src/semantic_analyzers/correctness/no_constant_condition.rs similarity index 100% rename from crates/biome_js_analyze/src/semantic_analyzers/nursery/no_constant_condition.rs rename to crates/biome_js_analyze/src/semantic_analyzers/correctness/no_constant_condition.rs diff --git a/crates/biome_js_analyze/src/semantic_analyzers/nursery.rs b/crates/biome_js_analyze/src/semantic_analyzers/nursery.rs index 9f4ff636855a..7abceb997c1c 100644 --- a/crates/biome_js_analyze/src/semantic_analyzers/nursery.rs +++ b/crates/biome_js_analyze/src/semantic_analyzers/nursery.rs @@ -3,32 +3,22 @@ use biome_analyze::declare_group; pub(crate) mod no_accumulating_spread; -pub(crate) mod no_banned_types; -pub(crate) mod no_constant_condition; pub(crate) mod no_global_is_finite; pub(crate) mod no_global_is_nan; -pub(crate) mod no_unsafe_declaration_merging; -pub(crate) mod no_useless_this_alias; pub(crate) mod use_exhaustive_dependencies; pub(crate) mod use_hook_at_top_level; pub(crate) mod use_is_array; -pub(crate) mod use_naming_convention; declare_group! { pub (crate) Nursery { name : "nursery" , rules : [ self :: no_accumulating_spread :: NoAccumulatingSpread , - self :: no_banned_types :: NoBannedTypes , - self :: no_constant_condition :: NoConstantCondition , self :: no_global_is_finite :: NoGlobalIsFinite , self :: no_global_is_nan :: NoGlobalIsNan , - self :: no_unsafe_declaration_merging :: NoUnsafeDeclarationMerging , - self :: no_useless_this_alias :: NoUselessThisAlias , self :: use_exhaustive_dependencies :: UseExhaustiveDependencies , self :: use_hook_at_top_level :: UseHookAtTopLevel , self :: use_is_array :: UseIsArray , - self :: use_naming_convention :: UseNamingConvention , ] } } diff --git a/crates/biome_js_analyze/src/semantic_analyzers/style.rs b/crates/biome_js_analyze/src/semantic_analyzers/style.rs index 1db38924ade5..ca09c329254b 100644 --- a/crates/biome_js_analyze/src/semantic_analyzers/style.rs +++ b/crates/biome_js_analyze/src/semantic_analyzers/style.rs @@ -9,6 +9,7 @@ pub(crate) mod no_shouty_constants; pub(crate) mod no_var; pub(crate) mod use_const; pub(crate) mod use_fragment_syntax; +pub(crate) mod use_naming_convention; declare_group! { pub (crate) Style { @@ -21,6 +22,7 @@ declare_group! { self :: no_var :: NoVar , self :: use_const :: UseConst , self :: use_fragment_syntax :: UseFragmentSyntax , + self :: use_naming_convention :: UseNamingConvention , ] } } diff --git a/crates/biome_js_analyze/src/semantic_analyzers/nursery/use_naming_convention.rs b/crates/biome_js_analyze/src/semantic_analyzers/style/use_naming_convention.rs similarity index 100% rename from crates/biome_js_analyze/src/semantic_analyzers/nursery/use_naming_convention.rs rename to crates/biome_js_analyze/src/semantic_analyzers/style/use_naming_convention.rs diff --git a/crates/biome_js_analyze/src/semantic_analyzers/suspicious.rs b/crates/biome_js_analyze/src/semantic_analyzers/suspicious.rs index 4d9035f17282..f625308ec981 100644 --- a/crates/biome_js_analyze/src/semantic_analyzers/suspicious.rs +++ b/crates/biome_js_analyze/src/semantic_analyzers/suspicious.rs @@ -11,6 +11,7 @@ pub(crate) mod no_function_assign; pub(crate) mod no_import_assign; pub(crate) mod no_label_var; pub(crate) mod no_redeclare; +pub(crate) mod no_unsafe_declaration_merging; declare_group! { pub (crate) Suspicious { @@ -25,6 +26,7 @@ declare_group! { self :: no_import_assign :: NoImportAssign , self :: no_label_var :: NoLabelVar , self :: no_redeclare :: NoRedeclare , + self :: no_unsafe_declaration_merging :: NoUnsafeDeclarationMerging , ] } } diff --git a/crates/biome_js_analyze/src/semantic_analyzers/nursery/no_unsafe_declaration_merging.rs b/crates/biome_js_analyze/src/semantic_analyzers/suspicious/no_unsafe_declaration_merging.rs similarity index 100% rename from crates/biome_js_analyze/src/semantic_analyzers/nursery/no_unsafe_declaration_merging.rs rename to crates/biome_js_analyze/src/semantic_analyzers/suspicious/no_unsafe_declaration_merging.rs diff --git a/crates/biome_js_analyze/tests/specs/nursery/noAriaUnsupportedElements/invalid.jsx b/crates/biome_js_analyze/tests/specs/a11y/noAriaUnsupportedElements/invalid.jsx similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noAriaUnsupportedElements/invalid.jsx rename to crates/biome_js_analyze/tests/specs/a11y/noAriaUnsupportedElements/invalid.jsx diff --git a/crates/biome_js_analyze/tests/specs/nursery/noAriaUnsupportedElements/invalid.jsx.snap b/crates/biome_js_analyze/tests/specs/a11y/noAriaUnsupportedElements/invalid.jsx.snap similarity index 80% rename from crates/biome_js_analyze/tests/specs/nursery/noAriaUnsupportedElements/invalid.jsx.snap rename to crates/biome_js_analyze/tests/specs/a11y/noAriaUnsupportedElements/invalid.jsx.snap index 4936e013b9b2..bb817bba581d 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/noAriaUnsupportedElements/invalid.jsx.snap +++ b/crates/biome_js_analyze/tests/specs/a11y/noAriaUnsupportedElements/invalid.jsx.snap @@ -19,7 +19,7 @@ expression: invalid.jsx # Diagnostics ``` -invalid.jsx:2:2 lint/nursery/noAriaUnsupportedElements ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:2:2 lint/a11y/noAriaUnsupportedElements ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Avoid the role attribute and aria-* attributes when using meta, html, script, and style elements. @@ -35,7 +35,7 @@ invalid.jsx:2:2 lint/nursery/noAriaUnsupportedElements ━━━━━━━━ ``` ``` -invalid.jsx:3:2 lint/nursery/noAriaUnsupportedElements ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:3:2 lint/a11y/noAriaUnsupportedElements ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Avoid the role attribute and aria-* attributes when using meta, html, script, and style elements. @@ -52,7 +52,7 @@ invalid.jsx:3:2 lint/nursery/noAriaUnsupportedElements ━━━━━━━━ ``` ``` -invalid.jsx:4:2 lint/nursery/noAriaUnsupportedElements ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:4:2 lint/a11y/noAriaUnsupportedElements ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Avoid the role attribute and aria-* attributes when using meta, html, script, and style elements. @@ -69,7 +69,7 @@ invalid.jsx:4:2 lint/nursery/noAriaUnsupportedElements ━━━━━━━━ ``` ``` -invalid.jsx:5:2 lint/nursery/noAriaUnsupportedElements ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:5:2 lint/a11y/noAriaUnsupportedElements ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Avoid the role attribute and aria-* attributes when using meta, html, script, and style elements. @@ -86,7 +86,7 @@ invalid.jsx:5:2 lint/nursery/noAriaUnsupportedElements ━━━━━━━━ ``` ``` -invalid.jsx:6:2 lint/nursery/noAriaUnsupportedElements ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:6:2 lint/a11y/noAriaUnsupportedElements ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Avoid the role attribute and aria-* attributes when using meta, html, script, and style elements. @@ -103,7 +103,7 @@ invalid.jsx:6:2 lint/nursery/noAriaUnsupportedElements ━━━━━━━━ ``` ``` -invalid.jsx:7:2 lint/nursery/noAriaUnsupportedElements ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:7:2 lint/a11y/noAriaUnsupportedElements ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Avoid the role attribute and aria-* attributes when using meta, html, script, and style elements. @@ -120,7 +120,7 @@ invalid.jsx:7:2 lint/nursery/noAriaUnsupportedElements ━━━━━━━━ ``` ``` -invalid.jsx:8:2 lint/nursery/noAriaUnsupportedElements ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:8:2 lint/a11y/noAriaUnsupportedElements ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Avoid the role attribute and aria-* attributes when using meta, html, script, and style elements. @@ -137,7 +137,7 @@ invalid.jsx:8:2 lint/nursery/noAriaUnsupportedElements ━━━━━━━━ ``` ``` -invalid.jsx:9:2 lint/nursery/noAriaUnsupportedElements ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:9:2 lint/a11y/noAriaUnsupportedElements ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Avoid the role attribute and aria-* attributes when using meta, html, script, and style elements. diff --git a/crates/biome_js_analyze/tests/specs/nursery/noAriaUnsupportedElements/valid.jsx b/crates/biome_js_analyze/tests/specs/a11y/noAriaUnsupportedElements/valid.jsx similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noAriaUnsupportedElements/valid.jsx rename to crates/biome_js_analyze/tests/specs/a11y/noAriaUnsupportedElements/valid.jsx diff --git a/crates/biome_js_analyze/tests/specs/nursery/noAriaUnsupportedElements/valid.jsx.snap b/crates/biome_js_analyze/tests/specs/a11y/noAriaUnsupportedElements/valid.jsx.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noAriaUnsupportedElements/valid.jsx.snap rename to crates/biome_js_analyze/tests/specs/a11y/noAriaUnsupportedElements/valid.jsx.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/noNoninteractiveTabindex/invalid.jsx b/crates/biome_js_analyze/tests/specs/a11y/noNoninteractiveTabindex/invalid.jsx similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noNoninteractiveTabindex/invalid.jsx rename to crates/biome_js_analyze/tests/specs/a11y/noNoninteractiveTabindex/invalid.jsx diff --git a/crates/biome_js_analyze/tests/specs/nursery/noNoninteractiveTabindex/invalid.jsx.snap b/crates/biome_js_analyze/tests/specs/a11y/noNoninteractiveTabindex/invalid.jsx.snap similarity index 82% rename from crates/biome_js_analyze/tests/specs/nursery/noNoninteractiveTabindex/invalid.jsx.snap rename to crates/biome_js_analyze/tests/specs/a11y/noNoninteractiveTabindex/invalid.jsx.snap index 45a328f02412..5b1aeb6a2aed 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/noNoninteractiveTabindex/invalid.jsx.snap +++ b/crates/biome_js_analyze/tests/specs/a11y/noNoninteractiveTabindex/invalid.jsx.snap @@ -14,7 +14,7 @@ expression: invalid.jsx # Diagnostics ``` -invalid.jsx:2:7 lint/nursery/noNoninteractiveTabindex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:2:7 lint/a11y/noNoninteractiveTabindex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The HTML element div is non-interactive. Do not use tabIndex. @@ -30,7 +30,7 @@ invalid.jsx:2:7 lint/nursery/noNoninteractiveTabindex ━━━━━━━━ ``` ``` -invalid.jsx:3:22 lint/nursery/noNoninteractiveTabindex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:3:22 lint/a11y/noNoninteractiveTabindex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The HTML element div is non-interactive. Do not use tabIndex. @@ -47,7 +47,7 @@ invalid.jsx:3:22 lint/nursery/noNoninteractiveTabindex ━━━━━━━━ ``` ``` -invalid.jsx:4:11 lint/nursery/noNoninteractiveTabindex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:4:11 lint/a11y/noNoninteractiveTabindex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The HTML element article is non-interactive. Do not use tabIndex. diff --git a/crates/biome_js_analyze/tests/specs/nursery/noNoninteractiveTabindex/valid.jsx b/crates/biome_js_analyze/tests/specs/a11y/noNoninteractiveTabindex/valid.jsx similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noNoninteractiveTabindex/valid.jsx rename to crates/biome_js_analyze/tests/specs/a11y/noNoninteractiveTabindex/valid.jsx diff --git a/crates/biome_js_analyze/tests/specs/nursery/noNoninteractiveTabindex/valid.jsx.snap b/crates/biome_js_analyze/tests/specs/a11y/noNoninteractiveTabindex/valid.jsx.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noNoninteractiveTabindex/valid.jsx.snap rename to crates/biome_js_analyze/tests/specs/a11y/noNoninteractiveTabindex/valid.jsx.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/noRedundantRoles/invalid.jsx b/crates/biome_js_analyze/tests/specs/a11y/noRedundantRoles/invalid.jsx similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noRedundantRoles/invalid.jsx rename to crates/biome_js_analyze/tests/specs/a11y/noRedundantRoles/invalid.jsx diff --git a/crates/biome_js_analyze/tests/specs/nursery/noRedundantRoles/invalid.jsx.snap b/crates/biome_js_analyze/tests/specs/a11y/noRedundantRoles/invalid.jsx.snap similarity index 82% rename from crates/biome_js_analyze/tests/specs/nursery/noRedundantRoles/invalid.jsx.snap rename to crates/biome_js_analyze/tests/specs/a11y/noRedundantRoles/invalid.jsx.snap index 3dbe26323c8f..aacb0c0580ef 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/noRedundantRoles/invalid.jsx.snap +++ b/crates/biome_js_analyze/tests/specs/a11y/noRedundantRoles/invalid.jsx.snap @@ -43,7 +43,7 @@ expression: invalid.jsx # Diagnostics ``` -invalid.jsx:2:16 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:2:16 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'article' on the 'article' element is redundant. @@ -61,7 +61,7 @@ invalid.jsx:2:16 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:3:15 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:3:15 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'button' on the 'button' element is redundant. @@ -80,7 +80,7 @@ invalid.jsx:3:15 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:4:11 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:4:11 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'heading' on the 'h1' element is redundant. @@ -99,7 +99,7 @@ invalid.jsx:4:11 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:7:11 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:7:11 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'heading' on the 'h1' element is redundant. @@ -118,7 +118,7 @@ invalid.jsx:7:11 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:8:11 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:8:11 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'heading' on the 'h2' element is redundant. @@ -137,7 +137,7 @@ invalid.jsx:8:11 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:9:15 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:9:15 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'dialog' on the 'dialog' element is redundant. @@ -156,7 +156,7 @@ invalid.jsx:9:15 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:10:30 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:10:30 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'checkbox' on the 'input' element is redundant. @@ -175,7 +175,7 @@ invalid.jsx:10:30 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:11:15 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:11:15 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'figure' on the 'figure' element is redundant. @@ -194,7 +194,7 @@ invalid.jsx:11:15 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:12:13 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:12:13 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'form' on the 'form' element is redundant. @@ -213,7 +213,7 @@ invalid.jsx:12:13 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:14:17 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:14:17 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'group' on the 'fieldset' element is redundant. @@ -232,7 +232,7 @@ invalid.jsx:14:17 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:15:32 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:15:32 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'img' on the 'img' element is redundant. @@ -251,7 +251,7 @@ invalid.jsx:15:32 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:16:19 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:16:19 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'presentation' on the 'img' element is redundant. @@ -270,7 +270,7 @@ invalid.jsx:16:19 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:17:19 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:17:19 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'link' on the 'a' element is redundant. @@ -289,7 +289,7 @@ invalid.jsx:17:19 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:18:11 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:18:11 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'list' on the 'ol' element is redundant. @@ -308,7 +308,7 @@ invalid.jsx:18:11 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:19:11 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:19:11 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'list' on the 'ul' element is redundant. @@ -327,7 +327,7 @@ invalid.jsx:19:11 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:20:27 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:20:27 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'combobox' on the 'select' element is redundant. @@ -346,7 +346,7 @@ invalid.jsx:20:27 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:21:45 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:21:45 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'listbox' on the 'select' element is redundant. @@ -365,7 +365,7 @@ invalid.jsx:21:45 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:22:11 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:22:11 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'listitem' on the 'li' element is redundant. @@ -384,7 +384,7 @@ invalid.jsx:22:11 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:23:12 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:23:12 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'navigation' on the 'nav' element is redundant. @@ -403,7 +403,7 @@ invalid.jsx:23:12 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:25:11 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:25:11 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'row' on the 'tr' element is redundant. @@ -422,7 +422,7 @@ invalid.jsx:25:11 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:26:14 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:26:14 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'rowgroup' on the 'tbody' element is redundant. @@ -441,7 +441,7 @@ invalid.jsx:26:14 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:27:14 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:27:14 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'rowgroup' on the 'tfoot' element is redundant. @@ -460,7 +460,7 @@ invalid.jsx:27:14 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:28:14 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:28:14 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'rowgroup' on the 'thead' element is redundant. @@ -479,7 +479,7 @@ invalid.jsx:28:14 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:30:28 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:30:28 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'searchbox' on the 'input' element is redundant. @@ -498,7 +498,7 @@ invalid.jsx:30:28 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:31:14 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:31:14 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'table' on the 'table' element is redundant. @@ -517,7 +517,7 @@ invalid.jsx:31:14 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:32:17 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:32:17 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'textbox' on the 'textarea' element is redundant. @@ -536,7 +536,7 @@ invalid.jsx:32:17 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━ ``` ``` -invalid.jsx:33:26 lint/nursery/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:33:26 lint/a11y/noRedundantRoles FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Using the role attribute 'textbox' on the 'input' element is redundant. diff --git a/crates/biome_js_analyze/tests/specs/nursery/noRedundantRoles/valid.jsx b/crates/biome_js_analyze/tests/specs/a11y/noRedundantRoles/valid.jsx similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noRedundantRoles/valid.jsx rename to crates/biome_js_analyze/tests/specs/a11y/noRedundantRoles/valid.jsx diff --git a/crates/biome_js_analyze/tests/specs/nursery/noRedundantRoles/valid.jsx.snap b/crates/biome_js_analyze/tests/specs/a11y/noRedundantRoles/valid.jsx.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noRedundantRoles/valid.jsx.snap rename to crates/biome_js_analyze/tests/specs/a11y/noRedundantRoles/valid.jsx.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useAriaPropTypes/invalid.jsx b/crates/biome_js_analyze/tests/specs/a11y/useAriaPropTypes/invalid.jsx similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useAriaPropTypes/invalid.jsx rename to crates/biome_js_analyze/tests/specs/a11y/useAriaPropTypes/invalid.jsx diff --git a/crates/biome_js_analyze/tests/specs/nursery/useAriaPropTypes/invalid.jsx.snap b/crates/biome_js_analyze/tests/specs/a11y/useAriaPropTypes/invalid.jsx.snap similarity index 88% rename from crates/biome_js_analyze/tests/specs/nursery/useAriaPropTypes/invalid.jsx.snap rename to crates/biome_js_analyze/tests/specs/a11y/useAriaPropTypes/invalid.jsx.snap index a04ae0e809b7..b4975f17eab4 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useAriaPropTypes/invalid.jsx.snap +++ b/crates/biome_js_analyze/tests/specs/a11y/useAriaPropTypes/invalid.jsx.snap @@ -24,7 +24,7 @@ var a = ; # Diagnostics ``` -invalid.jsx:1:31 lint/nursery/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:1:31 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The value of the ARIA attribute aria-checked is not correct. @@ -43,7 +43,7 @@ invalid.jsx:1:31 lint/nursery/useAriaPropTypes ━━━━━━━━━━━ ``` ``` -invalid.jsx:2:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:2:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The value of the ARIA attribute aria-autocomplete is not correct. @@ -64,7 +64,7 @@ invalid.jsx:2:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━━ ``` ``` -invalid.jsx:3:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:3:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The value of the ARIA attribute aria-invalid is not correct. @@ -86,7 +86,7 @@ invalid.jsx:3:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━━ ``` ``` -invalid.jsx:5:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:5:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The value of the ARIA attribute aria-invalid is not correct. @@ -108,7 +108,7 @@ invalid.jsx:5:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━━ ``` ``` -invalid.jsx:6:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:6:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The value of the ARIA attribute aria-errormessage is not correct. @@ -125,7 +125,7 @@ invalid.jsx:6:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━━ ``` ``` -invalid.jsx:7:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:7:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The value of the ARIA attribute aria-relevant is not correct. @@ -147,7 +147,7 @@ invalid.jsx:7:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━━ ``` ``` -invalid.jsx:8:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:8:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The value of the ARIA attribute aria-labelledby is not correct. @@ -164,7 +164,7 @@ invalid.jsx:8:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━━ ``` ``` -invalid.jsx:9:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:9:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The value of the ARIA attribute aria-labelledby is not correct. @@ -181,7 +181,7 @@ invalid.jsx:9:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━━ ``` ``` -invalid.jsx:10:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:10:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The value of the ARIA attribute aria-labelledby is not correct. @@ -198,7 +198,7 @@ invalid.jsx:10:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━ ``` ``` -invalid.jsx:11:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:11:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The value of the ARIA attribute aria-details is not correct. @@ -215,7 +215,7 @@ invalid.jsx:11:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━ ``` ``` -invalid.jsx:12:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:12:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The value of the ARIA attribute aria-setsize is not correct. @@ -232,7 +232,7 @@ invalid.jsx:12:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━ ``` ``` -invalid.jsx:13:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:13:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The value of the ARIA attribute aria-valuemax is not correct. @@ -249,7 +249,7 @@ invalid.jsx:13:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━ ``` ``` -invalid.jsx:14:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:14:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The value of the ARIA attribute aria-dropeffect is not correct. @@ -273,7 +273,7 @@ invalid.jsx:14:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━ ``` ``` -invalid.jsx:15:15 lint/nursery/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:15:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The value of the ARIA attribute aria-orientation is not correct. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useAriaPropTypes/valid.jsx b/crates/biome_js_analyze/tests/specs/a11y/useAriaPropTypes/valid.jsx similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useAriaPropTypes/valid.jsx rename to crates/biome_js_analyze/tests/specs/a11y/useAriaPropTypes/valid.jsx diff --git a/crates/biome_js_analyze/tests/specs/nursery/useAriaPropTypes/valid.jsx.snap b/crates/biome_js_analyze/tests/specs/a11y/useAriaPropTypes/valid.jsx.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useAriaPropTypes/valid.jsx.snap rename to crates/biome_js_analyze/tests/specs/a11y/useAriaPropTypes/valid.jsx.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/noBannedTypes/invalid.ts b/crates/biome_js_analyze/tests/specs/complexity/noBannedTypes/invalid.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noBannedTypes/invalid.ts rename to crates/biome_js_analyze/tests/specs/complexity/noBannedTypes/invalid.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/noBannedTypes/invalid.ts.snap b/crates/biome_js_analyze/tests/specs/complexity/noBannedTypes/invalid.ts.snap similarity index 83% rename from crates/biome_js_analyze/tests/specs/nursery/noBannedTypes/invalid.ts.snap rename to crates/biome_js_analyze/tests/specs/complexity/noBannedTypes/invalid.ts.snap index 65ee1c330950..4bf7746d1c43 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/noBannedTypes/invalid.ts.snap +++ b/crates/biome_js_analyze/tests/specs/complexity/noBannedTypes/invalid.ts.snap @@ -54,7 +54,7 @@ const curly2: {} = { a: 'string' }; # Diagnostics ``` -invalid.ts:1:8 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:1:8 lint/complexity/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use 'String' as a type. @@ -76,7 +76,7 @@ invalid.ts:1:8 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━━ ``` ``` -invalid.ts:3:8 lint/nursery/noBannedTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:3:8 lint/complexity/noBannedTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use 'Object' as a type. @@ -93,7 +93,7 @@ invalid.ts:3:8 lint/nursery/noBannedTypes ━━━━━━━━━━━━ ``` ``` -invalid.ts:5:13 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:5:13 lint/complexity/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use 'String' as a type. @@ -119,7 +119,7 @@ invalid.ts:5:13 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━━ ``` ``` -invalid.ts:7:17 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:7:17 lint/complexity/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use 'String' as a type. @@ -145,7 +145,7 @@ invalid.ts:7:17 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━━ ``` ``` -invalid.ts:9:8 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:9:8 lint/complexity/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use 'String' as a type. @@ -171,7 +171,7 @@ invalid.ts:9:8 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━━ ``` ``` -invalid.ts:11:15 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:11:15 lint/complexity/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use 'String' as a type. @@ -197,7 +197,7 @@ invalid.ts:11:15 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━ ``` ``` -invalid.ts:11:35 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:11:35 lint/complexity/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use 'String' as a type. @@ -223,7 +223,7 @@ invalid.ts:11:35 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━ ``` ``` -invalid.ts:11:58 lint/nursery/noBannedTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:11:58 lint/complexity/noBannedTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use 'Object' as a type. @@ -240,7 +240,7 @@ invalid.ts:11:58 lint/nursery/noBannedTypes ━━━━━━━━━━━━ ``` ``` -invalid.ts:12:20 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:12:20 lint/complexity/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use 'String' as a type. @@ -265,7 +265,7 @@ invalid.ts:12:20 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━ ``` ``` -invalid.ts:12:29 lint/nursery/noBannedTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:12:29 lint/complexity/noBannedTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use 'Object' as a type. @@ -281,7 +281,7 @@ invalid.ts:12:29 lint/nursery/noBannedTypes ━━━━━━━━━━━━ ``` ``` -invalid.ts:14:17 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:14:17 lint/complexity/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use 'String' as a type. @@ -307,7 +307,7 @@ invalid.ts:14:17 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━ ``` ``` -invalid.ts:15:16 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:15:16 lint/complexity/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use 'String' as a type. @@ -332,7 +332,7 @@ invalid.ts:15:16 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━ ``` ``` -invalid.ts:15:30 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:15:30 lint/complexity/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use 'String' as a type. @@ -357,7 +357,7 @@ invalid.ts:15:30 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━ ``` ``` -invalid.ts:19:20 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:19:20 lint/complexity/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use 'Boolean' as a type. @@ -383,7 +383,7 @@ invalid.ts:19:20 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━ ``` ``` -invalid.ts:21:17 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:21:17 lint/complexity/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use 'Boolean' as a type. @@ -409,7 +409,7 @@ invalid.ts:21:17 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━ ``` ``` -invalid.ts:23:14 lint/nursery/noBannedTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:23:14 lint/complexity/noBannedTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use '{}' as a type. @@ -426,7 +426,7 @@ invalid.ts:23:14 lint/nursery/noBannedTypes ━━━━━━━━━━━━ ``` ``` -invalid.ts:25:9 lint/nursery/noBannedTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:25:9 lint/complexity/noBannedTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use 'Function' as a type. @@ -443,7 +443,7 @@ invalid.ts:25:9 lint/nursery/noBannedTypes ━━━━━━━━━━━━ ``` ``` -invalid.ts:27:12 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:27:12 lint/complexity/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use 'String' as a type. @@ -469,7 +469,7 @@ invalid.ts:27:12 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━ ``` ``` -invalid.ts:29:13 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:29:13 lint/complexity/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use 'Boolean' as a type. @@ -495,7 +495,7 @@ invalid.ts:29:13 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━ ``` ``` -invalid.ts:31:12 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:31:12 lint/complexity/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use 'Number' as a type. @@ -521,7 +521,7 @@ invalid.ts:31:12 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━ ``` ``` -invalid.ts:33:13 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:33:13 lint/complexity/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use 'Symbol' as a type. @@ -547,7 +547,7 @@ invalid.ts:33:13 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━ ``` ``` -invalid.ts:35:15 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:35:15 lint/complexity/noBannedTypes FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use 'BigInt' as a type. @@ -573,7 +573,7 @@ invalid.ts:35:15 lint/nursery/noBannedTypes FIXABLE ━━━━━━━━ ``` ``` -invalid.ts:37:17 lint/nursery/noBannedTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:37:17 lint/complexity/noBannedTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use 'Object' as a type. @@ -590,7 +590,7 @@ invalid.ts:37:17 lint/nursery/noBannedTypes ━━━━━━━━━━━━ ``` ``` -invalid.ts:39:19 lint/nursery/noBannedTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:39:19 lint/complexity/noBannedTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use 'Object' as a type. @@ -607,7 +607,7 @@ invalid.ts:39:19 lint/nursery/noBannedTypes ━━━━━━━━━━━━ ``` ``` -invalid.ts:41:15 lint/nursery/noBannedTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:41:15 lint/complexity/noBannedTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use '{}' as a type. @@ -627,7 +627,7 @@ invalid.ts:41:15 lint/nursery/noBannedTypes ━━━━━━━━━━━━ ``` ``` -invalid.ts:45:15 lint/nursery/noBannedTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:45:15 lint/complexity/noBannedTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use '{}' as a type. diff --git a/crates/biome_js_analyze/tests/specs/nursery/noBannedTypes/valid.ts b/crates/biome_js_analyze/tests/specs/complexity/noBannedTypes/valid.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noBannedTypes/valid.ts rename to crates/biome_js_analyze/tests/specs/complexity/noBannedTypes/valid.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/noBannedTypes/valid.ts.snap b/crates/biome_js_analyze/tests/specs/complexity/noBannedTypes/valid.ts.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noBannedTypes/valid.ts.snap rename to crates/biome_js_analyze/tests/specs/complexity/noBannedTypes/valid.ts.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/noStaticOnlyClass/invalid.ts b/crates/biome_js_analyze/tests/specs/complexity/noStaticOnlyClass/invalid.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noStaticOnlyClass/invalid.ts rename to crates/biome_js_analyze/tests/specs/complexity/noStaticOnlyClass/invalid.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/noStaticOnlyClass/invalid.ts.snap b/crates/biome_js_analyze/tests/specs/complexity/noStaticOnlyClass/invalid.ts.snap similarity index 87% rename from crates/biome_js_analyze/tests/specs/nursery/noStaticOnlyClass/invalid.ts.snap rename to crates/biome_js_analyze/tests/specs/complexity/noStaticOnlyClass/invalid.ts.snap index 30b50f98ece5..250b4ae8aac5 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/noStaticOnlyClass/invalid.ts.snap +++ b/crates/biome_js_analyze/tests/specs/complexity/noStaticOnlyClass/invalid.ts.snap @@ -1,6 +1,5 @@ --- source: crates/biome_js_analyze/tests/spec_tests.rs -assertion_line: 96 expression: invalid.ts --- # Input @@ -39,7 +38,7 @@ class StaticConstants0 { # Diagnostics ``` -invalid.ts:1:1 lint/nursery/noStaticOnlyClass ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:1:1 lint/complexity/noStaticOnlyClass ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Avoid classes that contain only static members. @@ -58,7 +57,7 @@ invalid.ts:1:1 lint/nursery/noStaticOnlyClass ━━━━━━━━━━━ ``` ``` -invalid.ts:6:1 lint/nursery/noStaticOnlyClass ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:6:1 lint/complexity/noStaticOnlyClass ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Avoid classes that contain only static members. @@ -79,7 +78,7 @@ invalid.ts:6:1 lint/nursery/noStaticOnlyClass ━━━━━━━━━━━ ``` ``` -invalid.ts:11:12 lint/nursery/noStaticOnlyClass ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:11:12 lint/complexity/noStaticOnlyClass ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Avoid classes that contain only static members. @@ -99,7 +98,7 @@ invalid.ts:11:12 lint/nursery/noStaticOnlyClass ━━━━━━━━━━ ``` ``` -invalid.ts:15:12 lint/nursery/noStaticOnlyClass ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:15:12 lint/complexity/noStaticOnlyClass ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Avoid classes that contain only static members. @@ -119,7 +118,7 @@ invalid.ts:15:12 lint/nursery/noStaticOnlyClass ━━━━━━━━━━ ``` ``` -invalid.ts:19:16 lint/nursery/noStaticOnlyClass ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:19:16 lint/complexity/noStaticOnlyClass ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Avoid classes that contain only static members. @@ -139,7 +138,7 @@ invalid.ts:19:16 lint/nursery/noStaticOnlyClass ━━━━━━━━━━ ``` ``` -invalid.ts:23:1 lint/nursery/noStaticOnlyClass ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:23:1 lint/complexity/noStaticOnlyClass ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Avoid classes that contain only static members. diff --git a/crates/biome_js_analyze/tests/specs/nursery/noStaticOnlyClass/valid.ts b/crates/biome_js_analyze/tests/specs/complexity/noStaticOnlyClass/valid.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noStaticOnlyClass/valid.ts rename to crates/biome_js_analyze/tests/specs/complexity/noStaticOnlyClass/valid.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/noStaticOnlyClass/valid.ts.snap b/crates/biome_js_analyze/tests/specs/complexity/noStaticOnlyClass/valid.ts.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noStaticOnlyClass/valid.ts.snap rename to crates/biome_js_analyze/tests/specs/complexity/noStaticOnlyClass/valid.ts.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_default_export.js b/crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_default_export.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_default_export.js rename to crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_default_export.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_default_export.js.snap b/crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_default_export.js.snap similarity index 79% rename from crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_default_export.js.snap rename to crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_default_export.js.snap index 705ee9ef54bb..e58fb82939a4 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_default_export.js.snap +++ b/crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_default_export.js.snap @@ -10,7 +10,7 @@ export {} # Diagnostics ``` -invalid_with_default_export.js:2:1 lint/nursery/noUselessEmptyExport FIXABLE ━━━━━━━━━━━━━━━━━━━━━ +invalid_with_default_export.js:2:1 lint/complexity/noUselessEmptyExport FIXABLE ━━━━━━━━━━━━━━━━━━ ! This empty export is useless because there's another export or import. diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_empty_export.js b/crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_empty_export.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_empty_export.js rename to crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_empty_export.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_empty_export.js.snap b/crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_empty_export.js.snap similarity index 77% rename from crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_empty_export.js.snap rename to crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_empty_export.js.snap index 9a9a2d4552bc..2fcfbe5f1a73 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_empty_export.js.snap +++ b/crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_empty_export.js.snap @@ -10,7 +10,7 @@ export {} # Diagnostics ``` -invalid_with_empty_export.js:1:1 lint/nursery/noUselessEmptyExport FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━ +invalid_with_empty_export.js:1:1 lint/complexity/noUselessEmptyExport FIXABLE ━━━━━━━━━━━━━━━━━━━━ ! This empty export is useless because there's another export or import. diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_export.js b/crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_export.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_export.js rename to crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_export.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_export.js.snap b/crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_export.js.snap similarity index 81% rename from crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_export.js.snap rename to crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_export.js.snap index 1c243f7eb39d..a844d7aa140a 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_export.js.snap +++ b/crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_export.js.snap @@ -11,7 +11,7 @@ export {} # Diagnostics ``` -invalid_with_export.js:3:1 lint/nursery/noUselessEmptyExport FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid_with_export.js:3:1 lint/complexity/noUselessEmptyExport FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This empty export is useless because there's another export or import. diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_export_from.js b/crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_export_from.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_export_from.js rename to crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_export_from.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_export_from.js.snap b/crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_export_from.js.snap similarity index 79% rename from crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_export_from.js.snap rename to crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_export_from.js.snap index f458bef72469..38419930cb6f 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_export_from.js.snap +++ b/crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_export_from.js.snap @@ -10,7 +10,7 @@ export {} # Diagnostics ``` -invalid_with_export_from.js:2:1 lint/nursery/noUselessEmptyExport FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━ +invalid_with_export_from.js:2:1 lint/complexity/noUselessEmptyExport FIXABLE ━━━━━━━━━━━━━━━━━━━━━ ! This empty export is useless because there's another export or import. diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_import.js b/crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_import.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_import.js rename to crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_import.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_import.js.snap b/crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_import.js.snap similarity index 81% rename from crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_import.js.snap rename to crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_import.js.snap index 9b742ea6b584..4f79af928022 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_import.js.snap +++ b/crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_import.js.snap @@ -11,7 +11,7 @@ export {} # Diagnostics ``` -invalid_with_import.js:3:1 lint/nursery/noUselessEmptyExport FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid_with_import.js:3:1 lint/complexity/noUselessEmptyExport FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This empty export is useless because there's another export or import. diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_sideeffect_import.js b/crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_sideeffect_import.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_sideeffect_import.js rename to crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_sideeffect_import.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_sideeffect_import.js.snap b/crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_sideeffect_import.js.snap similarity index 83% rename from crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_sideeffect_import.js.snap rename to crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_sideeffect_import.js.snap index 3c0fce5b0625..d081117da47f 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/invalid_with_sideeffect_import.js.snap +++ b/crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/invalid_with_sideeffect_import.js.snap @@ -11,7 +11,7 @@ export {} # Diagnostics ``` -invalid_with_sideeffect_import.js:3:1 lint/nursery/noUselessEmptyExport FIXABLE ━━━━━━━━━━━━━━━━━━ +invalid_with_sideeffect_import.js:3:1 lint/complexity/noUselessEmptyExport FIXABLE ━━━━━━━━━━━━━━━ ! This empty export is useless because there's another export or import. diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/valid_empty_export.js b/crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/valid_empty_export.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/valid_empty_export.js rename to crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/valid_empty_export.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/valid_empty_export.js.snap b/crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/valid_empty_export.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/valid_empty_export.js.snap rename to crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/valid_empty_export.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/valid_export.js b/crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/valid_export.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/valid_export.js rename to crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/valid_export.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/valid_export.js.snap b/crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/valid_export.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noUselessEmptyExport/valid_export.js.snap rename to crates/biome_js_analyze/tests/specs/complexity/noUselessEmptyExport/valid_export.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUselessThisAlias/invalid.js b/crates/biome_js_analyze/tests/specs/complexity/noUselessThisAlias/invalid.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noUselessThisAlias/invalid.js rename to crates/biome_js_analyze/tests/specs/complexity/noUselessThisAlias/invalid.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUselessThisAlias/invalid.js.snap b/crates/biome_js_analyze/tests/specs/complexity/noUselessThisAlias/invalid.js.snap similarity index 86% rename from crates/biome_js_analyze/tests/specs/nursery/noUselessThisAlias/invalid.js.snap rename to crates/biome_js_analyze/tests/specs/complexity/noUselessThisAlias/invalid.js.snap index 111051774d5e..017b039b8517 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/noUselessThisAlias/invalid.js.snap +++ b/crates/biome_js_analyze/tests/specs/complexity/noUselessThisAlias/invalid.js.snap @@ -34,7 +34,7 @@ function f() { # Diagnostics ``` -invalid.js:1:7 lint/nursery/noUselessThisAlias FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:1:7 lint/complexity/noUselessThisAlias FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This aliasing of this is unnecessary. @@ -53,7 +53,7 @@ invalid.js:1:7 lint/nursery/noUselessThisAlias FIXABLE ━━━━━━━ ``` ``` -invalid.js:1:40 lint/nursery/noUselessThisAlias FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:1:40 lint/complexity/noUselessThisAlias FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This aliasing of this is unnecessary. @@ -72,7 +72,7 @@ invalid.js:1:40 lint/nursery/noUselessThisAlias FIXABLE ━━━━━━━ ``` ``` -invalid.js:5:11 lint/nursery/noUselessThisAlias FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:5:11 lint/complexity/noUselessThisAlias FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This aliasing of this is unnecessary. @@ -103,7 +103,7 @@ invalid.js:5:11 lint/nursery/noUselessThisAlias FIXABLE ━━━━━━━ ``` ``` -invalid.js:12:9 lint/nursery/noUselessThisAlias FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:12:9 lint/complexity/noUselessThisAlias FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This aliasing of this is unnecessary. @@ -132,7 +132,7 @@ invalid.js:12:9 lint/nursery/noUselessThisAlias FIXABLE ━━━━━━━ ``` ``` -invalid.js:19:9 lint/nursery/noUselessThisAlias FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:19:9 lint/complexity/noUselessThisAlias FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This aliasing of this is unnecessary. diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUselessThisAlias/valid.js b/crates/biome_js_analyze/tests/specs/complexity/noUselessThisAlias/valid.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noUselessThisAlias/valid.js rename to crates/biome_js_analyze/tests/specs/complexity/noUselessThisAlias/valid.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUselessThisAlias/valid.js.snap b/crates/biome_js_analyze/tests/specs/complexity/noUselessThisAlias/valid.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noUselessThisAlias/valid.js.snap rename to crates/biome_js_analyze/tests/specs/complexity/noUselessThisAlias/valid.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/noConstantCondition/invalid.jsonc b/crates/biome_js_analyze/tests/specs/correctness/noConstantCondition/invalid.jsonc similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noConstantCondition/invalid.jsonc rename to crates/biome_js_analyze/tests/specs/correctness/noConstantCondition/invalid.jsonc diff --git a/crates/biome_js_analyze/tests/specs/nursery/noConstantCondition/invalid.jsonc.snap b/crates/biome_js_analyze/tests/specs/correctness/noConstantCondition/invalid.jsonc.snap similarity index 50% rename from crates/biome_js_analyze/tests/specs/nursery/noConstantCondition/invalid.jsonc.snap rename to crates/biome_js_analyze/tests/specs/correctness/noConstantCondition/invalid.jsonc.snap index 1033666af5c0..9c4630cfa199 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/noConstantCondition/invalid.jsonc.snap +++ b/crates/biome_js_analyze/tests/specs/correctness/noConstantCondition/invalid.jsonc.snap @@ -9,7 +9,7 @@ for (; true;); # Diagnostics ``` -invalid.jsonc:1:8 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:8 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -26,7 +26,7 @@ for (; ``;); # Diagnostics ``` -invalid.jsonc:1:8 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:8 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -43,7 +43,7 @@ for (; `foo`;); # Diagnostics ``` -invalid.jsonc:1:8 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:8 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -60,7 +60,7 @@ for (; `foo${bar}`;); # Diagnostics ``` -invalid.jsonc:1:8 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:8 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -77,7 +77,7 @@ do { } while (1) # Diagnostics ``` -invalid.jsonc:1:15 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:15 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -94,7 +94,7 @@ do { } while ('1') # Diagnostics ``` -invalid.jsonc:1:15 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:15 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -111,7 +111,7 @@ do { } while (0) # Diagnostics ``` -invalid.jsonc:1:15 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:15 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -128,7 +128,7 @@ do { } while (t = -2) # Diagnostics ``` -invalid.jsonc:1:15 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:15 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -145,7 +145,7 @@ do { } while (``) # Diagnostics ``` -invalid.jsonc:1:15 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:15 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -162,7 +162,7 @@ do { } while (`foo`) # Diagnostics ``` -invalid.jsonc:1:15 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:15 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -179,7 +179,7 @@ do { } while (`foo${bar}`) # Diagnostics ``` -invalid.jsonc:1:15 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:15 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -196,7 +196,7 @@ true ? 1 : 2; # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -213,7 +213,7 @@ invalid.jsonc:1:1 lint/nursery/noConstantCondition ━━━━━━━━━ # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -230,7 +230,7 @@ q = 0 ? 1 : 2; # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -247,7 +247,7 @@ invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━ # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -264,7 +264,7 @@ invalid.jsonc:1:1 lint/nursery/noConstantCondition ━━━━━━━━━ # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -281,7 +281,7 @@ invalid.jsonc:1:1 lint/nursery/noConstantCondition ━━━━━━━━━ # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -298,7 +298,7 @@ invalid.jsonc:1:1 lint/nursery/noConstantCondition ━━━━━━━━━ # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -315,7 +315,7 @@ if (-2); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -332,7 +332,7 @@ if (true); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -349,7 +349,7 @@ if (1); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -366,7 +366,7 @@ if ({}); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -383,7 +383,7 @@ if (0 < 1); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -400,7 +400,7 @@ if (0 || 1); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -417,7 +417,7 @@ if (a, 1); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -434,7 +434,7 @@ if (`foo`); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -451,7 +451,7 @@ if (``); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -469,7 +469,7 @@ if (`\ # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -488,7 +488,7 @@ if (`${'bar'}`); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -505,7 +505,7 @@ if (`${'bar' + `foo`}`); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -522,7 +522,7 @@ if (`foo${false || true}`); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -539,7 +539,7 @@ if (`foo${0 || 1}`); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -556,7 +556,7 @@ if (`foo${bar}`); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -573,7 +573,7 @@ if (`${bar}foo`); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -590,7 +590,7 @@ if (!(true || a)); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -607,7 +607,7 @@ if (!(a && void b && c)); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -624,7 +624,7 @@ if (0 || !(a && null)); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -641,7 +641,7 @@ if (1 + !(a || true)); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -658,7 +658,7 @@ if (!(null && a) > 1); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -675,7 +675,7 @@ if (+(!(a && 0))); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -692,7 +692,7 @@ if (!typeof a === 'string'); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -709,7 +709,7 @@ if (-('foo' || a)); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -726,7 +726,7 @@ if (+(void a && b) === ~(1 || c)); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -743,7 +743,7 @@ if (a ||= true); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -760,7 +760,7 @@ if (a ||= 5); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -777,7 +777,7 @@ if (a ||= 'foo' || b); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -794,7 +794,7 @@ if (a ||= b || /regex/); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -811,7 +811,7 @@ if (a ||= b ||= true); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -828,7 +828,7 @@ if (a ||= b ||= c || 1); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -845,7 +845,7 @@ if (!(a ||= true)); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -862,7 +862,7 @@ if (!(a ||= 'foo') === true); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -879,7 +879,7 @@ if (!(a ||= 'foo') === false); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -896,7 +896,7 @@ if (a || (b ||= true)); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -913,7 +913,7 @@ if ((a ||= 1) || b); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -930,7 +930,7 @@ if ((a ||= true) && true); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -947,7 +947,7 @@ if (true && (a ||= true)); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -964,7 +964,7 @@ if (a &&= false); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -981,7 +981,7 @@ if (a &&= null); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -998,7 +998,7 @@ if (a &&= void b); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1015,7 +1015,7 @@ if (a &&= 0 && b); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1032,7 +1032,7 @@ if (a &&= b && ''); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1049,7 +1049,7 @@ if (a &&= b &&= false); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1066,7 +1066,7 @@ if (a &&= b &&= c && false); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1083,7 +1083,7 @@ if (!(a &&= false)); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1100,7 +1100,7 @@ if (!(a &&= 0) + 1); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1117,7 +1117,7 @@ if (a && (b &&= false)); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1134,7 +1134,7 @@ if ((a &&= null) && b); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1151,7 +1151,7 @@ if (false || (a &&= false)); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1168,7 +1168,7 @@ if ((a &&= false) || false); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1185,7 +1185,7 @@ while ([]); # Diagnostics ``` -invalid.jsonc:1:8 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:8 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1202,7 +1202,7 @@ while (~!0); # Diagnostics ``` -invalid.jsonc:1:8 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:8 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1219,7 +1219,7 @@ while (x = 1); # Diagnostics ``` -invalid.jsonc:1:8 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:8 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1236,7 +1236,7 @@ while (function () { }); # Diagnostics ``` -invalid.jsonc:1:8 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:8 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1253,7 +1253,7 @@ while (1); # Diagnostics ``` -invalid.jsonc:1:8 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:8 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1270,7 +1270,7 @@ while (() => { }); # Diagnostics ``` -invalid.jsonc:1:8 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:8 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1287,7 +1287,7 @@ while (`foo`); # Diagnostics ``` -invalid.jsonc:1:8 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:8 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1304,7 +1304,7 @@ while (``); # Diagnostics ``` -invalid.jsonc:1:8 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:8 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1321,7 +1321,7 @@ while (`${'foo'}`); # Diagnostics ``` -invalid.jsonc:1:8 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:8 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1338,7 +1338,7 @@ while (`${'foo' + 'bar'}`); # Diagnostics ``` -invalid.jsonc:1:8 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:8 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1355,7 +1355,7 @@ if (typeof x) { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1372,7 +1372,7 @@ if (typeof 'abc' === 'string') { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1389,7 +1389,7 @@ if (a = typeof b) { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1406,7 +1406,7 @@ if (a, typeof b) { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1423,7 +1423,7 @@ if (typeof 'a' == 'string' || typeof 'b' == 'string') { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1440,7 +1440,7 @@ while (typeof x) { } # Diagnostics ``` -invalid.jsonc:1:8 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:8 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1457,7 +1457,7 @@ if (1 || void x); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1474,7 +1474,7 @@ if (void x); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1491,7 +1491,7 @@ if (y = void x); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1508,7 +1508,7 @@ if (x, void x); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1525,7 +1525,7 @@ if (void x === void y); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1542,7 +1542,7 @@ if (void x && a); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1559,7 +1559,7 @@ if (a && void x); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1576,7 +1576,7 @@ if (false && abc === 'str') { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1593,7 +1593,7 @@ if (true || abc === 'str') { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1610,7 +1610,7 @@ if (1 || abc === 'str') { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1627,7 +1627,7 @@ if (abc === 'str' || true) { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1644,7 +1644,7 @@ if (abc === 'str' || true || def === 'str') { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1661,7 +1661,7 @@ if (false || true) { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1678,7 +1678,7 @@ if (typeof abc === 'str' || true) { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1695,7 +1695,7 @@ if ('str' || a) { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1712,7 +1712,7 @@ if ('str' || abc === 'str') { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1729,7 +1729,7 @@ if ('str1' || 'str2') { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1746,7 +1746,7 @@ if ('str1' && 'str2') { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1763,7 +1763,7 @@ if (abc === 'str' || 'str') { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1780,7 +1780,7 @@ if (a || 'str') { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1797,7 +1797,7 @@ function* foo() { while (1) { } yield 'foo'; } # Diagnostics ``` -invalid.jsonc:1:26 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:26 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1814,7 +1814,7 @@ function* foo() { while (1) { if (true) { yield 'foo'; } } } # Diagnostics ``` -invalid.jsonc:1:26 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:26 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1825,7 +1825,7 @@ invalid.jsonc:1:26 lint/nursery/noConstantCondition ━━━━━━━━━ ``` ``` -invalid.jsonc:1:35 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:35 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1842,7 +1842,7 @@ function* foo() { while (1) { yield 'foo'; } while (1) { } } # Diagnostics ``` -invalid.jsonc:1:53 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:53 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1859,7 +1859,7 @@ var a = function* foo() { while (1) { } yield 'foo'; } # Diagnostics ``` -invalid.jsonc:1:34 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:34 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1876,7 +1876,7 @@ while (1) { function* foo() { yield; } } # Diagnostics ``` -invalid.jsonc:1:8 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:8 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1893,7 +1893,7 @@ function* foo() { if (true) { yield 'foo'; } } # Diagnostics ``` -invalid.jsonc:1:23 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:23 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1910,7 +1910,7 @@ function* foo() { for (let foo = yield; true;) { } } # Diagnostics ``` -invalid.jsonc:1:41 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:41 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1927,7 +1927,7 @@ function* foo() { for (foo = yield; true;) { } } # Diagnostics ``` -invalid.jsonc:1:37 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:37 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1944,7 +1944,7 @@ function foo() { while (1) { function* bar() { while (1) { yield; } } } } # Diagnostics ``` -invalid.jsonc:1:25 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:25 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1961,7 +1961,7 @@ function foo() { while (1) { const bar = function* () { while (1) { yield; } } } # Diagnostics ``` -invalid.jsonc:1:25 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:25 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1978,7 +1978,7 @@ function* foo() { for (let foo = 1 + 2 + 3 + (yield); true; baz) { } } # Diagnostics ``` -invalid.jsonc:1:55 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:55 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -1995,7 +1995,7 @@ if ([a]) { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2012,7 +2012,7 @@ if ([]) { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2029,7 +2029,7 @@ if ('' + ['a']) { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2046,7 +2046,7 @@ if ('' + []) { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2063,7 +2063,7 @@ if (+1) { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2080,7 +2080,7 @@ if ([,] + '') { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2097,7 +2097,7 @@ if (/foo/ui); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2114,7 +2114,7 @@ if (0n); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2131,7 +2131,7 @@ if (0b0n); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2148,7 +2148,7 @@ if (0o0n); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2165,7 +2165,7 @@ if (0x0n); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2182,7 +2182,7 @@ if (0b1n); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2199,7 +2199,7 @@ if (0o1n); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2216,7 +2216,7 @@ if (0x1n); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2233,7 +2233,7 @@ if (0x1n || foo); # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2250,7 +2250,7 @@ if (class { }) { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2267,7 +2267,7 @@ if (new Foo()) { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2284,7 +2284,7 @@ if (new Boolean(foo)) { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2301,7 +2301,7 @@ if (new String(foo)) { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2318,7 +2318,7 @@ if (new Number(foo)) { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2335,7 +2335,7 @@ if (`${[...['a']]}`) { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2352,7 +2352,7 @@ if (undefined) { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2369,7 +2369,7 @@ if (Boolean(1)) { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2386,7 +2386,7 @@ if (Boolean()) { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. @@ -2403,7 +2403,7 @@ if (Boolean([a])) { } # Diagnostics ``` -invalid.jsonc:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected constant condition. diff --git a/crates/biome_js_analyze/tests/specs/nursery/noConstantCondition/valid.jsonc b/crates/biome_js_analyze/tests/specs/correctness/noConstantCondition/valid.jsonc similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noConstantCondition/valid.jsonc rename to crates/biome_js_analyze/tests/specs/correctness/noConstantCondition/valid.jsonc diff --git a/crates/biome_js_analyze/tests/specs/nursery/noConstantCondition/valid.jsonc.snap b/crates/biome_js_analyze/tests/specs/correctness/noConstantCondition/valid.jsonc.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noConstantCondition/valid.jsonc.snap rename to crates/biome_js_analyze/tests/specs/correctness/noConstantCondition/valid.jsonc.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/noNonoctalDecimalEscape/invalid.js b/crates/biome_js_analyze/tests/specs/correctness/noNonoctalDecimalEscape/invalid.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noNonoctalDecimalEscape/invalid.js rename to crates/biome_js_analyze/tests/specs/correctness/noNonoctalDecimalEscape/invalid.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/noNonoctalDecimalEscape/invalid.js.snap b/crates/biome_js_analyze/tests/specs/correctness/noNonoctalDecimalEscape/invalid.js.snap similarity index 78% rename from crates/biome_js_analyze/tests/specs/nursery/noNonoctalDecimalEscape/invalid.js.snap rename to crates/biome_js_analyze/tests/specs/correctness/noNonoctalDecimalEscape/invalid.js.snap index 9de07b2a8b8d..7908f5ae0e82 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/noNonoctalDecimalEscape/invalid.js.snap +++ b/crates/biome_js_analyze/tests/specs/correctness/noNonoctalDecimalEscape/invalid.js.snap @@ -53,7 +53,7 @@ let x = "\0\\n\8" # Diagnostics ``` -invalid.js:1:10 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:1:10 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -72,7 +72,7 @@ invalid.js:1:10 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:2:10 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:2:10 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -92,7 +92,7 @@ invalid.js:2:10 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:3:12 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:3:12 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -113,7 +113,7 @@ invalid.js:3:12 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:4:11 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:4:11 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -139,7 +139,7 @@ invalid.js:4:11 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:5:12 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:5:12 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -165,7 +165,7 @@ invalid.js:5:12 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:6:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:6:13 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -191,7 +191,7 @@ invalid.js:6:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:7:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:7:13 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -217,7 +217,7 @@ invalid.js:7:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:8:11 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:8:11 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -238,7 +238,7 @@ invalid.js:8:11 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:9:12 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:9:12 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -259,7 +259,7 @@ invalid.js:9:12 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:10:14 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:10:14 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -280,7 +280,7 @@ invalid.js:10:14 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:11:15 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:11:15 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -301,7 +301,7 @@ invalid.js:11:15 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:12:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:12:13 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -322,7 +322,7 @@ invalid.js:12:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:13:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:13:13 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -348,7 +348,7 @@ invalid.js:13:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:14:16 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:14:16 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -374,7 +374,7 @@ invalid.js:14:16 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:15:16 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:15:16 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -400,7 +400,7 @@ invalid.js:15:16 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:16:17 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:16:17 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -426,7 +426,7 @@ invalid.js:16:17 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:17:18 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:17:18 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -452,7 +452,7 @@ invalid.js:17:18 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:18:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:18:13 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -473,7 +473,7 @@ invalid.js:18:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:19:12 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:19:12 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -494,7 +494,7 @@ invalid.js:19:12 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:20:10 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:20:10 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -515,7 +515,7 @@ invalid.js:20:10 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:21:10 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:21:10 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -536,7 +536,7 @@ invalid.js:21:10 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:21:15 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:21:15 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -557,7 +557,7 @@ invalid.js:21:15 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:22:10 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:22:10 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -578,7 +578,7 @@ invalid.js:22:10 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:23:10 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:23:10 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -599,7 +599,7 @@ invalid.js:23:10 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:24:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:24:13 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -625,7 +625,7 @@ invalid.js:24:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:24:18 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:24:18 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -651,7 +651,7 @@ invalid.js:24:18 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:25:10 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:25:10 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -672,7 +672,7 @@ invalid.js:25:10 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:25:15 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:25:15 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -698,7 +698,7 @@ invalid.js:25:15 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:26:10 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:26:10 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -719,7 +719,7 @@ invalid.js:26:10 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:26:18 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:26:18 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -740,7 +740,7 @@ invalid.js:26:18 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:27:10 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:27:10 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -761,7 +761,7 @@ invalid.js:27:10 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:28:21 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:28:21 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -782,7 +782,7 @@ invalid.js:28:21 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:28:31 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:28:31 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -803,7 +803,7 @@ invalid.js:28:31 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:29:34 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:29:34 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -824,7 +824,7 @@ invalid.js:29:34 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:30:14 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:30:14 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -850,7 +850,7 @@ invalid.js:30:14 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:31:16 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:31:16 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -876,7 +876,7 @@ invalid.js:31:16 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:32:16 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:32:16 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -902,7 +902,7 @@ invalid.js:32:16 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:33:20 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:33:20 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -928,7 +928,7 @@ invalid.js:33:20 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:34:11 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:34:11 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -954,7 +954,7 @@ invalid.js:34:11 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:34:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:34:13 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -980,7 +980,7 @@ invalid.js:34:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:35:14 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:35:14 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -1006,7 +1006,7 @@ invalid.js:35:14 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:35:16 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:35:16 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -1032,7 +1032,7 @@ invalid.js:35:16 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:36:14 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:36:14 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -1058,7 +1058,7 @@ invalid.js:36:14 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:36:16 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:36:16 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -1084,7 +1084,7 @@ invalid.js:36:16 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:37:11 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:37:11 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -1110,7 +1110,7 @@ invalid.js:37:11 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:37:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:37:13 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -1136,7 +1136,7 @@ invalid.js:37:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:38:10 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:38:10 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -1157,7 +1157,7 @@ invalid.js:38:10 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:38:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:38:13 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -1183,7 +1183,7 @@ invalid.js:38:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:38:15 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:38:15 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -1209,7 +1209,7 @@ invalid.js:38:15 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:39:11 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:39:11 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -1235,7 +1235,7 @@ invalid.js:39:11 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:40:11 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:40:11 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -1261,7 +1261,7 @@ invalid.js:40:11 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:40:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:40:13 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -1287,7 +1287,7 @@ invalid.js:40:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:41:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:41:13 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -1308,7 +1308,7 @@ invalid.js:41:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:42:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:42:13 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -1334,7 +1334,7 @@ invalid.js:42:13 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:43:14 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:43:14 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. @@ -1360,7 +1360,7 @@ invalid.js:43:14 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━ ``` ``` -invalid.js:44:15 lint/nursery/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:44:15 lint/correctness/noNonoctalDecimalEscape FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Don't use `\8` and `\9` escape sequences in string literals. diff --git a/crates/biome_js_analyze/tests/specs/nursery/noNonoctalDecimalEscape/valid.js b/crates/biome_js_analyze/tests/specs/correctness/noNonoctalDecimalEscape/valid.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noNonoctalDecimalEscape/valid.js rename to crates/biome_js_analyze/tests/specs/correctness/noNonoctalDecimalEscape/valid.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/noNonoctalDecimalEscape/valid.js.snap b/crates/biome_js_analyze/tests/specs/correctness/noNonoctalDecimalEscape/valid.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noNonoctalDecimalEscape/valid.js.snap rename to crates/biome_js_analyze/tests/specs/correctness/noNonoctalDecimalEscape/valid.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/noSelfAssign/invalid.js b/crates/biome_js_analyze/tests/specs/correctness/noSelfAssign/invalid.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noSelfAssign/invalid.js rename to crates/biome_js_analyze/tests/specs/correctness/noSelfAssign/invalid.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/noSelfAssign/invalid.js.snap b/crates/biome_js_analyze/tests/specs/correctness/noSelfAssign/invalid.js.snap similarity index 82% rename from crates/biome_js_analyze/tests/specs/nursery/noSelfAssign/invalid.js.snap rename to crates/biome_js_analyze/tests/specs/correctness/noSelfAssign/invalid.js.snap index 83a343b95964..1e85fedb04a3 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/noSelfAssign/invalid.js.snap +++ b/crates/biome_js_analyze/tests/specs/correctness/noSelfAssign/invalid.js.snap @@ -35,7 +35,7 @@ a[10].b = a[10].b; # Diagnostics ``` -invalid.js:1:5 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:1:5 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! a is assigned to itself. @@ -55,7 +55,7 @@ invalid.js:1:5 lint/nursery/noSelfAssign ━━━━━━━━━━━━━ ``` ``` -invalid.js:2:8 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:2:8 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! a is assigned to itself. @@ -77,7 +77,7 @@ invalid.js:2:8 lint/nursery/noSelfAssign ━━━━━━━━━━━━━ ``` ``` -invalid.js:3:11 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:3:11 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! a is assigned to itself. @@ -101,7 +101,7 @@ invalid.js:3:11 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:3:14 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:3:14 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! b is assigned to itself. @@ -125,7 +125,7 @@ invalid.js:3:14 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:4:14 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:4:14 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! a is assigned to itself. @@ -149,7 +149,7 @@ invalid.js:4:14 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:5:12 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:5:12 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! a is assigned to itself. @@ -173,7 +173,7 @@ invalid.js:5:12 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:5:15 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:5:15 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! b is assigned to itself. @@ -197,7 +197,7 @@ invalid.js:5:15 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:6:16 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:6:16 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! a is assigned to itself. @@ -221,7 +221,7 @@ invalid.js:6:16 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:6:21 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:6:21 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! b is assigned to itself. @@ -245,7 +245,7 @@ invalid.js:6:21 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:6:21 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:6:21 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! b is assigned to itself. @@ -269,7 +269,7 @@ invalid.js:6:21 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:7:16 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:7:16 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! a is assigned to itself. @@ -293,7 +293,7 @@ invalid.js:7:16 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:7:21 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:7:21 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! b is assigned to itself. @@ -317,7 +317,7 @@ invalid.js:7:21 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:7:21 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:7:21 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! b is assigned to itself. @@ -341,7 +341,7 @@ invalid.js:7:21 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:8:16 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:8:16 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! a is assigned to itself. @@ -365,7 +365,7 @@ invalid.js:8:16 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:8:21 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:8:21 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! b is assigned to itself. @@ -389,7 +389,7 @@ invalid.js:8:21 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:8:21 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:8:21 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! b is assigned to itself. @@ -413,7 +413,7 @@ invalid.js:8:21 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:9:15 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:9:15 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! b is assigned to itself. @@ -437,7 +437,7 @@ invalid.js:9:15 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:10:19 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:10:19 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! b is assigned to itself. @@ -461,7 +461,7 @@ invalid.js:10:19 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:11:17 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:11:17 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! b is assigned to itself. @@ -485,7 +485,7 @@ invalid.js:11:17 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:12:17 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:12:17 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! b is assigned to itself. @@ -509,7 +509,7 @@ invalid.js:12:17 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:13:15 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:13:15 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! b is assigned to itself. @@ -533,7 +533,7 @@ invalid.js:13:15 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:14:19 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:14:19 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! b is assigned to itself. @@ -557,7 +557,7 @@ invalid.js:14:19 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:15:17 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:15:17 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! b is assigned to itself. @@ -581,7 +581,7 @@ invalid.js:15:17 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:16:26 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:16:26 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! b is assigned to itself. @@ -605,7 +605,7 @@ invalid.js:16:26 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:16:34 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:16:34 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! d is assigned to itself. @@ -629,7 +629,7 @@ invalid.js:16:34 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:16:34 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:16:34 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! d is assigned to itself. @@ -653,7 +653,7 @@ invalid.js:16:34 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:17:12 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:17:12 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! a is assigned to itself. @@ -677,7 +677,7 @@ invalid.js:17:12 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:18:9 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:18:9 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! b is assigned to itself. @@ -701,7 +701,7 @@ invalid.js:18:9 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:19:10 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:19:10 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! b is assigned to itself. @@ -725,7 +725,7 @@ invalid.js:19:10 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:20:10 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:20:10 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! b is assigned to itself. @@ -749,7 +749,7 @@ invalid.js:20:10 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:21:17 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:21:17 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! c is assigned to itself. @@ -773,7 +773,7 @@ invalid.js:21:17 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:22:13 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:22:13 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! c is assigned to itself. @@ -797,7 +797,7 @@ invalid.js:22:13 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:23:9 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:23:9 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! a is assigned to itself. @@ -821,7 +821,7 @@ invalid.js:23:9 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:24:21 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:24:21 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! bar is assigned to itself. @@ -845,7 +845,7 @@ invalid.js:24:21 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:25:25 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:25:25 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! b is assigned to itself. @@ -869,7 +869,7 @@ invalid.js:25:25 lint/nursery/noSelfAssign ━━━━━━━━━━━━ ``` ``` -invalid.js:26:17 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:26:17 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! b is assigned to itself. diff --git a/crates/biome_js_analyze/tests/specs/nursery/noSelfAssign/valid.js b/crates/biome_js_analyze/tests/specs/correctness/noSelfAssign/valid.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noSelfAssign/valid.js rename to crates/biome_js_analyze/tests/specs/correctness/noSelfAssign/valid.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/noSelfAssign/valid.js.snap b/crates/biome_js_analyze/tests/specs/correctness/noSelfAssign/valid.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noSelfAssign/valid.js.snap rename to crates/biome_js_analyze/tests/specs/correctness/noSelfAssign/valid.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useLiteralEnumMembers/invalid.ts b/crates/biome_js_analyze/tests/specs/style/useLiteralEnumMembers/invalid.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useLiteralEnumMembers/invalid.ts rename to crates/biome_js_analyze/tests/specs/style/useLiteralEnumMembers/invalid.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useLiteralEnumMembers/invalid.ts.snap b/crates/biome_js_analyze/tests/specs/style/useLiteralEnumMembers/invalid.ts.snap similarity index 73% rename from crates/biome_js_analyze/tests/specs/nursery/useLiteralEnumMembers/invalid.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useLiteralEnumMembers/invalid.ts.snap index a074463e7678..6474c375390c 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useLiteralEnumMembers/invalid.ts.snap +++ b/crates/biome_js_analyze/tests/specs/style/useLiteralEnumMembers/invalid.ts.snap @@ -65,7 +65,7 @@ export {} # Diagnostics ``` -invalid.ts:2:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:2:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -79,7 +79,7 @@ invalid.ts:2:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━ ``` ``` -invalid.ts:3:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:3:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -94,7 +94,7 @@ invalid.ts:3:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━ ``` ``` -invalid.ts:4:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:4:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -109,7 +109,7 @@ invalid.ts:4:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━ ``` ``` -invalid.ts:5:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:5:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -124,7 +124,7 @@ invalid.ts:5:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━ ``` ``` -invalid.ts:9:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:9:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -138,7 +138,7 @@ invalid.ts:9:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━ ``` ``` -invalid.ts:13:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:13:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -152,7 +152,7 @@ invalid.ts:13:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━ ``` ``` -invalid.ts:17:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:17:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -166,7 +166,7 @@ invalid.ts:17:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━ ``` ``` -invalid.ts:18:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:18:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -181,7 +181,7 @@ invalid.ts:18:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━ ``` ``` -invalid.ts:19:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:19:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -196,7 +196,7 @@ invalid.ts:19:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━ ``` ``` -invalid.ts:20:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:20:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -211,7 +211,7 @@ invalid.ts:20:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━ ``` ``` -invalid.ts:26:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:26:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -226,7 +226,7 @@ invalid.ts:26:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━ ``` ``` -invalid.ts:33:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:33:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -241,7 +241,7 @@ invalid.ts:33:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━ ``` ``` -invalid.ts:38:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:38:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -256,7 +256,7 @@ invalid.ts:38:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━ ``` ``` -invalid.ts:39:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:39:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -271,7 +271,7 @@ invalid.ts:39:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━ ``` ``` -invalid.ts:40:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:40:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -286,7 +286,7 @@ invalid.ts:40:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━ ``` ``` -invalid.ts:41:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:41:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -301,7 +301,7 @@ invalid.ts:41:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━ ``` ``` -invalid.ts:42:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:42:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -316,7 +316,7 @@ invalid.ts:42:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━ ``` ``` -invalid.ts:43:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:43:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -331,7 +331,7 @@ invalid.ts:43:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━ ``` ``` -invalid.ts:44:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:44:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -346,7 +346,7 @@ invalid.ts:44:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━ ``` ``` -invalid.ts:48:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:48:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -360,7 +360,7 @@ invalid.ts:48:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━ ``` ``` -invalid.ts:49:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:49:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -375,7 +375,7 @@ invalid.ts:49:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━ ``` ``` -invalid.ts:50:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:50:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -390,7 +390,7 @@ invalid.ts:50:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━ ``` ``` -invalid.ts:51:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:51:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -405,7 +405,7 @@ invalid.ts:51:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━ ``` ``` -invalid.ts:52:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:52:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. @@ -420,7 +420,7 @@ invalid.ts:52:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━ ``` ``` -invalid.ts:53:7 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:53:7 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized with a literal value such as a number or a string. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useLiteralEnumMembers/valid.ts b/crates/biome_js_analyze/tests/specs/style/useLiteralEnumMembers/valid.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useLiteralEnumMembers/valid.ts rename to crates/biome_js_analyze/tests/specs/style/useLiteralEnumMembers/valid.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useLiteralEnumMembers/valid.ts.snap b/crates/biome_js_analyze/tests/specs/style/useLiteralEnumMembers/valid.ts.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useLiteralEnumMembers/valid.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useLiteralEnumMembers/valid.ts.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidCatchParameter.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidCatchParameter.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidCatchParameter.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidCatchParameter.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidCatchParameter.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidCatchParameter.js.snap similarity index 78% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidCatchParameter.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidCatchParameter.js.snap index 00782a39aa5c..0b9472902c1f 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidCatchParameter.js.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidCatchParameter.js.snap @@ -16,7 +16,7 @@ try {} catch(SPECIFIC_ERROR) {} # Diagnostics ``` -invalidCatchParameter.js:1:14 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidCatchParameter.js:1:14 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This catch parameter name should be in camelCase. @@ -38,7 +38,7 @@ invalidCatchParameter.js:1:14 lint/nursery/useNamingConvention FIXABLE ━━ ``` ``` -invalidCatchParameter.js:3:14 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidCatchParameter.js:3:14 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This catch parameter name should be in camelCase. @@ -64,7 +64,7 @@ invalidCatchParameter.js:3:14 lint/nursery/useNamingConvention FIXABLE ━━ ``` ``` -invalidCatchParameter.js:5:14 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidCatchParameter.js:5:14 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This catch parameter name should be in camelCase. @@ -90,7 +90,7 @@ invalidCatchParameter.js:5:14 lint/nursery/useNamingConvention FIXABLE ━━ ``` ``` -invalidCatchParameter.js:7:14 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidCatchParameter.js:7:14 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This catch parameter name should be in camelCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClass.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClass.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClass.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClass.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClass.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClass.js.snap similarity index 78% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClass.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClass.js.snap index 4ce16a5884a8..c5aca3960f26 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClass.js.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClass.js.snap @@ -17,7 +17,7 @@ class Unknown_Style {} # Diagnostics ``` -invalidClass.js:1:7 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClass.js:1:7 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class name should be in PascalCase. @@ -39,7 +39,7 @@ invalidClass.js:1:7 lint/nursery/useNamingConvention FIXABLE ━━━━━ ``` ``` -invalidClass.js:3:7 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClass.js:3:7 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class name should be in PascalCase. @@ -65,7 +65,7 @@ invalidClass.js:3:7 lint/nursery/useNamingConvention FIXABLE ━━━━━ ``` ``` -invalidClass.js:5:22 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClass.js:5:22 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class name should be in PascalCase. @@ -82,7 +82,7 @@ invalidClass.js:5:22 lint/nursery/useNamingConvention ━━━━━━━━ ``` ``` -invalidClass.js:7:17 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClass.js:7:17 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class name should be in PascalCase. @@ -108,7 +108,7 @@ invalidClass.js:7:17 lint/nursery/useNamingConvention FIXABLE ━━━━━ ``` ``` -invalidClass.js:9:7 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClass.js:9:7 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class name should be in PascalCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassGetter.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassGetter.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassGetter.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassGetter.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassGetter.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassGetter.js.snap similarity index 68% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassGetter.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassGetter.js.snap index dd93fdc2530a..e7b142828b4f 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassGetter.js.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassGetter.js.snap @@ -29,7 +29,7 @@ export default class { # Diagnostics ``` -invalidClassGetter.js:2:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassGetter.js:2:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class getter name should be in camelCase. @@ -45,7 +45,7 @@ invalidClassGetter.js:2:9 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidClassGetter.js:4:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassGetter.js:4:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class getter name should be in camelCase. @@ -62,7 +62,7 @@ invalidClassGetter.js:4:9 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidClassGetter.js:6:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassGetter.js:6:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class getter name should be in camelCase. @@ -79,7 +79,7 @@ invalidClassGetter.js:6:9 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidClassGetter.js:8:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassGetter.js:8:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class getter name should be in camelCase. @@ -96,7 +96,7 @@ invalidClassGetter.js:8:9 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidClassGetter.js:10:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassGetter.js:10:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class getter name should be in camelCase. @@ -113,7 +113,7 @@ invalidClassGetter.js:10:9 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassGetter.js:12:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassGetter.js:12:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class getter name should be in camelCase. @@ -130,7 +130,7 @@ invalidClassGetter.js:12:9 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassGetter.js:14:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassGetter.js:14:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class getter name should be in camelCase. @@ -147,7 +147,7 @@ invalidClassGetter.js:14:9 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassGetter.js:16:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassGetter.js:16:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class getter name should be in camelCase. @@ -164,7 +164,7 @@ invalidClassGetter.js:16:9 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassGetter.js:18:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassGetter.js:18:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class getter name should be in camelCase. @@ -181,7 +181,7 @@ invalidClassGetter.js:18:9 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassGetter.js:20:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassGetter.js:20:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class getter name should be in camelCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassMethod.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassMethod.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassMethod.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassMethod.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassMethod.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassMethod.js.snap similarity index 65% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassMethod.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassMethod.js.snap index e6d217f5c929..83d04f082aaa 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassMethod.js.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassMethod.js.snap @@ -29,7 +29,7 @@ export default class { # Diagnostics ``` -invalidClassMethod.js:2:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassMethod.js:2:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class method name should be in camelCase. @@ -45,7 +45,7 @@ invalidClassMethod.js:2:5 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidClassMethod.js:4:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassMethod.js:4:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class method name should be in camelCase. @@ -62,7 +62,7 @@ invalidClassMethod.js:4:5 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidClassMethod.js:6:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassMethod.js:6:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class method name should be in camelCase. @@ -79,7 +79,7 @@ invalidClassMethod.js:6:5 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidClassMethod.js:8:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassMethod.js:8:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class method name should be in camelCase. @@ -96,7 +96,7 @@ invalidClassMethod.js:8:5 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidClassMethod.js:10:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassMethod.js:10:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class method name should be in camelCase. @@ -113,7 +113,7 @@ invalidClassMethod.js:10:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassMethod.js:12:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassMethod.js:12:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class method name should be in camelCase. @@ -130,7 +130,7 @@ invalidClassMethod.js:12:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassMethod.js:14:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassMethod.js:14:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class method name should be in camelCase. @@ -147,7 +147,7 @@ invalidClassMethod.js:14:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassMethod.js:16:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassMethod.js:16:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class method name should be in camelCase. @@ -164,7 +164,7 @@ invalidClassMethod.js:16:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassMethod.js:18:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassMethod.js:18:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class method name should be in camelCase. @@ -181,7 +181,7 @@ invalidClassMethod.js:18:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassMethod.js:20:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassMethod.js:20:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class method name should be in camelCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassProperty.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassProperty.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassProperty.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassProperty.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassProperty.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassProperty.js.snap similarity index 64% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassProperty.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassProperty.js.snap index 8d66900b352f..c3541ee80998 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassProperty.js.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassProperty.js.snap @@ -39,7 +39,7 @@ export default class { # Diagnostics ``` -invalidClassProperty.js:2:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassProperty.js:2:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class property name should be in camelCase. @@ -55,7 +55,7 @@ invalidClassProperty.js:2:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassProperty.js:4:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassProperty.js:4:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class property name should be in camelCase. @@ -72,7 +72,7 @@ invalidClassProperty.js:4:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassProperty.js:6:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassProperty.js:6:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class property name should be in camelCase. @@ -89,7 +89,7 @@ invalidClassProperty.js:6:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassProperty.js:8:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassProperty.js:8:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class property name should be in camelCase. @@ -106,7 +106,7 @@ invalidClassProperty.js:8:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassProperty.js:10:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassProperty.js:10:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class property name should be in camelCase. @@ -123,7 +123,7 @@ invalidClassProperty.js:10:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassProperty.js:12:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassProperty.js:12:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class property name should be in camelCase. @@ -140,7 +140,7 @@ invalidClassProperty.js:12:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassProperty.js:14:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassProperty.js:14:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class property name should be in camelCase. @@ -157,7 +157,7 @@ invalidClassProperty.js:14:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassProperty.js:16:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassProperty.js:16:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class property name should be in camelCase. @@ -174,7 +174,7 @@ invalidClassProperty.js:16:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassProperty.js:18:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassProperty.js:18:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class property name should be in camelCase. @@ -191,7 +191,7 @@ invalidClassProperty.js:18:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassProperty.js:20:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassProperty.js:20:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class property name should be in camelCase. @@ -208,7 +208,7 @@ invalidClassProperty.js:20:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassProperty.js:22:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassProperty.js:22:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class property name should be in camelCase. @@ -225,7 +225,7 @@ invalidClassProperty.js:22:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassProperty.js:24:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassProperty.js:24:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class property name should be in camelCase. @@ -242,7 +242,7 @@ invalidClassProperty.js:24:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassProperty.js:26:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassProperty.js:26:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class property name should be in camelCase. @@ -259,7 +259,7 @@ invalidClassProperty.js:26:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassProperty.js:28:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassProperty.js:28:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class property name should be in camelCase. @@ -276,7 +276,7 @@ invalidClassProperty.js:28:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassProperty.js:30:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassProperty.js:30:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class property name should be in camelCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassSetter.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassSetter.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassSetter.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassSetter.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassSetter.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassSetter.js.snap similarity index 68% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassSetter.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassSetter.js.snap index 9ba45288bf96..bd5d50b1982b 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassSetter.js.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassSetter.js.snap @@ -29,7 +29,7 @@ export default class { # Diagnostics ``` -invalidClassSetter.js:2:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassSetter.js:2:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class setter name should be in camelCase. @@ -45,7 +45,7 @@ invalidClassSetter.js:2:9 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidClassSetter.js:4:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassSetter.js:4:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class setter name should be in camelCase. @@ -62,7 +62,7 @@ invalidClassSetter.js:4:9 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidClassSetter.js:6:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassSetter.js:6:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class setter name should be in camelCase. @@ -79,7 +79,7 @@ invalidClassSetter.js:6:9 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidClassSetter.js:8:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassSetter.js:8:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class setter name should be in camelCase. @@ -96,7 +96,7 @@ invalidClassSetter.js:8:9 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidClassSetter.js:10:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassSetter.js:10:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class setter name should be in camelCase. @@ -113,7 +113,7 @@ invalidClassSetter.js:10:9 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassSetter.js:12:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassSetter.js:12:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class setter name should be in camelCase. @@ -130,7 +130,7 @@ invalidClassSetter.js:12:9 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassSetter.js:14:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassSetter.js:14:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class setter name should be in camelCase. @@ -147,7 +147,7 @@ invalidClassSetter.js:14:9 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassSetter.js:16:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassSetter.js:16:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class setter name should be in camelCase. @@ -164,7 +164,7 @@ invalidClassSetter.js:16:9 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassSetter.js:18:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassSetter.js:18:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class setter name should be in camelCase. @@ -181,7 +181,7 @@ invalidClassSetter.js:18:9 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidClassSetter.js:20:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassSetter.js:20:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class setter name should be in camelCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassStaticGetter.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassStaticGetter.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassStaticGetter.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassStaticGetter.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassStaticGetter.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassStaticGetter.js.snap similarity index 69% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassStaticGetter.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassStaticGetter.js.snap index a6a49c322696..b9096867a954 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassStaticGetter.js.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassStaticGetter.js.snap @@ -23,7 +23,7 @@ export default class { # Diagnostics ``` -invalidClassStaticGetter.js:2:16 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticGetter.js:2:16 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static getter name should be in camelCase or CONSTANT_CASE. @@ -39,7 +39,7 @@ invalidClassStaticGetter.js:2:16 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidClassStaticGetter.js:4:16 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticGetter.js:4:16 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static getter name should be in camelCase or CONSTANT_CASE. @@ -56,7 +56,7 @@ invalidClassStaticGetter.js:4:16 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidClassStaticGetter.js:6:16 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticGetter.js:6:16 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static getter name should be in camelCase or CONSTANT_CASE. @@ -73,7 +73,7 @@ invalidClassStaticGetter.js:6:16 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidClassStaticGetter.js:10:16 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticGetter.js:10:16 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static getter name should be in camelCase or CONSTANT_CASE. @@ -90,7 +90,7 @@ invalidClassStaticGetter.js:10:16 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidClassStaticGetter.js:12:16 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticGetter.js:12:16 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static getter name should be in camelCase or CONSTANT_CASE. @@ -107,7 +107,7 @@ invalidClassStaticGetter.js:12:16 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidClassStaticGetter.js:14:16 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticGetter.js:14:16 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static getter name should be in camelCase or CONSTANT_CASE. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassStaticMethod.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassStaticMethod.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassStaticMethod.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassStaticMethod.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassStaticMethod.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassStaticMethod.js.snap similarity index 64% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassStaticMethod.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassStaticMethod.js.snap index 77b4438a4a26..073194465f08 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassStaticMethod.js.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassStaticMethod.js.snap @@ -27,7 +27,7 @@ export default class { # Diagnostics ``` -invalidClassStaticMethod.js:2:12 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticMethod.js:2:12 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static method name should be in camelCase. @@ -43,7 +43,7 @@ invalidClassStaticMethod.js:2:12 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidClassStaticMethod.js:4:12 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticMethod.js:4:12 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static method name should be in camelCase. @@ -60,7 +60,7 @@ invalidClassStaticMethod.js:4:12 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidClassStaticMethod.js:6:12 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticMethod.js:6:12 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static method name should be in camelCase. @@ -77,7 +77,7 @@ invalidClassStaticMethod.js:6:12 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidClassStaticMethod.js:8:12 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticMethod.js:8:12 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static method name should be in camelCase. @@ -94,7 +94,7 @@ invalidClassStaticMethod.js:8:12 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidClassStaticMethod.js:10:12 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticMethod.js:10:12 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static method name should be in camelCase. @@ -111,7 +111,7 @@ invalidClassStaticMethod.js:10:12 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidClassStaticMethod.js:12:12 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticMethod.js:12:12 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static method name should be in camelCase. @@ -128,7 +128,7 @@ invalidClassStaticMethod.js:12:12 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidClassStaticMethod.js:14:12 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticMethod.js:14:12 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static method name should be in camelCase. @@ -145,7 +145,7 @@ invalidClassStaticMethod.js:14:12 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidClassStaticMethod.js:16:12 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticMethod.js:16:12 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static method name should be in camelCase. @@ -162,7 +162,7 @@ invalidClassStaticMethod.js:16:12 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidClassStaticMethod.js:18:12 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticMethod.js:18:12 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static method name should be in camelCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassStaticSetter.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassStaticSetter.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassStaticSetter.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassStaticSetter.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassStaticSetter.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassStaticSetter.js.snap similarity index 67% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassStaticSetter.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassStaticSetter.js.snap index c53cc3726350..fe49d2b96502 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidClassStaticSetter.js.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidClassStaticSetter.js.snap @@ -29,7 +29,7 @@ export default class { # Diagnostics ``` -invalidClassStaticSetter.js:2:16 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticSetter.js:2:16 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static setter name should be in camelCase. @@ -45,7 +45,7 @@ invalidClassStaticSetter.js:2:16 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidClassStaticSetter.js:4:16 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticSetter.js:4:16 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static setter name should be in camelCase. @@ -62,7 +62,7 @@ invalidClassStaticSetter.js:4:16 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidClassStaticSetter.js:6:16 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticSetter.js:6:16 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static setter name should be in camelCase. @@ -79,7 +79,7 @@ invalidClassStaticSetter.js:6:16 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidClassStaticSetter.js:8:16 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticSetter.js:8:16 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static setter name should be in camelCase. @@ -96,7 +96,7 @@ invalidClassStaticSetter.js:8:16 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidClassStaticSetter.js:10:16 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticSetter.js:10:16 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static setter name should be in camelCase. @@ -113,7 +113,7 @@ invalidClassStaticSetter.js:10:16 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidClassStaticSetter.js:12:16 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticSetter.js:12:16 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static setter name should be in camelCase. @@ -130,7 +130,7 @@ invalidClassStaticSetter.js:12:16 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidClassStaticSetter.js:14:16 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticSetter.js:14:16 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static setter name should be in camelCase. @@ -147,7 +147,7 @@ invalidClassStaticSetter.js:14:16 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidClassStaticSetter.js:16:16 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticSetter.js:16:16 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static setter name should be in camelCase. @@ -164,7 +164,7 @@ invalidClassStaticSetter.js:16:16 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidClassStaticSetter.js:18:16 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticSetter.js:18:16 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static setter name should be in camelCase. @@ -181,7 +181,7 @@ invalidClassStaticSetter.js:18:16 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidClassStaticSetter.js:20:16 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClassStaticSetter.js:20:16 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This static setter name should be in camelCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidEnum.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidEnum.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidEnum.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidEnum.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidEnum.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidEnum.ts.snap similarity index 73% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidEnum.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidEnum.ts.snap index 8a8aa4e72c0e..4955be39809f 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidEnum.ts.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidEnum.ts.snap @@ -13,7 +13,7 @@ enum SPECIAL_STATUS {} # Diagnostics ``` -invalidEnum.ts:1:6 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidEnum.ts:1:6 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This enum name should be in PascalCase. @@ -35,7 +35,7 @@ invalidEnum.ts:1:6 lint/nursery/useNamingConvention FIXABLE ━━━━━━ ``` ``` -invalidEnum.ts:3:6 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidEnum.ts:3:6 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This enum name should be in PascalCase. @@ -61,7 +61,7 @@ invalidEnum.ts:3:6 lint/nursery/useNamingConvention FIXABLE ━━━━━━ ``` ``` -invalidEnum.ts:5:6 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidEnum.ts:5:6 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This enum name should be in PascalCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidEnumMember.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidEnumMember.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidEnumMember.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidEnumMember.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidEnumMember.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidEnumMember.ts.snap similarity index 59% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidEnumMember.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidEnumMember.ts.snap index 5cf08809aab9..1364862da575 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidEnumMember.ts.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidEnumMember.ts.snap @@ -17,7 +17,7 @@ export enum Direction { # Diagnostics ``` -invalidEnumMember.ts:2:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidEnumMember.ts:2:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This enum member name should be in PascalCase. @@ -33,7 +33,7 @@ invalidEnumMember.ts:2:5 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidEnumMember.ts:3:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidEnumMember.ts:3:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This enum member name should be in PascalCase. @@ -50,7 +50,7 @@ invalidEnumMember.ts:3:5 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidEnumMember.ts:7:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidEnumMember.ts:7:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This enum member name should be in PascalCase. @@ -66,7 +66,7 @@ invalidEnumMember.ts:7:5 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidEnumMember.ts:8:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidEnumMember.ts:8:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This enum member name should be in PascalCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidExportAlias.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidExportAlias.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidExportAlias.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidExportAlias.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidExportAlias.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidExportAlias.js.snap similarity index 65% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidExportAlias.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidExportAlias.js.snap index 3fc14b94bcae..459c92d88ae3 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidExportAlias.js.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidExportAlias.js.snap @@ -15,7 +15,7 @@ export { Y as snake_case } from "" # Diagnostics ``` -invalidExportAlias.js:1:15 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidExportAlias.js:1:15 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This export alias name should be in camelCase or PascalCase or CONSTANT_CASE. @@ -30,7 +30,7 @@ invalidExportAlias.js:1:15 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidExportAlias.js:3:15 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidExportAlias.js:3:15 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This export alias name should be in camelCase or PascalCase or CONSTANT_CASE. @@ -47,7 +47,7 @@ invalidExportAlias.js:3:15 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidExportAlias.js:5:15 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidExportAlias.js:5:15 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This export alias name should be in camelCase or PascalCase or CONSTANT_CASE. @@ -64,7 +64,7 @@ invalidExportAlias.js:5:15 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidExportAlias.js:7:15 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidExportAlias.js:7:15 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This export alias name should be in camelCase or PascalCase or CONSTANT_CASE. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidExportNamespace.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidExportNamespace.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidExportNamespace.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidExportNamespace.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidExportNamespace.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidExportNamespace.js.snap similarity index 69% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidExportNamespace.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidExportNamespace.js.snap index 6666f60757d7..114d4a16d8a0 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidExportNamespace.js.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidExportNamespace.js.snap @@ -18,7 +18,7 @@ export * as Unknown_Style from "" # Diagnostics ``` -invalidExportNamespace.js:5:13 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidExportNamespace.js:5:13 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This export namespace name should be in camelCase or PascalCase. @@ -35,7 +35,7 @@ invalidExportNamespace.js:5:13 lint/nursery/useNamingConvention ━━━━━ ``` ``` -invalidExportNamespace.js:7:13 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidExportNamespace.js:7:13 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This export namespace name should be in camelCase or PascalCase. @@ -52,7 +52,7 @@ invalidExportNamespace.js:7:13 lint/nursery/useNamingConvention ━━━━━ ``` ``` -invalidExportNamespace.js:9:13 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidExportNamespace.js:9:13 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This export namespace name should be in camelCase or PascalCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidFunction.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidFunction.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidFunction.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidFunction.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidFunction.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidFunction.js.snap similarity index 77% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidFunction.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidFunction.js.snap index 3df83155f051..e4252604c7df 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidFunction.js.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidFunction.js.snap @@ -15,7 +15,7 @@ const g = function SPECIAL_FUNCTION() {} # Diagnostics ``` -invalidFunction.js:1:10 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidFunction.js:1:10 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This function name should be in camelCase or PascalCase. @@ -37,7 +37,7 @@ invalidFunction.js:1:10 lint/nursery/useNamingConvention FIXABLE ━━━━ ``` ``` -invalidFunction.js:3:10 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidFunction.js:3:10 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This function name should be in camelCase or PascalCase. @@ -63,7 +63,7 @@ invalidFunction.js:3:10 lint/nursery/useNamingConvention FIXABLE ━━━━ ``` ``` -invalidFunction.js:5:10 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidFunction.js:5:10 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This function name should be in camelCase or PascalCase. @@ -89,7 +89,7 @@ invalidFunction.js:5:10 lint/nursery/useNamingConvention FIXABLE ━━━━ ``` ``` -invalidFunction.js:7:20 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidFunction.js:7:20 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This function name should be in camelCase or PascalCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidFunctionParameter.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidFunctionParameter.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidFunctionParameter.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidFunctionParameter.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidFunctionParameter.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidFunctionParameter.js.snap similarity index 76% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidFunctionParameter.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidFunctionParameter.js.snap index db87b902f327..af948df0f435 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidFunctionParameter.js.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidFunctionParameter.js.snap @@ -9,7 +9,7 @@ function f(A, SpecialParameter, _snake_case, CONSTANT_CASE) {} # Diagnostics ``` -invalidFunctionParameter.js:1:12 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━ +invalidFunctionParameter.js:1:12 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This function parameter name should be in camelCase. @@ -27,7 +27,7 @@ invalidFunctionParameter.js:1:12 lint/nursery/useNamingConvention FIXABLE ━ ``` ``` -invalidFunctionParameter.js:1:15 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━ +invalidFunctionParameter.js:1:15 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This function parameter name should be in camelCase. @@ -45,7 +45,7 @@ invalidFunctionParameter.js:1:15 lint/nursery/useNamingConvention FIXABLE ━ ``` ``` -invalidFunctionParameter.js:1:33 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━ +invalidFunctionParameter.js:1:33 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This function parameter name trimmed as `snake_case` should be in camelCase. @@ -63,7 +63,7 @@ invalidFunctionParameter.js:1:33 lint/nursery/useNamingConvention FIXABLE ━ ``` ``` -invalidFunctionParameter.js:1:46 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━ +invalidFunctionParameter.js:1:46 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This function parameter name should be in camelCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidImportAlias.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidImportAlias.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidImportAlias.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidImportAlias.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidImportAlias.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidImportAlias.js.snap similarity index 78% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidImportAlias.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidImportAlias.js.snap index ad0da9a95fbf..0cb4bc388395 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidImportAlias.js.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidImportAlias.js.snap @@ -23,7 +23,7 @@ import snake_case from "" # Diagnostics ``` -invalidImportAlias.js:1:15 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidImportAlias.js:1:15 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This import alias name should be in camelCase or PascalCase or CONSTANT_CASE. @@ -45,7 +45,7 @@ invalidImportAlias.js:1:15 lint/nursery/useNamingConvention FIXABLE ━━━ ``` ``` -invalidImportAlias.js:3:15 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidImportAlias.js:3:15 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This import alias name should be in camelCase or PascalCase or CONSTANT_CASE. @@ -71,7 +71,7 @@ invalidImportAlias.js:3:15 lint/nursery/useNamingConvention FIXABLE ━━━ ``` ``` -invalidImportAlias.js:5:15 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidImportAlias.js:5:15 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This import alias name should be in camelCase or PascalCase or CONSTANT_CASE. @@ -97,7 +97,7 @@ invalidImportAlias.js:5:15 lint/nursery/useNamingConvention FIXABLE ━━━ ``` ``` -invalidImportAlias.js:7:15 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidImportAlias.js:7:15 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This import alias name should be in camelCase or PascalCase or CONSTANT_CASE. @@ -123,7 +123,7 @@ invalidImportAlias.js:7:15 lint/nursery/useNamingConvention FIXABLE ━━━ ``` ``` -invalidImportAlias.js:9:8 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidImportAlias.js:9:8 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This import alias name should be in camelCase or PascalCase or CONSTANT_CASE. @@ -149,7 +149,7 @@ invalidImportAlias.js:9:8 lint/nursery/useNamingConvention FIXABLE ━━━ ``` ``` -invalidImportAlias.js:11:8 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidImportAlias.js:11:8 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This import alias name should be in camelCase or PascalCase or CONSTANT_CASE. @@ -175,7 +175,7 @@ invalidImportAlias.js:11:8 lint/nursery/useNamingConvention FIXABLE ━━━ ``` ``` -invalidImportAlias.js:13:8 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidImportAlias.js:13:8 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This import alias name should be in camelCase or PascalCase or CONSTANT_CASE. @@ -201,7 +201,7 @@ invalidImportAlias.js:13:8 lint/nursery/useNamingConvention FIXABLE ━━━ ``` ``` -invalidImportAlias.js:15:8 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidImportAlias.js:15:8 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This import alias name should be in camelCase or PascalCase or CONSTANT_CASE. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidImportNamespace.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidImportNamespace.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidImportNamespace.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidImportNamespace.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidImportNamespace.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidImportNamespace.js.snap similarity index 81% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidImportNamespace.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidImportNamespace.js.snap index 86b92269f142..941369df7e9d 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidImportNamespace.js.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidImportNamespace.js.snap @@ -18,7 +18,7 @@ import * as Unknown_Style from "" # Diagnostics ``` -invalidImportNamespace.js:5:13 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidImportNamespace.js:5:13 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This import namespace name should be in camelCase or PascalCase. @@ -44,7 +44,7 @@ invalidImportNamespace.js:5:13 lint/nursery/useNamingConvention FIXABLE ━━ ``` ``` -invalidImportNamespace.js:7:13 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidImportNamespace.js:7:13 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This import namespace name should be in camelCase or PascalCase. @@ -70,7 +70,7 @@ invalidImportNamespace.js:7:13 lint/nursery/useNamingConvention FIXABLE ━━ ``` ``` -invalidImportNamespace.js:9:13 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidImportNamespace.js:9:13 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This import namespace name should be in camelCase or PascalCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidIndexParameter.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidIndexParameter.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidIndexParameter.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidIndexParameter.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidIndexParameter.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidIndexParameter.ts.snap similarity index 79% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidIndexParameter.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidIndexParameter.ts.snap index ca51648dea81..f7aa9c2c4326 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidIndexParameter.ts.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidIndexParameter.ts.snap @@ -15,7 +15,7 @@ export interface X { # Diagnostics ``` -invalidIndexParameter.ts:2:6 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidIndexParameter.ts:2:6 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This index parameter name should be in camelCase. @@ -39,7 +39,7 @@ invalidIndexParameter.ts:2:6 lint/nursery/useNamingConvention FIXABLE ━━ ``` ``` -invalidIndexParameter.ts:4:6 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidIndexParameter.ts:4:6 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This index parameter name should be in camelCase. @@ -65,7 +65,7 @@ invalidIndexParameter.ts:4:6 lint/nursery/useNamingConvention FIXABLE ━━ ``` ``` -invalidIndexParameter.ts:6:6 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidIndexParameter.ts:6:6 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This index parameter name should be in camelCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidInterface.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidInterface.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidInterface.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidInterface.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidInterface.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidInterface.ts.snap similarity index 71% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidInterface.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidInterface.ts.snap index 2c7178af6199..241ad0e0cbe0 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidInterface.ts.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidInterface.ts.snap @@ -27,7 +27,7 @@ interface _Unknown_Style {} # Diagnostics ``` -invalidInterface.ts:1:18 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidInterface.ts:1:18 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This interface name should be in PascalCase. @@ -42,7 +42,7 @@ invalidInterface.ts:1:18 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidInterface.ts:3:18 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidInterface.ts:3:18 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This interface name should be in PascalCase. @@ -59,7 +59,7 @@ invalidInterface.ts:3:18 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidInterface.ts:5:18 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidInterface.ts:5:18 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This interface name should be in PascalCase. @@ -76,7 +76,7 @@ invalidInterface.ts:5:18 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidInterface.ts:7:18 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidInterface.ts:7:18 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This interface name should be in PascalCase. @@ -93,7 +93,7 @@ invalidInterface.ts:7:18 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidInterface.ts:9:18 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidInterface.ts:9:18 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This interface name should be in PascalCase. @@ -110,7 +110,7 @@ invalidInterface.ts:9:18 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidInterface.ts:11:11 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidInterface.ts:11:11 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This interface name trimmed as `XXX` should be in PascalCase. @@ -136,7 +136,7 @@ invalidInterface.ts:11:11 lint/nursery/useNamingConvention FIXABLE ━━━ ``` ``` -invalidInterface.ts:13:11 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidInterface.ts:13:11 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This interface name trimmed as `CONSTANT_CASE` should be in PascalCase. @@ -162,7 +162,7 @@ invalidInterface.ts:13:11 lint/nursery/useNamingConvention FIXABLE ━━━ ``` ``` -invalidInterface.ts:15:11 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidInterface.ts:15:11 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This interface name trimmed as `camelCase` should be in PascalCase. @@ -188,7 +188,7 @@ invalidInterface.ts:15:11 lint/nursery/useNamingConvention FIXABLE ━━━ ``` ``` -invalidInterface.ts:17:11 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidInterface.ts:17:11 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This interface name trimmed as `snake_case` should be in PascalCase. @@ -214,7 +214,7 @@ invalidInterface.ts:17:11 lint/nursery/useNamingConvention FIXABLE ━━━ ``` ``` -invalidInterface.ts:19:11 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidInterface.ts:19:11 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This interface name trimmed as `Unknown_Style` should be in PascalCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidLocalVariable.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidLocalVariable.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidLocalVariable.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidLocalVariable.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidLocalVariable.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidLocalVariable.js.snap similarity index 82% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidLocalVariable.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidLocalVariable.js.snap index 8968b2bbff77..5e4fe131d8a6 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidLocalVariable.js.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidLocalVariable.js.snap @@ -30,7 +30,7 @@ export function f() { # Diagnostics ``` -invalidLocalVariable.js:2:11 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidLocalVariable.js:2:11 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This local const name should be in camelCase. @@ -54,7 +54,7 @@ invalidLocalVariable.js:2:11 lint/nursery/useNamingConvention FIXABLE ━━ ``` ``` -invalidLocalVariable.js:4:11 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidLocalVariable.js:4:11 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This local const name should be in camelCase. @@ -80,7 +80,7 @@ invalidLocalVariable.js:4:11 lint/nursery/useNamingConvention FIXABLE ━━ ``` ``` -invalidLocalVariable.js:6:9 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidLocalVariable.js:6:9 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This local let name should be in camelCase. @@ -106,7 +106,7 @@ invalidLocalVariable.js:6:9 lint/nursery/useNamingConvention FIXABLE ━━━ ``` ``` -invalidLocalVariable.js:8:9 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidLocalVariable.js:8:9 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This local var name should be in camelCase. @@ -132,7 +132,7 @@ invalidLocalVariable.js:8:9 lint/nursery/useNamingConvention FIXABLE ━━━ ``` ``` -invalidLocalVariable.js:10:11 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidLocalVariable.js:10:11 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This local const name should be in camelCase. @@ -158,7 +158,7 @@ invalidLocalVariable.js:10:11 lint/nursery/useNamingConvention FIXABLE ━━ ``` ``` -invalidLocalVariable.js:12:9 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidLocalVariable.js:12:9 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This local let name should be in camelCase. @@ -184,7 +184,7 @@ invalidLocalVariable.js:12:9 lint/nursery/useNamingConvention FIXABLE ━━ ``` ``` -invalidLocalVariable.js:14:9 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidLocalVariable.js:14:9 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This local var name should be in camelCase. @@ -210,7 +210,7 @@ invalidLocalVariable.js:14:9 lint/nursery/useNamingConvention FIXABLE ━━ ``` ``` -invalidLocalVariable.js:18:11 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidLocalVariable.js:18:11 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This local const name should be in camelCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidNamespace.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidNamespace.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidNamespace.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidNamespace.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidNamespace.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidNamespace.ts.snap similarity index 72% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidNamespace.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidNamespace.ts.snap index d42a07ac540a..6a9b9f463b3d 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidNamespace.ts.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidNamespace.ts.snap @@ -23,7 +23,7 @@ namespace _Unknown_Style {} # Diagnostics ``` -invalidNamespace.ts:1:18 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidNamespace.ts:1:18 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This namespace name should be in camelCase or PascalCase. @@ -38,7 +38,7 @@ invalidNamespace.ts:1:18 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidNamespace.ts:3:18 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidNamespace.ts:3:18 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This namespace name should be in camelCase or PascalCase. @@ -55,7 +55,7 @@ invalidNamespace.ts:3:18 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidNamespace.ts:5:18 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidNamespace.ts:5:18 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This namespace name should be in camelCase or PascalCase. @@ -72,7 +72,7 @@ invalidNamespace.ts:5:18 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidNamespace.ts:7:18 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidNamespace.ts:7:18 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This namespace name should be in camelCase or PascalCase. @@ -89,7 +89,7 @@ invalidNamespace.ts:7:18 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidNamespace.ts:9:11 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidNamespace.ts:9:11 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This namespace name trimmed as `XXX` should be in camelCase or PascalCase. @@ -115,7 +115,7 @@ invalidNamespace.ts:9:11 lint/nursery/useNamingConvention FIXABLE ━━━━ ``` ``` -invalidNamespace.ts:11:11 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidNamespace.ts:11:11 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This namespace name trimmed as `CONSTANT_CASE` should be in camelCase or PascalCase. @@ -141,7 +141,7 @@ invalidNamespace.ts:11:11 lint/nursery/useNamingConvention FIXABLE ━━━ ``` ``` -invalidNamespace.ts:13:11 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidNamespace.ts:13:11 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This namespace name trimmed as `snake_case` should be in camelCase or PascalCase. @@ -167,7 +167,7 @@ invalidNamespace.ts:13:11 lint/nursery/useNamingConvention FIXABLE ━━━ ``` ``` -invalidNamespace.ts:15:11 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidNamespace.ts:15:11 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This namespace name trimmed as `Unknown_Style` should be in camelCase or PascalCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidObjectGetter.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidObjectGetter.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidObjectGetter.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidObjectGetter.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidObjectGetter.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidObjectGetter.js.snap similarity index 65% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidObjectGetter.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidObjectGetter.js.snap index e278f5df0cf4..10afb90779bb 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidObjectGetter.js.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidObjectGetter.js.snap @@ -15,7 +15,7 @@ export default { # Diagnostics ``` -invalidObjectGetter.js:2:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidObjectGetter.js:2:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This object getter name should be in camelCase. @@ -31,7 +31,7 @@ invalidObjectGetter.js:2:9 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidObjectGetter.js:4:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidObjectGetter.js:4:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This object getter name should be in camelCase. @@ -48,7 +48,7 @@ invalidObjectGetter.js:4:9 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidObjectGetter.js:6:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidObjectGetter.js:6:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This object getter name should be in camelCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidObjectMethod.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidObjectMethod.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidObjectMethod.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidObjectMethod.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidObjectMethod.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidObjectMethod.js.snap similarity index 61% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidObjectMethod.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidObjectMethod.js.snap index 8a086049a466..22626d0823d9 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidObjectMethod.js.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidObjectMethod.js.snap @@ -17,7 +17,7 @@ export default { # Diagnostics ``` -invalidObjectMethod.js:2:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidObjectMethod.js:2:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This object method name should be in camelCase. @@ -33,7 +33,7 @@ invalidObjectMethod.js:2:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidObjectMethod.js:4:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidObjectMethod.js:4:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This object method name should be in camelCase. @@ -50,7 +50,7 @@ invalidObjectMethod.js:4:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidObjectMethod.js:6:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidObjectMethod.js:6:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This object method name should be in camelCase. @@ -67,7 +67,7 @@ invalidObjectMethod.js:6:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidObjectMethod.js:8:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidObjectMethod.js:8:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This object method name should be in camelCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidObjectProperty.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidObjectProperty.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidObjectProperty.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidObjectProperty.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidObjectProperty.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidObjectProperty.js.snap similarity index 66% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidObjectProperty.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidObjectProperty.js.snap index c51d55b8fd2e..e99ce4a31787 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidObjectProperty.js.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidObjectProperty.js.snap @@ -19,7 +19,7 @@ export default { # Diagnostics ``` -invalidObjectProperty.js:2:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidObjectProperty.js:2:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This object property name should be in camelCase. @@ -35,7 +35,7 @@ invalidObjectProperty.js:2:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidObjectProperty.js:4:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidObjectProperty.js:4:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This object property name should be in camelCase. @@ -52,7 +52,7 @@ invalidObjectProperty.js:4:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidObjectProperty.js:6:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidObjectProperty.js:6:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This object property name should be in camelCase. @@ -69,7 +69,7 @@ invalidObjectProperty.js:6:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidObjectProperty.js:8:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidObjectProperty.js:8:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This object property name should be in camelCase. @@ -86,7 +86,7 @@ invalidObjectProperty.js:8:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidObjectProperty.js:10:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidObjectProperty.js:10:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This object property name should be in camelCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidObjectSetter.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidObjectSetter.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidObjectSetter.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidObjectSetter.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidObjectSetter.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidObjectSetter.js.snap similarity index 66% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidObjectSetter.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidObjectSetter.js.snap index 8134191109f1..445f8ca0317e 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidObjectSetter.js.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidObjectSetter.js.snap @@ -19,7 +19,7 @@ export default { # Diagnostics ``` -invalidObjectSetter.js:2:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidObjectSetter.js:2:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This object setter name should be in camelCase. @@ -35,7 +35,7 @@ invalidObjectSetter.js:2:9 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidObjectSetter.js:4:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidObjectSetter.js:4:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This object setter name should be in camelCase. @@ -52,7 +52,7 @@ invalidObjectSetter.js:4:9 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidObjectSetter.js:6:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidObjectSetter.js:6:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This object setter name should be in camelCase. @@ -69,7 +69,7 @@ invalidObjectSetter.js:6:9 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidObjectSetter.js:8:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidObjectSetter.js:8:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This object setter name should be in camelCase. @@ -86,7 +86,7 @@ invalidObjectSetter.js:8:9 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidObjectSetter.js:10:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidObjectSetter.js:10:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This object setter name should be in camelCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidParameterProperty.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidParameterProperty.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidParameterProperty.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidParameterProperty.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidParameterProperty.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidParameterProperty.ts.snap similarity index 71% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidParameterProperty.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidParameterProperty.ts.snap index 0105977e118b..ba20bfa2d591 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidParameterProperty.ts.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidParameterProperty.ts.snap @@ -17,7 +17,7 @@ export default class { # Diagnostics ``` -invalidParameterProperty.ts:3:18 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidParameterProperty.ts:3:18 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This parameter property name should be in camelCase. @@ -34,7 +34,7 @@ invalidParameterProperty.ts:3:18 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidParameterProperty.ts:5:19 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidParameterProperty.ts:5:19 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This parameter property name should be in camelCase. @@ -51,7 +51,7 @@ invalidParameterProperty.ts:5:19 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidParameterProperty.ts:7:16 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidParameterProperty.ts:7:16 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This parameter property name should be in camelCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTopLevelVariable.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTopLevelVariable.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTopLevelVariable.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTopLevelVariable.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTopLevelVariable.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTopLevelVariable.ts.snap similarity index 68% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTopLevelVariable.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTopLevelVariable.ts.snap index 5b9ecee1ce21..f007c150ce80 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTopLevelVariable.ts.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTopLevelVariable.ts.snap @@ -21,7 +21,7 @@ export namespace X { # Diagnostics ``` -invalidTopLevelVariable.ts:1:14 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTopLevelVariable.ts:1:14 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This top-level const name should be in camelCase or PascalCase or CONSTANT_CASE. @@ -36,7 +36,7 @@ invalidTopLevelVariable.ts:1:14 lint/nursery/useNamingConvention ━━━━━ ``` ``` -invalidTopLevelVariable.ts:3:12 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTopLevelVariable.ts:3:12 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This top-level var name should be in camelCase or PascalCase or CONSTANT_CASE. @@ -53,7 +53,7 @@ invalidTopLevelVariable.ts:3:12 lint/nursery/useNamingConvention ━━━━━ ``` ``` -invalidTopLevelVariable.ts:5:12 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTopLevelVariable.ts:5:12 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This top-level let name should be in camelCase. @@ -70,7 +70,7 @@ invalidTopLevelVariable.ts:5:12 lint/nursery/useNamingConvention ━━━━━ ``` ``` -invalidTopLevelVariable.ts:8:18 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTopLevelVariable.ts:8:18 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This top-level const name should be in camelCase or PascalCase or CONSTANT_CASE. @@ -86,7 +86,7 @@ invalidTopLevelVariable.ts:8:18 lint/nursery/useNamingConvention ━━━━━ ``` ``` -invalidTopLevelVariable.ts:10:16 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTopLevelVariable.ts:10:16 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This top-level var name should be in camelCase or PascalCase or CONSTANT_CASE. @@ -103,7 +103,7 @@ invalidTopLevelVariable.ts:10:16 lint/nursery/useNamingConvention ━━━━ ``` ``` -invalidTopLevelVariable.ts:12:16 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTopLevelVariable.ts:12:16 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This top-level let name should be in camelCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeAlias.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeAlias.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeAlias.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeAlias.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeAlias.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeAlias.ts.snap similarity index 71% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeAlias.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeAlias.ts.snap index 635a713bbb92..2ec01df53d18 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeAlias.ts.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeAlias.ts.snap @@ -23,7 +23,7 @@ type str = string # Diagnostics ``` -invalidTypeAlias.ts:1:13 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeAlias.ts:1:13 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This type alias name should be in PascalCase. @@ -38,7 +38,7 @@ invalidTypeAlias.ts:1:13 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidTypeAlias.ts:3:13 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeAlias.ts:3:13 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This type alias name should be in PascalCase. @@ -55,7 +55,7 @@ invalidTypeAlias.ts:3:13 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidTypeAlias.ts:5:13 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeAlias.ts:5:13 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This type alias name should be in PascalCase. @@ -72,7 +72,7 @@ invalidTypeAlias.ts:5:13 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidTypeAlias.ts:7:13 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeAlias.ts:7:13 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This type alias name should be in PascalCase. @@ -89,7 +89,7 @@ invalidTypeAlias.ts:7:13 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidTypeAlias.ts:9:6 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeAlias.ts:9:6 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This type alias name trimmed as `CONSTANT_CASE` should be in PascalCase. @@ -115,7 +115,7 @@ invalidTypeAlias.ts:9:6 lint/nursery/useNamingConvention FIXABLE ━━━━ ``` ``` -invalidTypeAlias.ts:11:6 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeAlias.ts:11:6 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This type alias name trimmed as `snake_case` should be in PascalCase. @@ -141,7 +141,7 @@ invalidTypeAlias.ts:11:6 lint/nursery/useNamingConvention FIXABLE ━━━━ ``` ``` -invalidTypeAlias.ts:13:6 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeAlias.ts:13:6 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This type alias name trimmed as `Unknown_Style` should be in PascalCase. @@ -167,7 +167,7 @@ invalidTypeAlias.ts:13:6 lint/nursery/useNamingConvention FIXABLE ━━━━ ``` ``` -invalidTypeAlias.ts:15:6 lint/nursery/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeAlias.ts:15:6 lint/style/useNamingConvention FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This type alias name should be in PascalCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeGetter.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeGetter.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeGetter.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeGetter.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeGetter.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeGetter.ts.snap similarity index 67% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeGetter.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeGetter.ts.snap index 4e8de79939d2..64a5dad5b4d1 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeGetter.ts.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeGetter.ts.snap @@ -15,7 +15,7 @@ export interface X { # Diagnostics ``` -invalidTypeGetter.ts:2:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeGetter.ts:2:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This getter name should be in camelCase or CONSTANT_CASE. @@ -31,7 +31,7 @@ invalidTypeGetter.ts:2:9 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidTypeGetter.ts:4:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeGetter.ts:4:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This getter name should be in camelCase or CONSTANT_CASE. @@ -48,7 +48,7 @@ invalidTypeGetter.ts:4:9 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidTypeGetter.ts:6:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeGetter.ts:6:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This getter name should be in camelCase or CONSTANT_CASE. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeMethod.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeMethod.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeMethod.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeMethod.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeMethod.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeMethod.ts.snap similarity index 62% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeMethod.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeMethod.ts.snap index 6bb8c669c95c..8fc3baa4982e 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeMethod.ts.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeMethod.ts.snap @@ -17,7 +17,7 @@ export interface X { # Diagnostics ``` -invalidTypeMethod.ts:2:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeMethod.ts:2:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This method name should be in camelCase. @@ -33,7 +33,7 @@ invalidTypeMethod.ts:2:5 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidTypeMethod.ts:4:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeMethod.ts:4:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This method name should be in camelCase. @@ -50,7 +50,7 @@ invalidTypeMethod.ts:4:5 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidTypeMethod.ts:6:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeMethod.ts:6:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This method name should be in camelCase. @@ -67,7 +67,7 @@ invalidTypeMethod.ts:6:5 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidTypeMethod.ts:8:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeMethod.ts:8:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This method name should be in camelCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeParameter.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeParameter.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeParameter.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeParameter.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeParameter.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeParameter.ts.snap similarity index 66% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeParameter.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeParameter.ts.snap index 4a5dbfb66871..b9564bc21ad4 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeParameter.ts.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeParameter.ts.snap @@ -13,7 +13,7 @@ type Mapped = { # Diagnostics ``` -invalidTypeParameter.ts:1:23 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeParameter.ts:1:23 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This type parameter name should be in PascalCase. @@ -28,7 +28,7 @@ invalidTypeParameter.ts:1:23 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidTypeParameter.ts:1:26 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeParameter.ts:1:26 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This type parameter name should be in PascalCase. @@ -43,7 +43,7 @@ invalidTypeParameter.ts:1:26 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidTypeParameter.ts:1:30 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeParameter.ts:1:30 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This type parameter name should be in PascalCase. @@ -58,7 +58,7 @@ invalidTypeParameter.ts:1:30 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidTypeParameter.ts:1:41 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeParameter.ts:1:41 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This type parameter name should be in PascalCase. @@ -73,7 +73,7 @@ invalidTypeParameter.ts:1:41 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidTypeParameter.ts:1:56 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeParameter.ts:1:56 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This type parameter name should be in PascalCase. @@ -88,7 +88,7 @@ invalidTypeParameter.ts:1:56 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidTypeParameter.ts:1:68 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeParameter.ts:1:68 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This type parameter name should be in PascalCase. @@ -103,7 +103,7 @@ invalidTypeParameter.ts:1:68 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidTypeParameter.ts:4:6 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeParameter.ts:4:6 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This type parameter name should be in PascalCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeProperty.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeProperty.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeProperty.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeProperty.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeProperty.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeProperty.ts.snap similarity index 68% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeProperty.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeProperty.ts.snap index fad163c1ee72..152a9497245c 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeProperty.ts.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeProperty.ts.snap @@ -21,7 +21,7 @@ export interface X { # Diagnostics ``` -invalidTypeProperty.ts:2:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeProperty.ts:2:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This property name should be in camelCase. @@ -37,7 +37,7 @@ invalidTypeProperty.ts:2:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidTypeProperty.ts:4:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeProperty.ts:4:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This property name should be in camelCase. @@ -54,7 +54,7 @@ invalidTypeProperty.ts:4:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidTypeProperty.ts:6:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeProperty.ts:6:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This property name should be in camelCase. @@ -71,7 +71,7 @@ invalidTypeProperty.ts:6:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidTypeProperty.ts:8:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeProperty.ts:8:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This property name should be in camelCase. @@ -88,7 +88,7 @@ invalidTypeProperty.ts:8:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidTypeProperty.ts:10:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeProperty.ts:10:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This property name should be in camelCase. @@ -105,7 +105,7 @@ invalidTypeProperty.ts:10:5 lint/nursery/useNamingConvention ━━━━━━ ``` ``` -invalidTypeProperty.ts:12:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeProperty.ts:12:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This property name should be in camelCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeReadonlyProperty.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeReadonlyProperty.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeReadonlyProperty.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeReadonlyProperty.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeReadonlyProperty.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeReadonlyProperty.ts.snap similarity index 70% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeReadonlyProperty.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeReadonlyProperty.ts.snap index 67317044aae6..a803638bf63f 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeReadonlyProperty.ts.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeReadonlyProperty.ts.snap @@ -19,7 +19,7 @@ export interface X { # Diagnostics ``` -invalidTypeReadonlyProperty.ts:2:14 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeReadonlyProperty.ts:2:14 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This readonly property name should be in camelCase or CONSTANT_CASE. @@ -35,7 +35,7 @@ invalidTypeReadonlyProperty.ts:2:14 lint/nursery/useNamingConvention ━━━ ``` ``` -invalidTypeReadonlyProperty.ts:4:14 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeReadonlyProperty.ts:4:14 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This readonly property name should be in camelCase or CONSTANT_CASE. @@ -52,7 +52,7 @@ invalidTypeReadonlyProperty.ts:4:14 lint/nursery/useNamingConvention ━━━ ``` ``` -invalidTypeReadonlyProperty.ts:6:14 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeReadonlyProperty.ts:6:14 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This readonly property name should be in camelCase or CONSTANT_CASE. @@ -69,7 +69,7 @@ invalidTypeReadonlyProperty.ts:6:14 lint/nursery/useNamingConvention ━━━ ``` ``` -invalidTypeReadonlyProperty.ts:8:14 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeReadonlyProperty.ts:8:14 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This readonly property name should be in camelCase or CONSTANT_CASE. @@ -86,7 +86,7 @@ invalidTypeReadonlyProperty.ts:8:14 lint/nursery/useNamingConvention ━━━ ``` ``` -invalidTypeReadonlyProperty.ts:10:14 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeReadonlyProperty.ts:10:14 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This readonly property name should be in camelCase or CONSTANT_CASE. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeSetter.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeSetter.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeSetter.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeSetter.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeSetter.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeSetter.ts.snap similarity index 67% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeSetter.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeSetter.ts.snap index 36f2538be9b3..f63f9b1c9058 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/invalidTypeSetter.ts.snap +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/invalidTypeSetter.ts.snap @@ -19,7 +19,7 @@ export interface X { # Diagnostics ``` -invalidTypeSetter.ts:2:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeSetter.ts:2:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This setter name should be in camelCase. @@ -35,7 +35,7 @@ invalidTypeSetter.ts:2:9 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidTypeSetter.ts:4:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeSetter.ts:4:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This setter name should be in camelCase. @@ -52,7 +52,7 @@ invalidTypeSetter.ts:4:9 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidTypeSetter.ts:6:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeSetter.ts:6:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This setter name should be in camelCase. @@ -69,7 +69,7 @@ invalidTypeSetter.ts:6:9 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidTypeSetter.ts:8:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeSetter.ts:8:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This setter name should be in camelCase. @@ -86,7 +86,7 @@ invalidTypeSetter.ts:8:9 lint/nursery/useNamingConvention ━━━━━━━ ``` ``` -invalidTypeSetter.ts:10:9 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidTypeSetter.ts:10:9 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This setter name should be in camelCase. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/malformedOptions.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/malformedOptions.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/malformedOptions.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/malformedOptions.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/malformedOptions.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/malformedOptions.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/malformedOptions.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/malformedOptions.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/malformedOptions.options.json b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/malformedOptions.options.json similarity index 93% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/malformedOptions.options.json rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/malformedOptions.options.json index ca46edfe48c2..fec3ee98566f 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/malformedOptions.options.json +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/malformedOptions.options.json @@ -2,7 +2,7 @@ "$schema": "../../../../../../packages/@biomejs/biome/configuration_schema.json", "linter": { "rules": { - "nursery": { + "style": { "useNamingConvention": { "level": "error", "options": { diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validCatchParameter.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validCatchParameter.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validCatchParameter.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validCatchParameter.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validCatchParameter.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validCatchParameter.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validCatchParameter.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validCatchParameter.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClass.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClass.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClass.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClass.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClass.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClass.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClass.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClass.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassGetter.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassGetter.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassGetter.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassGetter.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassGetter.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassGetter.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassGetter.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassGetter.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassMethod.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassMethod.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassMethod.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassMethod.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassMethod.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassMethod.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassMethod.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassMethod.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassNonStrictPascalCase.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassNonStrictPascalCase.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassNonStrictPascalCase.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassNonStrictPascalCase.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassNonStrictPascalCase.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassNonStrictPascalCase.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassNonStrictPascalCase.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassNonStrictPascalCase.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassNonStrictPascalCase.options.json b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassNonStrictPascalCase.options.json similarity index 93% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassNonStrictPascalCase.options.json rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassNonStrictPascalCase.options.json index 99ccf8caa586..d6de5fef1c19 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassNonStrictPascalCase.options.json +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassNonStrictPascalCase.options.json @@ -2,7 +2,7 @@ "$schema": "../../../../../../packages/@biomejs/biome/configuration_schema.json", "linter": { "rules": { - "nursery": { + "style": { "useNamingConvention": { "level": "error", "options": { diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassProperty.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassProperty.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassProperty.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassProperty.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassProperty.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassProperty.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassProperty.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassProperty.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassSetter.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassSetter.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassSetter.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassSetter.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassSetter.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassSetter.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassSetter.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassSetter.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassStaticGetter.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassStaticGetter.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassStaticGetter.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassStaticGetter.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassStaticGetter.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassStaticGetter.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassStaticGetter.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassStaticGetter.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassStaticMethod.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassStaticMethod.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassStaticMethod.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassStaticMethod.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassStaticMethod.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassStaticMethod.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassStaticMethod.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassStaticMethod.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassStaticProperty.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassStaticProperty.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassStaticProperty.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassStaticProperty.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassStaticProperty.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassStaticProperty.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassStaticProperty.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassStaticProperty.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassStaticSetter.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassStaticSetter.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassStaticSetter.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassStaticSetter.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassStaticSetter.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassStaticSetter.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validClassStaticSetter.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validClassStaticSetter.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validEnum.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validEnum.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validEnum.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validEnum.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validEnum.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validEnum.ts.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validEnum.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validEnum.ts.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validEnumMember.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validEnumMember.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validEnumMember.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validEnumMember.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validEnumMember.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validEnumMember.ts.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validEnumMember.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validEnumMember.ts.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validEnumMemberCamelCase.options.json b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validEnumMemberCamelCase.options.json similarity index 94% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validEnumMemberCamelCase.options.json rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validEnumMemberCamelCase.options.json index 078f9c7026dd..db7c34d800b2 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validEnumMemberCamelCase.options.json +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validEnumMemberCamelCase.options.json @@ -2,7 +2,7 @@ "$schema": "../../../../../../packages/@biomejs/biome/configuration_schema.json", "linter": { "rules": { - "nursery": { + "style": { "useNamingConvention": { "level": "error", "options": { diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validEnumMemberCamelCase.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validEnumMemberCamelCase.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validEnumMemberCamelCase.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validEnumMemberCamelCase.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validEnumMemberCamelCase.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validEnumMemberCamelCase.ts.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validEnumMemberCamelCase.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validEnumMemberCamelCase.ts.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validEnumMemberConstantCase.options.json b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validEnumMemberConstantCase.options.json similarity index 93% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validEnumMemberConstantCase.options.json rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validEnumMemberConstantCase.options.json index 282bef13a70a..d4de4a002070 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validEnumMemberConstantCase.options.json +++ b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validEnumMemberConstantCase.options.json @@ -2,7 +2,7 @@ "$schema": "../../../../../../packages/@biomejs/biome/configuration_schema.json", "linter": { "rules": { - "nursery": { + "style": { "useNamingConvention": { "level": "error", "options": { diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validEnumMemberConstantCase.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validEnumMemberConstantCase.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validEnumMemberConstantCase.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validEnumMemberConstantCase.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validEnumMemberConstantCase.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validEnumMemberConstantCase.ts.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validEnumMemberConstantCase.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validEnumMemberConstantCase.ts.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validExportAlias.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validExportAlias.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validExportAlias.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validExportAlias.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validExportAlias.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validExportAlias.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validExportAlias.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validExportAlias.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validExportNamespace.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validExportNamespace.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validExportNamespace.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validExportNamespace.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validExportNamespace.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validExportNamespace.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validExportNamespace.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validExportNamespace.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validExportSource.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validExportSource.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validExportSource.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validExportSource.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validExportSource.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validExportSource.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validExportSource.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validExportSource.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validFunction.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validFunction.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validFunction.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validFunction.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validFunction.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validFunction.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validFunction.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validFunction.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validFunctionParameter.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validFunctionParameter.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validFunctionParameter.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validFunctionParameter.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validFunctionParameter.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validFunctionParameter.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validFunctionParameter.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validFunctionParameter.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validImportAlias.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validImportAlias.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validImportAlias.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validImportAlias.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validImportAlias.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validImportAlias.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validImportAlias.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validImportAlias.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validImportNamespace.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validImportNamespace.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validImportNamespace.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validImportNamespace.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validImportNamespace.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validImportNamespace.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validImportNamespace.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validImportNamespace.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validImportSource.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validImportSource.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validImportSource.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validImportSource.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validImportSource.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validImportSource.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validImportSource.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validImportSource.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validIndexParameter.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validIndexParameter.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validIndexParameter.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validIndexParameter.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validIndexParameter.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validIndexParameter.ts.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validIndexParameter.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validIndexParameter.ts.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validInterface.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validInterface.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validInterface.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validInterface.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validInterface.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validInterface.ts.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validInterface.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validInterface.ts.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validLocalVariable.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validLocalVariable.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validLocalVariable.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validLocalVariable.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validLocalVariable.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validLocalVariable.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validLocalVariable.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validLocalVariable.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validNamespace.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validNamespace.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validNamespace.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validNamespace.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validNamespace.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validNamespace.ts.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validNamespace.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validNamespace.ts.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validObjectGetter.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validObjectGetter.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validObjectGetter.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validObjectGetter.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validObjectGetter.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validObjectGetter.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validObjectGetter.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validObjectGetter.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validObjectMethod.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validObjectMethod.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validObjectMethod.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validObjectMethod.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validObjectMethod.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validObjectMethod.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validObjectMethod.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validObjectMethod.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validObjectProperty.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validObjectProperty.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validObjectProperty.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validObjectProperty.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validObjectProperty.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validObjectProperty.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validObjectProperty.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validObjectProperty.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validObjectSetter.js b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validObjectSetter.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validObjectSetter.js rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validObjectSetter.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validObjectSetter.js.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validObjectSetter.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validObjectSetter.js.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validObjectSetter.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validParameterProperty.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validParameterProperty.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validParameterProperty.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validParameterProperty.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validParameterProperty.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validParameterProperty.ts.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validParameterProperty.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validParameterProperty.ts.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTopLevelVariable.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTopLevelVariable.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTopLevelVariable.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTopLevelVariable.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTopLevelVariable.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTopLevelVariable.ts.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTopLevelVariable.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTopLevelVariable.ts.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeAlias.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeAlias.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeAlias.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeAlias.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeAlias.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeAlias.ts.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeAlias.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeAlias.ts.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeGetter.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeGetter.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeGetter.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeGetter.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeGetter.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeGetter.ts.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeGetter.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeGetter.ts.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeMethod.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeMethod.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeMethod.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeMethod.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeMethod.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeMethod.ts.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeMethod.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeMethod.ts.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeParameter.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeParameter.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeParameter.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeParameter.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeParameter.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeParameter.ts.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeParameter.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeParameter.ts.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeProperty.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeProperty.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeProperty.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeProperty.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeProperty.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeProperty.ts.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeProperty.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeProperty.ts.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeReadonlyProperty.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeReadonlyProperty.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeReadonlyProperty.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeReadonlyProperty.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeReadonlyProperty.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeReadonlyProperty.ts.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeReadonlyProperty.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeReadonlyProperty.ts.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeSetter.ts b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeSetter.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeSetter.ts rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeSetter.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeSetter.ts.snap b/crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeSetter.ts.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useNamingConvention/validTypeSetter.ts.snap rename to crates/biome_js_analyze/tests/specs/style/useNamingConvention/validTypeSetter.ts.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/noControlCharactersInRegex/invalid.js b/crates/biome_js_analyze/tests/specs/suspicious/noControlCharactersInRegex/invalid.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noControlCharactersInRegex/invalid.js rename to crates/biome_js_analyze/tests/specs/suspicious/noControlCharactersInRegex/invalid.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/noControlCharactersInRegex/invalid.js.snap b/crates/biome_js_analyze/tests/specs/suspicious/noControlCharactersInRegex/invalid.js.snap similarity index 80% rename from crates/biome_js_analyze/tests/specs/nursery/noControlCharactersInRegex/invalid.js.snap rename to crates/biome_js_analyze/tests/specs/suspicious/noControlCharactersInRegex/invalid.js.snap index b2165f8fada9..59576b36987d 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/noControlCharactersInRegex/invalid.js.snap +++ b/crates/biome_js_analyze/tests/specs/suspicious/noControlCharactersInRegex/invalid.js.snap @@ -34,7 +34,7 @@ var regex = /\u{1F}/gui; # Diagnostics ``` -invalid.js:1:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:1:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \x1f @@ -49,7 +49,7 @@ invalid.js:1:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━ ``` ``` -invalid.js:2:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:2:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \x1F @@ -65,7 +65,7 @@ invalid.js:2:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━ ``` ``` -invalid.js:3:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:3:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \x1f, \x1e @@ -82,7 +82,7 @@ invalid.js:3:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━ ``` ``` -invalid.js:4:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:4:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \x1f, \x00 @@ -99,7 +99,7 @@ invalid.js:4:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━ ``` ``` -invalid.js:5:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:5:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \x1f, \x1f @@ -116,7 +116,7 @@ invalid.js:5:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━ ``` ``` -invalid.js:6:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:6:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \x1f @@ -133,7 +133,7 @@ invalid.js:6:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━ ``` ``` -invalid.js:7:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:7:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \u001F @@ -150,7 +150,7 @@ invalid.js:7:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━ ``` ``` -invalid.js:8:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:8:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \x1F @@ -167,7 +167,7 @@ invalid.js:8:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━ ``` ``` -invalid.js:9:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:9:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \u{1F} @@ -184,7 +184,7 @@ invalid.js:9:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━ ``` ``` -invalid.js:10:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:10:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \u{1F} @@ -201,7 +201,7 @@ invalid.js:10:13 lint/nursery/noControlCharactersInRegex ━━━━━━━ ``` ``` -invalid.js:11:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:11:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \x0C @@ -218,7 +218,7 @@ invalid.js:11:13 lint/nursery/noControlCharactersInRegex ━━━━━━━ ``` ``` -invalid.js:12:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:12:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \x0C @@ -235,7 +235,7 @@ invalid.js:12:13 lint/nursery/noControlCharactersInRegex ━━━━━━━ ``` ``` -invalid.js:13:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:13:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \x00 @@ -252,7 +252,7 @@ invalid.js:13:13 lint/nursery/noControlCharactersInRegex ━━━━━━━ ``` ``` -invalid.js:14:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:14:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \x0C @@ -269,7 +269,7 @@ invalid.js:14:13 lint/nursery/noControlCharactersInRegex ━━━━━━━ ``` ``` -invalid.js:15:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:15:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \x1F @@ -286,7 +286,7 @@ invalid.js:15:13 lint/nursery/noControlCharactersInRegex ━━━━━━━ ``` ``` -invalid.js:16:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:16:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \u000C @@ -303,7 +303,7 @@ invalid.js:16:13 lint/nursery/noControlCharactersInRegex ━━━━━━━ ``` ``` -invalid.js:17:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:17:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \u{C} @@ -320,7 +320,7 @@ invalid.js:17:13 lint/nursery/noControlCharactersInRegex ━━━━━━━ ``` ``` -invalid.js:18:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:18:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \x1f @@ -337,7 +337,7 @@ invalid.js:18:13 lint/nursery/noControlCharactersInRegex ━━━━━━━ ``` ``` -invalid.js:19:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:19:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \x1f @@ -354,7 +354,7 @@ invalid.js:19:13 lint/nursery/noControlCharactersInRegex ━━━━━━━ ``` ``` -invalid.js:20:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:20:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \x1f @@ -371,7 +371,7 @@ invalid.js:20:13 lint/nursery/noControlCharactersInRegex ━━━━━━━ ``` ``` -invalid.js:22:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:22:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \x1f @@ -388,7 +388,7 @@ invalid.js:22:13 lint/nursery/noControlCharactersInRegex ━━━━━━━ ``` ``` -invalid.js:23:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:23:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \x1F @@ -405,7 +405,7 @@ invalid.js:23:13 lint/nursery/noControlCharactersInRegex ━━━━━━━ ``` ``` -invalid.js:24:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:24:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \u{1F} @@ -422,7 +422,7 @@ invalid.js:24:13 lint/nursery/noControlCharactersInRegex ━━━━━━━ ``` ``` -invalid.js:25:13 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:25:13 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unexpected control character(s) in regular expression: \u{1F} diff --git a/crates/biome_js_analyze/tests/specs/nursery/noControlCharactersInRegex/valid.js b/crates/biome_js_analyze/tests/specs/suspicious/noControlCharactersInRegex/valid.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noControlCharactersInRegex/valid.js rename to crates/biome_js_analyze/tests/specs/suspicious/noControlCharactersInRegex/valid.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/noControlCharactersInRegex/valid.js.snap b/crates/biome_js_analyze/tests/specs/suspicious/noControlCharactersInRegex/valid.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noControlCharactersInRegex/valid.js.snap rename to crates/biome_js_analyze/tests/specs/suspicious/noControlCharactersInRegex/valid.js.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUnsafeDeclarationMerging/invalid.ts b/crates/biome_js_analyze/tests/specs/suspicious/noUnsafeDeclarationMerging/invalid.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noUnsafeDeclarationMerging/invalid.ts rename to crates/biome_js_analyze/tests/specs/suspicious/noUnsafeDeclarationMerging/invalid.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUnsafeDeclarationMerging/invalid.ts.snap b/crates/biome_js_analyze/tests/specs/suspicious/noUnsafeDeclarationMerging/invalid.ts.snap similarity index 82% rename from crates/biome_js_analyze/tests/specs/nursery/noUnsafeDeclarationMerging/invalid.ts.snap rename to crates/biome_js_analyze/tests/specs/suspicious/noUnsafeDeclarationMerging/invalid.ts.snap index 192ac707eecc..60a4f7aacb3d 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/noUnsafeDeclarationMerging/invalid.ts.snap +++ b/crates/biome_js_analyze/tests/specs/suspicious/noUnsafeDeclarationMerging/invalid.ts.snap @@ -26,7 +26,7 @@ export {} # Diagnostics ``` -invalid.ts:2:7 lint/nursery/noUnsafeDeclarationMerging ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:2:7 lint/suspicious/noUnsafeDeclarationMerging ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class is unsafely merged with an interface. @@ -49,7 +49,7 @@ invalid.ts:2:7 lint/nursery/noUnsafeDeclarationMerging ━━━━━━━━ ``` ``` -invalid.ts:4:7 lint/nursery/noUnsafeDeclarationMerging ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:4:7 lint/suspicious/noUnsafeDeclarationMerging ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class is unsafely merged with an interface. @@ -74,7 +74,7 @@ invalid.ts:4:7 lint/nursery/noUnsafeDeclarationMerging ━━━━━━━━ ``` ``` -invalid.ts:9:11 lint/nursery/noUnsafeDeclarationMerging ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:9:11 lint/suspicious/noUnsafeDeclarationMerging ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class is unsafely merged with an interface. @@ -99,7 +99,7 @@ invalid.ts:9:11 lint/nursery/noUnsafeDeclarationMerging ━━━━━━━━ ``` ``` -invalid.ts:14:11 lint/nursery/noUnsafeDeclarationMerging ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:14:11 lint/suspicious/noUnsafeDeclarationMerging ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This class is unsafely merged with an interface. diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUnsafeDeclarationMerging/valid.ts b/crates/biome_js_analyze/tests/specs/suspicious/noUnsafeDeclarationMerging/valid.ts similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noUnsafeDeclarationMerging/valid.ts rename to crates/biome_js_analyze/tests/specs/suspicious/noUnsafeDeclarationMerging/valid.ts diff --git a/crates/biome_js_analyze/tests/specs/nursery/noUnsafeDeclarationMerging/valid.ts.snap b/crates/biome_js_analyze/tests/specs/suspicious/noUnsafeDeclarationMerging/valid.ts.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/noUnsafeDeclarationMerging/valid.ts.snap rename to crates/biome_js_analyze/tests/specs/suspicious/noUnsafeDeclarationMerging/valid.ts.snap diff --git a/crates/biome_js_analyze/tests/specs/nursery/useGetterReturn/invalid.js b/crates/biome_js_analyze/tests/specs/suspicious/useGetterReturn/invalid.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useGetterReturn/invalid.js rename to crates/biome_js_analyze/tests/specs/suspicious/useGetterReturn/invalid.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useGetterReturn/invalid.js.snap b/crates/biome_js_analyze/tests/specs/suspicious/useGetterReturn/invalid.js.snap similarity index 85% rename from crates/biome_js_analyze/tests/specs/nursery/useGetterReturn/invalid.js.snap rename to crates/biome_js_analyze/tests/specs/suspicious/useGetterReturn/invalid.js.snap index 2692e96b9c9d..a9c8e565ef66 100644 --- a/crates/biome_js_analyze/tests/specs/nursery/useGetterReturn/invalid.js.snap +++ b/crates/biome_js_analyze/tests/specs/suspicious/useGetterReturn/invalid.js.snap @@ -138,7 +138,7 @@ var foo = { # Diagnostics ``` -invalid.js:2:5 lint/nursery/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:2:5 lint/suspicious/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This getter should return a value. @@ -152,7 +152,7 @@ invalid.js:2:5 lint/nursery/useGetterReturn ━━━━━━━━━━━━ ``` ``` -invalid.js:6:5 lint/nursery/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:6:5 lint/suspicious/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This getter should return a value. @@ -171,7 +171,7 @@ invalid.js:6:5 lint/nursery/useGetterReturn ━━━━━━━━━━━━ ``` ``` -invalid.js:14:5 lint/nursery/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:14:5 lint/suspicious/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This getter should return a value. @@ -190,7 +190,7 @@ invalid.js:14:5 lint/nursery/useGetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:23:9 lint/nursery/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:23:9 lint/suspicious/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This return should return a value because it is located in a return. @@ -205,7 +205,7 @@ invalid.js:23:9 lint/nursery/useGetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:28:5 lint/nursery/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:28:5 lint/suspicious/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This getter should return a value. @@ -219,7 +219,7 @@ invalid.js:28:5 lint/nursery/useGetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:32:5 lint/nursery/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:32:5 lint/suspicious/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This getter should return a value. @@ -238,7 +238,7 @@ invalid.js:32:5 lint/nursery/useGetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:40:5 lint/nursery/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:40:5 lint/suspicious/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This getter should return a value. @@ -257,7 +257,7 @@ invalid.js:40:5 lint/nursery/useGetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:49:9 lint/nursery/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:49:9 lint/suspicious/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This return should return a value because it is located in a return. @@ -272,7 +272,7 @@ invalid.js:49:9 lint/nursery/useGetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:54:5 lint/nursery/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:54:5 lint/suspicious/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This getter should return a value. @@ -291,7 +291,7 @@ invalid.js:54:5 lint/nursery/useGetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:62:5 lint/nursery/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:62:5 lint/suspicious/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This getter should return a value. @@ -310,7 +310,7 @@ invalid.js:62:5 lint/nursery/useGetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:74:5 lint/nursery/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:74:5 lint/suspicious/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This getter should return a value. @@ -329,7 +329,7 @@ invalid.js:74:5 lint/nursery/useGetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:84:5 lint/nursery/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:84:5 lint/suspicious/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This getter should return a value. @@ -348,7 +348,7 @@ invalid.js:84:5 lint/nursery/useGetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:94:5 lint/nursery/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:94:5 lint/suspicious/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This getter should return a value. @@ -367,7 +367,7 @@ invalid.js:94:5 lint/nursery/useGetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:105:5 lint/nursery/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:105:5 lint/suspicious/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This getter should return a value. @@ -386,7 +386,7 @@ invalid.js:105:5 lint/nursery/useGetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:120:5 lint/nursery/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:120:5 lint/suspicious/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This getter should return a value. diff --git a/crates/biome_js_analyze/tests/specs/nursery/useGetterReturn/valid.js b/crates/biome_js_analyze/tests/specs/suspicious/useGetterReturn/valid.js similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useGetterReturn/valid.js rename to crates/biome_js_analyze/tests/specs/suspicious/useGetterReturn/valid.js diff --git a/crates/biome_js_analyze/tests/specs/nursery/useGetterReturn/valid.js.snap b/crates/biome_js_analyze/tests/specs/suspicious/useGetterReturn/valid.js.snap similarity index 100% rename from crates/biome_js_analyze/tests/specs/nursery/useGetterReturn/valid.js.snap rename to crates/biome_js_analyze/tests/specs/suspicious/useGetterReturn/valid.js.snap diff --git a/crates/biome_service/src/configuration/linter/rules.rs b/crates/biome_service/src/configuration/linter/rules.rs index a0bf0d46d2b2..0cf2a56e5555 100644 --- a/crates/biome_service/src/configuration/linter/rules.rs +++ b/crates/biome_service/src/configuration/linter/rules.rs @@ -357,6 +357,15 @@ pub struct A11y { #[bpaf(long("no-access-key"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] pub no_access_key: Option, + #[doc = "Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes."] + #[bpaf( + long("no-aria-unsupported-elements"), + argument("on|off|warn"), + optional, + hide + )] + #[serde(skip_serializing_if = "Option::is_none")] + pub no_aria_unsupported_elements: Option, #[doc = "Enforce that autoFocus prop is not used on elements."] #[bpaf(long("no-autofocus"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] @@ -387,6 +396,15 @@ pub struct A11y { )] #[serde(skip_serializing_if = "Option::is_none")] pub no_noninteractive_element_to_interactive_role: Option, + #[doc = "Enforce that tabIndex is not assigned to non-interactive HTML elements."] + #[bpaf( + long("no-noninteractive-tabindex"), + argument("on|off|warn"), + optional, + hide + )] + #[serde(skip_serializing_if = "Option::is_none")] + pub no_noninteractive_tabindex: Option, #[doc = "Prevent the usage of positive integers on tabIndex property"] #[bpaf(long("no-positive-tabindex"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] @@ -395,6 +413,10 @@ pub struct A11y { #[bpaf(long("no-redundant-alt"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] pub no_redundant_alt: Option, + #[doc = "Enforce explicit role property is not the same as implicit/default role property on an element."] + #[bpaf(long("no-redundant-roles"), argument("on|off|warn"), optional, hide)] + #[serde(skip_serializing_if = "Option::is_none")] + pub no_redundant_roles: Option, #[doc = "Enforces the usage of the title element for the svg element."] #[bpaf(long("no-svg-without-title"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] @@ -407,6 +429,10 @@ pub struct A11y { #[bpaf(long("use-anchor-content"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] pub use_anchor_content: Option, + #[doc = "Enforce that ARIA state and property values are valid."] + #[bpaf(long("use-aria-prop-types"), argument("on|off|warn"), optional, hide)] + #[serde(skip_serializing_if = "Option::is_none")] + pub use_aria_prop_types: Option, #[doc = "Enforce that elements with ARIA roles must have all required ARIA attributes for that role."] #[bpaf( long("use-aria-props-for-role"), @@ -469,18 +495,22 @@ pub struct A11y { } impl A11y { const GROUP_NAME: &'static str = "a11y"; - pub(crate) const GROUP_RULES: [&'static str; 22] = [ + pub(crate) const GROUP_RULES: [&'static str; 26] = [ "noAccessKey", + "noAriaUnsupportedElements", "noAutofocus", "noBlankTarget", "noDistractingElements", "noHeaderScope", "noNoninteractiveElementToInteractiveRole", + "noNoninteractiveTabindex", "noPositiveTabindex", "noRedundantAlt", + "noRedundantRoles", "noSvgWithoutTitle", "useAltText", "useAnchorContent", + "useAriaPropTypes", "useAriaPropsForRole", "useButtonType", "useHeadingContent", @@ -493,17 +523,21 @@ impl A11y { "useValidAriaProps", "useValidLang", ]; - const RECOMMENDED_RULES: [&'static str; 20] = [ + const RECOMMENDED_RULES: [&'static str; 24] = [ + "noAriaUnsupportedElements", "noAutofocus", "noBlankTarget", "noDistractingElements", "noHeaderScope", "noNoninteractiveElementToInteractiveRole", + "noNoninteractiveTabindex", "noPositiveTabindex", "noRedundantAlt", + "noRedundantRoles", "noSvgWithoutTitle", "useAltText", "useAnchorContent", + "useAriaPropTypes", "useAriaPropsForRole", "useButtonType", "useHtmlLang", @@ -515,7 +549,7 @@ impl A11y { "useValidAriaProps", "useValidLang", ]; - const RECOMMENDED_RULES_AS_FILTERS: [RuleFilter<'static>; 20] = [ + const RECOMMENDED_RULES_AS_FILTERS: [RuleFilter<'static>; 24] = [ RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[3]), @@ -528,16 +562,20 @@ impl A11y { RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[10]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[12]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[13]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[15]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[17]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[20]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[21]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[22]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[23]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[25]), ]; - const ALL_RULES_AS_FILTERS: [RuleFilter<'static>; 22] = [ + const ALL_RULES_AS_FILTERS: [RuleFilter<'static>; 26] = [ RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2]), @@ -560,6 +598,10 @@ impl A11y { RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[20]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[21]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[22]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[23]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[25]), ]; #[doc = r" Retrieves the recommended rules"] pub(crate) fn is_recommended(&self) -> bool { @@ -581,111 +623,131 @@ impl A11y { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0])); } } - if let Some(rule) = self.no_autofocus.as_ref() { + if let Some(rule) = self.no_aria_unsupported_elements.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1])); } } - if let Some(rule) = self.no_blank_target.as_ref() { + if let Some(rule) = self.no_autofocus.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2])); } } - if let Some(rule) = self.no_distracting_elements.as_ref() { + if let Some(rule) = self.no_blank_target.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[3])); } } - if let Some(rule) = self.no_header_scope.as_ref() { + if let Some(rule) = self.no_distracting_elements.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[4])); } } - if let Some(rule) = self.no_noninteractive_element_to_interactive_role.as_ref() { + if let Some(rule) = self.no_header_scope.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[5])); } } - if let Some(rule) = self.no_positive_tabindex.as_ref() { + if let Some(rule) = self.no_noninteractive_element_to_interactive_role.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[6])); } } - if let Some(rule) = self.no_redundant_alt.as_ref() { + if let Some(rule) = self.no_noninteractive_tabindex.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[7])); } } - if let Some(rule) = self.no_svg_without_title.as_ref() { + if let Some(rule) = self.no_positive_tabindex.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[8])); } } - if let Some(rule) = self.use_alt_text.as_ref() { + if let Some(rule) = self.no_redundant_alt.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[9])); } } - if let Some(rule) = self.use_anchor_content.as_ref() { + if let Some(rule) = self.no_redundant_roles.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[10])); } } - if let Some(rule) = self.use_aria_props_for_role.as_ref() { + if let Some(rule) = self.no_svg_without_title.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11])); } } - if let Some(rule) = self.use_button_type.as_ref() { + if let Some(rule) = self.use_alt_text.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[12])); } } - if let Some(rule) = self.use_heading_content.as_ref() { + if let Some(rule) = self.use_anchor_content.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[13])); } } - if let Some(rule) = self.use_html_lang.as_ref() { + if let Some(rule) = self.use_aria_prop_types.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14])); } } - if let Some(rule) = self.use_iframe_title.as_ref() { + if let Some(rule) = self.use_aria_props_for_role.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[15])); } } - if let Some(rule) = self.use_key_with_click_events.as_ref() { + if let Some(rule) = self.use_button_type.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16])); } } - if let Some(rule) = self.use_key_with_mouse_events.as_ref() { + if let Some(rule) = self.use_heading_content.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[17])); } } - if let Some(rule) = self.use_media_caption.as_ref() { + if let Some(rule) = self.use_html_lang.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18])); } } - if let Some(rule) = self.use_valid_anchor.as_ref() { + if let Some(rule) = self.use_iframe_title.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19])); } } - if let Some(rule) = self.use_valid_aria_props.as_ref() { + if let Some(rule) = self.use_key_with_click_events.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[20])); } } - if let Some(rule) = self.use_valid_lang.as_ref() { + if let Some(rule) = self.use_key_with_mouse_events.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[21])); } } + if let Some(rule) = self.use_media_caption.as_ref() { + if rule.is_enabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[22])); + } + } + if let Some(rule) = self.use_valid_anchor.as_ref() { + if rule.is_enabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[23])); + } + } + if let Some(rule) = self.use_valid_aria_props.as_ref() { + if rule.is_enabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24])); + } + } + if let Some(rule) = self.use_valid_lang.as_ref() { + if rule.is_enabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[25])); + } + } index_set } pub(crate) fn get_disabled_rules(&self) -> IndexSet { @@ -695,111 +757,131 @@ impl A11y { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0])); } } - if let Some(rule) = self.no_autofocus.as_ref() { + if let Some(rule) = self.no_aria_unsupported_elements.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1])); } } - if let Some(rule) = self.no_blank_target.as_ref() { + if let Some(rule) = self.no_autofocus.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2])); } } - if let Some(rule) = self.no_distracting_elements.as_ref() { + if let Some(rule) = self.no_blank_target.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[3])); } } - if let Some(rule) = self.no_header_scope.as_ref() { + if let Some(rule) = self.no_distracting_elements.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[4])); } } - if let Some(rule) = self.no_noninteractive_element_to_interactive_role.as_ref() { + if let Some(rule) = self.no_header_scope.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[5])); } } - if let Some(rule) = self.no_positive_tabindex.as_ref() { + if let Some(rule) = self.no_noninteractive_element_to_interactive_role.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[6])); } } - if let Some(rule) = self.no_redundant_alt.as_ref() { + if let Some(rule) = self.no_noninteractive_tabindex.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[7])); } } - if let Some(rule) = self.no_svg_without_title.as_ref() { + if let Some(rule) = self.no_positive_tabindex.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[8])); } } - if let Some(rule) = self.use_alt_text.as_ref() { + if let Some(rule) = self.no_redundant_alt.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[9])); } } - if let Some(rule) = self.use_anchor_content.as_ref() { + if let Some(rule) = self.no_redundant_roles.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[10])); } } - if let Some(rule) = self.use_aria_props_for_role.as_ref() { + if let Some(rule) = self.no_svg_without_title.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11])); } } - if let Some(rule) = self.use_button_type.as_ref() { + if let Some(rule) = self.use_alt_text.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[12])); } } - if let Some(rule) = self.use_heading_content.as_ref() { + if let Some(rule) = self.use_anchor_content.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[13])); } } - if let Some(rule) = self.use_html_lang.as_ref() { + if let Some(rule) = self.use_aria_prop_types.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14])); } } - if let Some(rule) = self.use_iframe_title.as_ref() { + if let Some(rule) = self.use_aria_props_for_role.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[15])); } } - if let Some(rule) = self.use_key_with_click_events.as_ref() { + if let Some(rule) = self.use_button_type.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16])); } } - if let Some(rule) = self.use_key_with_mouse_events.as_ref() { + if let Some(rule) = self.use_heading_content.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[17])); } } - if let Some(rule) = self.use_media_caption.as_ref() { + if let Some(rule) = self.use_html_lang.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18])); } } - if let Some(rule) = self.use_valid_anchor.as_ref() { + if let Some(rule) = self.use_iframe_title.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19])); } } - if let Some(rule) = self.use_valid_aria_props.as_ref() { + if let Some(rule) = self.use_key_with_click_events.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[20])); } } - if let Some(rule) = self.use_valid_lang.as_ref() { + if let Some(rule) = self.use_key_with_mouse_events.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[21])); } } + if let Some(rule) = self.use_media_caption.as_ref() { + if rule.is_disabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[22])); + } + } + if let Some(rule) = self.use_valid_anchor.as_ref() { + if rule.is_disabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[23])); + } + } + if let Some(rule) = self.use_valid_aria_props.as_ref() { + if rule.is_disabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24])); + } + } + if let Some(rule) = self.use_valid_lang.as_ref() { + if rule.is_disabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[25])); + } + } index_set } #[doc = r" Checks if, given a rule name, matches one of the rules contained in this category"] @@ -810,10 +892,10 @@ impl A11y { pub(crate) fn is_recommended_rule(rule_name: &str) -> bool { Self::RECOMMENDED_RULES.contains(&rule_name) } - pub(crate) fn recommended_rules_as_filters() -> [RuleFilter<'static>; 20] { + pub(crate) fn recommended_rules_as_filters() -> [RuleFilter<'static>; 24] { Self::RECOMMENDED_RULES_AS_FILTERS } - pub(crate) fn all_rules_as_filters() -> [RuleFilter<'static>; 22] { + pub(crate) fn all_rules_as_filters() -> [RuleFilter<'static>; 26] { Self::ALL_RULES_AS_FILTERS } #[doc = r" Select preset rules"] @@ -837,6 +919,7 @@ impl A11y { pub(crate) fn get_rule_configuration(&self, rule_name: &str) -> Option<&RuleConfiguration> { match rule_name { "noAccessKey" => self.no_access_key.as_ref(), + "noAriaUnsupportedElements" => self.no_aria_unsupported_elements.as_ref(), "noAutofocus" => self.no_autofocus.as_ref(), "noBlankTarget" => self.no_blank_target.as_ref(), "noDistractingElements" => self.no_distracting_elements.as_ref(), @@ -844,11 +927,14 @@ impl A11y { "noNoninteractiveElementToInteractiveRole" => { self.no_noninteractive_element_to_interactive_role.as_ref() } + "noNoninteractiveTabindex" => self.no_noninteractive_tabindex.as_ref(), "noPositiveTabindex" => self.no_positive_tabindex.as_ref(), "noRedundantAlt" => self.no_redundant_alt.as_ref(), + "noRedundantRoles" => self.no_redundant_roles.as_ref(), "noSvgWithoutTitle" => self.no_svg_without_title.as_ref(), "useAltText" => self.use_alt_text.as_ref(), "useAnchorContent" => self.use_anchor_content.as_ref(), + "useAriaPropTypes" => self.use_aria_prop_types.as_ref(), "useAriaPropsForRole" => self.use_aria_props_for_role.as_ref(), "useButtonType" => self.use_button_type.as_ref(), "useHeadingContent" => self.use_heading_content.as_ref(), @@ -877,6 +963,10 @@ pub struct Complexity { #[serde(skip_serializing_if = "Option::is_none")] #[bpaf(hide)] pub all: Option, + #[doc = "Disallow primitive type aliases and misleading types."] + #[bpaf(long("no-banned-types"), argument("on|off|warn"), optional, hide)] + #[serde(skip_serializing_if = "Option::is_none")] + pub no_banned_types: Option, #[doc = "Disallow unnecessary boolean casts"] #[bpaf(long("no-extra-boolean-cast"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] @@ -894,6 +984,10 @@ pub struct Complexity { )] #[serde(skip_serializing_if = "Option::is_none")] pub no_multiple_spaces_in_regular_expression_literals: Option, + #[doc = "This rule reports when a class has no non-static members, such as for a class used exclusively as a static namespace."] + #[bpaf(long("no-static-only-class"), argument("on|off|warn"), optional, hide)] + #[serde(skip_serializing_if = "Option::is_none")] + pub no_static_only_class: Option, #[doc = "Disallow unnecessary catch clauses."] #[bpaf(long("no-useless-catch"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] @@ -907,6 +1001,15 @@ pub struct Complexity { )] #[serde(skip_serializing_if = "Option::is_none")] pub no_useless_constructor: Option, + #[doc = "Disallow empty exports that don't change anything in a module file."] + #[bpaf( + long("no-useless-empty-export"), + argument("on|off|warn"), + optional, + hide + )] + #[serde(skip_serializing_if = "Option::is_none")] + pub no_useless_empty_export: Option, #[doc = "Disallow unnecessary fragments"] #[bpaf(long("no-useless-fragments"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] @@ -928,6 +1031,10 @@ pub struct Complexity { )] #[serde(skip_serializing_if = "Option::is_none")] pub no_useless_switch_case: Option, + #[doc = "Disallow useless this aliasing."] + #[bpaf(long("no-useless-this-alias"), argument("on|off|warn"), optional, hide)] + #[serde(skip_serializing_if = "Option::is_none")] + pub no_useless_this_alias: Option, #[doc = "Disallow using any or unknown as type constraint."] #[bpaf( long("no-useless-type-constraint"), @@ -974,16 +1081,20 @@ pub struct Complexity { } impl Complexity { const GROUP_NAME: &'static str = "complexity"; - pub(crate) const GROUP_RULES: [&'static str; 16] = [ + pub(crate) const GROUP_RULES: [&'static str; 20] = [ + "noBannedTypes", "noExtraBooleanCast", "noForEach", "noMultipleSpacesInRegularExpressionLiterals", + "noStaticOnlyClass", "noUselessCatch", "noUselessConstructor", + "noUselessEmptyExport", "noUselessFragments", "noUselessLabel", "noUselessRename", "noUselessSwitchCase", + "noUselessThisAlias", "noUselessTypeConstraint", "noWith", "useFlatMap", @@ -992,24 +1103,28 @@ impl Complexity { "useSimpleNumberKeys", "useSimplifiedLogicExpression", ]; - const RECOMMENDED_RULES: [&'static str; 13] = [ + const RECOMMENDED_RULES: [&'static str; 17] = [ + "noBannedTypes", "noExtraBooleanCast", "noMultipleSpacesInRegularExpressionLiterals", + "noStaticOnlyClass", "noUselessCatch", "noUselessConstructor", + "noUselessEmptyExport", "noUselessFragments", "noUselessLabel", "noUselessRename", "noUselessSwitchCase", + "noUselessThisAlias", "noUselessTypeConstraint", "noWith", "useFlatMap", "useLiteralKeys", "useOptionalChain", ]; - const RECOMMENDED_RULES_AS_FILTERS: [RuleFilter<'static>; 13] = [ + const RECOMMENDED_RULES_AS_FILTERS: [RuleFilter<'static>; 17] = [ RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[3]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[4]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[5]), @@ -1021,8 +1136,12 @@ impl Complexity { RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[12]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[13]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[15]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[17]), ]; - const ALL_RULES_AS_FILTERS: [RuleFilter<'static>; 16] = [ + const ALL_RULES_AS_FILTERS: [RuleFilter<'static>; 20] = [ RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2]), @@ -1039,6 +1158,10 @@ impl Complexity { RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[13]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[15]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[17]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19]), ]; #[doc = r" Retrieves the recommended rules"] pub(crate) fn is_recommended(&self) -> bool { @@ -1055,174 +1178,214 @@ impl Complexity { } pub(crate) fn get_enabled_rules(&self) -> IndexSet { let mut index_set = IndexSet::new(); - if let Some(rule) = self.no_extra_boolean_cast.as_ref() { + if let Some(rule) = self.no_banned_types.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0])); } } - if let Some(rule) = self.no_for_each.as_ref() { + if let Some(rule) = self.no_extra_boolean_cast.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1])); } } - if let Some(rule) = self - .no_multiple_spaces_in_regular_expression_literals - .as_ref() - { + if let Some(rule) = self.no_for_each.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2])); } } - if let Some(rule) = self.no_useless_catch.as_ref() { + if let Some(rule) = self + .no_multiple_spaces_in_regular_expression_literals + .as_ref() + { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[3])); } } - if let Some(rule) = self.no_useless_constructor.as_ref() { + if let Some(rule) = self.no_static_only_class.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[4])); } } - if let Some(rule) = self.no_useless_fragments.as_ref() { + if let Some(rule) = self.no_useless_catch.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[5])); } } - if let Some(rule) = self.no_useless_label.as_ref() { + if let Some(rule) = self.no_useless_constructor.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[6])); } } - if let Some(rule) = self.no_useless_rename.as_ref() { + if let Some(rule) = self.no_useless_empty_export.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[7])); } } - if let Some(rule) = self.no_useless_switch_case.as_ref() { + if let Some(rule) = self.no_useless_fragments.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[8])); } } - if let Some(rule) = self.no_useless_type_constraint.as_ref() { + if let Some(rule) = self.no_useless_label.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[9])); } } - if let Some(rule) = self.no_with.as_ref() { + if let Some(rule) = self.no_useless_rename.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[10])); } } - if let Some(rule) = self.use_flat_map.as_ref() { + if let Some(rule) = self.no_useless_switch_case.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11])); } } - if let Some(rule) = self.use_literal_keys.as_ref() { + if let Some(rule) = self.no_useless_this_alias.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[12])); } } - if let Some(rule) = self.use_optional_chain.as_ref() { + if let Some(rule) = self.no_useless_type_constraint.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[13])); } } - if let Some(rule) = self.use_simple_number_keys.as_ref() { + if let Some(rule) = self.no_with.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14])); } } - if let Some(rule) = self.use_simplified_logic_expression.as_ref() { + if let Some(rule) = self.use_flat_map.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[15])); } } - index_set + if let Some(rule) = self.use_literal_keys.as_ref() { + if rule.is_enabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16])); + } + } + if let Some(rule) = self.use_optional_chain.as_ref() { + if rule.is_enabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[17])); + } + } + if let Some(rule) = self.use_simple_number_keys.as_ref() { + if rule.is_enabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18])); + } + } + if let Some(rule) = self.use_simplified_logic_expression.as_ref() { + if rule.is_enabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19])); + } + } + index_set } pub(crate) fn get_disabled_rules(&self) -> IndexSet { let mut index_set = IndexSet::new(); - if let Some(rule) = self.no_extra_boolean_cast.as_ref() { + if let Some(rule) = self.no_banned_types.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0])); } } - if let Some(rule) = self.no_for_each.as_ref() { + if let Some(rule) = self.no_extra_boolean_cast.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1])); } } + if let Some(rule) = self.no_for_each.as_ref() { + if rule.is_disabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2])); + } + } if let Some(rule) = self .no_multiple_spaces_in_regular_expression_literals .as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[3])); + } + } + if let Some(rule) = self.no_static_only_class.as_ref() { + if rule.is_disabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[4])); } } if let Some(rule) = self.no_useless_catch.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[3])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[5])); } } if let Some(rule) = self.no_useless_constructor.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[4])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[6])); + } + } + if let Some(rule) = self.no_useless_empty_export.as_ref() { + if rule.is_disabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[7])); } } if let Some(rule) = self.no_useless_fragments.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[5])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[8])); } } if let Some(rule) = self.no_useless_label.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[6])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[9])); } } if let Some(rule) = self.no_useless_rename.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[7])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[10])); } } if let Some(rule) = self.no_useless_switch_case.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[8])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11])); + } + } + if let Some(rule) = self.no_useless_this_alias.as_ref() { + if rule.is_disabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[12])); } } if let Some(rule) = self.no_useless_type_constraint.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[9])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[13])); } } if let Some(rule) = self.no_with.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[10])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14])); } } if let Some(rule) = self.use_flat_map.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[15])); } } if let Some(rule) = self.use_literal_keys.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[12])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16])); } } if let Some(rule) = self.use_optional_chain.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[13])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[17])); } } if let Some(rule) = self.use_simple_number_keys.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18])); } } if let Some(rule) = self.use_simplified_logic_expression.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[15])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19])); } } index_set @@ -1235,10 +1398,10 @@ impl Complexity { pub(crate) fn is_recommended_rule(rule_name: &str) -> bool { Self::RECOMMENDED_RULES.contains(&rule_name) } - pub(crate) fn recommended_rules_as_filters() -> [RuleFilter<'static>; 13] { + pub(crate) fn recommended_rules_as_filters() -> [RuleFilter<'static>; 17] { Self::RECOMMENDED_RULES_AS_FILTERS } - pub(crate) fn all_rules_as_filters() -> [RuleFilter<'static>; 16] { + pub(crate) fn all_rules_as_filters() -> [RuleFilter<'static>; 20] { Self::ALL_RULES_AS_FILTERS } #[doc = r" Select preset rules"] @@ -1261,17 +1424,21 @@ impl Complexity { } pub(crate) fn get_rule_configuration(&self, rule_name: &str) -> Option<&RuleConfiguration> { match rule_name { + "noBannedTypes" => self.no_banned_types.as_ref(), "noExtraBooleanCast" => self.no_extra_boolean_cast.as_ref(), "noForEach" => self.no_for_each.as_ref(), "noMultipleSpacesInRegularExpressionLiterals" => self .no_multiple_spaces_in_regular_expression_literals .as_ref(), + "noStaticOnlyClass" => self.no_static_only_class.as_ref(), "noUselessCatch" => self.no_useless_catch.as_ref(), "noUselessConstructor" => self.no_useless_constructor.as_ref(), + "noUselessEmptyExport" => self.no_useless_empty_export.as_ref(), "noUselessFragments" => self.no_useless_fragments.as_ref(), "noUselessLabel" => self.no_useless_label.as_ref(), "noUselessRename" => self.no_useless_rename.as_ref(), "noUselessSwitchCase" => self.no_useless_switch_case.as_ref(), + "noUselessThisAlias" => self.no_useless_this_alias.as_ref(), "noUselessTypeConstraint" => self.no_useless_type_constraint.as_ref(), "noWith" => self.no_with.as_ref(), "useFlatMap" => self.use_flat_map.as_ref(), @@ -1304,6 +1471,10 @@ pub struct Correctness { #[bpaf(long("no-const-assign"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] pub no_const_assign: Option, + #[doc = "Disallow constant expressions in conditions"] + #[bpaf(long("no-constant-condition"), argument("on|off|warn"), optional, hide)] + #[serde(skip_serializing_if = "Option::is_none")] + pub no_constant_condition: Option, #[doc = "Disallow returning a value from a constructor."] #[bpaf(long("no-constructor-return"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] @@ -1338,6 +1509,15 @@ pub struct Correctness { #[bpaf(long("no-new-symbol"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] pub no_new_symbol: Option, + #[doc = "Disallow \\8 and \\9 escape sequences in string literals."] + #[bpaf( + long("no-nonoctal-decimal-escape"), + argument("on|off|warn"), + optional, + hide + )] + #[serde(skip_serializing_if = "Option::is_none")] + pub no_nonoctal_decimal_escape: Option, #[doc = "Disallow literal numbers that lose precision"] #[bpaf(long("no-precision-loss"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] @@ -1351,6 +1531,10 @@ pub struct Correctness { )] #[serde(skip_serializing_if = "Option::is_none")] pub no_render_return_value: Option, + #[doc = "Disallow assignments where both sides are exactly the same."] + #[bpaf(long("no-self-assign"), argument("on|off|warn"), optional, hide)] + #[serde(skip_serializing_if = "Option::is_none")] + pub no_self_assign: Option, #[doc = "Disallow returning a value from a setter"] #[bpaf(long("no-setter-return"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] @@ -1453,17 +1637,20 @@ pub struct Correctness { } impl Correctness { const GROUP_NAME: &'static str = "correctness"; - pub(crate) const GROUP_RULES: [&'static str; 26] = [ + pub(crate) const GROUP_RULES: [&'static str; 29] = [ "noChildrenProp", "noConstAssign", + "noConstantCondition", "noConstructorReturn", "noEmptyPattern", "noGlobalObjectCalls", "noInnerDeclarations", "noInvalidConstructorSuper", "noNewSymbol", + "noNonoctalDecimalEscape", "noPrecisionLoss", "noRenderReturnValue", + "noSelfAssign", "noSetterReturn", "noStringCaseMismatch", "noSwitchDeclarations", @@ -1481,17 +1668,20 @@ impl Correctness { "useValidForDirection", "useYield", ]; - const RECOMMENDED_RULES: [&'static str; 24] = [ + const RECOMMENDED_RULES: [&'static str; 27] = [ "noChildrenProp", "noConstAssign", + "noConstantCondition", "noConstructorReturn", "noEmptyPattern", "noGlobalObjectCalls", "noInnerDeclarations", "noInvalidConstructorSuper", "noNewSymbol", + "noNonoctalDecimalEscape", "noPrecisionLoss", "noRenderReturnValue", + "noSelfAssign", "noSetterReturn", "noStringCaseMismatch", "noSwitchDeclarations", @@ -1507,7 +1697,7 @@ impl Correctness { "useValidForDirection", "useYield", ]; - const RECOMMENDED_RULES_AS_FILTERS: [RuleFilter<'static>; 24] = [ + const RECOMMENDED_RULES_AS_FILTERS: [RuleFilter<'static>; 27] = [ RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2]), @@ -1521,19 +1711,22 @@ impl Correctness { RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[10]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[12]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[13]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[15]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[17]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[20]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[21]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[22]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[23]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[25]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[26]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[27]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[28]), ]; - const ALL_RULES_AS_FILTERS: [RuleFilter<'static>; 26] = [ + const ALL_RULES_AS_FILTERS: [RuleFilter<'static>; 29] = [ RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2]), @@ -1560,6 +1753,9 @@ impl Correctness { RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[23]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[25]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[26]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[27]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[28]), ]; #[doc = r" Retrieves the recommended rules"] pub(crate) fn is_recommended(&self) -> bool { @@ -1586,126 +1782,141 @@ impl Correctness { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1])); } } - if let Some(rule) = self.no_constructor_return.as_ref() { + if let Some(rule) = self.no_constant_condition.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2])); } } - if let Some(rule) = self.no_empty_pattern.as_ref() { + if let Some(rule) = self.no_constructor_return.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[3])); } } - if let Some(rule) = self.no_global_object_calls.as_ref() { + if let Some(rule) = self.no_empty_pattern.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[4])); } } - if let Some(rule) = self.no_inner_declarations.as_ref() { + if let Some(rule) = self.no_global_object_calls.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[5])); } } - if let Some(rule) = self.no_invalid_constructor_super.as_ref() { + if let Some(rule) = self.no_inner_declarations.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[6])); } } - if let Some(rule) = self.no_new_symbol.as_ref() { + if let Some(rule) = self.no_invalid_constructor_super.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[7])); } } - if let Some(rule) = self.no_precision_loss.as_ref() { + if let Some(rule) = self.no_new_symbol.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[8])); } } - if let Some(rule) = self.no_render_return_value.as_ref() { + if let Some(rule) = self.no_nonoctal_decimal_escape.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[9])); } } - if let Some(rule) = self.no_setter_return.as_ref() { + if let Some(rule) = self.no_precision_loss.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[10])); } } - if let Some(rule) = self.no_string_case_mismatch.as_ref() { + if let Some(rule) = self.no_render_return_value.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11])); } } - if let Some(rule) = self.no_switch_declarations.as_ref() { + if let Some(rule) = self.no_self_assign.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[12])); } } - if let Some(rule) = self.no_undeclared_variables.as_ref() { + if let Some(rule) = self.no_setter_return.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[13])); } } - if let Some(rule) = self.no_unnecessary_continue.as_ref() { + if let Some(rule) = self.no_string_case_mismatch.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14])); } } - if let Some(rule) = self.no_unreachable.as_ref() { + if let Some(rule) = self.no_switch_declarations.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[15])); } } - if let Some(rule) = self.no_unreachable_super.as_ref() { + if let Some(rule) = self.no_undeclared_variables.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16])); } } - if let Some(rule) = self.no_unsafe_finally.as_ref() { + if let Some(rule) = self.no_unnecessary_continue.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[17])); } } - if let Some(rule) = self.no_unsafe_optional_chaining.as_ref() { + if let Some(rule) = self.no_unreachable.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18])); } } - if let Some(rule) = self.no_unused_labels.as_ref() { + if let Some(rule) = self.no_unreachable_super.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19])); } } - if let Some(rule) = self.no_unused_variables.as_ref() { + if let Some(rule) = self.no_unsafe_finally.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[20])); } } - if let Some(rule) = self.no_void_elements_with_children.as_ref() { + if let Some(rule) = self.no_unsafe_optional_chaining.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[21])); } } - if let Some(rule) = self.no_void_type_return.as_ref() { + if let Some(rule) = self.no_unused_labels.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[22])); } } - if let Some(rule) = self.use_is_nan.as_ref() { + if let Some(rule) = self.no_unused_variables.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[23])); } } - if let Some(rule) = self.use_valid_for_direction.as_ref() { + if let Some(rule) = self.no_void_elements_with_children.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24])); } } - if let Some(rule) = self.use_yield.as_ref() { + if let Some(rule) = self.no_void_type_return.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[25])); } } + if let Some(rule) = self.use_is_nan.as_ref() { + if rule.is_enabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[26])); + } + } + if let Some(rule) = self.use_valid_for_direction.as_ref() { + if rule.is_enabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[27])); + } + } + if let Some(rule) = self.use_yield.as_ref() { + if rule.is_enabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[28])); + } + } index_set } pub(crate) fn get_disabled_rules(&self) -> IndexSet { @@ -1720,126 +1931,141 @@ impl Correctness { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1])); } } - if let Some(rule) = self.no_constructor_return.as_ref() { + if let Some(rule) = self.no_constant_condition.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2])); } } - if let Some(rule) = self.no_empty_pattern.as_ref() { + if let Some(rule) = self.no_constructor_return.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[3])); } } - if let Some(rule) = self.no_global_object_calls.as_ref() { + if let Some(rule) = self.no_empty_pattern.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[4])); } } - if let Some(rule) = self.no_inner_declarations.as_ref() { + if let Some(rule) = self.no_global_object_calls.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[5])); } } - if let Some(rule) = self.no_invalid_constructor_super.as_ref() { + if let Some(rule) = self.no_inner_declarations.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[6])); } } - if let Some(rule) = self.no_new_symbol.as_ref() { + if let Some(rule) = self.no_invalid_constructor_super.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[7])); } } - if let Some(rule) = self.no_precision_loss.as_ref() { + if let Some(rule) = self.no_new_symbol.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[8])); } } - if let Some(rule) = self.no_render_return_value.as_ref() { + if let Some(rule) = self.no_nonoctal_decimal_escape.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[9])); } } - if let Some(rule) = self.no_setter_return.as_ref() { + if let Some(rule) = self.no_precision_loss.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[10])); } } - if let Some(rule) = self.no_string_case_mismatch.as_ref() { + if let Some(rule) = self.no_render_return_value.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11])); } } - if let Some(rule) = self.no_switch_declarations.as_ref() { + if let Some(rule) = self.no_self_assign.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[12])); } } - if let Some(rule) = self.no_undeclared_variables.as_ref() { + if let Some(rule) = self.no_setter_return.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[13])); } } - if let Some(rule) = self.no_unnecessary_continue.as_ref() { + if let Some(rule) = self.no_string_case_mismatch.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14])); } } - if let Some(rule) = self.no_unreachable.as_ref() { + if let Some(rule) = self.no_switch_declarations.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[15])); } } - if let Some(rule) = self.no_unreachable_super.as_ref() { + if let Some(rule) = self.no_undeclared_variables.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16])); } } - if let Some(rule) = self.no_unsafe_finally.as_ref() { + if let Some(rule) = self.no_unnecessary_continue.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[17])); } } - if let Some(rule) = self.no_unsafe_optional_chaining.as_ref() { + if let Some(rule) = self.no_unreachable.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18])); } } - if let Some(rule) = self.no_unused_labels.as_ref() { + if let Some(rule) = self.no_unreachable_super.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19])); } } - if let Some(rule) = self.no_unused_variables.as_ref() { + if let Some(rule) = self.no_unsafe_finally.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[20])); } } - if let Some(rule) = self.no_void_elements_with_children.as_ref() { + if let Some(rule) = self.no_unsafe_optional_chaining.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[21])); } } - if let Some(rule) = self.no_void_type_return.as_ref() { + if let Some(rule) = self.no_unused_labels.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[22])); } } - if let Some(rule) = self.use_is_nan.as_ref() { + if let Some(rule) = self.no_unused_variables.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[23])); } } - if let Some(rule) = self.use_valid_for_direction.as_ref() { + if let Some(rule) = self.no_void_elements_with_children.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24])); } } - if let Some(rule) = self.use_yield.as_ref() { + if let Some(rule) = self.no_void_type_return.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[25])); } } + if let Some(rule) = self.use_is_nan.as_ref() { + if rule.is_disabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[26])); + } + } + if let Some(rule) = self.use_valid_for_direction.as_ref() { + if rule.is_disabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[27])); + } + } + if let Some(rule) = self.use_yield.as_ref() { + if rule.is_disabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[28])); + } + } index_set } #[doc = r" Checks if, given a rule name, matches one of the rules contained in this category"] @@ -1850,10 +2076,10 @@ impl Correctness { pub(crate) fn is_recommended_rule(rule_name: &str) -> bool { Self::RECOMMENDED_RULES.contains(&rule_name) } - pub(crate) fn recommended_rules_as_filters() -> [RuleFilter<'static>; 24] { + pub(crate) fn recommended_rules_as_filters() -> [RuleFilter<'static>; 27] { Self::RECOMMENDED_RULES_AS_FILTERS } - pub(crate) fn all_rules_as_filters() -> [RuleFilter<'static>; 26] { + pub(crate) fn all_rules_as_filters() -> [RuleFilter<'static>; 29] { Self::ALL_RULES_AS_FILTERS } #[doc = r" Select preset rules"] @@ -1878,14 +2104,17 @@ impl Correctness { match rule_name { "noChildrenProp" => self.no_children_prop.as_ref(), "noConstAssign" => self.no_const_assign.as_ref(), + "noConstantCondition" => self.no_constant_condition.as_ref(), "noConstructorReturn" => self.no_constructor_return.as_ref(), "noEmptyPattern" => self.no_empty_pattern.as_ref(), "noGlobalObjectCalls" => self.no_global_object_calls.as_ref(), "noInnerDeclarations" => self.no_inner_declarations.as_ref(), "noInvalidConstructorSuper" => self.no_invalid_constructor_super.as_ref(), "noNewSymbol" => self.no_new_symbol.as_ref(), + "noNonoctalDecimalEscape" => self.no_nonoctal_decimal_escape.as_ref(), "noPrecisionLoss" => self.no_precision_loss.as_ref(), "noRenderReturnValue" => self.no_render_return_value.as_ref(), + "noSelfAssign" => self.no_self_assign.as_ref(), "noSetterReturn" => self.no_setter_return.as_ref(), "noStringCaseMismatch" => self.no_string_case_mismatch.as_ref(), "noSwitchDeclarations" => self.no_switch_declarations.as_ref(), @@ -1928,41 +2157,15 @@ pub struct Nursery { )] #[serde(skip_serializing_if = "Option::is_none")] pub no_accumulating_spread: Option, - #[doc = "Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes."] + #[doc = "Disallow void type outside of generic or return types."] #[bpaf( - long("no-aria-unsupported-elements"), - argument("on|off|warn"), - optional, - hide - )] - #[serde(skip_serializing_if = "Option::is_none")] - pub no_aria_unsupported_elements: Option, - #[doc = "Disallow primitive type aliases and misleading types."] - #[bpaf(long("no-banned-types"), argument("on|off|warn"), optional, hide)] - #[serde(skip_serializing_if = "Option::is_none")] - pub no_banned_types: Option, - #[doc = "Disallow void type outside of generic or return types."] - #[bpaf( - long("no-confusing-void-type"), + long("no-confusing-void-type"), argument("on|off|warn"), optional, hide )] #[serde(skip_serializing_if = "Option::is_none")] pub no_confusing_void_type: Option, - #[doc = "Disallow constant expressions in conditions"] - #[bpaf(long("no-constant-condition"), argument("on|off|warn"), optional, hide)] - #[serde(skip_serializing_if = "Option::is_none")] - pub no_constant_condition: Option, - #[doc = "Prevents from having control characters and some escape sequences that match control characters in regular expressions."] - #[bpaf( - long("no-control-characters-in-regex"), - argument("on|off|warn"), - optional, - hide - )] - #[serde(skip_serializing_if = "Option::is_none")] - pub no_control_characters_in_regex: Option, #[doc = "Disallow two keys with the same name inside a JSON object."] #[bpaf( long("no-duplicate-json-keys"), @@ -1998,66 +2201,10 @@ pub struct Nursery { #[bpaf(long("no-global-is-nan"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] pub no_global_is_nan: Option, - #[doc = "Enforce that tabIndex is not assigned to non-interactive HTML elements."] - #[bpaf( - long("no-noninteractive-tabindex"), - argument("on|off|warn"), - optional, - hide - )] - #[serde(skip_serializing_if = "Option::is_none")] - pub no_noninteractive_tabindex: Option, - #[doc = "Disallow \\8 and \\9 escape sequences in string literals."] - #[bpaf( - long("no-nonoctal-decimal-escape"), - argument("on|off|warn"), - optional, - hide - )] - #[serde(skip_serializing_if = "Option::is_none")] - pub no_nonoctal_decimal_escape: Option, - #[doc = "Enforce explicit role property is not the same as implicit/default role property on an element."] - #[bpaf(long("no-redundant-roles"), argument("on|off|warn"), optional, hide)] - #[serde(skip_serializing_if = "Option::is_none")] - pub no_redundant_roles: Option, - #[doc = "Disallow assignments where both sides are exactly the same."] - #[bpaf(long("no-self-assign"), argument("on|off|warn"), optional, hide)] - #[serde(skip_serializing_if = "Option::is_none")] - pub no_self_assign: Option, - #[doc = "This rule reports when a class has no non-static members, such as for a class used exclusively as a static namespace."] - #[bpaf(long("no-static-only-class"), argument("on|off|warn"), optional, hide)] - #[serde(skip_serializing_if = "Option::is_none")] - pub no_static_only_class: Option, - #[doc = "Disallow unsafe declaration merging between interfaces and classes."] - #[bpaf( - long("no-unsafe-declaration-merging"), - argument("on|off|warn"), - optional, - hide - )] - #[serde(skip_serializing_if = "Option::is_none")] - pub no_unsafe_declaration_merging: Option, - #[doc = "Disallow empty exports that don't change anything in a module file."] - #[bpaf( - long("no-useless-empty-export"), - argument("on|off|warn"), - optional, - hide - )] - #[serde(skip_serializing_if = "Option::is_none")] - pub no_useless_empty_export: Option, - #[doc = "Disallow useless this aliasing."] - #[bpaf(long("no-useless-this-alias"), argument("on|off|warn"), optional, hide)] - #[serde(skip_serializing_if = "Option::is_none")] - pub no_useless_this_alias: Option, #[doc = "Disallow the use of void operators, which is not a familiar operator."] #[bpaf(long("no-void"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] pub no_void: Option, - #[doc = "Enforce that ARIA state and property values are valid."] - #[bpaf(long("use-aria-prop-types"), argument("on|off|warn"), optional, hide)] - #[serde(skip_serializing_if = "Option::is_none")] - pub use_aria_prop_types: Option, #[doc = "Use arrow functions over function expressions."] #[bpaf(long("use-arrow-function"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] @@ -2075,10 +2222,6 @@ pub struct Nursery { )] #[serde(skip_serializing_if = "Option::is_none")] pub use_exhaustive_dependencies: Option, - #[doc = "Enforce get methods to always return a value."] - #[bpaf(long("use-getter-return"), argument("on|off|warn"), optional, hide)] - #[serde(skip_serializing_if = "Option::is_none")] - pub use_getter_return: Option, #[doc = "Enforce the use of import type when an import only has specifiers with type qualifier."] #[bpaf( long("use-grouped-type-import"), @@ -2105,100 +2248,45 @@ pub struct Nursery { #[bpaf(long("use-is-array"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] pub use_is_array: Option, - #[doc = "Require all enum members to be literal values."] - #[bpaf( - long("use-literal-enum-members"), - argument("on|off|warn"), - optional, - hide - )] - #[serde(skip_serializing_if = "Option::is_none")] - pub use_literal_enum_members: Option, - #[doc = "Enforce naming conventions for everything across a codebase."] - #[bpaf(long("use-naming-convention"), argument("on|off|warn"), optional, hide)] - #[serde(skip_serializing_if = "Option::is_none")] - pub use_naming_convention: Option, } impl Nursery { const GROUP_NAME: &'static str = "nursery"; - pub(crate) const GROUP_RULES: [&'static str; 31] = [ + pub(crate) const GROUP_RULES: [&'static str; 15] = [ "noAccumulatingSpread", - "noAriaUnsupportedElements", - "noBannedTypes", "noConfusingVoidType", - "noConstantCondition", - "noControlCharactersInRegex", "noDuplicateJsonKeys", "noExcessiveComplexity", "noFallthroughSwitchClause", "noGlobalIsFinite", "noGlobalIsNan", - "noNoninteractiveTabindex", - "noNonoctalDecimalEscape", - "noRedundantRoles", - "noSelfAssign", - "noStaticOnlyClass", - "noUnsafeDeclarationMerging", - "noUselessEmptyExport", - "noUselessThisAlias", "noVoid", - "useAriaPropTypes", "useArrowFunction", "useCollapsedElseIf", "useExhaustiveDependencies", - "useGetterReturn", "useGroupedTypeImport", "useHookAtTopLevel", "useImportRestrictions", "useIsArray", - "useLiteralEnumMembers", - "useNamingConvention", ]; - const RECOMMENDED_RULES: [&'static str; 20] = [ - "noAriaUnsupportedElements", - "noBannedTypes", - "noConstantCondition", - "noControlCharactersInRegex", + const RECOMMENDED_RULES: [&'static str; 7] = [ "noDuplicateJsonKeys", "noGlobalIsFinite", "noGlobalIsNan", - "noNonoctalDecimalEscape", - "noRedundantRoles", - "noSelfAssign", - "noStaticOnlyClass", - "noUnsafeDeclarationMerging", - "noUselessEmptyExport", - "noUselessThisAlias", "useArrowFunction", "useExhaustiveDependencies", - "useGetterReturn", "useGroupedTypeImport", "useIsArray", - "useLiteralEnumMembers", ]; - const RECOMMENDED_RULES_AS_FILTERS: [RuleFilter<'static>; 20] = [ - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1]), + const RECOMMENDED_RULES_AS_FILTERS: [RuleFilter<'static>; 7] = [ RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[4]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[5]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[6]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[9]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[8]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[10]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[12]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[13]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[15]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[17]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[21]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[23]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[25]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[28]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[29]), ]; - const ALL_RULES_AS_FILTERS: [RuleFilter<'static>; 31] = [ + const ALL_RULES_AS_FILTERS: [RuleFilter<'static>; 15] = [ RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2]), @@ -2214,22 +2302,6 @@ impl Nursery { RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[12]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[13]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[15]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[17]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[20]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[21]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[22]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[23]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[25]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[26]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[27]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[28]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[29]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[30]), ]; #[doc = r" Retrieves the recommended rules"] pub(crate) fn is_recommended(&self) -> bool { @@ -2251,154 +2323,74 @@ impl Nursery { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0])); } } - if let Some(rule) = self.no_aria_unsupported_elements.as_ref() { - if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1])); - } - } - if let Some(rule) = self.no_banned_types.as_ref() { - if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2])); - } - } if let Some(rule) = self.no_confusing_void_type.as_ref() { if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[3])); - } - } - if let Some(rule) = self.no_constant_condition.as_ref() { - if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[4])); - } - } - if let Some(rule) = self.no_control_characters_in_regex.as_ref() { - if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[5])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1])); } } if let Some(rule) = self.no_duplicate_json_keys.as_ref() { if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[6])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2])); } } if let Some(rule) = self.no_excessive_complexity.as_ref() { if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[7])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[3])); } } if let Some(rule) = self.no_fallthrough_switch_clause.as_ref() { if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[8])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[4])); } } if let Some(rule) = self.no_global_is_finite.as_ref() { if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[9])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[5])); } } if let Some(rule) = self.no_global_is_nan.as_ref() { if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[10])); - } - } - if let Some(rule) = self.no_noninteractive_tabindex.as_ref() { - if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11])); - } - } - if let Some(rule) = self.no_nonoctal_decimal_escape.as_ref() { - if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[12])); - } - } - if let Some(rule) = self.no_redundant_roles.as_ref() { - if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[13])); - } - } - if let Some(rule) = self.no_self_assign.as_ref() { - if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14])); - } - } - if let Some(rule) = self.no_static_only_class.as_ref() { - if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[15])); - } - } - if let Some(rule) = self.no_unsafe_declaration_merging.as_ref() { - if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16])); - } - } - if let Some(rule) = self.no_useless_empty_export.as_ref() { - if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[17])); - } - } - if let Some(rule) = self.no_useless_this_alias.as_ref() { - if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[6])); } } if let Some(rule) = self.no_void.as_ref() { if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19])); - } - } - if let Some(rule) = self.use_aria_prop_types.as_ref() { - if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[20])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[7])); } } if let Some(rule) = self.use_arrow_function.as_ref() { if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[21])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[8])); } } if let Some(rule) = self.use_collapsed_else_if.as_ref() { if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[22])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[9])); } } if let Some(rule) = self.use_exhaustive_dependencies.as_ref() { if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[23])); - } - } - if let Some(rule) = self.use_getter_return.as_ref() { - if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[10])); } } if let Some(rule) = self.use_grouped_type_import.as_ref() { if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[25])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11])); } } if let Some(rule) = self.use_hook_at_top_level.as_ref() { if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[26])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[12])); } } if let Some(rule) = self.use_import_restrictions.as_ref() { if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[27])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[13])); } } if let Some(rule) = self.use_is_array.as_ref() { if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[28])); - } - } - if let Some(rule) = self.use_literal_enum_members.as_ref() { - if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[29])); - } - } - if let Some(rule) = self.use_naming_convention.as_ref() { - if rule.is_enabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[30])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14])); } } index_set @@ -2410,154 +2402,74 @@ impl Nursery { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0])); } } - if let Some(rule) = self.no_aria_unsupported_elements.as_ref() { - if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1])); - } - } - if let Some(rule) = self.no_banned_types.as_ref() { - if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2])); - } - } if let Some(rule) = self.no_confusing_void_type.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[3])); - } - } - if let Some(rule) = self.no_constant_condition.as_ref() { - if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[4])); - } - } - if let Some(rule) = self.no_control_characters_in_regex.as_ref() { - if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[5])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1])); } } if let Some(rule) = self.no_duplicate_json_keys.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[6])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2])); } } if let Some(rule) = self.no_excessive_complexity.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[7])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[3])); } } if let Some(rule) = self.no_fallthrough_switch_clause.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[8])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[4])); } } if let Some(rule) = self.no_global_is_finite.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[9])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[5])); } } if let Some(rule) = self.no_global_is_nan.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[10])); - } - } - if let Some(rule) = self.no_noninteractive_tabindex.as_ref() { - if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11])); - } - } - if let Some(rule) = self.no_nonoctal_decimal_escape.as_ref() { - if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[12])); - } - } - if let Some(rule) = self.no_redundant_roles.as_ref() { - if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[13])); - } - } - if let Some(rule) = self.no_self_assign.as_ref() { - if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14])); - } - } - if let Some(rule) = self.no_static_only_class.as_ref() { - if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[15])); - } - } - if let Some(rule) = self.no_unsafe_declaration_merging.as_ref() { - if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16])); - } - } - if let Some(rule) = self.no_useless_empty_export.as_ref() { - if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[17])); - } - } - if let Some(rule) = self.no_useless_this_alias.as_ref() { - if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[6])); } } if let Some(rule) = self.no_void.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19])); - } - } - if let Some(rule) = self.use_aria_prop_types.as_ref() { - if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[20])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[7])); } } if let Some(rule) = self.use_arrow_function.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[21])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[8])); } } if let Some(rule) = self.use_collapsed_else_if.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[22])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[9])); } } if let Some(rule) = self.use_exhaustive_dependencies.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[23])); - } - } - if let Some(rule) = self.use_getter_return.as_ref() { - if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24])); - } - } - if let Some(rule) = self.use_grouped_type_import.as_ref() { - if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[25])); - } - } - if let Some(rule) = self.use_hook_at_top_level.as_ref() { - if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[26])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[10])); } } - if let Some(rule) = self.use_import_restrictions.as_ref() { + if let Some(rule) = self.use_grouped_type_import.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[27])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11])); } } - if let Some(rule) = self.use_is_array.as_ref() { + if let Some(rule) = self.use_hook_at_top_level.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[28])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[12])); } } - if let Some(rule) = self.use_literal_enum_members.as_ref() { + if let Some(rule) = self.use_import_restrictions.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[29])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[13])); } } - if let Some(rule) = self.use_naming_convention.as_ref() { + if let Some(rule) = self.use_is_array.as_ref() { if rule.is_disabled() { - index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[30])); + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14])); } } index_set @@ -2570,10 +2482,10 @@ impl Nursery { pub(crate) fn is_recommended_rule(rule_name: &str) -> bool { Self::RECOMMENDED_RULES.contains(&rule_name) } - pub(crate) fn recommended_rules_as_filters() -> [RuleFilter<'static>; 20] { + pub(crate) fn recommended_rules_as_filters() -> [RuleFilter<'static>; 7] { Self::RECOMMENDED_RULES_AS_FILTERS } - pub(crate) fn all_rules_as_filters() -> [RuleFilter<'static>; 31] { + pub(crate) fn all_rules_as_filters() -> [RuleFilter<'static>; 15] { Self::ALL_RULES_AS_FILTERS } #[doc = r" Select preset rules"] @@ -2597,36 +2509,20 @@ impl Nursery { pub(crate) fn get_rule_configuration(&self, rule_name: &str) -> Option<&RuleConfiguration> { match rule_name { "noAccumulatingSpread" => self.no_accumulating_spread.as_ref(), - "noAriaUnsupportedElements" => self.no_aria_unsupported_elements.as_ref(), - "noBannedTypes" => self.no_banned_types.as_ref(), "noConfusingVoidType" => self.no_confusing_void_type.as_ref(), - "noConstantCondition" => self.no_constant_condition.as_ref(), - "noControlCharactersInRegex" => self.no_control_characters_in_regex.as_ref(), "noDuplicateJsonKeys" => self.no_duplicate_json_keys.as_ref(), "noExcessiveComplexity" => self.no_excessive_complexity.as_ref(), "noFallthroughSwitchClause" => self.no_fallthrough_switch_clause.as_ref(), "noGlobalIsFinite" => self.no_global_is_finite.as_ref(), "noGlobalIsNan" => self.no_global_is_nan.as_ref(), - "noNoninteractiveTabindex" => self.no_noninteractive_tabindex.as_ref(), - "noNonoctalDecimalEscape" => self.no_nonoctal_decimal_escape.as_ref(), - "noRedundantRoles" => self.no_redundant_roles.as_ref(), - "noSelfAssign" => self.no_self_assign.as_ref(), - "noStaticOnlyClass" => self.no_static_only_class.as_ref(), - "noUnsafeDeclarationMerging" => self.no_unsafe_declaration_merging.as_ref(), - "noUselessEmptyExport" => self.no_useless_empty_export.as_ref(), - "noUselessThisAlias" => self.no_useless_this_alias.as_ref(), "noVoid" => self.no_void.as_ref(), - "useAriaPropTypes" => self.use_aria_prop_types.as_ref(), "useArrowFunction" => self.use_arrow_function.as_ref(), "useCollapsedElseIf" => self.use_collapsed_else_if.as_ref(), "useExhaustiveDependencies" => self.use_exhaustive_dependencies.as_ref(), - "useGetterReturn" => self.use_getter_return.as_ref(), "useGroupedTypeImport" => self.use_grouped_type_import.as_ref(), "useHookAtTopLevel" => self.use_hook_at_top_level.as_ref(), "useImportRestrictions" => self.use_import_restrictions.as_ref(), "useIsArray" => self.use_is_array.as_ref(), - "useLiteralEnumMembers" => self.use_literal_enum_members.as_ref(), - "useNamingConvention" => self.use_naming_convention.as_ref(), _ => None, } } @@ -2969,6 +2865,19 @@ pub struct Style { #[bpaf(long("use-fragment-syntax"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] pub use_fragment_syntax: Option, + #[doc = "Require all enum members to be literal values."] + #[bpaf( + long("use-literal-enum-members"), + argument("on|off|warn"), + optional, + hide + )] + #[serde(skip_serializing_if = "Option::is_none")] + pub use_literal_enum_members: Option, + #[doc = "Enforce naming conventions for everything across a codebase."] + #[bpaf(long("use-naming-convention"), argument("on|off|warn"), optional, hide)] + #[serde(skip_serializing_if = "Option::is_none")] + pub use_naming_convention: Option, #[doc = "Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals"] #[bpaf(long("use-numeric-literals"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] @@ -3020,7 +2929,7 @@ pub struct Style { } impl Style { const GROUP_NAME: &'static str = "style"; - pub(crate) const GROUP_RULES: [&'static str; 26] = [ + pub(crate) const GROUP_RULES: [&'static str; 28] = [ "noArguments", "noCommaOperator", "noImplicitBoolean", @@ -3040,6 +2949,8 @@ impl Style { "useEnumInitializers", "useExponentiationOperator", "useFragmentSyntax", + "useLiteralEnumMembers", + "useNamingConvention", "useNumericLiterals", "useSelfClosingElements", "useShorthandArrayType", @@ -3048,7 +2959,7 @@ impl Style { "useTemplate", "useWhile", ]; - const RECOMMENDED_RULES: [&'static str; 16] = [ + const RECOMMENDED_RULES: [&'static str; 17] = [ "noArguments", "noCommaOperator", "noInferrableTypes", @@ -3060,13 +2971,14 @@ impl Style { "useDefaultParameterLast", "useEnumInitializers", "useExponentiationOperator", + "useLiteralEnumMembers", "useNumericLiterals", "useSelfClosingElements", "useSingleVarDeclarator", "useTemplate", "useWhile", ]; - const RECOMMENDED_RULES_AS_FILTERS: [RuleFilter<'static>; 16] = [ + const RECOMMENDED_RULES_AS_FILTERS: [RuleFilter<'static>; 17] = [ RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[3]), @@ -3079,12 +2991,13 @@ impl Style { RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[17]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[20]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[23]), - RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[21]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[22]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[25]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[26]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[27]), ]; - const ALL_RULES_AS_FILTERS: [RuleFilter<'static>; 26] = [ + const ALL_RULES_AS_FILTERS: [RuleFilter<'static>; 28] = [ RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2]), @@ -3111,6 +3024,8 @@ impl Style { RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[23]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[25]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[26]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[27]), ]; #[doc = r" Retrieves the recommended rules"] pub(crate) fn is_recommended(&self) -> bool { @@ -3222,41 +3137,51 @@ impl Style { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18])); } } - if let Some(rule) = self.use_numeric_literals.as_ref() { + if let Some(rule) = self.use_literal_enum_members.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19])); } } - if let Some(rule) = self.use_self_closing_elements.as_ref() { + if let Some(rule) = self.use_naming_convention.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[20])); } } - if let Some(rule) = self.use_shorthand_array_type.as_ref() { + if let Some(rule) = self.use_numeric_literals.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[21])); } } - if let Some(rule) = self.use_single_case_statement.as_ref() { + if let Some(rule) = self.use_self_closing_elements.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[22])); } } - if let Some(rule) = self.use_single_var_declarator.as_ref() { + if let Some(rule) = self.use_shorthand_array_type.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[23])); } } - if let Some(rule) = self.use_template.as_ref() { + if let Some(rule) = self.use_single_case_statement.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24])); } } - if let Some(rule) = self.use_while.as_ref() { + if let Some(rule) = self.use_single_var_declarator.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[25])); } } + if let Some(rule) = self.use_template.as_ref() { + if rule.is_enabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[26])); + } + } + if let Some(rule) = self.use_while.as_ref() { + if rule.is_enabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[27])); + } + } index_set } pub(crate) fn get_disabled_rules(&self) -> IndexSet { @@ -3356,41 +3281,51 @@ impl Style { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18])); } } - if let Some(rule) = self.use_numeric_literals.as_ref() { + if let Some(rule) = self.use_literal_enum_members.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19])); } } - if let Some(rule) = self.use_self_closing_elements.as_ref() { + if let Some(rule) = self.use_naming_convention.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[20])); } } - if let Some(rule) = self.use_shorthand_array_type.as_ref() { + if let Some(rule) = self.use_numeric_literals.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[21])); } } - if let Some(rule) = self.use_single_case_statement.as_ref() { + if let Some(rule) = self.use_self_closing_elements.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[22])); } } - if let Some(rule) = self.use_single_var_declarator.as_ref() { + if let Some(rule) = self.use_shorthand_array_type.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[23])); } } - if let Some(rule) = self.use_template.as_ref() { + if let Some(rule) = self.use_single_case_statement.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24])); } } - if let Some(rule) = self.use_while.as_ref() { + if let Some(rule) = self.use_single_var_declarator.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[25])); } } + if let Some(rule) = self.use_template.as_ref() { + if rule.is_disabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[26])); + } + } + if let Some(rule) = self.use_while.as_ref() { + if rule.is_disabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[27])); + } + } index_set } #[doc = r" Checks if, given a rule name, matches one of the rules contained in this category"] @@ -3401,10 +3336,10 @@ impl Style { pub(crate) fn is_recommended_rule(rule_name: &str) -> bool { Self::RECOMMENDED_RULES.contains(&rule_name) } - pub(crate) fn recommended_rules_as_filters() -> [RuleFilter<'static>; 16] { + pub(crate) fn recommended_rules_as_filters() -> [RuleFilter<'static>; 17] { Self::RECOMMENDED_RULES_AS_FILTERS } - pub(crate) fn all_rules_as_filters() -> [RuleFilter<'static>; 26] { + pub(crate) fn all_rules_as_filters() -> [RuleFilter<'static>; 28] { Self::ALL_RULES_AS_FILTERS } #[doc = r" Select preset rules"] @@ -3446,6 +3381,8 @@ impl Style { "useEnumInitializers" => self.use_enum_initializers.as_ref(), "useExponentiationOperator" => self.use_exponentiation_operator.as_ref(), "useFragmentSyntax" => self.use_fragment_syntax.as_ref(), + "useLiteralEnumMembers" => self.use_literal_enum_members.as_ref(), + "useNamingConvention" => self.use_naming_convention.as_ref(), "useNumericLiterals" => self.use_numeric_literals.as_ref(), "useSelfClosingElements" => self.use_self_closing_elements.as_ref(), "useShorthandArrayType" => self.use_shorthand_array_type.as_ref(), @@ -3520,6 +3457,15 @@ pub struct Suspicious { #[bpaf(long("no-const-enum"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] pub no_const_enum: Option, + #[doc = "Prevents from having control characters and some escape sequences that match control characters in regular expressions."] + #[bpaf( + long("no-control-characters-in-regex"), + argument("on|off|warn"), + optional, + hide + )] + #[serde(skip_serializing_if = "Option::is_none")] + pub no_control_characters_in_regex: Option, #[doc = "Disallow the use of debugger"] #[bpaf(long("no-debugger"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] @@ -3631,6 +3577,15 @@ pub struct Suspicious { #[bpaf(long("no-sparse-array"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] pub no_sparse_array: Option, + #[doc = "Disallow unsafe declaration merging between interfaces and classes."] + #[bpaf( + long("no-unsafe-declaration-merging"), + argument("on|off|warn"), + optional, + hide + )] + #[serde(skip_serializing_if = "Option::is_none")] + pub no_unsafe_declaration_merging: Option, #[doc = "Disallow using unsafe negation."] #[bpaf(long("no-unsafe-negation"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] @@ -3644,6 +3599,10 @@ pub struct Suspicious { )] #[serde(skip_serializing_if = "Option::is_none")] pub use_default_switch_clause_last: Option, + #[doc = "Enforce get methods to always return a value."] + #[bpaf(long("use-getter-return"), argument("on|off|warn"), optional, hide)] + #[serde(skip_serializing_if = "Option::is_none")] + pub use_getter_return: Option, #[doc = "Require using the namespace keyword over the module keyword to declare TypeScript namespaces."] #[bpaf(long("use-namespace-keyword"), argument("on|off|warn"), optional, hide)] #[serde(skip_serializing_if = "Option::is_none")] @@ -3655,7 +3614,7 @@ pub struct Suspicious { } impl Suspicious { const GROUP_NAME: &'static str = "suspicious"; - pub(crate) const GROUP_RULES: [&'static str; 33] = [ + pub(crate) const GROUP_RULES: [&'static str; 36] = [ "noArrayIndexKey", "noAssignInExpressions", "noAsyncPromiseExecutor", @@ -3666,6 +3625,7 @@ impl Suspicious { "noConfusingLabels", "noConsoleLog", "noConstEnum", + "noControlCharactersInRegex", "noDebugger", "noDoubleEquals", "noDuplicateCase", @@ -3685,12 +3645,14 @@ impl Suspicious { "noSelfCompare", "noShadowRestrictedNames", "noSparseArray", + "noUnsafeDeclarationMerging", "noUnsafeNegation", "useDefaultSwitchClauseLast", + "useGetterReturn", "useNamespaceKeyword", "useValidTypeof", ]; - const RECOMMENDED_RULES: [&'static str; 32] = [ + const RECOMMENDED_RULES: [&'static str; 35] = [ "noArrayIndexKey", "noAssignInExpressions", "noAsyncPromiseExecutor", @@ -3700,6 +3662,7 @@ impl Suspicious { "noCompareNegZero", "noConfusingLabels", "noConstEnum", + "noControlCharactersInRegex", "noDebugger", "noDoubleEquals", "noDuplicateCase", @@ -3719,12 +3682,14 @@ impl Suspicious { "noSelfCompare", "noShadowRestrictedNames", "noSparseArray", + "noUnsafeDeclarationMerging", "noUnsafeNegation", "useDefaultSwitchClauseLast", + "useGetterReturn", "useNamespaceKeyword", "useValidTypeof", ]; - const RECOMMENDED_RULES_AS_FILTERS: [RuleFilter<'static>; 32] = [ + const RECOMMENDED_RULES_AS_FILTERS: [RuleFilter<'static>; 35] = [ RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2]), @@ -3757,8 +3722,11 @@ impl Suspicious { RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[30]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[31]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[32]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[33]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[34]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[35]), ]; - const ALL_RULES_AS_FILTERS: [RuleFilter<'static>; 33] = [ + const ALL_RULES_AS_FILTERS: [RuleFilter<'static>; 36] = [ RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2]), @@ -3792,6 +3760,9 @@ impl Suspicious { RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[30]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[31]), RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[32]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[33]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[34]), + RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[35]), ]; #[doc = r" Retrieves the recommended rules"] pub(crate) fn is_recommended(&self) -> bool { @@ -3858,121 +3829,136 @@ impl Suspicious { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[9])); } } - if let Some(rule) = self.no_debugger.as_ref() { + if let Some(rule) = self.no_control_characters_in_regex.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[10])); } } - if let Some(rule) = self.no_double_equals.as_ref() { + if let Some(rule) = self.no_debugger.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11])); } } - if let Some(rule) = self.no_duplicate_case.as_ref() { + if let Some(rule) = self.no_double_equals.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[12])); } } - if let Some(rule) = self.no_duplicate_class_members.as_ref() { + if let Some(rule) = self.no_duplicate_case.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[13])); } } - if let Some(rule) = self.no_duplicate_jsx_props.as_ref() { + if let Some(rule) = self.no_duplicate_class_members.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14])); } } - if let Some(rule) = self.no_duplicate_object_keys.as_ref() { + if let Some(rule) = self.no_duplicate_jsx_props.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[15])); } } - if let Some(rule) = self.no_duplicate_parameters.as_ref() { + if let Some(rule) = self.no_duplicate_object_keys.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16])); } } - if let Some(rule) = self.no_empty_interface.as_ref() { + if let Some(rule) = self.no_duplicate_parameters.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[17])); } } - if let Some(rule) = self.no_explicit_any.as_ref() { + if let Some(rule) = self.no_empty_interface.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18])); } } - if let Some(rule) = self.no_extra_non_null_assertion.as_ref() { + if let Some(rule) = self.no_explicit_any.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19])); } } - if let Some(rule) = self.no_function_assign.as_ref() { + if let Some(rule) = self.no_extra_non_null_assertion.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[20])); } } - if let Some(rule) = self.no_import_assign.as_ref() { + if let Some(rule) = self.no_function_assign.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[21])); } } - if let Some(rule) = self.no_label_var.as_ref() { + if let Some(rule) = self.no_import_assign.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[22])); } } - if let Some(rule) = self.no_prototype_builtins.as_ref() { + if let Some(rule) = self.no_label_var.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[23])); } } - if let Some(rule) = self.no_redeclare.as_ref() { + if let Some(rule) = self.no_prototype_builtins.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24])); } } - if let Some(rule) = self.no_redundant_use_strict.as_ref() { + if let Some(rule) = self.no_redeclare.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[25])); } } - if let Some(rule) = self.no_self_compare.as_ref() { + if let Some(rule) = self.no_redundant_use_strict.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[26])); } } - if let Some(rule) = self.no_shadow_restricted_names.as_ref() { + if let Some(rule) = self.no_self_compare.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[27])); } } - if let Some(rule) = self.no_sparse_array.as_ref() { + if let Some(rule) = self.no_shadow_restricted_names.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[28])); } } - if let Some(rule) = self.no_unsafe_negation.as_ref() { + if let Some(rule) = self.no_sparse_array.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[29])); } } - if let Some(rule) = self.use_default_switch_clause_last.as_ref() { + if let Some(rule) = self.no_unsafe_declaration_merging.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[30])); } } - if let Some(rule) = self.use_namespace_keyword.as_ref() { + if let Some(rule) = self.no_unsafe_negation.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[31])); } } - if let Some(rule) = self.use_valid_typeof.as_ref() { + if let Some(rule) = self.use_default_switch_clause_last.as_ref() { if rule.is_enabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[32])); } } + if let Some(rule) = self.use_getter_return.as_ref() { + if rule.is_enabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[33])); + } + } + if let Some(rule) = self.use_namespace_keyword.as_ref() { + if rule.is_enabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[34])); + } + } + if let Some(rule) = self.use_valid_typeof.as_ref() { + if rule.is_enabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[35])); + } + } index_set } pub(crate) fn get_disabled_rules(&self) -> IndexSet { @@ -4027,121 +4013,136 @@ impl Suspicious { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[9])); } } - if let Some(rule) = self.no_debugger.as_ref() { + if let Some(rule) = self.no_control_characters_in_regex.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[10])); } } - if let Some(rule) = self.no_double_equals.as_ref() { + if let Some(rule) = self.no_debugger.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11])); } } - if let Some(rule) = self.no_duplicate_case.as_ref() { + if let Some(rule) = self.no_double_equals.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[12])); } } - if let Some(rule) = self.no_duplicate_class_members.as_ref() { + if let Some(rule) = self.no_duplicate_case.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[13])); } } - if let Some(rule) = self.no_duplicate_jsx_props.as_ref() { + if let Some(rule) = self.no_duplicate_class_members.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14])); } } - if let Some(rule) = self.no_duplicate_object_keys.as_ref() { + if let Some(rule) = self.no_duplicate_jsx_props.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[15])); } } - if let Some(rule) = self.no_duplicate_parameters.as_ref() { + if let Some(rule) = self.no_duplicate_object_keys.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16])); } } - if let Some(rule) = self.no_empty_interface.as_ref() { + if let Some(rule) = self.no_duplicate_parameters.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[17])); } } - if let Some(rule) = self.no_explicit_any.as_ref() { + if let Some(rule) = self.no_empty_interface.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18])); } } - if let Some(rule) = self.no_extra_non_null_assertion.as_ref() { + if let Some(rule) = self.no_explicit_any.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19])); } } - if let Some(rule) = self.no_function_assign.as_ref() { + if let Some(rule) = self.no_extra_non_null_assertion.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[20])); } } - if let Some(rule) = self.no_import_assign.as_ref() { + if let Some(rule) = self.no_function_assign.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[21])); } } - if let Some(rule) = self.no_label_var.as_ref() { + if let Some(rule) = self.no_import_assign.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[22])); } } - if let Some(rule) = self.no_prototype_builtins.as_ref() { + if let Some(rule) = self.no_label_var.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[23])); } } - if let Some(rule) = self.no_redeclare.as_ref() { + if let Some(rule) = self.no_prototype_builtins.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24])); } } - if let Some(rule) = self.no_redundant_use_strict.as_ref() { + if let Some(rule) = self.no_redeclare.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[25])); } } - if let Some(rule) = self.no_self_compare.as_ref() { + if let Some(rule) = self.no_redundant_use_strict.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[26])); } } - if let Some(rule) = self.no_shadow_restricted_names.as_ref() { + if let Some(rule) = self.no_self_compare.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[27])); } } - if let Some(rule) = self.no_sparse_array.as_ref() { + if let Some(rule) = self.no_shadow_restricted_names.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[28])); } } - if let Some(rule) = self.no_unsafe_negation.as_ref() { + if let Some(rule) = self.no_sparse_array.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[29])); } } - if let Some(rule) = self.use_default_switch_clause_last.as_ref() { + if let Some(rule) = self.no_unsafe_declaration_merging.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[30])); } } - if let Some(rule) = self.use_namespace_keyword.as_ref() { + if let Some(rule) = self.no_unsafe_negation.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[31])); } } - if let Some(rule) = self.use_valid_typeof.as_ref() { + if let Some(rule) = self.use_default_switch_clause_last.as_ref() { if rule.is_disabled() { index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[32])); } } + if let Some(rule) = self.use_getter_return.as_ref() { + if rule.is_disabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[33])); + } + } + if let Some(rule) = self.use_namespace_keyword.as_ref() { + if rule.is_disabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[34])); + } + } + if let Some(rule) = self.use_valid_typeof.as_ref() { + if rule.is_disabled() { + index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[35])); + } + } index_set } #[doc = r" Checks if, given a rule name, matches one of the rules contained in this category"] @@ -4152,10 +4153,10 @@ impl Suspicious { pub(crate) fn is_recommended_rule(rule_name: &str) -> bool { Self::RECOMMENDED_RULES.contains(&rule_name) } - pub(crate) fn recommended_rules_as_filters() -> [RuleFilter<'static>; 32] { + pub(crate) fn recommended_rules_as_filters() -> [RuleFilter<'static>; 35] { Self::RECOMMENDED_RULES_AS_FILTERS } - pub(crate) fn all_rules_as_filters() -> [RuleFilter<'static>; 33] { + pub(crate) fn all_rules_as_filters() -> [RuleFilter<'static>; 36] { Self::ALL_RULES_AS_FILTERS } #[doc = r" Select preset rules"] @@ -4188,6 +4189,7 @@ impl Suspicious { "noConfusingLabels" => self.no_confusing_labels.as_ref(), "noConsoleLog" => self.no_console_log.as_ref(), "noConstEnum" => self.no_const_enum.as_ref(), + "noControlCharactersInRegex" => self.no_control_characters_in_regex.as_ref(), "noDebugger" => self.no_debugger.as_ref(), "noDoubleEquals" => self.no_double_equals.as_ref(), "noDuplicateCase" => self.no_duplicate_case.as_ref(), @@ -4207,8 +4209,10 @@ impl Suspicious { "noSelfCompare" => self.no_self_compare.as_ref(), "noShadowRestrictedNames" => self.no_shadow_restricted_names.as_ref(), "noSparseArray" => self.no_sparse_array.as_ref(), + "noUnsafeDeclarationMerging" => self.no_unsafe_declaration_merging.as_ref(), "noUnsafeNegation" => self.no_unsafe_negation.as_ref(), "useDefaultSwitchClauseLast" => self.use_default_switch_clause_last.as_ref(), + "useGetterReturn" => self.use_getter_return.as_ref(), "useNamespaceKeyword" => self.use_namespace_keyword.as_ref(), "useValidTypeof" => self.use_valid_typeof.as_ref(), _ => None, diff --git a/crates/biome_service/src/configuration/parse/json/rules.rs b/crates/biome_service/src/configuration/parse/json/rules.rs index 622837fdc965..0037b74094ca 100644 --- a/crates/biome_service/src/configuration/parse/json/rules.rs +++ b/crates/biome_service/src/configuration/parse/json/rules.rs @@ -118,16 +118,20 @@ impl VisitNode for A11y { "recommended", "all", "noAccessKey", + "noAriaUnsupportedElements", "noAutofocus", "noBlankTarget", "noDistractingElements", "noHeaderScope", "noNoninteractiveElementToInteractiveRole", + "noNoninteractiveTabindex", "noPositiveTabindex", "noRedundantAlt", + "noRedundantRoles", "noSvgWithoutTitle", "useAltText", "useAnchorContent", + "useAriaPropTypes", "useAriaPropsForRole", "useButtonType", "useHeadingContent", @@ -181,6 +185,29 @@ impl VisitNode for A11y { )); } }, + "noAriaUnsupportedElements" => match value { + AnyJsonValue::JsonStringValue(_) => { + let mut configuration = RuleConfiguration::default(); + self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; + self.no_aria_unsupported_elements = Some(configuration); + } + AnyJsonValue::JsonObjectValue(_) => { + let mut rule_configuration = RuleConfiguration::default(); + rule_configuration.map_rule_configuration( + &value, + name_text, + "noAriaUnsupportedElements", + diagnostics, + )?; + self.no_aria_unsupported_elements = Some(rule_configuration); + } + _ => { + diagnostics.push(DeserializationDiagnostic::new_incorrect_type( + "object or string", + value.range(), + )); + } + }, "noAutofocus" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); @@ -296,6 +323,29 @@ impl VisitNode for A11y { )); } }, + "noNoninteractiveTabindex" => match value { + AnyJsonValue::JsonStringValue(_) => { + let mut configuration = RuleConfiguration::default(); + self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; + self.no_noninteractive_tabindex = Some(configuration); + } + AnyJsonValue::JsonObjectValue(_) => { + let mut rule_configuration = RuleConfiguration::default(); + rule_configuration.map_rule_configuration( + &value, + name_text, + "noNoninteractiveTabindex", + diagnostics, + )?; + self.no_noninteractive_tabindex = Some(rule_configuration); + } + _ => { + diagnostics.push(DeserializationDiagnostic::new_incorrect_type( + "object or string", + value.range(), + )); + } + }, "noPositiveTabindex" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); @@ -342,6 +392,29 @@ impl VisitNode for A11y { )); } }, + "noRedundantRoles" => match value { + AnyJsonValue::JsonStringValue(_) => { + let mut configuration = RuleConfiguration::default(); + self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; + self.no_redundant_roles = Some(configuration); + } + AnyJsonValue::JsonObjectValue(_) => { + let mut rule_configuration = RuleConfiguration::default(); + rule_configuration.map_rule_configuration( + &value, + name_text, + "noRedundantRoles", + diagnostics, + )?; + self.no_redundant_roles = Some(rule_configuration); + } + _ => { + diagnostics.push(DeserializationDiagnostic::new_incorrect_type( + "object or string", + value.range(), + )); + } + }, "noSvgWithoutTitle" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); @@ -411,6 +484,29 @@ impl VisitNode for A11y { )); } }, + "useAriaPropTypes" => match value { + AnyJsonValue::JsonStringValue(_) => { + let mut configuration = RuleConfiguration::default(); + self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; + self.use_aria_prop_types = Some(configuration); + } + AnyJsonValue::JsonObjectValue(_) => { + let mut rule_configuration = RuleConfiguration::default(); + rule_configuration.map_rule_configuration( + &value, + name_text, + "useAriaPropTypes", + diagnostics, + )?; + self.use_aria_prop_types = Some(rule_configuration); + } + _ => { + diagnostics.push(DeserializationDiagnostic::new_incorrect_type( + "object or string", + value.range(), + )); + } + }, "useAriaPropsForRole" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); @@ -680,15 +776,19 @@ impl VisitNode for Complexity { &[ "recommended", "all", + "noBannedTypes", "noExtraBooleanCast", "noForEach", "noMultipleSpacesInRegularExpressionLiterals", + "noStaticOnlyClass", "noUselessCatch", "noUselessConstructor", + "noUselessEmptyExport", "noUselessFragments", "noUselessLabel", "noUselessRename", "noUselessSwitchCase", + "noUselessThisAlias", "noUselessTypeConstraint", "noWith", "useFlatMap", @@ -715,6 +815,29 @@ impl VisitNode for Complexity { "all" => { self.all = Some(self.map_to_boolean(&value, name_text, diagnostics)?); } + "noBannedTypes" => match value { + AnyJsonValue::JsonStringValue(_) => { + let mut configuration = RuleConfiguration::default(); + self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; + self.no_banned_types = Some(configuration); + } + AnyJsonValue::JsonObjectValue(_) => { + let mut rule_configuration = RuleConfiguration::default(); + rule_configuration.map_rule_configuration( + &value, + name_text, + "noBannedTypes", + diagnostics, + )?; + self.no_banned_types = Some(rule_configuration); + } + _ => { + diagnostics.push(DeserializationDiagnostic::new_incorrect_type( + "object or string", + value.range(), + )); + } + }, "noExtraBooleanCast" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); @@ -785,6 +908,29 @@ impl VisitNode for Complexity { )); } }, + "noStaticOnlyClass" => match value { + AnyJsonValue::JsonStringValue(_) => { + let mut configuration = RuleConfiguration::default(); + self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; + self.no_static_only_class = Some(configuration); + } + AnyJsonValue::JsonObjectValue(_) => { + let mut rule_configuration = RuleConfiguration::default(); + rule_configuration.map_rule_configuration( + &value, + name_text, + "noStaticOnlyClass", + diagnostics, + )?; + self.no_static_only_class = Some(rule_configuration); + } + _ => { + diagnostics.push(DeserializationDiagnostic::new_incorrect_type( + "object or string", + value.range(), + )); + } + }, "noUselessCatch" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); @@ -831,6 +977,29 @@ impl VisitNode for Complexity { )); } }, + "noUselessEmptyExport" => match value { + AnyJsonValue::JsonStringValue(_) => { + let mut configuration = RuleConfiguration::default(); + self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; + self.no_useless_empty_export = Some(configuration); + } + AnyJsonValue::JsonObjectValue(_) => { + let mut rule_configuration = RuleConfiguration::default(); + rule_configuration.map_rule_configuration( + &value, + name_text, + "noUselessEmptyExport", + diagnostics, + )?; + self.no_useless_empty_export = Some(rule_configuration); + } + _ => { + diagnostics.push(DeserializationDiagnostic::new_incorrect_type( + "object or string", + value.range(), + )); + } + }, "noUselessFragments" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); @@ -923,6 +1092,29 @@ impl VisitNode for Complexity { )); } }, + "noUselessThisAlias" => match value { + AnyJsonValue::JsonStringValue(_) => { + let mut configuration = RuleConfiguration::default(); + self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; + self.no_useless_this_alias = Some(configuration); + } + AnyJsonValue::JsonObjectValue(_) => { + let mut rule_configuration = RuleConfiguration::default(); + rule_configuration.map_rule_configuration( + &value, + name_text, + "noUselessThisAlias", + diagnostics, + )?; + self.no_useless_this_alias = Some(rule_configuration); + } + _ => { + diagnostics.push(DeserializationDiagnostic::new_incorrect_type( + "object or string", + value.range(), + )); + } + }, "noUselessTypeConstraint" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); @@ -1102,14 +1294,17 @@ impl VisitNode for Correctness { "all", "noChildrenProp", "noConstAssign", + "noConstantCondition", "noConstructorReturn", "noEmptyPattern", "noGlobalObjectCalls", "noInnerDeclarations", "noInvalidConstructorSuper", "noNewSymbol", + "noNonoctalDecimalEscape", "noPrecisionLoss", "noRenderReturnValue", + "noSelfAssign", "noSetterReturn", "noStringCaseMismatch", "noSwitchDeclarations", @@ -1191,6 +1386,29 @@ impl VisitNode for Correctness { )); } }, + "noConstantCondition" => match value { + AnyJsonValue::JsonStringValue(_) => { + let mut configuration = RuleConfiguration::default(); + self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; + self.no_constant_condition = Some(configuration); + } + AnyJsonValue::JsonObjectValue(_) => { + let mut rule_configuration = RuleConfiguration::default(); + rule_configuration.map_rule_configuration( + &value, + name_text, + "noConstantCondition", + diagnostics, + )?; + self.no_constant_condition = Some(rule_configuration); + } + _ => { + diagnostics.push(DeserializationDiagnostic::new_incorrect_type( + "object or string", + value.range(), + )); + } + }, "noConstructorReturn" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); @@ -1329,21 +1547,21 @@ impl VisitNode for Correctness { )); } }, - "noPrecisionLoss" => match value { + "noNonoctalDecimalEscape" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_precision_loss = Some(configuration); + self.no_nonoctal_decimal_escape = Some(configuration); } AnyJsonValue::JsonObjectValue(_) => { let mut rule_configuration = RuleConfiguration::default(); rule_configuration.map_rule_configuration( &value, name_text, - "noPrecisionLoss", + "noNonoctalDecimalEscape", diagnostics, )?; - self.no_precision_loss = Some(rule_configuration); + self.no_nonoctal_decimal_escape = Some(rule_configuration); } _ => { diagnostics.push(DeserializationDiagnostic::new_incorrect_type( @@ -1352,21 +1570,21 @@ impl VisitNode for Correctness { )); } }, - "noRenderReturnValue" => match value { + "noPrecisionLoss" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_render_return_value = Some(configuration); + self.no_precision_loss = Some(configuration); } AnyJsonValue::JsonObjectValue(_) => { let mut rule_configuration = RuleConfiguration::default(); rule_configuration.map_rule_configuration( &value, name_text, - "noRenderReturnValue", + "noPrecisionLoss", diagnostics, )?; - self.no_render_return_value = Some(rule_configuration); + self.no_precision_loss = Some(rule_configuration); } _ => { diagnostics.push(DeserializationDiagnostic::new_incorrect_type( @@ -1375,21 +1593,21 @@ impl VisitNode for Correctness { )); } }, - "noSetterReturn" => match value { + "noRenderReturnValue" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_setter_return = Some(configuration); + self.no_render_return_value = Some(configuration); } AnyJsonValue::JsonObjectValue(_) => { let mut rule_configuration = RuleConfiguration::default(); rule_configuration.map_rule_configuration( &value, name_text, - "noSetterReturn", + "noRenderReturnValue", diagnostics, )?; - self.no_setter_return = Some(rule_configuration); + self.no_render_return_value = Some(rule_configuration); } _ => { diagnostics.push(DeserializationDiagnostic::new_incorrect_type( @@ -1398,21 +1616,21 @@ impl VisitNode for Correctness { )); } }, - "noStringCaseMismatch" => match value { + "noSelfAssign" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_string_case_mismatch = Some(configuration); + self.no_self_assign = Some(configuration); } AnyJsonValue::JsonObjectValue(_) => { let mut rule_configuration = RuleConfiguration::default(); rule_configuration.map_rule_configuration( &value, name_text, - "noStringCaseMismatch", + "noSelfAssign", diagnostics, )?; - self.no_string_case_mismatch = Some(rule_configuration); + self.no_self_assign = Some(rule_configuration); } _ => { diagnostics.push(DeserializationDiagnostic::new_incorrect_type( @@ -1421,18 +1639,64 @@ impl VisitNode for Correctness { )); } }, - "noSwitchDeclarations" => match value { + "noSetterReturn" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_switch_declarations = Some(configuration); + self.no_setter_return = Some(configuration); } AnyJsonValue::JsonObjectValue(_) => { let mut rule_configuration = RuleConfiguration::default(); rule_configuration.map_rule_configuration( &value, name_text, - "noSwitchDeclarations", + "noSetterReturn", + diagnostics, + )?; + self.no_setter_return = Some(rule_configuration); + } + _ => { + diagnostics.push(DeserializationDiagnostic::new_incorrect_type( + "object or string", + value.range(), + )); + } + }, + "noStringCaseMismatch" => match value { + AnyJsonValue::JsonStringValue(_) => { + let mut configuration = RuleConfiguration::default(); + self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; + self.no_string_case_mismatch = Some(configuration); + } + AnyJsonValue::JsonObjectValue(_) => { + let mut rule_configuration = RuleConfiguration::default(); + rule_configuration.map_rule_configuration( + &value, + name_text, + "noStringCaseMismatch", + diagnostics, + )?; + self.no_string_case_mismatch = Some(rule_configuration); + } + _ => { + diagnostics.push(DeserializationDiagnostic::new_incorrect_type( + "object or string", + value.range(), + )); + } + }, + "noSwitchDeclarations" => match value { + AnyJsonValue::JsonStringValue(_) => { + let mut configuration = RuleConfiguration::default(); + self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; + self.no_switch_declarations = Some(configuration); + } + AnyJsonValue::JsonObjectValue(_) => { + let mut rule_configuration = RuleConfiguration::default(); + rule_configuration.map_rule_configuration( + &value, + name_text, + "noSwitchDeclarations", diagnostics, )?; self.no_switch_declarations = Some(rule_configuration); @@ -1760,36 +2024,20 @@ impl VisitNode for Nursery { "recommended", "all", "noAccumulatingSpread", - "noAriaUnsupportedElements", - "noBannedTypes", "noConfusingVoidType", - "noConstantCondition", - "noControlCharactersInRegex", "noDuplicateJsonKeys", "noExcessiveComplexity", "noFallthroughSwitchClause", "noGlobalIsFinite", "noGlobalIsNan", - "noNoninteractiveTabindex", - "noNonoctalDecimalEscape", - "noRedundantRoles", - "noSelfAssign", - "noStaticOnlyClass", - "noUnsafeDeclarationMerging", - "noUselessEmptyExport", - "noUselessThisAlias", "noVoid", - "useAriaPropTypes", "useArrowFunction", "useCollapsedElseIf", "useExhaustiveDependencies", - "useGetterReturn", "useGroupedTypeImport", "useHookAtTopLevel", "useImportRestrictions", "useIsArray", - "useLiteralEnumMembers", - "useNamingConvention", ], diagnostics, ) @@ -1805,324 +2053,25 @@ impl VisitNode for Nursery { match name_text { "recommended" => { self.recommended = Some(self.map_to_boolean(&value, name_text, diagnostics)?); - } - "all" => { - self.all = Some(self.map_to_boolean(&value, name_text, diagnostics)?); - } - "noAccumulatingSpread" => match value { - AnyJsonValue::JsonStringValue(_) => { - let mut configuration = RuleConfiguration::default(); - self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_accumulating_spread = Some(configuration); - } - AnyJsonValue::JsonObjectValue(_) => { - let mut rule_configuration = RuleConfiguration::default(); - rule_configuration.map_rule_configuration( - &value, - name_text, - "noAccumulatingSpread", - diagnostics, - )?; - self.no_accumulating_spread = Some(rule_configuration); - } - _ => { - diagnostics.push(DeserializationDiagnostic::new_incorrect_type( - "object or string", - value.range(), - )); - } - }, - "noAriaUnsupportedElements" => match value { - AnyJsonValue::JsonStringValue(_) => { - let mut configuration = RuleConfiguration::default(); - self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_aria_unsupported_elements = Some(configuration); - } - AnyJsonValue::JsonObjectValue(_) => { - let mut rule_configuration = RuleConfiguration::default(); - rule_configuration.map_rule_configuration( - &value, - name_text, - "noAriaUnsupportedElements", - diagnostics, - )?; - self.no_aria_unsupported_elements = Some(rule_configuration); - } - _ => { - diagnostics.push(DeserializationDiagnostic::new_incorrect_type( - "object or string", - value.range(), - )); - } - }, - "noBannedTypes" => match value { - AnyJsonValue::JsonStringValue(_) => { - let mut configuration = RuleConfiguration::default(); - self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_banned_types = Some(configuration); - } - AnyJsonValue::JsonObjectValue(_) => { - let mut rule_configuration = RuleConfiguration::default(); - rule_configuration.map_rule_configuration( - &value, - name_text, - "noBannedTypes", - diagnostics, - )?; - self.no_banned_types = Some(rule_configuration); - } - _ => { - diagnostics.push(DeserializationDiagnostic::new_incorrect_type( - "object or string", - value.range(), - )); - } - }, - "noConfusingVoidType" => match value { - AnyJsonValue::JsonStringValue(_) => { - let mut configuration = RuleConfiguration::default(); - self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_confusing_void_type = Some(configuration); - } - AnyJsonValue::JsonObjectValue(_) => { - let mut rule_configuration = RuleConfiguration::default(); - rule_configuration.map_rule_configuration( - &value, - name_text, - "noConfusingVoidType", - diagnostics, - )?; - self.no_confusing_void_type = Some(rule_configuration); - } - _ => { - diagnostics.push(DeserializationDiagnostic::new_incorrect_type( - "object or string", - value.range(), - )); - } - }, - "noConstantCondition" => match value { - AnyJsonValue::JsonStringValue(_) => { - let mut configuration = RuleConfiguration::default(); - self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_constant_condition = Some(configuration); - } - AnyJsonValue::JsonObjectValue(_) => { - let mut rule_configuration = RuleConfiguration::default(); - rule_configuration.map_rule_configuration( - &value, - name_text, - "noConstantCondition", - diagnostics, - )?; - self.no_constant_condition = Some(rule_configuration); - } - _ => { - diagnostics.push(DeserializationDiagnostic::new_incorrect_type( - "object or string", - value.range(), - )); - } - }, - "noControlCharactersInRegex" => match value { - AnyJsonValue::JsonStringValue(_) => { - let mut configuration = RuleConfiguration::default(); - self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_control_characters_in_regex = Some(configuration); - } - AnyJsonValue::JsonObjectValue(_) => { - let mut rule_configuration = RuleConfiguration::default(); - rule_configuration.map_rule_configuration( - &value, - name_text, - "noControlCharactersInRegex", - diagnostics, - )?; - self.no_control_characters_in_regex = Some(rule_configuration); - } - _ => { - diagnostics.push(DeserializationDiagnostic::new_incorrect_type( - "object or string", - value.range(), - )); - } - }, - "noDuplicateJsonKeys" => match value { - AnyJsonValue::JsonStringValue(_) => { - let mut configuration = RuleConfiguration::default(); - self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_duplicate_json_keys = Some(configuration); - } - AnyJsonValue::JsonObjectValue(_) => { - let mut rule_configuration = RuleConfiguration::default(); - rule_configuration.map_rule_configuration( - &value, - name_text, - "noDuplicateJsonKeys", - diagnostics, - )?; - self.no_duplicate_json_keys = Some(rule_configuration); - } - _ => { - diagnostics.push(DeserializationDiagnostic::new_incorrect_type( - "object or string", - value.range(), - )); - } - }, - "noExcessiveComplexity" => match value { - AnyJsonValue::JsonStringValue(_) => { - let mut configuration = RuleConfiguration::default(); - self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_excessive_complexity = Some(configuration); - } - AnyJsonValue::JsonObjectValue(_) => { - let mut rule_configuration = RuleConfiguration::default(); - rule_configuration.map_rule_configuration( - &value, - name_text, - "noExcessiveComplexity", - diagnostics, - )?; - self.no_excessive_complexity = Some(rule_configuration); - } - _ => { - diagnostics.push(DeserializationDiagnostic::new_incorrect_type( - "object or string", - value.range(), - )); - } - }, - "noFallthroughSwitchClause" => match value { - AnyJsonValue::JsonStringValue(_) => { - let mut configuration = RuleConfiguration::default(); - self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_fallthrough_switch_clause = Some(configuration); - } - AnyJsonValue::JsonObjectValue(_) => { - let mut rule_configuration = RuleConfiguration::default(); - rule_configuration.map_rule_configuration( - &value, - name_text, - "noFallthroughSwitchClause", - diagnostics, - )?; - self.no_fallthrough_switch_clause = Some(rule_configuration); - } - _ => { - diagnostics.push(DeserializationDiagnostic::new_incorrect_type( - "object or string", - value.range(), - )); - } - }, - "noGlobalIsFinite" => match value { - AnyJsonValue::JsonStringValue(_) => { - let mut configuration = RuleConfiguration::default(); - self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_global_is_finite = Some(configuration); - } - AnyJsonValue::JsonObjectValue(_) => { - let mut rule_configuration = RuleConfiguration::default(); - rule_configuration.map_rule_configuration( - &value, - name_text, - "noGlobalIsFinite", - diagnostics, - )?; - self.no_global_is_finite = Some(rule_configuration); - } - _ => { - diagnostics.push(DeserializationDiagnostic::new_incorrect_type( - "object or string", - value.range(), - )); - } - }, - "noGlobalIsNan" => match value { - AnyJsonValue::JsonStringValue(_) => { - let mut configuration = RuleConfiguration::default(); - self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_global_is_nan = Some(configuration); - } - AnyJsonValue::JsonObjectValue(_) => { - let mut rule_configuration = RuleConfiguration::default(); - rule_configuration.map_rule_configuration( - &value, - name_text, - "noGlobalIsNan", - diagnostics, - )?; - self.no_global_is_nan = Some(rule_configuration); - } - _ => { - diagnostics.push(DeserializationDiagnostic::new_incorrect_type( - "object or string", - value.range(), - )); - } - }, - "noNoninteractiveTabindex" => match value { - AnyJsonValue::JsonStringValue(_) => { - let mut configuration = RuleConfiguration::default(); - self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_noninteractive_tabindex = Some(configuration); - } - AnyJsonValue::JsonObjectValue(_) => { - let mut rule_configuration = RuleConfiguration::default(); - rule_configuration.map_rule_configuration( - &value, - name_text, - "noNoninteractiveTabindex", - diagnostics, - )?; - self.no_noninteractive_tabindex = Some(rule_configuration); - } - _ => { - diagnostics.push(DeserializationDiagnostic::new_incorrect_type( - "object or string", - value.range(), - )); - } - }, - "noNonoctalDecimalEscape" => match value { - AnyJsonValue::JsonStringValue(_) => { - let mut configuration = RuleConfiguration::default(); - self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_nonoctal_decimal_escape = Some(configuration); - } - AnyJsonValue::JsonObjectValue(_) => { - let mut rule_configuration = RuleConfiguration::default(); - rule_configuration.map_rule_configuration( - &value, - name_text, - "noNonoctalDecimalEscape", - diagnostics, - )?; - self.no_nonoctal_decimal_escape = Some(rule_configuration); - } - _ => { - diagnostics.push(DeserializationDiagnostic::new_incorrect_type( - "object or string", - value.range(), - )); - } - }, - "noRedundantRoles" => match value { + } + "all" => { + self.all = Some(self.map_to_boolean(&value, name_text, diagnostics)?); + } + "noAccumulatingSpread" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_redundant_roles = Some(configuration); + self.no_accumulating_spread = Some(configuration); } AnyJsonValue::JsonObjectValue(_) => { let mut rule_configuration = RuleConfiguration::default(); rule_configuration.map_rule_configuration( &value, name_text, - "noRedundantRoles", + "noAccumulatingSpread", diagnostics, )?; - self.no_redundant_roles = Some(rule_configuration); + self.no_accumulating_spread = Some(rule_configuration); } _ => { diagnostics.push(DeserializationDiagnostic::new_incorrect_type( @@ -2131,21 +2080,21 @@ impl VisitNode for Nursery { )); } }, - "noSelfAssign" => match value { + "noConfusingVoidType" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_self_assign = Some(configuration); + self.no_confusing_void_type = Some(configuration); } AnyJsonValue::JsonObjectValue(_) => { let mut rule_configuration = RuleConfiguration::default(); rule_configuration.map_rule_configuration( &value, name_text, - "noSelfAssign", + "noConfusingVoidType", diagnostics, )?; - self.no_self_assign = Some(rule_configuration); + self.no_confusing_void_type = Some(rule_configuration); } _ => { diagnostics.push(DeserializationDiagnostic::new_incorrect_type( @@ -2154,21 +2103,21 @@ impl VisitNode for Nursery { )); } }, - "noStaticOnlyClass" => match value { + "noDuplicateJsonKeys" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_static_only_class = Some(configuration); + self.no_duplicate_json_keys = Some(configuration); } AnyJsonValue::JsonObjectValue(_) => { let mut rule_configuration = RuleConfiguration::default(); rule_configuration.map_rule_configuration( &value, name_text, - "noStaticOnlyClass", + "noDuplicateJsonKeys", diagnostics, )?; - self.no_static_only_class = Some(rule_configuration); + self.no_duplicate_json_keys = Some(rule_configuration); } _ => { diagnostics.push(DeserializationDiagnostic::new_incorrect_type( @@ -2177,21 +2126,21 @@ impl VisitNode for Nursery { )); } }, - "noUnsafeDeclarationMerging" => match value { + "noExcessiveComplexity" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_unsafe_declaration_merging = Some(configuration); + self.no_excessive_complexity = Some(configuration); } AnyJsonValue::JsonObjectValue(_) => { let mut rule_configuration = RuleConfiguration::default(); rule_configuration.map_rule_configuration( &value, name_text, - "noUnsafeDeclarationMerging", + "noExcessiveComplexity", diagnostics, )?; - self.no_unsafe_declaration_merging = Some(rule_configuration); + self.no_excessive_complexity = Some(rule_configuration); } _ => { diagnostics.push(DeserializationDiagnostic::new_incorrect_type( @@ -2200,21 +2149,21 @@ impl VisitNode for Nursery { )); } }, - "noUselessEmptyExport" => match value { + "noFallthroughSwitchClause" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_useless_empty_export = Some(configuration); + self.no_fallthrough_switch_clause = Some(configuration); } AnyJsonValue::JsonObjectValue(_) => { let mut rule_configuration = RuleConfiguration::default(); rule_configuration.map_rule_configuration( &value, name_text, - "noUselessEmptyExport", + "noFallthroughSwitchClause", diagnostics, )?; - self.no_useless_empty_export = Some(rule_configuration); + self.no_fallthrough_switch_clause = Some(rule_configuration); } _ => { diagnostics.push(DeserializationDiagnostic::new_incorrect_type( @@ -2223,21 +2172,21 @@ impl VisitNode for Nursery { )); } }, - "noUselessThisAlias" => match value { + "noGlobalIsFinite" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_useless_this_alias = Some(configuration); + self.no_global_is_finite = Some(configuration); } AnyJsonValue::JsonObjectValue(_) => { let mut rule_configuration = RuleConfiguration::default(); rule_configuration.map_rule_configuration( &value, name_text, - "noUselessThisAlias", + "noGlobalIsFinite", diagnostics, )?; - self.no_useless_this_alias = Some(rule_configuration); + self.no_global_is_finite = Some(rule_configuration); } _ => { diagnostics.push(DeserializationDiagnostic::new_incorrect_type( @@ -2246,21 +2195,21 @@ impl VisitNode for Nursery { )); } }, - "noVoid" => match value { + "noGlobalIsNan" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.no_void = Some(configuration); + self.no_global_is_nan = Some(configuration); } AnyJsonValue::JsonObjectValue(_) => { let mut rule_configuration = RuleConfiguration::default(); rule_configuration.map_rule_configuration( &value, name_text, - "noVoid", + "noGlobalIsNan", diagnostics, )?; - self.no_void = Some(rule_configuration); + self.no_global_is_nan = Some(rule_configuration); } _ => { diagnostics.push(DeserializationDiagnostic::new_incorrect_type( @@ -2269,21 +2218,21 @@ impl VisitNode for Nursery { )); } }, - "useAriaPropTypes" => match value { + "noVoid" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.use_aria_prop_types = Some(configuration); + self.no_void = Some(configuration); } AnyJsonValue::JsonObjectValue(_) => { let mut rule_configuration = RuleConfiguration::default(); rule_configuration.map_rule_configuration( &value, name_text, - "useAriaPropTypes", + "noVoid", diagnostics, )?; - self.use_aria_prop_types = Some(rule_configuration); + self.no_void = Some(rule_configuration); } _ => { diagnostics.push(DeserializationDiagnostic::new_incorrect_type( @@ -2361,29 +2310,6 @@ impl VisitNode for Nursery { )); } }, - "useGetterReturn" => match value { - AnyJsonValue::JsonStringValue(_) => { - let mut configuration = RuleConfiguration::default(); - self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.use_getter_return = Some(configuration); - } - AnyJsonValue::JsonObjectValue(_) => { - let mut rule_configuration = RuleConfiguration::default(); - rule_configuration.map_rule_configuration( - &value, - name_text, - "useGetterReturn", - diagnostics, - )?; - self.use_getter_return = Some(rule_configuration); - } - _ => { - diagnostics.push(DeserializationDiagnostic::new_incorrect_type( - "object or string", - value.range(), - )); - } - }, "useGroupedTypeImport" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); @@ -2476,52 +2402,6 @@ impl VisitNode for Nursery { )); } }, - "useLiteralEnumMembers" => match value { - AnyJsonValue::JsonStringValue(_) => { - let mut configuration = RuleConfiguration::default(); - self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.use_literal_enum_members = Some(configuration); - } - AnyJsonValue::JsonObjectValue(_) => { - let mut rule_configuration = RuleConfiguration::default(); - rule_configuration.map_rule_configuration( - &value, - name_text, - "useLiteralEnumMembers", - diagnostics, - )?; - self.use_literal_enum_members = Some(rule_configuration); - } - _ => { - diagnostics.push(DeserializationDiagnostic::new_incorrect_type( - "object or string", - value.range(), - )); - } - }, - "useNamingConvention" => match value { - AnyJsonValue::JsonStringValue(_) => { - let mut configuration = RuleConfiguration::default(); - self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; - self.use_naming_convention = Some(configuration); - } - AnyJsonValue::JsonObjectValue(_) => { - let mut rule_configuration = RuleConfiguration::default(); - rule_configuration.map_rule_configuration( - &value, - name_text, - "useNamingConvention", - diagnostics, - )?; - self.use_naming_convention = Some(rule_configuration); - } - _ => { - diagnostics.push(DeserializationDiagnostic::new_incorrect_type( - "object or string", - value.range(), - )); - } - }, _ => {} } Some(()) @@ -2691,6 +2571,8 @@ impl VisitNode for Style { "useEnumInitializers", "useExponentiationOperator", "useFragmentSyntax", + "useLiteralEnumMembers", + "useNamingConvention", "useNumericLiterals", "useSelfClosingElements", "useShorthandArrayType", @@ -3154,6 +3036,52 @@ impl VisitNode for Style { )); } }, + "useLiteralEnumMembers" => match value { + AnyJsonValue::JsonStringValue(_) => { + let mut configuration = RuleConfiguration::default(); + self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; + self.use_literal_enum_members = Some(configuration); + } + AnyJsonValue::JsonObjectValue(_) => { + let mut rule_configuration = RuleConfiguration::default(); + rule_configuration.map_rule_configuration( + &value, + name_text, + "useLiteralEnumMembers", + diagnostics, + )?; + self.use_literal_enum_members = Some(rule_configuration); + } + _ => { + diagnostics.push(DeserializationDiagnostic::new_incorrect_type( + "object or string", + value.range(), + )); + } + }, + "useNamingConvention" => match value { + AnyJsonValue::JsonStringValue(_) => { + let mut configuration = RuleConfiguration::default(); + self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; + self.use_naming_convention = Some(configuration); + } + AnyJsonValue::JsonObjectValue(_) => { + let mut rule_configuration = RuleConfiguration::default(); + rule_configuration.map_rule_configuration( + &value, + name_text, + "useNamingConvention", + diagnostics, + )?; + self.use_naming_convention = Some(rule_configuration); + } + _ => { + diagnostics.push(DeserializationDiagnostic::new_incorrect_type( + "object or string", + value.range(), + )); + } + }, "useNumericLiterals" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); @@ -3341,6 +3269,7 @@ impl VisitNode for Suspicious { "noConfusingLabels", "noConsoleLog", "noConstEnum", + "noControlCharactersInRegex", "noDebugger", "noDoubleEquals", "noDuplicateCase", @@ -3360,8 +3289,10 @@ impl VisitNode for Suspicious { "noSelfCompare", "noShadowRestrictedNames", "noSparseArray", + "noUnsafeDeclarationMerging", "noUnsafeNegation", "useDefaultSwitchClauseLast", + "useGetterReturn", "useNamespaceKeyword", "useValidTypeof", ], @@ -3613,6 +3544,29 @@ impl VisitNode for Suspicious { )); } }, + "noControlCharactersInRegex" => match value { + AnyJsonValue::JsonStringValue(_) => { + let mut configuration = RuleConfiguration::default(); + self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; + self.no_control_characters_in_regex = Some(configuration); + } + AnyJsonValue::JsonObjectValue(_) => { + let mut rule_configuration = RuleConfiguration::default(); + rule_configuration.map_rule_configuration( + &value, + name_text, + "noControlCharactersInRegex", + diagnostics, + )?; + self.no_control_characters_in_regex = Some(rule_configuration); + } + _ => { + diagnostics.push(DeserializationDiagnostic::new_incorrect_type( + "object or string", + value.range(), + )); + } + }, "noDebugger" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); @@ -4050,6 +4004,29 @@ impl VisitNode for Suspicious { )); } }, + "noUnsafeDeclarationMerging" => match value { + AnyJsonValue::JsonStringValue(_) => { + let mut configuration = RuleConfiguration::default(); + self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; + self.no_unsafe_declaration_merging = Some(configuration); + } + AnyJsonValue::JsonObjectValue(_) => { + let mut rule_configuration = RuleConfiguration::default(); + rule_configuration.map_rule_configuration( + &value, + name_text, + "noUnsafeDeclarationMerging", + diagnostics, + )?; + self.no_unsafe_declaration_merging = Some(rule_configuration); + } + _ => { + diagnostics.push(DeserializationDiagnostic::new_incorrect_type( + "object or string", + value.range(), + )); + } + }, "noUnsafeNegation" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); @@ -4096,6 +4073,29 @@ impl VisitNode for Suspicious { )); } }, + "useGetterReturn" => match value { + AnyJsonValue::JsonStringValue(_) => { + let mut configuration = RuleConfiguration::default(); + self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?; + self.use_getter_return = Some(configuration); + } + AnyJsonValue::JsonObjectValue(_) => { + let mut rule_configuration = RuleConfiguration::default(); + rule_configuration.map_rule_configuration( + &value, + name_text, + "useGetterReturn", + diagnostics, + )?; + self.use_getter_return = Some(rule_configuration); + } + _ => { + diagnostics.push(DeserializationDiagnostic::new_incorrect_type( + "object or string", + value.range(), + )); + } + }, "useNamespaceKeyword" => match value { AnyJsonValue::JsonStringValue(_) => { let mut configuration = RuleConfiguration::default(); diff --git a/crates/biome_service/tests/invalid/naming_convention_incorrect_options.json b/crates/biome_service/tests/invalid/naming_convention_incorrect_options.json index e8d5ccad6349..467cc7b176a1 100644 --- a/crates/biome_service/tests/invalid/naming_convention_incorrect_options.json +++ b/crates/biome_service/tests/invalid/naming_convention_incorrect_options.json @@ -2,7 +2,7 @@ "$schema": "../../../../packages/@biomejs/biome/configuration_schema.json", "linter": { "rules": { - "nursery": { + "style": { "useNamingConvention": { "level": "error", "options": { diff --git a/editors/vscode/configuration_schema.json b/editors/vscode/configuration_schema.json index 4c46f1a2fe35..02eaee8cffc5 100644 --- a/editors/vscode/configuration_schema.json +++ b/editors/vscode/configuration_schema.json @@ -76,6 +76,13 @@ { "type": "null" } ] }, + "noAriaUnsupportedElements": { + "description": "Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noAutofocus": { "description": "Enforce that autoFocus prop is not used on elements.", "anyOf": [ @@ -111,6 +118,13 @@ { "type": "null" } ] }, + "noNoninteractiveTabindex": { + "description": "Enforce that tabIndex is not assigned to non-interactive HTML elements.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noPositiveTabindex": { "description": "Prevent the usage of positive integers on tabIndex property", "anyOf": [ @@ -125,6 +139,13 @@ { "type": "null" } ] }, + "noRedundantRoles": { + "description": "Enforce explicit role property is not the same as implicit/default role property on an element.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noSvgWithoutTitle": { "description": "Enforces the usage of the title element for the svg element.", "anyOf": [ @@ -150,6 +171,13 @@ { "type": "null" } ] }, + "useAriaPropTypes": { + "description": "Enforce that ARIA state and property values are valid.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "useAriaPropsForRole": { "description": "Enforce that elements with ARIA roles must have all required ARIA attributes for that role.", "anyOf": [ @@ -238,6 +266,13 @@ "description": "It enables ALL rules for this group.", "type": ["boolean", "null"] }, + "noBannedTypes": { + "description": "Disallow primitive type aliases and misleading types.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noExtraBooleanCast": { "description": "Disallow unnecessary boolean casts", "anyOf": [ @@ -259,6 +294,13 @@ { "type": "null" } ] }, + "noStaticOnlyClass": { + "description": "This rule reports when a class has no non-static members, such as for a class used exclusively as a static namespace.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noUselessCatch": { "description": "Disallow unnecessary catch clauses.", "anyOf": [ @@ -273,6 +315,13 @@ { "type": "null" } ] }, + "noUselessEmptyExport": { + "description": "Disallow empty exports that don't change anything in a module file.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noUselessFragments": { "description": "Disallow unnecessary fragments", "anyOf": [ @@ -301,6 +350,13 @@ { "type": "null" } ] }, + "noUselessThisAlias": { + "description": "Disallow useless this aliasing.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noUselessTypeConstraint": { "description": "Disallow using any or unknown as type constraint.", "anyOf": [ @@ -392,6 +448,13 @@ { "type": "null" } ] }, + "noConstantCondition": { + "description": "Disallow constant expressions in conditions", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noConstructorReturn": { "description": "Disallow returning a value from a constructor.", "anyOf": [ @@ -434,6 +497,13 @@ { "type": "null" } ] }, + "noNonoctalDecimalEscape": { + "description": "Disallow \\8 and \\9 escape sequences in string literals.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noPrecisionLoss": { "description": "Disallow literal numbers that lose precision", "anyOf": [ @@ -448,6 +518,13 @@ { "type": "null" } ] }, + "noSelfAssign": { + "description": "Disallow assignments where both sides are exactly the same.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noSetterReturn": { "description": "Disallow returning a value from a setter", "anyOf": [ @@ -895,20 +972,6 @@ { "type": "null" } ] }, - "noAriaUnsupportedElements": { - "description": "Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, - "noBannedTypes": { - "description": "Disallow primitive type aliases and misleading types.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, "noConfusingVoidType": { "description": "Disallow void type outside of generic or return types.", "anyOf": [ @@ -916,20 +979,6 @@ { "type": "null" } ] }, - "noConstantCondition": { - "description": "Disallow constant expressions in conditions", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, - "noControlCharactersInRegex": { - "description": "Prevents from having control characters and some escape sequences that match control characters in regular expressions.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, "noDuplicateJsonKeys": { "description": "Disallow two keys with the same name inside a JSON object.", "anyOf": [ @@ -965,62 +1014,6 @@ { "type": "null" } ] }, - "noNoninteractiveTabindex": { - "description": "Enforce that tabIndex is not assigned to non-interactive HTML elements.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, - "noNonoctalDecimalEscape": { - "description": "Disallow \\8 and \\9 escape sequences in string literals.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, - "noRedundantRoles": { - "description": "Enforce explicit role property is not the same as implicit/default role property on an element.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, - "noSelfAssign": { - "description": "Disallow assignments where both sides are exactly the same.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, - "noStaticOnlyClass": { - "description": "This rule reports when a class has no non-static members, such as for a class used exclusively as a static namespace.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, - "noUnsafeDeclarationMerging": { - "description": "Disallow unsafe declaration merging between interfaces and classes.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, - "noUselessEmptyExport": { - "description": "Disallow empty exports that don't change anything in a module file.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, - "noUselessThisAlias": { - "description": "Disallow useless this aliasing.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, "noVoid": { "description": "Disallow the use of void operators, which is not a familiar operator.", "anyOf": [ @@ -1032,13 +1025,6 @@ "description": "It enables the recommended rules for this group", "type": ["boolean", "null"] }, - "useAriaPropTypes": { - "description": "Enforce that ARIA state and property values are valid.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, "useArrowFunction": { "description": "Use arrow functions over function expressions.", "anyOf": [ @@ -1060,13 +1046,6 @@ { "type": "null" } ] }, - "useGetterReturn": { - "description": "Enforce get methods to always return a value.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, "useGroupedTypeImport": { "description": "Enforce the use of import type when an import only has specifiers with type qualifier.", "anyOf": [ @@ -1094,20 +1073,6 @@ { "$ref": "#/definitions/RuleConfiguration" }, { "type": "null" } ] - }, - "useLiteralEnumMembers": { - "description": "Require all enum members to be literal values.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, - "useNamingConvention": { - "description": "Enforce naming conventions for everything across a codebase.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] } } }, @@ -1429,6 +1394,20 @@ { "type": "null" } ] }, + "useLiteralEnumMembers": { + "description": "Require all enum members to be literal values.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, + "useNamingConvention": { + "description": "Enforce naming conventions for everything across a codebase.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "useNumericLiterals": { "description": "Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals", "anyOf": [ @@ -1558,6 +1537,13 @@ { "type": "null" } ] }, + "noControlCharactersInRegex": { + "description": "Prevents from having control characters and some escape sequences that match control characters in regular expressions.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noDebugger": { "description": "Disallow the use of debugger", "anyOf": [ @@ -1691,6 +1677,13 @@ { "type": "null" } ] }, + "noUnsafeDeclarationMerging": { + "description": "Disallow unsafe declaration merging between interfaces and classes.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noUnsafeNegation": { "description": "Disallow using unsafe negation.", "anyOf": [ @@ -1709,6 +1702,13 @@ { "type": "null" } ] }, + "useGetterReturn": { + "description": "Enforce get methods to always return a value.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "useNamespaceKeyword": { "description": "Require using the namespace keyword over the module keyword to declare TypeScript namespaces.", "anyOf": [ diff --git a/packages/@biomejs/backend-jsonrpc/src/workspace.ts b/packages/@biomejs/backend-jsonrpc/src/workspace.ts index 88cb0209e165..b884fc64c2f5 100644 --- a/packages/@biomejs/backend-jsonrpc/src/workspace.ts +++ b/packages/@biomejs/backend-jsonrpc/src/workspace.ts @@ -314,6 +314,10 @@ export interface A11y { * Enforce that the accessKey attribute is not used on any HTML element. */ noAccessKey?: RuleConfiguration; + /** + * Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes. + */ + noAriaUnsupportedElements?: RuleConfiguration; /** * Enforce that autoFocus prop is not used on elements. */ @@ -334,6 +338,10 @@ export interface A11y { * Enforce that interactive ARIA roles are not assigned to non-interactive HTML elements. */ noNoninteractiveElementToInteractiveRole?: RuleConfiguration; + /** + * Enforce that tabIndex is not assigned to non-interactive HTML elements. + */ + noNoninteractiveTabindex?: RuleConfiguration; /** * Prevent the usage of positive integers on tabIndex property */ @@ -342,6 +350,10 @@ export interface A11y { * Enforce img alt prop does not contain the word "image", "picture", or "photo". */ noRedundantAlt?: RuleConfiguration; + /** + * Enforce explicit role property is not the same as implicit/default role property on an element. + */ + noRedundantRoles?: RuleConfiguration; /** * Enforces the usage of the title element for the svg element. */ @@ -358,6 +370,10 @@ export interface A11y { * Enforce that anchors have content and that the content is accessible to screen readers. */ useAnchorContent?: RuleConfiguration; + /** + * Enforce that ARIA state and property values are valid. + */ + useAriaPropTypes?: RuleConfiguration; /** * Enforce that elements with ARIA roles must have all required ARIA attributes for that role. */ @@ -411,6 +427,10 @@ export interface Complexity { * It enables ALL rules for this group. */ all?: boolean; + /** + * Disallow primitive type aliases and misleading types. + */ + noBannedTypes?: RuleConfiguration; /** * Disallow unnecessary boolean casts */ @@ -423,6 +443,10 @@ export interface Complexity { * Disallow unclear usage of multiple space characters in regular expression literals */ noMultipleSpacesInRegularExpressionLiterals?: RuleConfiguration; + /** + * This rule reports when a class has no non-static members, such as for a class used exclusively as a static namespace. + */ + noStaticOnlyClass?: RuleConfiguration; /** * Disallow unnecessary catch clauses. */ @@ -431,6 +455,10 @@ export interface Complexity { * Disallow unnecessary constructors. */ noUselessConstructor?: RuleConfiguration; + /** + * Disallow empty exports that don't change anything in a module file. + */ + noUselessEmptyExport?: RuleConfiguration; /** * Disallow unnecessary fragments */ @@ -447,6 +475,10 @@ export interface Complexity { * Disallow useless case in switch statements. */ noUselessSwitchCase?: RuleConfiguration; + /** + * Disallow useless this aliasing. + */ + noUselessThisAlias?: RuleConfiguration; /** * Disallow using any or unknown as type constraint. */ @@ -496,6 +528,10 @@ export interface Correctness { * Prevents from having const variables being re-assigned. */ noConstAssign?: RuleConfiguration; + /** + * Disallow constant expressions in conditions + */ + noConstantCondition?: RuleConfiguration; /** * Disallow returning a value from a constructor. */ @@ -520,6 +556,10 @@ export interface Correctness { * Disallow new operators with the Symbol object. */ noNewSymbol?: RuleConfiguration; + /** + * Disallow \8 and \9 escape sequences in string literals. + */ + noNonoctalDecimalEscape?: RuleConfiguration; /** * Disallow literal numbers that lose precision */ @@ -528,6 +568,10 @@ export interface Correctness { * Prevent the usage of the return value of React.render. */ noRenderReturnValue?: RuleConfiguration; + /** + * Disallow assignments where both sides are exactly the same. + */ + noSelfAssign?: RuleConfiguration; /** * Disallow returning a value from a setter */ @@ -609,26 +653,10 @@ export interface Nursery { * Disallow the use of spread (...) syntax on accumulators. */ noAccumulatingSpread?: RuleConfiguration; - /** - * Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes. - */ - noAriaUnsupportedElements?: RuleConfiguration; - /** - * Disallow primitive type aliases and misleading types. - */ - noBannedTypes?: RuleConfiguration; /** * Disallow void type outside of generic or return types. */ noConfusingVoidType?: RuleConfiguration; - /** - * Disallow constant expressions in conditions - */ - noConstantCondition?: RuleConfiguration; - /** - * Prevents from having control characters and some escape sequences that match control characters in regular expressions. - */ - noControlCharactersInRegex?: RuleConfiguration; /** * Disallow two keys with the same name inside a JSON object. */ @@ -649,38 +677,6 @@ export interface Nursery { * Use Number.isNaN instead of global isNaN. */ noGlobalIsNan?: RuleConfiguration; - /** - * Enforce that tabIndex is not assigned to non-interactive HTML elements. - */ - noNoninteractiveTabindex?: RuleConfiguration; - /** - * Disallow \8 and \9 escape sequences in string literals. - */ - noNonoctalDecimalEscape?: RuleConfiguration; - /** - * Enforce explicit role property is not the same as implicit/default role property on an element. - */ - noRedundantRoles?: RuleConfiguration; - /** - * Disallow assignments where both sides are exactly the same. - */ - noSelfAssign?: RuleConfiguration; - /** - * This rule reports when a class has no non-static members, such as for a class used exclusively as a static namespace. - */ - noStaticOnlyClass?: RuleConfiguration; - /** - * Disallow unsafe declaration merging between interfaces and classes. - */ - noUnsafeDeclarationMerging?: RuleConfiguration; - /** - * Disallow empty exports that don't change anything in a module file. - */ - noUselessEmptyExport?: RuleConfiguration; - /** - * Disallow useless this aliasing. - */ - noUselessThisAlias?: RuleConfiguration; /** * Disallow the use of void operators, which is not a familiar operator. */ @@ -689,10 +685,6 @@ export interface Nursery { * It enables the recommended rules for this group */ recommended?: boolean; - /** - * Enforce that ARIA state and property values are valid. - */ - useAriaPropTypes?: RuleConfiguration; /** * Use arrow functions over function expressions. */ @@ -705,10 +697,6 @@ export interface Nursery { * Enforce all dependencies are correctly specified. */ useExhaustiveDependencies?: RuleConfiguration; - /** - * Enforce get methods to always return a value. - */ - useGetterReturn?: RuleConfiguration; /** * Enforce the use of import type when an import only has specifiers with type qualifier. */ @@ -725,14 +713,6 @@ export interface Nursery { * Use Array.isArray() instead of instanceof Array. */ useIsArray?: RuleConfiguration; - /** - * Require all enum members to be literal values. - */ - useLiteralEnumMembers?: RuleConfiguration; - /** - * Enforce naming conventions for everything across a codebase. - */ - useNamingConvention?: RuleConfiguration; } /** * A list of rules that belong to this group @@ -860,6 +840,14 @@ export interface Style { * This rule enforces the use of <>... over .... */ useFragmentSyntax?: RuleConfiguration; + /** + * Require all enum members to be literal values. + */ + useLiteralEnumMembers?: RuleConfiguration; + /** + * Enforce naming conventions for everything across a codebase. + */ + useNamingConvention?: RuleConfiguration; /** * Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals */ @@ -937,6 +925,10 @@ export interface Suspicious { * Disallow TypeScript const enum */ noConstEnum?: RuleConfiguration; + /** + * Prevents from having control characters and some escape sequences that match control characters in regular expressions. + */ + noControlCharactersInRegex?: RuleConfiguration; /** * Disallow the use of debugger */ @@ -1013,6 +1005,10 @@ export interface Suspicious { * Disallow sparse arrays */ noSparseArray?: RuleConfiguration; + /** + * Disallow unsafe declaration merging between interfaces and classes. + */ + noUnsafeDeclarationMerging?: RuleConfiguration; /** * Disallow using unsafe negation. */ @@ -1025,6 +1021,10 @@ export interface Suspicious { * Enforce default clauses in switch statements to be last */ useDefaultSwitchClauseLast?: RuleConfiguration; + /** + * Enforce get methods to always return a value. + */ + useGetterReturn?: RuleConfiguration; /** * Require using the namespace keyword over the module keyword to declare TypeScript namespaces. */ @@ -1189,16 +1189,20 @@ export interface Advices { } export type Category = | "lint/a11y/noAccessKey" + | "lint/a11y/noAriaUnsupportedElements" | "lint/a11y/noAutofocus" | "lint/a11y/noBlankTarget" | "lint/a11y/noDistractingElements" | "lint/a11y/noHeaderScope" | "lint/a11y/noNoninteractiveElementToInteractiveRole" + | "lint/a11y/noNoninteractiveTabindex" | "lint/a11y/noPositiveTabindex" | "lint/a11y/noRedundantAlt" + | "lint/a11y/noRedundantRoles" | "lint/a11y/noSvgWithoutTitle" | "lint/a11y/useAltText" | "lint/a11y/useAnchorContent" + | "lint/a11y/useAriaPropTypes" | "lint/a11y/useAriaPropsForRole" | "lint/a11y/useButtonType" | "lint/a11y/useHeadingContent" @@ -1210,15 +1214,19 @@ export type Category = | "lint/a11y/useValidAnchor" | "lint/a11y/useValidAriaProps" | "lint/a11y/useValidLang" + | "lint/complexity/noBannedTypes" | "lint/complexity/noExtraBooleanCast" | "lint/complexity/noForEach" | "lint/complexity/noMultipleSpacesInRegularExpressionLiterals" + | "lint/complexity/noStaticOnlyClass" | "lint/complexity/noUselessCatch" | "lint/complexity/noUselessConstructor" + | "lint/complexity/noUselessEmptyExport" | "lint/complexity/noUselessFragments" | "lint/complexity/noUselessLabel" | "lint/complexity/noUselessRename" | "lint/complexity/noUselessSwitchCase" + | "lint/complexity/noUselessThisAlias" | "lint/complexity/noUselessTypeConstraint" | "lint/complexity/noWith" | "lint/complexity/useFlatMap" @@ -1228,14 +1236,17 @@ export type Category = | "lint/complexity/useSimplifiedLogicExpression" | "lint/correctness/noChildrenProp" | "lint/correctness/noConstAssign" + | "lint/correctness/noConstantCondition" | "lint/correctness/noConstructorReturn" | "lint/correctness/noEmptyPattern" | "lint/correctness/noGlobalObjectCalls" | "lint/correctness/noInnerDeclarations" | "lint/correctness/noInvalidConstructorSuper" | "lint/correctness/noNewSymbol" + | "lint/correctness/noNonoctalDecimalEscape" | "lint/correctness/noPrecisionLoss" | "lint/correctness/noRenderReturnValue" + | "lint/correctness/noSelfAssign" | "lint/correctness/noSetterReturn" | "lint/correctness/noStringCaseMismatch" | "lint/correctness/noSwitchDeclarations" @@ -1253,37 +1264,21 @@ export type Category = | "lint/correctness/useValidForDirection" | "lint/correctness/useYield" | "lint/nursery/noAccumulatingSpread" - | "lint/nursery/noAriaUnsupportedElements" - | "lint/nursery/noBannedTypes" | "lint/nursery/noConfusingVoidType" - | "lint/nursery/noConstantCondition" - | "lint/nursery/noControlCharactersInRegex" | "lint/nursery/noDuplicateJsonKeys" | "lint/nursery/noExcessiveComplexity" | "lint/nursery/noFallthroughSwitchClause" | "lint/nursery/noGlobalIsFinite" | "lint/nursery/noGlobalIsNan" - | "lint/nursery/noNoninteractiveTabindex" - | "lint/nursery/noNonoctalDecimalEscape" - | "lint/nursery/noRedundantRoles" - | "lint/nursery/noSelfAssign" - | "lint/nursery/noStaticOnlyClass" - | "lint/nursery/noUnsafeDeclarationMerging" - | "lint/nursery/noUselessEmptyExport" - | "lint/nursery/noUselessThisAlias" | "lint/nursery/noVoid" - | "lint/nursery/useAriaPropTypes" | "lint/nursery/useArrowFunction" | "lint/nursery/useBiomeSuppressionComment" | "lint/nursery/useCollapsedElseIf" | "lint/nursery/useExhaustiveDependencies" - | "lint/nursery/useGetterReturn" | "lint/nursery/useGroupedTypeImport" | "lint/nursery/useHookAtTopLevel" | "lint/nursery/useImportRestrictions" | "lint/nursery/useIsArray" - | "lint/nursery/useLiteralEnumMembers" - | "lint/nursery/useNamingConvention" | "lint/performance/noDelete" | "lint/security/noDangerouslySetInnerHtml" | "lint/security/noDangerouslySetInnerHtmlWithChildren" @@ -1306,6 +1301,8 @@ export type Category = | "lint/style/useEnumInitializers" | "lint/style/useExponentiationOperator" | "lint/style/useFragmentSyntax" + | "lint/style/useLiteralEnumMembers" + | "lint/style/useNamingConvention" | "lint/style/useNumericLiterals" | "lint/style/useSelfClosingElements" | "lint/style/useShorthandArrayType" @@ -1323,6 +1320,7 @@ export type Category = | "lint/suspicious/noConfusingLabels" | "lint/suspicious/noConsoleLog" | "lint/suspicious/noConstEnum" + | "lint/suspicious/noControlCharactersInRegex" | "lint/suspicious/noDebugger" | "lint/suspicious/noDoubleEquals" | "lint/suspicious/noDuplicateCase" @@ -1342,8 +1340,10 @@ export type Category = | "lint/suspicious/noSelfCompare" | "lint/suspicious/noShadowRestrictedNames" | "lint/suspicious/noSparseArray" + | "lint/suspicious/noUnsafeDeclarationMerging" | "lint/suspicious/noUnsafeNegation" | "lint/suspicious/useDefaultSwitchClauseLast" + | "lint/suspicious/useGetterReturn" | "lint/suspicious/useNamespaceKeyword" | "lint/suspicious/useValidTypeof" | "files/missingHandler" diff --git a/packages/@biomejs/biome/configuration_schema.json b/packages/@biomejs/biome/configuration_schema.json index 4c46f1a2fe35..02eaee8cffc5 100644 --- a/packages/@biomejs/biome/configuration_schema.json +++ b/packages/@biomejs/biome/configuration_schema.json @@ -76,6 +76,13 @@ { "type": "null" } ] }, + "noAriaUnsupportedElements": { + "description": "Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noAutofocus": { "description": "Enforce that autoFocus prop is not used on elements.", "anyOf": [ @@ -111,6 +118,13 @@ { "type": "null" } ] }, + "noNoninteractiveTabindex": { + "description": "Enforce that tabIndex is not assigned to non-interactive HTML elements.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noPositiveTabindex": { "description": "Prevent the usage of positive integers on tabIndex property", "anyOf": [ @@ -125,6 +139,13 @@ { "type": "null" } ] }, + "noRedundantRoles": { + "description": "Enforce explicit role property is not the same as implicit/default role property on an element.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noSvgWithoutTitle": { "description": "Enforces the usage of the title element for the svg element.", "anyOf": [ @@ -150,6 +171,13 @@ { "type": "null" } ] }, + "useAriaPropTypes": { + "description": "Enforce that ARIA state and property values are valid.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "useAriaPropsForRole": { "description": "Enforce that elements with ARIA roles must have all required ARIA attributes for that role.", "anyOf": [ @@ -238,6 +266,13 @@ "description": "It enables ALL rules for this group.", "type": ["boolean", "null"] }, + "noBannedTypes": { + "description": "Disallow primitive type aliases and misleading types.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noExtraBooleanCast": { "description": "Disallow unnecessary boolean casts", "anyOf": [ @@ -259,6 +294,13 @@ { "type": "null" } ] }, + "noStaticOnlyClass": { + "description": "This rule reports when a class has no non-static members, such as for a class used exclusively as a static namespace.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noUselessCatch": { "description": "Disallow unnecessary catch clauses.", "anyOf": [ @@ -273,6 +315,13 @@ { "type": "null" } ] }, + "noUselessEmptyExport": { + "description": "Disallow empty exports that don't change anything in a module file.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noUselessFragments": { "description": "Disallow unnecessary fragments", "anyOf": [ @@ -301,6 +350,13 @@ { "type": "null" } ] }, + "noUselessThisAlias": { + "description": "Disallow useless this aliasing.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noUselessTypeConstraint": { "description": "Disallow using any or unknown as type constraint.", "anyOf": [ @@ -392,6 +448,13 @@ { "type": "null" } ] }, + "noConstantCondition": { + "description": "Disallow constant expressions in conditions", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noConstructorReturn": { "description": "Disallow returning a value from a constructor.", "anyOf": [ @@ -434,6 +497,13 @@ { "type": "null" } ] }, + "noNonoctalDecimalEscape": { + "description": "Disallow \\8 and \\9 escape sequences in string literals.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noPrecisionLoss": { "description": "Disallow literal numbers that lose precision", "anyOf": [ @@ -448,6 +518,13 @@ { "type": "null" } ] }, + "noSelfAssign": { + "description": "Disallow assignments where both sides are exactly the same.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noSetterReturn": { "description": "Disallow returning a value from a setter", "anyOf": [ @@ -895,20 +972,6 @@ { "type": "null" } ] }, - "noAriaUnsupportedElements": { - "description": "Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, - "noBannedTypes": { - "description": "Disallow primitive type aliases and misleading types.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, "noConfusingVoidType": { "description": "Disallow void type outside of generic or return types.", "anyOf": [ @@ -916,20 +979,6 @@ { "type": "null" } ] }, - "noConstantCondition": { - "description": "Disallow constant expressions in conditions", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, - "noControlCharactersInRegex": { - "description": "Prevents from having control characters and some escape sequences that match control characters in regular expressions.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, "noDuplicateJsonKeys": { "description": "Disallow two keys with the same name inside a JSON object.", "anyOf": [ @@ -965,62 +1014,6 @@ { "type": "null" } ] }, - "noNoninteractiveTabindex": { - "description": "Enforce that tabIndex is not assigned to non-interactive HTML elements.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, - "noNonoctalDecimalEscape": { - "description": "Disallow \\8 and \\9 escape sequences in string literals.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, - "noRedundantRoles": { - "description": "Enforce explicit role property is not the same as implicit/default role property on an element.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, - "noSelfAssign": { - "description": "Disallow assignments where both sides are exactly the same.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, - "noStaticOnlyClass": { - "description": "This rule reports when a class has no non-static members, such as for a class used exclusively as a static namespace.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, - "noUnsafeDeclarationMerging": { - "description": "Disallow unsafe declaration merging between interfaces and classes.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, - "noUselessEmptyExport": { - "description": "Disallow empty exports that don't change anything in a module file.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, - "noUselessThisAlias": { - "description": "Disallow useless this aliasing.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, "noVoid": { "description": "Disallow the use of void operators, which is not a familiar operator.", "anyOf": [ @@ -1032,13 +1025,6 @@ "description": "It enables the recommended rules for this group", "type": ["boolean", "null"] }, - "useAriaPropTypes": { - "description": "Enforce that ARIA state and property values are valid.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, "useArrowFunction": { "description": "Use arrow functions over function expressions.", "anyOf": [ @@ -1060,13 +1046,6 @@ { "type": "null" } ] }, - "useGetterReturn": { - "description": "Enforce get methods to always return a value.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, "useGroupedTypeImport": { "description": "Enforce the use of import type when an import only has specifiers with type qualifier.", "anyOf": [ @@ -1094,20 +1073,6 @@ { "$ref": "#/definitions/RuleConfiguration" }, { "type": "null" } ] - }, - "useLiteralEnumMembers": { - "description": "Require all enum members to be literal values.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] - }, - "useNamingConvention": { - "description": "Enforce naming conventions for everything across a codebase.", - "anyOf": [ - { "$ref": "#/definitions/RuleConfiguration" }, - { "type": "null" } - ] } } }, @@ -1429,6 +1394,20 @@ { "type": "null" } ] }, + "useLiteralEnumMembers": { + "description": "Require all enum members to be literal values.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, + "useNamingConvention": { + "description": "Enforce naming conventions for everything across a codebase.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "useNumericLiterals": { "description": "Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals", "anyOf": [ @@ -1558,6 +1537,13 @@ { "type": "null" } ] }, + "noControlCharactersInRegex": { + "description": "Prevents from having control characters and some escape sequences that match control characters in regular expressions.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noDebugger": { "description": "Disallow the use of debugger", "anyOf": [ @@ -1691,6 +1677,13 @@ { "type": "null" } ] }, + "noUnsafeDeclarationMerging": { + "description": "Disallow unsafe declaration merging between interfaces and classes.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "noUnsafeNegation": { "description": "Disallow using unsafe negation.", "anyOf": [ @@ -1709,6 +1702,13 @@ { "type": "null" } ] }, + "useGetterReturn": { + "description": "Enforce get methods to always return a value.", + "anyOf": [ + { "$ref": "#/definitions/RuleConfiguration" }, + { "type": "null" } + ] + }, "useNamespaceKeyword": { "description": "Require using the namespace keyword over the module keyword to declare TypeScript namespaces.", "anyOf": [ diff --git a/website/src/content/docs/linter/rules/index.mdx b/website/src/content/docs/linter/rules/index.mdx index dc2f3e8a8fa2..89c7f999b731 100644 --- a/website/src/content/docs/linter/rules/index.mdx +++ b/website/src/content/docs/linter/rules/index.mdx @@ -10,6 +10,8 @@ description: List of available lint rules. Rules focused on preventing accessibility problems. ### [noAccessKey](/linter/rules/no-access-key) Enforce that the accessKey attribute is not used on any HTML element. +### [noAriaUnsupportedElements](/linter/rules/no-aria-unsupported-elements) +Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes. ### [noAutofocus](/linter/rules/no-autofocus) Enforce that autoFocus prop is not used on elements. ### [noBlankTarget](/linter/rules/no-blank-target) @@ -20,16 +22,22 @@ Enforces that no distracting elements are used. The scope prop should be used only on <th> elements. ### [noNoninteractiveElementToInteractiveRole](/linter/rules/no-noninteractive-element-to-interactive-role) Enforce that interactive ARIA roles are not assigned to non-interactive HTML elements. +### [noNoninteractiveTabindex](/linter/rules/no-noninteractive-tabindex) +Enforce that tabIndex is not assigned to non-interactive HTML elements. ### [noPositiveTabindex](/linter/rules/no-positive-tabindex) Prevent the usage of positive integers on tabIndex property ### [noRedundantAlt](/linter/rules/no-redundant-alt) Enforce img alt prop does not contain the word "image", "picture", or "photo". +### [noRedundantRoles](/linter/rules/no-redundant-roles) +Enforce explicit role property is not the same as implicit/default role property on an element. ### [noSvgWithoutTitle](/linter/rules/no-svg-without-title) Enforces the usage of the title element for the svg element. ### [useAltText](/linter/rules/use-alt-text) Enforce that all elements that require alternative text have meaningful information to relay back to the end user. ### [useAnchorContent](/linter/rules/use-anchor-content) Enforce that anchors have content and that the content is accessible to screen readers. +### [useAriaPropTypes](/linter/rules/use-aria-prop-types) +Enforce that ARIA state and property values are valid. ### [useAriaPropsForRole](/linter/rules/use-aria-props-for-role) Enforce that elements with ARIA roles must have all required ARIA attributes for that role. ### [useButtonType](/linter/rules/use-button-type) @@ -57,16 +65,22 @@ Ensure that the attribute passed to the lang attribute is a correct ## Complexity Rules that focus on inspecting complex code that could be simplified. +### [noBannedTypes](/linter/rules/no-banned-types) +Disallow primitive type aliases and misleading types. ### [noExtraBooleanCast](/linter/rules/no-extra-boolean-cast) Disallow unnecessary boolean casts ### [noForEach](/linter/rules/no-for-each) Prefer for...of statement instead of Array.forEach. ### [noMultipleSpacesInRegularExpressionLiterals](/linter/rules/no-multiple-spaces-in-regular-expression-literals) Disallow unclear usage of multiple space characters in regular expression literals +### [noStaticOnlyClass](/linter/rules/no-static-only-class) +This rule reports when a class has no non-static members, such as for a class used exclusively as a static namespace. ### [noUselessCatch](/linter/rules/no-useless-catch) Disallow unnecessary catch clauses. ### [noUselessConstructor](/linter/rules/no-useless-constructor) Disallow unnecessary constructors. +### [noUselessEmptyExport](/linter/rules/no-useless-empty-export) +Disallow empty exports that don't change anything in a module file. ### [noUselessFragments](/linter/rules/no-useless-fragments) Disallow unnecessary fragments ### [noUselessLabel](/linter/rules/no-useless-label) @@ -75,6 +89,8 @@ Disallow unnecessary labels. Disallow renaming import, export, and destructured assignments to the same name. ### [noUselessSwitchCase](/linter/rules/no-useless-switch-case) Disallow useless case in switch statements. +### [noUselessThisAlias](/linter/rules/no-useless-this-alias) +Disallow useless this aliasing. ### [noUselessTypeConstraint](/linter/rules/no-useless-type-constraint) Disallow using any or unknown as type constraint. ### [noWith](/linter/rules/no-with) @@ -97,6 +113,8 @@ Rules that detect code that is guaranteed to be incorrect or useless. Prevent passing of children as props. ### [noConstAssign](/linter/rules/no-const-assign) Prevents from having const variables being re-assigned. +### [noConstantCondition](/linter/rules/no-constant-condition) +Disallow constant expressions in conditions ### [noConstructorReturn](/linter/rules/no-constructor-return) Disallow returning a value from a constructor. ### [noEmptyPattern](/linter/rules/no-empty-pattern) @@ -110,10 +128,14 @@ Prevents the incorrect use of super() inside classes. It also checks whether a call super() is missing from classes that extends other constructors. ### [noNewSymbol](/linter/rules/no-new-symbol) Disallow new operators with the Symbol object. +### [noNonoctalDecimalEscape](/linter/rules/no-nonoctal-decimal-escape) +Disallow \8 and \9 escape sequences in string literals. ### [noPrecisionLoss](/linter/rules/no-precision-loss) Disallow literal numbers that lose precision ### [noRenderReturnValue](/linter/rules/no-render-return-value) Prevent the usage of the return value of React.render. +### [noSelfAssign](/linter/rules/no-self-assign) +Disallow assignments where both sides are exactly the same. ### [noSetterReturn](/linter/rules/no-setter-return) Disallow returning a value from a setter ### [noStringCaseMismatch](/linter/rules/no-string-case-mismatch) @@ -205,6 +227,10 @@ Require that each enum member value be explicitly initialized. Disallow the use of Math.pow in favor of the ** operator. ### [useFragmentSyntax](/linter/rules/use-fragment-syntax) This rule enforces the use of <>...</> over <Fragment>...</Fragment>. +### [useLiteralEnumMembers](/linter/rules/use-literal-enum-members) +Require all enum members to be literal values. +### [useNamingConvention](/linter/rules/use-naming-convention) +Enforce naming conventions for everything across a codebase. ### [useNumericLiterals](/linter/rules/use-numeric-literals) Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals ### [useSelfClosingElements](/linter/rules/use-self-closing-elements) @@ -245,6 +271,8 @@ Disallow labeled statements that are not loops. Disallow the use of console.log ### [noConstEnum](/linter/rules/no-const-enum) Disallow TypeScript const enum +### [noControlCharactersInRegex](/linter/rules/no-control-characters-in-regex) +Prevents from having control characters and some escape sequences that match control characters in regular expressions. ### [noDebugger](/linter/rules/no-debugger) Disallow the use of debugger ### [noDoubleEquals](/linter/rules/no-double-equals) @@ -285,10 +313,14 @@ Disallow comparisons where both sides are exactly the same. Disallow identifiers from shadowing restricted names. ### [noSparseArray](/linter/rules/no-sparse-array) Disallow sparse arrays +### [noUnsafeDeclarationMerging](/linter/rules/no-unsafe-declaration-merging) +Disallow unsafe declaration merging between interfaces and classes. ### [noUnsafeNegation](/linter/rules/no-unsafe-negation) Disallow using unsafe negation. ### [useDefaultSwitchClauseLast](/linter/rules/use-default-switch-clause-last) Enforce default clauses in switch statements to be last +### [useGetterReturn](/linter/rules/use-getter-return) +Enforce get methods to always return a value. ### [useNamespaceKeyword](/linter/rules/use-namespace-keyword) Require using the namespace keyword over the module keyword to declare TypeScript namespaces. ### [useValidTypeof](/linter/rules/use-valid-typeof) @@ -308,16 +340,8 @@ Nursery rules get promoted to other groups once they become stable or may be rem Rules that belong to this group are not subject to semantic version. ### [noAccumulatingSpread](/linter/rules/no-accumulating-spread) Disallow the use of spread (...) syntax on accumulators. -### [noAriaUnsupportedElements](/linter/rules/no-aria-unsupported-elements) -Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes. -### [noBannedTypes](/linter/rules/no-banned-types) -Disallow primitive type aliases and misleading types. ### [noConfusingVoidType](/linter/rules/no-confusing-void-type) Disallow void type outside of generic or return types. -### [noConstantCondition](/linter/rules/no-constant-condition) -Disallow constant expressions in conditions -### [noControlCharactersInRegex](/linter/rules/no-control-characters-in-regex) -Prevents from having control characters and some escape sequences that match control characters in regular expressions. ### [noDuplicateJsonKeys](/linter/rules/no-duplicate-json-keys) Disallow two keys with the same name inside a JSON object. ### [noExcessiveComplexity](/linter/rules/no-excessive-complexity) @@ -328,34 +352,14 @@ Disallow fallthrough of switch clauses. Use Number.isFinite instead of global isFinite. ### [noGlobalIsNan](/linter/rules/no-global-is-nan) Use Number.isNaN instead of global isNaN. -### [noNoninteractiveTabindex](/linter/rules/no-noninteractive-tabindex) -Enforce that tabIndex is not assigned to non-interactive HTML elements. -### [noNonoctalDecimalEscape](/linter/rules/no-nonoctal-decimal-escape) -Disallow \8 and \9 escape sequences in string literals. -### [noRedundantRoles](/linter/rules/no-redundant-roles) -Enforce explicit role property is not the same as implicit/default role property on an element. -### [noSelfAssign](/linter/rules/no-self-assign) -Disallow assignments where both sides are exactly the same. -### [noStaticOnlyClass](/linter/rules/no-static-only-class) -This rule reports when a class has no non-static members, such as for a class used exclusively as a static namespace. -### [noUnsafeDeclarationMerging](/linter/rules/no-unsafe-declaration-merging) -Disallow unsafe declaration merging between interfaces and classes. -### [noUselessEmptyExport](/linter/rules/no-useless-empty-export) -Disallow empty exports that don't change anything in a module file. -### [noUselessThisAlias](/linter/rules/no-useless-this-alias) -Disallow useless this aliasing. ### [noVoid](/linter/rules/no-void) Disallow the use of void operators, which is not a familiar operator. -### [useAriaPropTypes](/linter/rules/use-aria-prop-types) -Enforce that ARIA state and property values are valid. ### [useArrowFunction](/linter/rules/use-arrow-function) Use arrow functions over function expressions. ### [useCollapsedElseIf](/linter/rules/use-collapsed-else-if) Enforce using else if instead of nested if in else clauses. ### [useExhaustiveDependencies](/linter/rules/use-exhaustive-dependencies) Enforce all dependencies are correctly specified. -### [useGetterReturn](/linter/rules/use-getter-return) -Enforce get methods to always return a value. ### [useGroupedTypeImport](/linter/rules/use-grouped-type-import) Enforce the use of import type when an import only has specifiers with type qualifier. ### [useHookAtTopLevel](/linter/rules/use-hook-at-top-level) @@ -365,7 +369,3 @@ component functions. Disallows package private imports. ### [useIsArray](/linter/rules/use-is-array) Use Array.isArray() instead of instanceof Array. -### [useLiteralEnumMembers](/linter/rules/use-literal-enum-members) -Require all enum members to be literal values. -### [useNamingConvention](/linter/rules/use-naming-convention) -Enforce naming conventions for everything across a codebase. diff --git a/website/src/content/docs/linter/rules/no-aria-unsupported-elements.md b/website/src/content/docs/linter/rules/no-aria-unsupported-elements.md index 62f51fd313b9..c4ea5da7e59c 100644 --- a/website/src/content/docs/linter/rules/no-aria-unsupported-elements.md +++ b/website/src/content/docs/linter/rules/no-aria-unsupported-elements.md @@ -3,6 +3,10 @@ title: noAriaUnsupportedElements (since v1.0.0) --- +:::note +This rule is recommended by Biome. A diagnostic error will appear when linting your code. +::: + Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes. Source: https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/aria-unsupported-elements.md @@ -15,7 +19,7 @@ Source: https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rule ``` -
nursery/noAriaUnsupportedElements.js:1:1 lint/nursery/noAriaUnsupportedElements ━━━━━━━━━━━━━━━━━━━━
+
a11y/noAriaUnsupportedElements.js:1:1 lint/a11y/noAriaUnsupportedElements ━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Avoid the role attribute and aria-* attributes when using meta, html, script, and style elements.
   
@@ -31,7 +35,7 @@ Source: https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rule
 
 ```
 
-
nursery/noAriaUnsupportedElements.js:1:1 lint/nursery/noAriaUnsupportedElements ━━━━━━━━━━━━━━━━━━━━
+
a11y/noAriaUnsupportedElements.js:1:1 lint/a11y/noAriaUnsupportedElements ━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Avoid the role attribute and aria-* attributes when using meta, html, script, and style elements.
   
diff --git a/website/src/content/docs/linter/rules/no-banned-types.md b/website/src/content/docs/linter/rules/no-banned-types.md
index 70d19a258b90..ce2ad675d1e3 100644
--- a/website/src/content/docs/linter/rules/no-banned-types.md
+++ b/website/src/content/docs/linter/rules/no-banned-types.md
@@ -3,6 +3,10 @@ title: noBannedTypes (since v1.0.0)
 ---
 
 
+:::note
+This rule is recommended by Biome. A diagnostic error will appear when linting your code.
+:::
+
 Disallow primitive type aliases and misleading types.
 
 - Enforce consistent names for primitive types
@@ -28,7 +32,7 @@ The following TypeScript example is perfectly valid:
 const n: {} = 0
 ```
 
-
nursery/noBannedTypes.js:1:10 lint/nursery/noBannedTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
complexity/noBannedTypes.js:1:10 lint/complexity/noBannedTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Don't use '{}' as a type.
   
@@ -75,7 +79,7 @@ Source: https://typescript-eslint.io/rules/ban-types
 let foo: String = "bar";
 ```
 
-
nursery/noBannedTypes.js:1:10 lint/nursery/noBannedTypes  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
complexity/noBannedTypes.js:1:10 lint/complexity/noBannedTypes  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Don't use 'String' as a type.
   
@@ -97,7 +101,7 @@ let foo: String = "bar";
 let bool = true as Boolean;
 ```
 
-
nursery/noBannedTypes.js:1:20 lint/nursery/noBannedTypes  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
complexity/noBannedTypes.js:1:20 lint/complexity/noBannedTypes  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Don't use 'Boolean' as a type.
   
@@ -119,7 +123,7 @@ let bool = true as Boolean;
 let invalidTuple: [string, Boolean] = ["foo", false];
 ```
 
-
nursery/noBannedTypes.js:1:28 lint/nursery/noBannedTypes  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
complexity/noBannedTypes.js:1:28 lint/complexity/noBannedTypes  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Don't use 'Boolean' as a type.
   
diff --git a/website/src/content/docs/linter/rules/no-confusing-void-type.md b/website/src/content/docs/linter/rules/no-confusing-void-type.md
index 29f20c828fd1..720f7078905d 100644
--- a/website/src/content/docs/linter/rules/no-confusing-void-type.md
+++ b/website/src/content/docs/linter/rules/no-confusing-void-type.md
@@ -1,5 +1,5 @@
 ---
-title: noConfusingVoidType (since vnext)
+title: noConfusingVoidType (since v1.2)
 ---
 
 
diff --git a/website/src/content/docs/linter/rules/no-constant-condition.md b/website/src/content/docs/linter/rules/no-constant-condition.md
index e0cd577af9d5..a987daac6d1f 100644
--- a/website/src/content/docs/linter/rules/no-constant-condition.md
+++ b/website/src/content/docs/linter/rules/no-constant-condition.md
@@ -3,6 +3,10 @@ title: noConstantCondition (since v1.0.0)
 ---
 
 
+:::note
+This rule is recommended by Biome. A diagnostic error will appear when linting your code.
+:::
+
 Disallow constant expressions in conditions
 
 ## Examples
@@ -15,7 +19,7 @@ if (false) {
 }
 ```
 
-
nursery/noConstantCondition.js:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noConstantCondition.js:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━
 
    Unexpected constant condition.
   
@@ -32,7 +36,7 @@ if (Boolean(1)) {
 }
 ```
 
-
nursery/noConstantCondition.js:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noConstantCondition.js:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━
 
    Unexpected constant condition.
   
@@ -49,7 +53,7 @@ if (undefined) {
 }
 ```
 
-
nursery/noConstantCondition.js:1:5 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noConstantCondition.js:1:5 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━
 
    Unexpected constant condition.
   
@@ -66,7 +70,7 @@ for (;-2;) {
 }
 ```
 
-
nursery/noConstantCondition.js:1:7 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noConstantCondition.js:1:7 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━
 
    Unexpected constant condition.
   
@@ -83,7 +87,7 @@ while (typeof x) {
 }
 ```
 
-
nursery/noConstantCondition.js:1:8 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noConstantCondition.js:1:8 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━
 
    Unexpected constant condition.
   
@@ -98,7 +102,7 @@ while (typeof x) {
 var result = 0 ? a : b;
 ```
 
-
nursery/noConstantCondition.js:1:14 lint/nursery/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noConstantCondition.js:1:14 lint/correctness/noConstantCondition ━━━━━━━━━━━━━━━━━━━━━━━
 
    Unexpected constant condition.
   
diff --git a/website/src/content/docs/linter/rules/no-control-characters-in-regex.md b/website/src/content/docs/linter/rules/no-control-characters-in-regex.md
index cb7a8bc6f872..06b5be282bed 100644
--- a/website/src/content/docs/linter/rules/no-control-characters-in-regex.md
+++ b/website/src/content/docs/linter/rules/no-control-characters-in-regex.md
@@ -3,6 +3,10 @@ title: noControlCharactersInRegex (since v1.0.0)
 ---
 
 
+:::note
+This rule is recommended by Biome. A diagnostic error will appear when linting your code.
+:::
+
 Prevents from having control characters and some escape sequences that match control characters in regular expressions.
 
 Control characters are hidden special characters that are numbered from 0 to 31 in the ASCII system.
@@ -27,7 +31,7 @@ Source: https://eslint.org/docs/latest/rules/no-control-regex
  var pattern1 = /\x00/;
 ```
 
-
nursery/noControlCharactersInRegex.js:1:17 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━
+
suspicious/noControlCharactersInRegex.js:1:17 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━
 
    Unexpected control character(s) in regular expression: \x00
   
@@ -43,7 +47,7 @@ Source: https://eslint.org/docs/latest/rules/no-control-regex
  var pattern2 = /\x0C/;
 ```
 
-
nursery/noControlCharactersInRegex.js:1:17 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━
+
suspicious/noControlCharactersInRegex.js:1:17 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━
 
    Unexpected control character(s) in regular expression: \x0C
   
@@ -59,7 +63,7 @@ Source: https://eslint.org/docs/latest/rules/no-control-regex
  var pattern3 = /\x1F/;
 ```
 
-
nursery/noControlCharactersInRegex.js:1:17 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━
+
suspicious/noControlCharactersInRegex.js:1:17 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━
 
    Unexpected control character(s) in regular expression: \x1F
   
@@ -75,7 +79,7 @@ Source: https://eslint.org/docs/latest/rules/no-control-regex
  var pattern4 = /\u000C/;
 ```
 
-
nursery/noControlCharactersInRegex.js:1:17 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━
+
suspicious/noControlCharactersInRegex.js:1:17 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━
 
    Unexpected control character(s) in regular expression: \u000C
   
@@ -91,7 +95,7 @@ Source: https://eslint.org/docs/latest/rules/no-control-regex
  var pattern5 = /\u{C}/u;
 ```
 
-
nursery/noControlCharactersInRegex.js:1:17 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━
+
suspicious/noControlCharactersInRegex.js:1:17 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━
 
    Unexpected control character(s) in regular expression: \u{C}
   
@@ -107,7 +111,7 @@ Source: https://eslint.org/docs/latest/rules/no-control-regex
  var pattern7 = new RegExp("\x0C");
 ```
 
-
nursery/noControlCharactersInRegex.js:1:17 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━
+
suspicious/noControlCharactersInRegex.js:1:17 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━
 
    Unexpected control character(s) in regular expression: \x0C
   
@@ -123,7 +127,7 @@ Source: https://eslint.org/docs/latest/rules/no-control-regex
  var pattern7 = new RegExp("\\x0C");
 ```
 
-
nursery/noControlCharactersInRegex.js:1:17 lint/nursery/noControlCharactersInRegex ━━━━━━━━━━━━━━━━━
+
suspicious/noControlCharactersInRegex.js:1:17 lint/suspicious/noControlCharactersInRegex ━━━━━━━━━━━
 
    Unexpected control character(s) in regular expression: \x0C
   
diff --git a/website/src/content/docs/linter/rules/no-noninteractive-tabindex.md b/website/src/content/docs/linter/rules/no-noninteractive-tabindex.md
index 3d32a419f39b..d21d514d9f36 100644
--- a/website/src/content/docs/linter/rules/no-noninteractive-tabindex.md
+++ b/website/src/content/docs/linter/rules/no-noninteractive-tabindex.md
@@ -3,6 +3,10 @@ title: noNoninteractiveTabindex (since v1.0.0)
 ---
 
 
+:::note
+This rule is recommended by Biome. A diagnostic error will appear when linting your code.
+:::
+
 Enforce that `tabIndex` is not assigned to non-interactive HTML elements.
 
 When using the tab key to navigate a webpage, limit it to interactive elements.
@@ -19,9 +23,9 @@ ESLint (eslint-plugin-jsx-a11y) Equivalent: [no-noninteractive-tabindex](https:/
 
``` -
nursery/noNoninteractiveTabindex.js:1:6 lint/nursery/noNoninteractiveTabindex ━━━━━━━━━━━━━━━━━━━━━━
+
a11y/noNoninteractiveTabindex.js:1:6 lint/a11y/noNoninteractiveTabindex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
-   The HTML element div is non-interactive. Do not use tabIndex.
+   The HTML element div is non-interactive. Do not use tabIndex.
   
   > 1 │ <div tabIndex="0" />
         ^^^^^^^^^^^^
@@ -35,9 +39,9 @@ ESLint (eslint-plugin-jsx-a11y) Equivalent: [no-noninteractive-tabindex](https:/
 
``` -
nursery/noNoninteractiveTabindex.js:1:21 lint/nursery/noNoninteractiveTabindex ━━━━━━━━━━━━━━━━━━━━━
+
a11y/noNoninteractiveTabindex.js:1:21 lint/a11y/noNoninteractiveTabindex ━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
-   The HTML element div is non-interactive. Do not use tabIndex.
+   The HTML element div is non-interactive. Do not use tabIndex.
   
   > 1 │ <div role="article" tabIndex="0" />
                        ^^^^^^^^^^^^
@@ -51,9 +55,9 @@ ESLint (eslint-plugin-jsx-a11y) Equivalent: [no-noninteractive-tabindex](https:/
 
``` -
nursery/noNoninteractiveTabindex.js:1:10 lint/nursery/noNoninteractiveTabindex ━━━━━━━━━━━━━━━━━━━━━
+
a11y/noNoninteractiveTabindex.js:1:10 lint/a11y/noNoninteractiveTabindex ━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
-   The HTML element article is non-interactive. Do not use tabIndex.
+   The HTML element article is non-interactive. Do not use tabIndex.
   
   > 1 │ <article tabIndex="0" />
             ^^^^^^^^^^^^
diff --git a/website/src/content/docs/linter/rules/no-nonoctal-decimal-escape.md b/website/src/content/docs/linter/rules/no-nonoctal-decimal-escape.md
index 8e98c7fb3aa2..11cfad0f2cf4 100644
--- a/website/src/content/docs/linter/rules/no-nonoctal-decimal-escape.md
+++ b/website/src/content/docs/linter/rules/no-nonoctal-decimal-escape.md
@@ -3,6 +3,10 @@ title: noNonoctalDecimalEscape (since v1.0.0)
 ---
 
 
+:::note
+This rule is recommended by Biome. A diagnostic error will appear when linting your code.
+:::
+
 Disallow `\8` and `\9` escape sequences in string literals.
 
 Since ECMAScript 2021, the escape sequences \8 and \9 have been defined as non-octal decimal escape sequences.
@@ -28,7 +32,7 @@ Source: https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape
 const x = "\8";
 ```
 
-
nursery/noNonoctalDecimalEscape.js:1:12 lint/nursery/noNonoctalDecimalEscape  FIXABLE  ━━━━━━━━━━━━━
+
correctness/noNonoctalDecimalEscape.js:1:12 lint/correctness/noNonoctalDecimalEscape  FIXABLE  ━━━━━━━━━━
 
    Don't use `\8` and `\9` escape sequences in string literals.
   
@@ -48,7 +52,7 @@ const x = "\8";
 const x = "Don't use \8 escape.";
 ```
 
-
nursery/noNonoctalDecimalEscape.js:1:22 lint/nursery/noNonoctalDecimalEscape  FIXABLE  ━━━━━━━━━━━━━
+
correctness/noNonoctalDecimalEscape.js:1:22 lint/correctness/noNonoctalDecimalEscape  FIXABLE  ━━━━━━━━━━
 
    Don't use `\8` and `\9` escape sequences in string literals.
   
@@ -68,7 +72,7 @@ const x = "Don't use \8 escape.";
 const x = "Don't use \9 escape.";
 ```
 
-
nursery/noNonoctalDecimalEscape.js:1:22 lint/nursery/noNonoctalDecimalEscape  FIXABLE  ━━━━━━━━━━━━━
+
correctness/noNonoctalDecimalEscape.js:1:22 lint/correctness/noNonoctalDecimalEscape  FIXABLE  ━━━━━━━━━━
 
    Don't use `\8` and `\9` escape sequences in string literals.
   
diff --git a/website/src/content/docs/linter/rules/no-redundant-roles.md b/website/src/content/docs/linter/rules/no-redundant-roles.md
index 56ef69437e56..85c360b93893 100644
--- a/website/src/content/docs/linter/rules/no-redundant-roles.md
+++ b/website/src/content/docs/linter/rules/no-redundant-roles.md
@@ -3,6 +3,10 @@ title: noRedundantRoles (since v1.0.0)
 ---
 
 
+:::note
+This rule is recommended by Biome. A diagnostic error will appear when linting your code.
+:::
+
 Enforce explicit `role` property is not the same as implicit/default role property on an element.
 
 ESLint (eslint-plugin-jsx-a11y) Equivalent: [no-redundant-roles](https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/main/docs/rules/no-redundant-roles.md)
@@ -15,7 +19,7 @@ ESLint (eslint-plugin-jsx-a11y) Equivalent: [no-redundant-roles](https://github.
 
``` -
nursery/noRedundantRoles.js:1:15 lint/nursery/noRedundantRoles  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
a11y/noRedundantRoles.js:1:15 lint/a11y/noRedundantRoles  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Using the role attribute 'article' on the 'article' element is redundant.
   
@@ -33,7 +37,7 @@ ESLint (eslint-plugin-jsx-a11y) Equivalent: [no-redundant-roles](https://github.
 
 ```
 
-
nursery/noRedundantRoles.js:1:14 lint/nursery/noRedundantRoles  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
a11y/noRedundantRoles.js:1:14 lint/a11y/noRedundantRoles  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Using the role attribute 'button' on the 'button' element is redundant.
   
@@ -51,7 +55,7 @@ ESLint (eslint-plugin-jsx-a11y) Equivalent: [no-redundant-roles](https://github.
 

title

``` -
nursery/noRedundantRoles.js:1:10 lint/nursery/noRedundantRoles  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
a11y/noRedundantRoles.js:1:10 lint/a11y/noRedundantRoles  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Using the role attribute 'heading' on the 'h1' element is redundant.
   
diff --git a/website/src/content/docs/linter/rules/no-self-assign.md b/website/src/content/docs/linter/rules/no-self-assign.md
index de0fed9335da..97144a66fe61 100644
--- a/website/src/content/docs/linter/rules/no-self-assign.md
+++ b/website/src/content/docs/linter/rules/no-self-assign.md
@@ -3,6 +3,10 @@ title: noSelfAssign (since v1.0.0)
 ---
 
 
+:::note
+This rule is recommended by Biome. A diagnostic error will appear when linting your code.
+:::
+
 Disallow assignments where both sides are exactly the same.
 
 Self assignments have no effect, so probably those are an error due to incomplete refactoring.
@@ -17,7 +21,7 @@ Source: https://eslint.org/docs/latest/rules/no-self-assign
 a = a;
 ```
 
-
nursery/noSelfAssign.js:1:5 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noSelfAssign.js:1:5 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    a is assigned to itself.
   
@@ -37,7 +41,7 @@ a = a;
 [a] = [a];
 ```
 
-
nursery/noSelfAssign.js:1:8 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noSelfAssign.js:1:8 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    a is assigned to itself.
   
@@ -57,7 +61,7 @@ a = a;
 ({a: b} = {a: b});
 ```
 
-
nursery/noSelfAssign.js:1:15 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noSelfAssign.js:1:15 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    b is assigned to itself.
   
@@ -77,7 +81,7 @@ a = a;
 a.b = a.b;
 ```
 
-
nursery/noSelfAssign.js:1:9 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noSelfAssign.js:1:9 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    b is assigned to itself.
   
@@ -97,7 +101,7 @@ a.b = a.b;
 a[b] = a[b];
 ```
 
-
nursery/noSelfAssign.js:1:10 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noSelfAssign.js:1:10 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    b is assigned to itself.
   
@@ -117,7 +121,7 @@ a[b] = a[b];
 a[b].foo = a[b].foo;
 ```
 
-
nursery/noSelfAssign.js:1:17 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noSelfAssign.js:1:17 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    foo is assigned to itself.
   
@@ -137,7 +141,7 @@ a[b].foo = a[b].foo;
 a['b'].foo = a['b'].foo;
 ```
 
-
nursery/noSelfAssign.js:1:21 lint/nursery/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noSelfAssign.js:1:21 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    foo is assigned to itself.
   
diff --git a/website/src/content/docs/linter/rules/no-static-only-class.md b/website/src/content/docs/linter/rules/no-static-only-class.md
index f4c652fc4bf7..af9c548ad022 100644
--- a/website/src/content/docs/linter/rules/no-static-only-class.md
+++ b/website/src/content/docs/linter/rules/no-static-only-class.md
@@ -3,6 +3,10 @@ title: noStaticOnlyClass (since v1.0.0)
 ---
 
 
+:::note
+This rule is recommended by Biome. A diagnostic error will appear when linting your code.
+:::
+
 This rule reports when a class has no non-static members, such as for a class used exclusively as a static namespace.
 
 Users who come from a [OOP](https://en.wikipedia.org/wiki/Object-oriented_programming) paradigm may wrap their utility functions in an extra class,
@@ -28,7 +32,7 @@ class X {
 }
 ```
 
-
nursery/noStaticOnlyClass.js:1:1 lint/nursery/noStaticOnlyClass ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
complexity/noStaticOnlyClass.js:1:1 lint/complexity/noStaticOnlyClass ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Avoid classes that contain only static members.
   
@@ -54,7 +58,7 @@ class StaticConstants {
 }
 ```
 
-
nursery/noStaticOnlyClass.js:2:10 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
complexity/noStaticOnlyClass.js:2:10 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    'readonly' modifier can only be used in TypeScript files
   
@@ -106,7 +110,7 @@ export class Utilities {
 }
 ```
 
-
nursery/noStaticOnlyClass.js:1:8 lint/nursery/noStaticOnlyClass ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
complexity/noStaticOnlyClass.js:1:8 lint/complexity/noStaticOnlyClass ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Avoid classes that contain only static members.
   
diff --git a/website/src/content/docs/linter/rules/no-unsafe-declaration-merging.md b/website/src/content/docs/linter/rules/no-unsafe-declaration-merging.md
index 0dd10621df9a..3ddabbc3afa5 100644
--- a/website/src/content/docs/linter/rules/no-unsafe-declaration-merging.md
+++ b/website/src/content/docs/linter/rules/no-unsafe-declaration-merging.md
@@ -3,6 +3,10 @@ title: noUnsafeDeclarationMerging (since v1.0.0)
 ---
 
 
+:::note
+This rule is recommended by Biome. A diagnostic error will appear when linting your code.
+:::
+
 Disallow unsafe declaration merging between interfaces and classes.
 
 _TypeScript_'s [declaration merging](https://www.typescriptlang.org/docs/handbook/declaration-merging.html) supports merging separate declarations with the same name.
@@ -28,7 +32,7 @@ const foo = new Foo();
 foo.f(); // Runtime Error: Cannot read properties of undefined.
 ```
 
-
nursery/noUnsafeDeclarationMerging.js:5:7 lint/nursery/noUnsafeDeclarationMerging ━━━━━━━━━━━━━━━━━━
+
suspicious/noUnsafeDeclarationMerging.js:5:7 lint/suspicious/noUnsafeDeclarationMerging ━━━━━━━━━━━━
 
    This class is unsafely merged with an interface.
   
diff --git a/website/src/content/docs/linter/rules/no-useless-empty-export.md b/website/src/content/docs/linter/rules/no-useless-empty-export.md
index fab3d16b68b4..7636c42e36fc 100644
--- a/website/src/content/docs/linter/rules/no-useless-empty-export.md
+++ b/website/src/content/docs/linter/rules/no-useless-empty-export.md
@@ -3,6 +3,10 @@ title: noUselessEmptyExport (since v1.0.0)
 ---
 
 
+:::note
+This rule is recommended by Biome. A diagnostic error will appear when linting your code.
+:::
+
 Disallow empty exports that don't change anything in a module file.
 
 An empty `export {}` is sometimes useful to turn a file that would otherwise be a script into a module.
@@ -27,7 +31,7 @@ import { A } from "module";
 export {};
 ```
 
-
nursery/noUselessEmptyExport.js:2:1 lint/nursery/noUselessEmptyExport  FIXABLE  ━━━━━━━━━━━━━━━━━━━━
+
complexity/noUselessEmptyExport.js:2:1 lint/complexity/noUselessEmptyExport  FIXABLE  ━━━━━━━━━━━━━━
 
    This empty export is useless because there's another export or import.
   
@@ -56,7 +60,7 @@ export const A = 0;
 export {};
 ```
 
-
nursery/noUselessEmptyExport.js:2:1 lint/nursery/noUselessEmptyExport  FIXABLE  ━━━━━━━━━━━━━━━━━━━━
+
complexity/noUselessEmptyExport.js:2:1 lint/complexity/noUselessEmptyExport  FIXABLE  ━━━━━━━━━━━━━━
 
    This empty export is useless because there's another export or import.
   
diff --git a/website/src/content/docs/linter/rules/no-useless-this-alias.md b/website/src/content/docs/linter/rules/no-useless-this-alias.md
index 4cf97cb8b46d..3d6e9752ab6c 100644
--- a/website/src/content/docs/linter/rules/no-useless-this-alias.md
+++ b/website/src/content/docs/linter/rules/no-useless-this-alias.md
@@ -3,6 +3,10 @@ title: noUselessThisAlias (since v1.0.0)
 ---
 
 
+:::note
+This rule is recommended by Biome. A diagnostic error will appear when linting your code.
+:::
+
 Disallow useless `this` aliasing.
 
 Arrow functions inherits `this` from their enclosing scope;
@@ -25,7 +29,7 @@ class A {
 }
 ```
 
-
nursery/noUselessThisAlias.js:3:15 lint/nursery/noUselessThisAlias  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━
+
complexity/noUselessThisAlias.js:3:15 lint/complexity/noUselessThisAlias  FIXABLE  ━━━━━━━━━━━━━━━━━
 
    This aliasing of this is unnecessary.
   
diff --git a/website/src/content/docs/linter/rules/use-aria-prop-types.md b/website/src/content/docs/linter/rules/use-aria-prop-types.md
index e1de7cd4a63f..363316d74116 100644
--- a/website/src/content/docs/linter/rules/use-aria-prop-types.md
+++ b/website/src/content/docs/linter/rules/use-aria-prop-types.md
@@ -3,6 +3,10 @@ title: useAriaPropTypes (since v1.0.0)
 ---
 
 
+:::note
+This rule is recommended by Biome. A diagnostic error will appear when linting your code.
+:::
+
 Enforce that ARIA state and property values are valid.
 
 ## Examples
@@ -13,9 +17,9 @@ Enforce that ARIA state and property values are valid.
 some text
 ```
 
-
nursery/useAriaPropTypes.js:1:23 lint/nursery/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
a11y/useAriaPropTypes.js:1:23 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
-   The value of the ARIA attribute aria-checked is not correct.
+   The value of the ARIA attribute aria-checked is not correct.
   
   > 1 │ <span role="checkbox" aria-checked="test">some text</span>
                          ^^^^^^^^^^^^^^^^^^^
@@ -33,9 +37,9 @@ Enforce that ARIA state and property values are valid.
 some text
 ```
 
-
nursery/useAriaPropTypes.js:1:7 lint/nursery/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
a11y/useAriaPropTypes.js:1:7 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
-   The value of the ARIA attribute aria-labelledby is not correct.
+   The value of the ARIA attribute aria-labelledby is not correct.
   
   > 1 │ <span aria-labelledby="">some text</span>
          ^^^^^^^^^^^^^^^^^^
@@ -49,9 +53,9 @@ Enforce that ARIA state and property values are valid.
 some text
 ```
 
-
nursery/useAriaPropTypes.js:1:7 lint/nursery/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
a11y/useAriaPropTypes.js:1:7 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
-   The value of the ARIA attribute aria-valuemax is not correct.
+   The value of the ARIA attribute aria-valuemax is not correct.
   
   > 1 │ <span aria-valuemax="hey">some text</span>
          ^^^^^^^^^^^^^^^^^^^
@@ -65,9 +69,9 @@ Enforce that ARIA state and property values are valid.
 some text
 ```
 
-
nursery/useAriaPropTypes.js:1:7 lint/nursery/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
a11y/useAriaPropTypes.js:1:7 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
-   The value of the ARIA attribute aria-orientation is not correct.
+   The value of the ARIA attribute aria-orientation is not correct.
   
   > 1 │ <span aria-orientation="hey">some text</span>
          ^^^^^^^^^^^^^^^^^^^^^^
diff --git a/website/src/content/docs/linter/rules/use-getter-return.md b/website/src/content/docs/linter/rules/use-getter-return.md
index 4387faca7ae6..b56223e49187 100644
--- a/website/src/content/docs/linter/rules/use-getter-return.md
+++ b/website/src/content/docs/linter/rules/use-getter-return.md
@@ -3,6 +3,10 @@ title: useGetterReturn (since v1.0.0)
 ---
 
 
+:::note
+This rule is recommended by Biome. A diagnostic error will appear when linting your code.
+:::
+
 Enforce `get` methods to always return a value.
 
 Source: https://eslint.org/docs/latest/rules/getter-return
@@ -17,7 +21,7 @@ class Person {
 }
 ```
 
-
nursery/useGetterReturn.js:2:5 lint/nursery/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
suspicious/useGetterReturn.js:2:5 lint/suspicious/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    This getter should return a value.
   
@@ -37,7 +41,7 @@ const obj = {
 }
 ```
 
-
nursery/useGetterReturn.js:3:9 lint/nursery/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
suspicious/useGetterReturn.js:3:9 lint/suspicious/useGetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    This return should return a value because it is located in a return.
   
@@ -62,7 +66,7 @@ class Option {
 }
 ```
 
-
nursery/useGetterReturn.js:8:6 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
suspicious/useGetterReturn.js:8:6 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    expected an identifier, a string literal, a number literal, a private field name, or a computed name but instead found ','
   
diff --git a/website/src/content/docs/linter/rules/use-literal-enum-members.md b/website/src/content/docs/linter/rules/use-literal-enum-members.md
index 622e64ce7803..d6c27d075787 100644
--- a/website/src/content/docs/linter/rules/use-literal-enum-members.md
+++ b/website/src/content/docs/linter/rules/use-literal-enum-members.md
@@ -3,6 +3,10 @@ title: useLiteralEnumMembers (since v1.0.0)
 ---
 
 
+:::note
+This rule is recommended by Biome. A diagnostic error will appear when linting your code.
+:::
+
 Require all enum members to be literal values.
 
 Usually, an enum member is initialized with a literal number or a literal string.
@@ -26,7 +30,7 @@ enum Computed {
 }
 ```
 
-
nursery/useLiteralEnumMembers.js:4:9 lint/nursery/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
style/useLiteralEnumMembers.js:4:9 lint/style/useLiteralEnumMembers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    The enum member should be initialized with a literal value such as a number or a string.
   
diff --git a/website/src/content/docs/linter/rules/use-naming-convention.md b/website/src/content/docs/linter/rules/use-naming-convention.md
index c74258ec9395..a6b5a17edd98 100644
--- a/website/src/content/docs/linter/rules/use-naming-convention.md
+++ b/website/src/content/docs/linter/rules/use-naming-convention.md
@@ -47,7 +47,7 @@ Examples of incorrect names:
 let a_value = 0;
 ```
 
-
nursery/useNamingConvention.js:1:5 lint/nursery/useNamingConvention  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━
+
style/useNamingConvention.js:1:5 lint/style/useNamingConvention  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    This top-level let name should be in camelCase.
   
@@ -69,7 +69,7 @@ let a_value = 0;
 function f(FirstParam) {}
 ```
 
-
nursery/useNamingConvention.js:1:12 lint/nursery/useNamingConvention  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━
+
style/useNamingConvention.js:1:12 lint/style/useNamingConvention  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━
 
    This function parameter name should be in camelCase.
   
@@ -178,7 +178,7 @@ Examples of an incorrect type alias:
 type person = { fullName: string };
 ```
 
-
nursery/useNamingConvention.js:1:6 lint/nursery/useNamingConvention  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━
+
style/useNamingConvention.js:1:6 lint/style/useNamingConvention  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    This type alias name should be in PascalCase.
   
@@ -214,7 +214,7 @@ const alice = {
 }
 ```
 
-
nursery/useNamingConvention.js:2:5 lint/nursery/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
style/useNamingConvention.js:2:5 lint/style/useNamingConvention ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    This object property name should be in camelCase.
   
@@ -255,7 +255,7 @@ Examples of an incorrect name:
 import * as MY_LIB from "my-lib";
 ```
 
-
nursery/useNamingConvention.js:1:13 lint/nursery/useNamingConvention  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━
+
style/useNamingConvention.js:1:13 lint/style/useNamingConvention  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━
 
    This import namespace name should be in camelCase or PascalCase.
   

From 44bae16e592cf9f85ac2d6b728009a5cfa4b01ad Mon Sep 17 00:00:00 2001
From: Victorien Elvinger 
Date: Fri, 15 Sep 2023 13:53:34 +0200
Subject: [PATCH 2/6] refactor(lint): rname useAriaPropTypes to
 useValidAriaValues

---
 .../src/categories.rs                         |  2 +-
 .../src/aria_analyzers/a11y.rs                |  4 +-
 ...prop_types.rs => use_valid_aria_values.rs} | 12 ++--
 .../invalid.jsx                               |  0
 .../invalid.jsx.snap                          | 28 ++++-----
 .../valid.jsx                                 |  0
 .../valid.jsx.snap                            |  0
 .../src/configuration/linter/rules.rs         | 60 +++++++++----------
 .../src/configuration/parse/json/rules.rs     | 48 +++++++--------
 editors/vscode/configuration_schema.json      | 14 ++---
 .../@biomejs/backend-jsonrpc/src/workspace.ts | 10 ++--
 .../@biomejs/biome/configuration_schema.json  | 14 ++---
 .../src/content/docs/linter/rules/index.mdx   |  4 +-
 ...prop-types.md => use-valid-aria-values.md} | 10 ++--
 14 files changed, 103 insertions(+), 103 deletions(-)
 rename crates/biome_js_analyze/src/aria_analyzers/a11y/{use_aria_prop_types.rs => use_valid_aria_values.rs} (95%)
 rename crates/biome_js_analyze/tests/specs/a11y/{useAriaPropTypes => useValidAriaValues}/invalid.jsx (100%)
 rename crates/biome_js_analyze/tests/specs/a11y/{useAriaPropTypes => useValidAriaValues}/invalid.jsx.snap (83%)
 rename crates/biome_js_analyze/tests/specs/a11y/{useAriaPropTypes => useValidAriaValues}/valid.jsx (100%)
 rename crates/biome_js_analyze/tests/specs/a11y/{useAriaPropTypes => useValidAriaValues}/valid.jsx.snap (100%)
 rename website/src/content/docs/linter/rules/{use-aria-prop-types.md => use-valid-aria-values.md} (88%)

diff --git a/crates/biome_diagnostics_categories/src/categories.rs b/crates/biome_diagnostics_categories/src/categories.rs
index f2922e32603c..b9e785d74224 100644
--- a/crates/biome_diagnostics_categories/src/categories.rs
+++ b/crates/biome_diagnostics_categories/src/categories.rs
@@ -27,7 +27,7 @@ define_categories! {
     "lint/a11y/noSvgWithoutTitle": "https://biomejs.dev/linter/rules/no-svg-without-title",
     "lint/a11y/useAltText": "https://biomejs.dev/linter/rules/use-alt-text",
     "lint/a11y/useAnchorContent": "https://biomejs.dev/linter/rules/use-anchor-content",
-    "lint/a11y/useAriaPropTypes": "https://biomejs.dev/linter/rules/use-aria-prop-types",
+    "lint/a11y/useValidAriaValues": "https://biomejs.dev/linter/rules/use-aria-prop-types",
     "lint/a11y/useAriaPropsForRole": "https://biomejs.dev/linter/rules/use-aria-props-for-role",
     "lint/a11y/useButtonType": "https://biomejs.dev/linter/rules/use-button-type",
     "lint/a11y/useHeadingContent": "https://biomejs.dev/linter/rules/use-heading-content",
diff --git a/crates/biome_js_analyze/src/aria_analyzers/a11y.rs b/crates/biome_js_analyze/src/aria_analyzers/a11y.rs
index e395e4f1eecf..579e0fc146f3 100644
--- a/crates/biome_js_analyze/src/aria_analyzers/a11y.rs
+++ b/crates/biome_js_analyze/src/aria_analyzers/a11y.rs
@@ -6,9 +6,9 @@ pub(crate) mod no_aria_unsupported_elements;
 pub(crate) mod no_noninteractive_element_to_interactive_role;
 pub(crate) mod no_noninteractive_tabindex;
 pub(crate) mod no_redundant_roles;
-pub(crate) mod use_aria_prop_types;
 pub(crate) mod use_aria_props_for_role;
 pub(crate) mod use_valid_aria_props;
+pub(crate) mod use_valid_aria_values;
 pub(crate) mod use_valid_lang;
 
 declare_group! {
@@ -19,9 +19,9 @@ declare_group! {
             self :: no_noninteractive_element_to_interactive_role :: NoNoninteractiveElementToInteractiveRole ,
             self :: no_noninteractive_tabindex :: NoNoninteractiveTabindex ,
             self :: no_redundant_roles :: NoRedundantRoles ,
-            self :: use_aria_prop_types :: UseAriaPropTypes ,
             self :: use_aria_props_for_role :: UseAriaPropsForRole ,
             self :: use_valid_aria_props :: UseValidAriaProps ,
+            self :: use_valid_aria_values :: UseValidAriaValues ,
             self :: use_valid_lang :: UseValidLang ,
         ]
      }
diff --git a/crates/biome_js_analyze/src/aria_analyzers/a11y/use_aria_prop_types.rs b/crates/biome_js_analyze/src/aria_analyzers/a11y/use_valid_aria_values.rs
similarity index 95%
rename from crates/biome_js_analyze/src/aria_analyzers/a11y/use_aria_prop_types.rs
rename to crates/biome_js_analyze/src/aria_analyzers/a11y/use_valid_aria_values.rs
index 173da66e6c56..795471b067cd 100644
--- a/crates/biome_js_analyze/src/aria_analyzers/a11y/use_aria_prop_types.rs
+++ b/crates/biome_js_analyze/src/aria_analyzers/a11y/use_valid_aria_values.rs
@@ -46,23 +46,23 @@ declare_rule! {
     /// ### Resources
     /// - [ARIA Spec, States and Properties](https://www.w3.org/TR/wai-aria/#states_and_properties)
     /// - [Chrome Audit Rules, AX_ARIA_04](https://github.com/GoogleChrome/accessibility-developer-tools/wiki/Audit-Rules#ax_aria_04)
-    pub(crate) UseAriaPropTypes {
+    pub(crate) UseValidAriaValues {
         version: "1.0.0",
-        name: "useAriaPropTypes",
+        name: "useValidAriaValues",
         recommended: true,
     }
 }
 
-pub(crate) struct UseAriaProptypesState {
+pub(crate) struct UseValidAriaValuesState {
     attribute_value_range: TextRange,
     allowed_values: Iter<'static, &'static str>,
     attribute_name: JsSyntaxToken,
     property_type: AriaPropertyTypeEnum,
 }
 
-impl Rule for UseAriaPropTypes {
+impl Rule for UseValidAriaValues {
     type Query = Aria;
-    type State = UseAriaProptypesState;
+    type State = UseValidAriaValuesState;
     type Signals = Option;
     type Options = ();
 
@@ -77,7 +77,7 @@ impl Rule for UseAriaPropTypes {
             let attribute_static_value = node.as_static_value()?;
             let attribute_text = attribute_static_value.text();
             if !aria_property.contains_correct_value(attribute_text) {
-                return Some(UseAriaProptypesState {
+                return Some(UseValidAriaValuesState {
                     attribute_value_range,
                     allowed_values: aria_property.values(),
                     attribute_name,
diff --git a/crates/biome_js_analyze/tests/specs/a11y/useAriaPropTypes/invalid.jsx b/crates/biome_js_analyze/tests/specs/a11y/useValidAriaValues/invalid.jsx
similarity index 100%
rename from crates/biome_js_analyze/tests/specs/a11y/useAriaPropTypes/invalid.jsx
rename to crates/biome_js_analyze/tests/specs/a11y/useValidAriaValues/invalid.jsx
diff --git a/crates/biome_js_analyze/tests/specs/a11y/useAriaPropTypes/invalid.jsx.snap b/crates/biome_js_analyze/tests/specs/a11y/useValidAriaValues/invalid.jsx.snap
similarity index 83%
rename from crates/biome_js_analyze/tests/specs/a11y/useAriaPropTypes/invalid.jsx.snap
rename to crates/biome_js_analyze/tests/specs/a11y/useValidAriaValues/invalid.jsx.snap
index b4975f17eab4..b588699d3181 100644
--- a/crates/biome_js_analyze/tests/specs/a11y/useAriaPropTypes/invalid.jsx.snap
+++ b/crates/biome_js_analyze/tests/specs/a11y/useValidAriaValues/invalid.jsx.snap
@@ -24,7 +24,7 @@ var a = ;
 
 # Diagnostics
 ```
-invalid.jsx:1:31 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+invalid.jsx:1:31 lint/a11y/useValidAriaValues ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
   ! The value of the ARIA attribute aria-checked is not correct.
   
@@ -43,7 +43,7 @@ invalid.jsx:1:31 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━
 ```
 
 ```
-invalid.jsx:2:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+invalid.jsx:2:15 lint/a11y/useValidAriaValues ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
   ! The value of the ARIA attribute aria-autocomplete is not correct.
   
@@ -64,7 +64,7 @@ invalid.jsx:2:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━
 ```
 
 ```
-invalid.jsx:3:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+invalid.jsx:3:15 lint/a11y/useValidAriaValues ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
   ! The value of the ARIA attribute aria-invalid is not correct.
   
@@ -86,7 +86,7 @@ invalid.jsx:3:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━
 ```
 
 ```
-invalid.jsx:5:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+invalid.jsx:5:15 lint/a11y/useValidAriaValues ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
   ! The value of the ARIA attribute aria-invalid is not correct.
   
@@ -108,7 +108,7 @@ invalid.jsx:5:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━
 ```
 
 ```
-invalid.jsx:6:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+invalid.jsx:6:15 lint/a11y/useValidAriaValues ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
   ! The value of the ARIA attribute aria-errormessage is not correct.
   
@@ -125,7 +125,7 @@ invalid.jsx:6:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━
 ```
 
 ```
-invalid.jsx:7:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+invalid.jsx:7:15 lint/a11y/useValidAriaValues ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
   ! The value of the ARIA attribute aria-relevant is not correct.
   
@@ -147,7 +147,7 @@ invalid.jsx:7:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━
 ```
 
 ```
-invalid.jsx:8:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+invalid.jsx:8:15 lint/a11y/useValidAriaValues ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
   ! The value of the ARIA attribute aria-labelledby is not correct.
   
@@ -164,7 +164,7 @@ invalid.jsx:8:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━
 ```
 
 ```
-invalid.jsx:9:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+invalid.jsx:9:15 lint/a11y/useValidAriaValues ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
   ! The value of the ARIA attribute aria-labelledby is not correct.
   
@@ -181,7 +181,7 @@ invalid.jsx:9:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━
 ```
 
 ```
-invalid.jsx:10:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+invalid.jsx:10:15 lint/a11y/useValidAriaValues ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
   ! The value of the ARIA attribute aria-labelledby is not correct.
   
@@ -198,7 +198,7 @@ invalid.jsx:10:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━
 ```
 
 ```
-invalid.jsx:11:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+invalid.jsx:11:15 lint/a11y/useValidAriaValues ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
   ! The value of the ARIA attribute aria-details is not correct.
   
@@ -215,7 +215,7 @@ invalid.jsx:11:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━
 ```
 
 ```
-invalid.jsx:12:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+invalid.jsx:12:15 lint/a11y/useValidAriaValues ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
   ! The value of the ARIA attribute aria-setsize is not correct.
   
@@ -232,7 +232,7 @@ invalid.jsx:12:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━
 ```
 
 ```
-invalid.jsx:13:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+invalid.jsx:13:15 lint/a11y/useValidAriaValues ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
   ! The value of the ARIA attribute aria-valuemax is not correct.
   
@@ -249,7 +249,7 @@ invalid.jsx:13:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━
 ```
 
 ```
-invalid.jsx:14:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+invalid.jsx:14:15 lint/a11y/useValidAriaValues ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
   ! The value of the ARIA attribute aria-dropeffect is not correct.
   
@@ -273,7 +273,7 @@ invalid.jsx:14:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━
 ```
 
 ```
-invalid.jsx:15:15 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+invalid.jsx:15:15 lint/a11y/useValidAriaValues ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
   ! The value of the ARIA attribute aria-orientation is not correct.
   
diff --git a/crates/biome_js_analyze/tests/specs/a11y/useAriaPropTypes/valid.jsx b/crates/biome_js_analyze/tests/specs/a11y/useValidAriaValues/valid.jsx
similarity index 100%
rename from crates/biome_js_analyze/tests/specs/a11y/useAriaPropTypes/valid.jsx
rename to crates/biome_js_analyze/tests/specs/a11y/useValidAriaValues/valid.jsx
diff --git a/crates/biome_js_analyze/tests/specs/a11y/useAriaPropTypes/valid.jsx.snap b/crates/biome_js_analyze/tests/specs/a11y/useValidAriaValues/valid.jsx.snap
similarity index 100%
rename from crates/biome_js_analyze/tests/specs/a11y/useAriaPropTypes/valid.jsx.snap
rename to crates/biome_js_analyze/tests/specs/a11y/useValidAriaValues/valid.jsx.snap
diff --git a/crates/biome_service/src/configuration/linter/rules.rs b/crates/biome_service/src/configuration/linter/rules.rs
index 0cf2a56e5555..77fd491bd1b2 100644
--- a/crates/biome_service/src/configuration/linter/rules.rs
+++ b/crates/biome_service/src/configuration/linter/rules.rs
@@ -429,10 +429,6 @@ pub struct A11y {
     #[bpaf(long("use-anchor-content"), argument("on|off|warn"), optional, hide)]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub use_anchor_content: Option,
-    #[doc = "Enforce that ARIA state and property values are valid."]
-    #[bpaf(long("use-aria-prop-types"), argument("on|off|warn"), optional, hide)]
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub use_aria_prop_types: Option,
     #[doc = "Enforce that elements with ARIA roles must have all required ARIA attributes for that role."]
     #[bpaf(
         long("use-aria-props-for-role"),
@@ -488,6 +484,10 @@ pub struct A11y {
     #[bpaf(long("use-valid-aria-props"), argument("on|off|warn"), optional, hide)]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub use_valid_aria_props: Option,
+    #[doc = "Enforce that ARIA state and property values are valid."]
+    #[bpaf(long("use-valid-aria-values"), argument("on|off|warn"), optional, hide)]
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub use_valid_aria_values: Option,
     #[doc = "Ensure that the attribute passed to the lang attribute is a correct ISO language and/or country."]
     #[bpaf(long("use-valid-lang"), argument("on|off|warn"), optional, hide)]
     #[serde(skip_serializing_if = "Option::is_none")]
@@ -510,7 +510,6 @@ impl A11y {
         "noSvgWithoutTitle",
         "useAltText",
         "useAnchorContent",
-        "useAriaPropTypes",
         "useAriaPropsForRole",
         "useButtonType",
         "useHeadingContent",
@@ -521,6 +520,7 @@ impl A11y {
         "useMediaCaption",
         "useValidAnchor",
         "useValidAriaProps",
+        "useValidAriaValues",
         "useValidLang",
     ];
     const RECOMMENDED_RULES: [&'static str; 24] = [
@@ -537,7 +537,6 @@ impl A11y {
         "noSvgWithoutTitle",
         "useAltText",
         "useAnchorContent",
-        "useAriaPropTypes",
         "useAriaPropsForRole",
         "useButtonType",
         "useHtmlLang",
@@ -547,6 +546,7 @@ impl A11y {
         "useMediaCaption",
         "useValidAnchor",
         "useValidAriaProps",
+        "useValidAriaValues",
         "useValidLang",
     ];
     const RECOMMENDED_RULES_AS_FILTERS: [RuleFilter<'static>; 24] = [
@@ -565,7 +565,7 @@ impl A11y {
         RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[13]),
         RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14]),
         RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[15]),
-        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16]),
+        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[17]),
         RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18]),
         RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19]),
         RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[20]),
@@ -688,57 +688,57 @@ impl A11y {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[13]));
             }
         }
-        if let Some(rule) = self.use_aria_prop_types.as_ref() {
+        if let Some(rule) = self.use_aria_props_for_role.as_ref() {
             if rule.is_enabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14]));
             }
         }
-        if let Some(rule) = self.use_aria_props_for_role.as_ref() {
+        if let Some(rule) = self.use_button_type.as_ref() {
             if rule.is_enabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[15]));
             }
         }
-        if let Some(rule) = self.use_button_type.as_ref() {
+        if let Some(rule) = self.use_heading_content.as_ref() {
             if rule.is_enabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16]));
             }
         }
-        if let Some(rule) = self.use_heading_content.as_ref() {
+        if let Some(rule) = self.use_html_lang.as_ref() {
             if rule.is_enabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[17]));
             }
         }
-        if let Some(rule) = self.use_html_lang.as_ref() {
+        if let Some(rule) = self.use_iframe_title.as_ref() {
             if rule.is_enabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18]));
             }
         }
-        if let Some(rule) = self.use_iframe_title.as_ref() {
+        if let Some(rule) = self.use_key_with_click_events.as_ref() {
             if rule.is_enabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19]));
             }
         }
-        if let Some(rule) = self.use_key_with_click_events.as_ref() {
+        if let Some(rule) = self.use_key_with_mouse_events.as_ref() {
             if rule.is_enabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[20]));
             }
         }
-        if let Some(rule) = self.use_key_with_mouse_events.as_ref() {
+        if let Some(rule) = self.use_media_caption.as_ref() {
             if rule.is_enabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[21]));
             }
         }
-        if let Some(rule) = self.use_media_caption.as_ref() {
+        if let Some(rule) = self.use_valid_anchor.as_ref() {
             if rule.is_enabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[22]));
             }
         }
-        if let Some(rule) = self.use_valid_anchor.as_ref() {
+        if let Some(rule) = self.use_valid_aria_props.as_ref() {
             if rule.is_enabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[23]));
             }
         }
-        if let Some(rule) = self.use_valid_aria_props.as_ref() {
+        if let Some(rule) = self.use_valid_aria_values.as_ref() {
             if rule.is_enabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24]));
             }
@@ -822,57 +822,57 @@ impl A11y {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[13]));
             }
         }
-        if let Some(rule) = self.use_aria_prop_types.as_ref() {
+        if let Some(rule) = self.use_aria_props_for_role.as_ref() {
             if rule.is_disabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14]));
             }
         }
-        if let Some(rule) = self.use_aria_props_for_role.as_ref() {
+        if let Some(rule) = self.use_button_type.as_ref() {
             if rule.is_disabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[15]));
             }
         }
-        if let Some(rule) = self.use_button_type.as_ref() {
+        if let Some(rule) = self.use_heading_content.as_ref() {
             if rule.is_disabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16]));
             }
         }
-        if let Some(rule) = self.use_heading_content.as_ref() {
+        if let Some(rule) = self.use_html_lang.as_ref() {
             if rule.is_disabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[17]));
             }
         }
-        if let Some(rule) = self.use_html_lang.as_ref() {
+        if let Some(rule) = self.use_iframe_title.as_ref() {
             if rule.is_disabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18]));
             }
         }
-        if let Some(rule) = self.use_iframe_title.as_ref() {
+        if let Some(rule) = self.use_key_with_click_events.as_ref() {
             if rule.is_disabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19]));
             }
         }
-        if let Some(rule) = self.use_key_with_click_events.as_ref() {
+        if let Some(rule) = self.use_key_with_mouse_events.as_ref() {
             if rule.is_disabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[20]));
             }
         }
-        if let Some(rule) = self.use_key_with_mouse_events.as_ref() {
+        if let Some(rule) = self.use_media_caption.as_ref() {
             if rule.is_disabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[21]));
             }
         }
-        if let Some(rule) = self.use_media_caption.as_ref() {
+        if let Some(rule) = self.use_valid_anchor.as_ref() {
             if rule.is_disabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[22]));
             }
         }
-        if let Some(rule) = self.use_valid_anchor.as_ref() {
+        if let Some(rule) = self.use_valid_aria_props.as_ref() {
             if rule.is_disabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[23]));
             }
         }
-        if let Some(rule) = self.use_valid_aria_props.as_ref() {
+        if let Some(rule) = self.use_valid_aria_values.as_ref() {
             if rule.is_disabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24]));
             }
@@ -934,7 +934,6 @@ impl A11y {
             "noSvgWithoutTitle" => self.no_svg_without_title.as_ref(),
             "useAltText" => self.use_alt_text.as_ref(),
             "useAnchorContent" => self.use_anchor_content.as_ref(),
-            "useAriaPropTypes" => self.use_aria_prop_types.as_ref(),
             "useAriaPropsForRole" => self.use_aria_props_for_role.as_ref(),
             "useButtonType" => self.use_button_type.as_ref(),
             "useHeadingContent" => self.use_heading_content.as_ref(),
@@ -945,6 +944,7 @@ impl A11y {
             "useMediaCaption" => self.use_media_caption.as_ref(),
             "useValidAnchor" => self.use_valid_anchor.as_ref(),
             "useValidAriaProps" => self.use_valid_aria_props.as_ref(),
+            "useValidAriaValues" => self.use_valid_aria_values.as_ref(),
             "useValidLang" => self.use_valid_lang.as_ref(),
             _ => None,
         }
diff --git a/crates/biome_service/src/configuration/parse/json/rules.rs b/crates/biome_service/src/configuration/parse/json/rules.rs
index 0037b74094ca..cca3ae97af4b 100644
--- a/crates/biome_service/src/configuration/parse/json/rules.rs
+++ b/crates/biome_service/src/configuration/parse/json/rules.rs
@@ -131,7 +131,6 @@ impl VisitNode for A11y {
                 "noSvgWithoutTitle",
                 "useAltText",
                 "useAnchorContent",
-                "useAriaPropTypes",
                 "useAriaPropsForRole",
                 "useButtonType",
                 "useHeadingContent",
@@ -142,6 +141,7 @@ impl VisitNode for A11y {
                 "useMediaCaption",
                 "useValidAnchor",
                 "useValidAriaProps",
+                "useValidAriaValues",
                 "useValidLang",
             ],
             diagnostics,
@@ -484,29 +484,6 @@ impl VisitNode for A11y {
                     ));
                 }
             },
-            "useAriaPropTypes" => match value {
-                AnyJsonValue::JsonStringValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.use_aria_prop_types = Some(configuration);
-                }
-                AnyJsonValue::JsonObjectValue(_) => {
-                    let mut rule_configuration = RuleConfiguration::default();
-                    rule_configuration.map_rule_configuration(
-                        &value,
-                        name_text,
-                        "useAriaPropTypes",
-                        diagnostics,
-                    )?;
-                    self.use_aria_prop_types = Some(rule_configuration);
-                }
-                _ => {
-                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
-                        "object or string",
-                        value.range(),
-                    ));
-                }
-            },
             "useAriaPropsForRole" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -737,6 +714,29 @@ impl VisitNode for A11y {
                     ));
                 }
             },
+            "useValidAriaValues" => match value {
+                AnyJsonValue::JsonStringValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
+                    self.use_valid_aria_values = Some(configuration);
+                }
+                AnyJsonValue::JsonObjectValue(_) => {
+                    let mut rule_configuration = RuleConfiguration::default();
+                    rule_configuration.map_rule_configuration(
+                        &value,
+                        name_text,
+                        "useValidAriaValues",
+                        diagnostics,
+                    )?;
+                    self.use_valid_aria_values = Some(rule_configuration);
+                }
+                _ => {
+                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
+                        "object or string",
+                        value.range(),
+                    ));
+                }
+            },
             "useValidLang" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
diff --git a/editors/vscode/configuration_schema.json b/editors/vscode/configuration_schema.json
index 02eaee8cffc5..20b4156ac26b 100644
--- a/editors/vscode/configuration_schema.json
+++ b/editors/vscode/configuration_schema.json
@@ -171,13 +171,6 @@
 						{ "type": "null" }
 					]
 				},
-				"useAriaPropTypes": {
-					"description": "Enforce that ARIA state and property values are valid.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"useAriaPropsForRole": {
 					"description": "Enforce that elements with ARIA roles must have all required ARIA attributes for that role.",
 					"anyOf": [
@@ -248,6 +241,13 @@
 						{ "type": "null" }
 					]
 				},
+				"useValidAriaValues": {
+					"description": "Enforce that ARIA state and property values are valid.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"useValidLang": {
 					"description": "Ensure that the attribute passed to the lang attribute is a correct ISO language and/or country.",
 					"anyOf": [
diff --git a/packages/@biomejs/backend-jsonrpc/src/workspace.ts b/packages/@biomejs/backend-jsonrpc/src/workspace.ts
index b884fc64c2f5..2a105c06095a 100644
--- a/packages/@biomejs/backend-jsonrpc/src/workspace.ts
+++ b/packages/@biomejs/backend-jsonrpc/src/workspace.ts
@@ -370,10 +370,6 @@ export interface A11y {
 	 * Enforce that anchors have content and that the content is accessible to screen readers.
 	 */
 	useAnchorContent?: RuleConfiguration;
-	/**
-	 * Enforce that ARIA state and property values are valid.
-	 */
-	useAriaPropTypes?: RuleConfiguration;
 	/**
 	 * Enforce that elements with ARIA roles must have all required ARIA attributes for that role.
 	 */
@@ -414,6 +410,10 @@ export interface A11y {
 	 * Ensures that ARIA properties aria-* are all valid.
 	 */
 	useValidAriaProps?: RuleConfiguration;
+	/**
+	 * Enforce that ARIA state and property values are valid.
+	 */
+	useValidAriaValues?: RuleConfiguration;
 	/**
 	 * Ensure that the attribute passed to the lang attribute is a correct ISO language and/or country.
 	 */
@@ -1202,7 +1202,7 @@ export type Category =
 	| "lint/a11y/noSvgWithoutTitle"
 	| "lint/a11y/useAltText"
 	| "lint/a11y/useAnchorContent"
-	| "lint/a11y/useAriaPropTypes"
+	| "lint/a11y/useValidAriaValues"
 	| "lint/a11y/useAriaPropsForRole"
 	| "lint/a11y/useButtonType"
 	| "lint/a11y/useHeadingContent"
diff --git a/packages/@biomejs/biome/configuration_schema.json b/packages/@biomejs/biome/configuration_schema.json
index 02eaee8cffc5..20b4156ac26b 100644
--- a/packages/@biomejs/biome/configuration_schema.json
+++ b/packages/@biomejs/biome/configuration_schema.json
@@ -171,13 +171,6 @@
 						{ "type": "null" }
 					]
 				},
-				"useAriaPropTypes": {
-					"description": "Enforce that ARIA state and property values are valid.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"useAriaPropsForRole": {
 					"description": "Enforce that elements with ARIA roles must have all required ARIA attributes for that role.",
 					"anyOf": [
@@ -248,6 +241,13 @@
 						{ "type": "null" }
 					]
 				},
+				"useValidAriaValues": {
+					"description": "Enforce that ARIA state and property values are valid.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"useValidLang": {
 					"description": "Ensure that the attribute passed to the lang attribute is a correct ISO language and/or country.",
 					"anyOf": [
diff --git a/website/src/content/docs/linter/rules/index.mdx b/website/src/content/docs/linter/rules/index.mdx
index 89c7f999b731..9251b8599582 100644
--- a/website/src/content/docs/linter/rules/index.mdx
+++ b/website/src/content/docs/linter/rules/index.mdx
@@ -36,8 +36,6 @@ Enforces the usage of the title element for the svg el
 Enforce that all elements that require alternative text have meaningful information to relay back to the end user.
 ### [useAnchorContent](/linter/rules/use-anchor-content)
 Enforce that anchors have content and that the content is accessible to screen readers.
-### [useAriaPropTypes](/linter/rules/use-aria-prop-types)
-Enforce that ARIA state and property values are valid.
 ### [useAriaPropsForRole](/linter/rules/use-aria-props-for-role)
 Enforce that elements with ARIA roles must have all required ARIA attributes for that role.
 ### [useButtonType](/linter/rules/use-button-type)
@@ -59,6 +57,8 @@ Enforces that audio and video elements must have a aria-* are all valid.
+### [useValidAriaValues](/linter/rules/use-valid-aria-values)
+Enforce that ARIA state and property values are valid.
 ### [useValidLang](/linter/rules/use-valid-lang)
 Ensure that the attribute passed to the lang attribute is a correct ISO language and/or country.
 
diff --git a/website/src/content/docs/linter/rules/use-aria-prop-types.md b/website/src/content/docs/linter/rules/use-valid-aria-values.md
similarity index 88%
rename from website/src/content/docs/linter/rules/use-aria-prop-types.md
rename to website/src/content/docs/linter/rules/use-valid-aria-values.md
index 363316d74116..3a0ff7b6cd5d 100644
--- a/website/src/content/docs/linter/rules/use-aria-prop-types.md
+++ b/website/src/content/docs/linter/rules/use-valid-aria-values.md
@@ -1,5 +1,5 @@
 ---
-title: useAriaPropTypes (since v1.0.0)
+title: useValidAriaValues (since v1.0.0)
 ---
 
 
@@ -17,7 +17,7 @@ Enforce that ARIA state and property values are valid.
 some text
 ```
 
-
a11y/useAriaPropTypes.js:1:23 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
a11y/useValidAriaValues.js:1:23 lint/a11y/useValidAriaValues ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    The value of the ARIA attribute aria-checked is not correct.
   
@@ -37,7 +37,7 @@ Enforce that ARIA state and property values are valid.
 some text
 ```
 
-
a11y/useAriaPropTypes.js:1:7 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
a11y/useValidAriaValues.js:1:7 lint/a11y/useValidAriaValues ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    The value of the ARIA attribute aria-labelledby is not correct.
   
@@ -53,7 +53,7 @@ Enforce that ARIA state and property values are valid.
 some text
 ```
 
-
a11y/useAriaPropTypes.js:1:7 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
a11y/useValidAriaValues.js:1:7 lint/a11y/useValidAriaValues ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    The value of the ARIA attribute aria-valuemax is not correct.
   
@@ -69,7 +69,7 @@ Enforce that ARIA state and property values are valid.
 some text
 ```
 
-
a11y/useAriaPropTypes.js:1:7 lint/a11y/useAriaPropTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
a11y/useValidAriaValues.js:1:7 lint/a11y/useValidAriaValues ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    The value of the ARIA attribute aria-orientation is not correct.
   

From 14fbe98979a55a16e6406591b3aa0cdbb0974ac3 Mon Sep 17 00:00:00 2001
From: Victorien Elvinger 
Date: Fri, 15 Sep 2023 13:55:18 +0200
Subject: [PATCH 3/6] chore: update website

---
 .../src/content/docs/internals/changelog.mdx  | 61 +++++++++++++-----
 website/src/content/docs/reference/cli.mdx    | 64 +++++++++++++++++++
 website/src/pages/schemas/1.2/schema.json.js  | 18 ++++++
 3 files changed, 126 insertions(+), 17 deletions(-)
 create mode 100644 website/src/pages/schemas/1.2/schema.json.js

diff --git a/website/src/content/docs/internals/changelog.mdx b/website/src/content/docs/internals/changelog.mdx
index b40357883782..5ae38d7f27d8 100644
--- a/website/src/content/docs/internals/changelog.mdx
+++ b/website/src/content/docs/internals/changelog.mdx
@@ -14,12 +14,11 @@ Read our [guidelines to categorize a change](https://biomejs.dev/internals/versi
 New entries must be placed in a section entitled `Unreleased`.
 Read our [guidelines for writing a good changelog entry](https://github.com/biomejs/biome/blob/main/CONTRIBUTING.md#changelog).
 
-## Unreleased
+## 1.2.0 (2023-09-16)
 
-### Analyzer
 ### CLI
 
-#### Features
+#### New features
 
 - Add new options to customize the behaviour the formatter based on the language of the file
   - `--json-formatter-enabled`
@@ -31,14 +30,13 @@ Read our [guidelines for writing a good changelog entry](https://github.com/biom
   - `--javascript-formatter-indent-size`
   - `--javascript-formatter-line-width`
 
-
 #### Bug fixes
 
 - Fix a bug where `--errors-on-warning` didn't work when running `biome ci` command.
 
 ### Configuration
 
-#### Features
+#### New features
 
 - Add new options to customize the behaviour of the formatter based on the language of the file
   - `json.formatter.enabled`
@@ -50,14 +48,44 @@ Read our [guidelines for writing a good changelog entry](https://github.com/biom
   - `javascript.formatter.indentSize`
   - `javascript.formatter.lineWidth`
 
-### Editors
-### Formatter
-### JavaScript APIs
 ### Linter
-#### New features
+
+#### Promoted rules
+
+New rules are incubated in the nursery group.
+Once stable, we promote them to a stable group.
+The following rules are promoted:
+
+- [a11y/noAriaUnsupportedElements](https://www.biomejs.dev/linter/rules/no-aria-unsupported-elements/)
+- [a11y/noNoninteractiveTabindex](https://www.biomejs.dev/linter/rules/no-noninteractive-tabindex/)
+- [a11y/noRedundantRoles](https://www.biomejs.dev/linter/rules/no-redundant-roles/)
+- [a11y/useValidAriaValues](https://www.biomejs.dev/linter/rules/use-valid-aria-values/)
+- [complexity/noBannedTypes](https://www.biomejs.dev/linter/rules/no-banned-types)
+- [complexity/noStaticOnlyClass](https://www.biomejs.dev/linter/rules/no-static-only-class)
+- [complexity/noUselessEmptyExport](https://www.biomejs.dev/linter/rules/no-useless-empty-export)
+- [complexity/noUselessThisAlias](https://www.biomejs.dev/linter/rules/no-useless-this-alias)
+- [correctness/noConstantCondition](https://www.biomejs.dev/linter/rules/no-constant-condition)
+- [correctness/noNonoctalDecimalEscape](https://www.biomejs.dev/linter/rules/no-nonoctal-decimal-escape)
+- [correctness/noSelfAssign](https://www.biomejs.dev/linter/rules/no-self-assign)
+- [style/useLiteralEnumMembers](https://www.biomejs.dev/linter/rules/use-literal-enum-members)
+- [style/useNamingConvention](https://www.biomejs.dev/linter/rules/use-naming-convention)
+- [suspicious/noControlCharactersInRegex](https://www.biomejs.dev/linter/rules/no-control-characters-in-regex)
+- [suspicious/noUnsafeDeclarationMerging](https://www.biomejs.dev/linter/rules/no-unsafe-declaration-merging)
+- [suspicious/useGetterReturn](https://www.biomejs.dev/linter/rules/use-getter-return)
+
+#### New rules
 
 - Add [noConfusingVoidType](https://biomejs.dev/linter/rules/no-confusing-void-type/) rule. The rule reports the unusual use of the `void` type. Contributed by [@shulandmimi](https://github.com/shulandmimi)
 
+#### Removed rules
+
+- Remove [noConfusingArrow](https://biomejs.dev/linter/rules/no-confusing-arrow/).
+
+  Code formatters, such as prettier and Biome, always adds parentheses around the parameter or the body of an arrow function.
+  This makes the rule useless.
+
+  Contributed by [@Conaclos](https://github.com/Conaclos)
+
 #### Enhancements
 
 - [noFallthroughSwitchClause](https://biomejs.dev/linter/rules/no-fallthrough-switch-clause/) now relies on control flow analysis to report most of switch clause fallthrough. Contributed by [@Conaclos](https://github.com/Conaclos)
@@ -96,13 +124,6 @@ Read our [guidelines for writing a good changelog entry](https://github.com/biom
 
   Contributed by [@Conaclos](https://github.com/Conaclos)
 
-- Remove [noConfusingArrow](https://biomejs.dev/linter/rules/no-confusing-arrow/).
-
-  Code formatters, such as prettier and Biome, always adds parentheses around the parameter or the body of an arrow function.
-  This makes the rule useless.
-
-  Contributed by [@Conaclos](https://github.com/Conaclos)
-
 #### Bug fixes
 
 - Fix [#182](https://github.com/biomejs/biome/issues/182), making [useLiteralKeys](https://biomejs.dev/linter/rules/use-literal-keys/) retains optional chaining. Contributed by [@denbezrukov](https://github.com/denbezrukov)
@@ -136,9 +157,15 @@ Read our [guidelines for writing a good changelog entry](https://github.com/biom
 
   Contributed by [@Conaclos](https://github.com/Conaclos)
 
-### Parser
 ### VSCode
 
+#### Enhancements
+
+- Improve server binary resolution when using certain package managers, notably pnpm.
+
+  The new strategy is to point to `node_modules/.bin/biome`` path,
+  which is consistent for all package managers.
+
 ## 1.1.2 (2023-09-07)
 
 ### Editors
diff --git a/website/src/content/docs/reference/cli.mdx b/website/src/content/docs/reference/cli.mdx
index e2ce66b98fdf..f7ebc5c00227 100644
--- a/website/src/content/docs/reference/cli.mdx
+++ b/website/src/content/docs/reference/cli.mdx
@@ -190,6 +190,22 @@ Run various checks on a set of files.
   Whether the formatter prints semicolons for all statements or only in for statements where it is necessary because of ASI.
 - **`    --arrow-parentheses`**=_``_ — 
   Whether to add non-necessary parentheses to arrow functions. Defaults to "always".
+- **`    --javascript-formatter-enabled`**=_``_ — 
+  Control the formatter for JavaScript (and its super languages) files.
+- **`    --javascript-formatter-indent-style`**=_``_ — 
+  The indent style applied to JavaScript (and its super languages) files.
+- **`    --javascript-formatter-indent-size`**=_`NUMBER`_ — 
+  The size of the indentation applied to JavaScript (and its super languages) files. Default to 2.
+- **`    --javascript-formatter-line-width`**=_`NUMBER`_ — 
+  What's the max width of a line, applied to JavaScript (and its super languages) files. Defaults to 80.
+- **`    --json-formatter-enabled`**=_``_ — 
+  Control the formatter for JSON (and its super languages) files.
+- **`    --json-formatter-indent-style`**=_``_ — 
+  The indent style applied to JSON (and its super languages) files.
+- **`    --json-formatter-indent-size`**=_`NUMBER`_ — 
+  The size of the indentation applied to JSON (and its super languages) files. Default to 2.
+- **`    --json-formatter-line-width`**=_`NUMBER`_ — 
+  What's the max width of a line, applied to JSON (and its super languages) files. Defaults to 80.
 
 
 
@@ -277,6 +293,22 @@ Run various checks on a set of files.
   Whether the formatter prints semicolons for all statements or only in for statements where it is necessary because of ASI.
 - **`    --arrow-parentheses`**=_``_ — 
   Whether to add non-necessary parentheses to arrow functions. Defaults to "always".
+- **`    --javascript-formatter-enabled`**=_``_ — 
+  Control the formatter for JavaScript (and its super languages) files.
+- **`    --javascript-formatter-indent-style`**=_``_ — 
+  The indent style applied to JavaScript (and its super languages) files.
+- **`    --javascript-formatter-indent-size`**=_`NUMBER`_ — 
+  The size of the indentation applied to JavaScript (and its super languages) files. Default to 2.
+- **`    --javascript-formatter-line-width`**=_`NUMBER`_ — 
+  What's the max width of a line, applied to JavaScript (and its super languages) files. Defaults to 80.
+- **`    --json-formatter-enabled`**=_``_ — 
+  Control the formatter for JSON (and its super languages) files.
+- **`    --json-formatter-indent-style`**=_``_ — 
+  The indent style applied to JSON (and its super languages) files.
+- **`    --json-formatter-indent-size`**=_`NUMBER`_ — 
+  The size of the indentation applied to JSON (and its super languages) files. Default to 2.
+- **`    --json-formatter-line-width`**=_`NUMBER`_ — 
+  What's the max width of a line, applied to JSON (and its super languages) files. Defaults to 80.
 
 
 
@@ -348,6 +380,14 @@ Run the formatter on a set of files.
   Whether the formatter prints semicolons for all statements or only in for statements where it is necessary because of ASI.
 - **`    --arrow-parentheses`**=_``_ — 
   Whether to add non-necessary parentheses to arrow functions. Defaults to "always".
+- **`    --javascript-formatter-enabled`**=_``_ — 
+  Control the formatter for JavaScript (and its super languages) files.
+- **`    --javascript-formatter-indent-style`**=_``_ — 
+  The indent style applied to JavaScript (and its super languages) files.
+- **`    --javascript-formatter-indent-size`**=_`NUMBER`_ — 
+  The size of the indentation applied to JavaScript (and its super languages) files. Default to 2.
+- **`    --javascript-formatter-line-width`**=_`NUMBER`_ — 
+  What's the max width of a line, applied to JavaScript (and its super languages) files. Defaults to 80.
 
 
 
@@ -402,6 +442,14 @@ Run the formatter on a set of files.
 
 
 **Available options:**
+- **`    --json-formatter-enabled`**=_``_ — 
+  Control the formatter for JSON (and its super languages) files.
+- **`    --json-formatter-indent-style`**=_``_ — 
+  The indent style applied to JSON (and its super languages) files.
+- **`    --json-formatter-indent-size`**=_`NUMBER`_ — 
+  The size of the indentation applied to JSON (and its super languages) files. Default to 2.
+- **`    --json-formatter-line-width`**=_`NUMBER`_ — 
+  What's the max width of a line, applied to JSON (and its super languages) files. Defaults to 80.
 - **`    --stdin-file-path`**=_`PATH`_ — 
   A file name with its extension to pass when reading from standard in, e.g. echo 'let a;' | biome format --stdin-file-path=file.js".
 - **`    --write`** — 
@@ -449,6 +497,22 @@ Command to use in CI environments. Run various checks of a set of files.
   Whether the formatter prints semicolons for all statements or only in for statements where it is necessary because of ASI.
 - **`    --arrow-parentheses`**=_``_ — 
   Whether to add non-necessary parentheses to arrow functions. Defaults to "always".
+- **`    --javascript-formatter-enabled`**=_``_ — 
+  Control the formatter for JavaScript (and its super languages) files.
+- **`    --javascript-formatter-indent-style`**=_``_ — 
+  The indent style applied to JavaScript (and its super languages) files.
+- **`    --javascript-formatter-indent-size`**=_`NUMBER`_ — 
+  The size of the indentation applied to JavaScript (and its super languages) files. Default to 2.
+- **`    --javascript-formatter-line-width`**=_`NUMBER`_ — 
+  What's the max width of a line, applied to JavaScript (and its super languages) files. Defaults to 80.
+- **`    --json-formatter-enabled`**=_``_ — 
+  Control the formatter for JSON (and its super languages) files.
+- **`    --json-formatter-indent-style`**=_``_ — 
+  The indent style applied to JSON (and its super languages) files.
+- **`    --json-formatter-indent-size`**=_`NUMBER`_ — 
+  The size of the indentation applied to JSON (and its super languages) files. Default to 2.
+- **`    --json-formatter-line-width`**=_`NUMBER`_ — 
+  What's the max width of a line, applied to JSON (and its super languages) files. Defaults to 80.
 
 
 
diff --git a/website/src/pages/schemas/1.2/schema.json.js b/website/src/pages/schemas/1.2/schema.json.js
new file mode 100644
index 000000000000..78ea351942e3
--- /dev/null
+++ b/website/src/pages/schemas/1.2/schema.json.js
@@ -0,0 +1,18 @@
+// Run `BIOME_VERSION= cargo codegen-website
+// to generate a new schema
+import { readFileSync } from "fs";
+import { join, resolve } from "path";
+
+export function get() {
+	const schemaPath = resolve(
+		join("..", "packages", "@biomejs", "biome", "configuration_schema.json"),
+	);
+	const schema = readFileSync(schemaPath, "utf8");
+
+	return new Response(schema, {
+		status: 200,
+		headers: {
+			"content-type": "application/json",
+		},
+	});
+}

From 19fac980af7bdd5370b603623e19a2eedb4fde73 Mon Sep 17 00:00:00 2001
From: Victorien Elvinger 
Date: Fri, 15 Sep 2023 13:57:34 +0200
Subject: [PATCH 4/6] chore: set version in package.json

---
 editors/vscode/package.json          | 2 +-
 packages/@biomejs/biome/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/editors/vscode/package.json b/editors/vscode/package.json
index 16880ddede98..b944806d1ce0 100644
--- a/editors/vscode/package.json
+++ b/editors/vscode/package.json
@@ -3,7 +3,7 @@
 	"publisher": "biomejs",
 	"displayName": "Biome",
 	"description": "Biome LSP VS Code Extension",
-	"version": "1.2.2",
+	"version": "1.4.0",
 	"icon": "icon.png",
 	"activationEvents": [
 		"onLanguage:javascript",
diff --git a/packages/@biomejs/biome/package.json b/packages/@biomejs/biome/package.json
index a6de2de120f4..63829b0d51ed 100644
--- a/packages/@biomejs/biome/package.json
+++ b/packages/@biomejs/biome/package.json
@@ -1,6 +1,6 @@
 {
     "name": "@biomejs/biome",
-    "version": "1.1.2",
+    "version": "1.2.0",
     "bin": "bin/biome",
     "scripts": {
         "postinstall": "node scripts/postinstall.js"

From e6a38cc64916604665663b5f1171e7bd5de112b5 Mon Sep 17 00:00:00 2001
From: Victorien Elvinger 
Date: Fri, 15 Sep 2023 13:58:44 +0200
Subject: [PATCH 5/6] refactor: format code

---
 crates/biome_cli/tests/commands/check.rs | 5 +----
 crates/biome_js_analyze/src/options.rs   | 6 +++---
 2 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/crates/biome_cli/tests/commands/check.rs b/crates/biome_cli/tests/commands/check.rs
index 3cb49714cdc8..8f748420655f 100644
--- a/crates/biome_cli/tests/commands/check.rs
+++ b/crates/biome_cli/tests/commands/check.rs
@@ -2533,10 +2533,7 @@ fn should_not_enable_nursery_rules() {
     fs.insert(configuration_path.into(), configuration.as_bytes());
 
     let file_path = Path::new("fix.ts");
-    fs.insert(
-        file_path.into(),
-        r#"let confusingVoidType: void;"#,
-    );
+    fs.insert(file_path.into(), r#"let confusingVoidType: void;"#);
 
     let result = run_cli(
         DynRef::Borrowed(&mut fs),
diff --git a/crates/biome_js_analyze/src/options.rs b/crates/biome_js_analyze/src/options.rs
index 3b2f85728c73..cc688628b56f 100644
--- a/crates/biome_js_analyze/src/options.rs
+++ b/crates/biome_js_analyze/src/options.rs
@@ -4,12 +4,12 @@ use crate::analyzers::nursery::no_excessive_complexity::{complexity_options, Com
 use crate::semantic_analyzers::nursery::use_exhaustive_dependencies::{
     hooks_options, HooksOptions,
 };
-use crate::semantic_analyzers::style::use_naming_convention::{
-    naming_convention_options, NamingConventionOptions,
-};
 use crate::semantic_analyzers::style::no_restricted_globals::{
     restricted_globals_options, RestrictedGlobalsOptions,
 };
+use crate::semantic_analyzers::style::use_naming_convention::{
+    naming_convention_options, NamingConventionOptions,
+};
 use biome_analyze::options::RuleOptions;
 use biome_analyze::RuleKey;
 use biome_deserialize::json::VisitJsonNode;

From 3c3eb7b15b6413a2336f8163f467b8b5aba9175c Mon Sep 17 00:00:00 2001
From: Victorien Elvinger 
Date: Fri, 15 Sep 2023 15:06:36 +0200
Subject: [PATCH 6/6] refactor: take review into account

---
 CHANGELOG.md                                                  | 4 ++--
 .../src/analyzers/nursery/no_confusing_void_type.rs           | 2 +-
 website/src/content/docs/internals/changelog.mdx              | 4 ++--
 .../src/content/docs/linter/rules/no-confusing-void-type.md   | 2 +-
 website/src/pages/schemas/{1.2 => 1.2.0}/schema.json.js       | 0
 5 files changed, 6 insertions(+), 6 deletions(-)
 rename website/src/pages/schemas/{1.2 => 1.2.0}/schema.json.js (100%)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index a98f1648cc0d..d3873f59378e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,7 +8,7 @@ Read our [guidelines to categorize a change](https://biomejs.dev/internals/versi
 New entries must be placed in a section entitled `Unreleased`.
 Read our [guidelines for writing a good changelog entry](https://github.com/biomejs/biome/blob/main/CONTRIBUTING.md#changelog).
 
-## 1.2.0 (2023-09-16)
+## 1.2.0 (2023-09-15)
 
 ### CLI
 
@@ -157,7 +157,7 @@ The following rules are promoted:
 
 - Improve server binary resolution when using certain package managers, notably pnpm.
 
-  The new strategy is to point to `node_modules/.bin/biome`` path,
+  The new strategy is to point to `node_modules/.bin/biome` path,
   which is consistent for all package managers.
 
 ## 1.1.2 (2023-09-07)
diff --git a/crates/biome_js_analyze/src/analyzers/nursery/no_confusing_void_type.rs b/crates/biome_js_analyze/src/analyzers/nursery/no_confusing_void_type.rs
index 957a1a5967ca..f2df6e6fae91 100644
--- a/crates/biome_js_analyze/src/analyzers/nursery/no_confusing_void_type.rs
+++ b/crates/biome_js_analyze/src/analyzers/nursery/no_confusing_void_type.rs
@@ -47,7 +47,7 @@ declare_rule! {
     /// printArg(undefined);
     /// ```
     pub(crate) NoConfusingVoidType {
-        version: "1.2",
+        version: "1.2.0",
         name: "noConfusingVoidType",
         recommended: false,
     }
diff --git a/website/src/content/docs/internals/changelog.mdx b/website/src/content/docs/internals/changelog.mdx
index 5ae38d7f27d8..b5696f514152 100644
--- a/website/src/content/docs/internals/changelog.mdx
+++ b/website/src/content/docs/internals/changelog.mdx
@@ -14,7 +14,7 @@ Read our [guidelines to categorize a change](https://biomejs.dev/internals/versi
 New entries must be placed in a section entitled `Unreleased`.
 Read our [guidelines for writing a good changelog entry](https://github.com/biomejs/biome/blob/main/CONTRIBUTING.md#changelog).
 
-## 1.2.0 (2023-09-16)
+## 1.2.0 (2023-09-15)
 
 ### CLI
 
@@ -163,7 +163,7 @@ The following rules are promoted:
 
 - Improve server binary resolution when using certain package managers, notably pnpm.
 
-  The new strategy is to point to `node_modules/.bin/biome`` path,
+  The new strategy is to point to `node_modules/.bin/biome` path,
   which is consistent for all package managers.
 
 ## 1.1.2 (2023-09-07)
diff --git a/website/src/content/docs/linter/rules/no-confusing-void-type.md b/website/src/content/docs/linter/rules/no-confusing-void-type.md
index 720f7078905d..2a50db546217 100644
--- a/website/src/content/docs/linter/rules/no-confusing-void-type.md
+++ b/website/src/content/docs/linter/rules/no-confusing-void-type.md
@@ -1,5 +1,5 @@
 ---
-title: noConfusingVoidType (since v1.2)
+title: noConfusingVoidType (since v1.2.0)
 ---
 
 
diff --git a/website/src/pages/schemas/1.2/schema.json.js b/website/src/pages/schemas/1.2.0/schema.json.js
similarity index 100%
rename from website/src/pages/schemas/1.2/schema.json.js
rename to website/src/pages/schemas/1.2.0/schema.json.js