From 87bfe519160e5c75cf2b897d7f7f14a6e488181c Mon Sep 17 00:00:00 2001 From: Emanuele Stoppa Date: Sat, 25 Feb 2023 18:54:11 +0000 Subject: [PATCH 01/10] feat(rome_js_analyzer): promote nursery rules --- crates/rome_diagnostics_categories/build.rs | 2 +- .../src/categories.rs | 50 ++++---- crates/rome_js_analyze/src/analyzers/a11y.rs | 5 +- .../{nursery => a11y}/no_access_key.rs | 0 .../no_distracting_elements.rs | 0 .../{nursery => a11y}/no_header_scope.rs | 0 .../src/analyzers/correctness.rs | 9 +- .../no_constructor_return.rs | 0 .../no_duplicate_object_keys.rs | 0 .../no_precision_loss.rs | 2 +- .../no_string_case_mismatch.rs | 0 .../no_unsafe_finally.rs | 0 .../no_void_type_return.rs | 0 .../use_enum_initializers.rs | 0 crates/rome_js_analyze/src/analyzers/style.rs | 5 +- .../use_default_parameter_last.rs | 0 .../use_exponentiation_operator.rs | 0 .../use_numeric_literals.rs | 0 .../src/analyzers/suspicious.rs | 9 +- .../{nursery => suspicious}/no_const_enum.rs | 2 +- .../no_empty_interface.rs | 0 .../no_extra_non_null_assertion.rs | 0 .../no_non_null_assertion.rs | 2 +- .../no_redundant_use_strict.rs | 0 .../no_setter_return.rs | 0 .../use_default_switch_clause_last.rs | 7 +- .../src/semantic_analyzers/style.rs | 4 +- .../{nursery => style}/no_var.rs | 4 +- .../{nursery => style}/use_const.rs | 0 .../specs/{nursery => a11y}/noAccessKey.jsx | 0 .../{nursery => a11y}/noAccessKey.jsx.snap | 4 +- .../noDistractingElements.jsx | 0 .../specs/a11y/noDistractingElements.jsx.snap | 56 ++++++++ .../noHeaderScope/invalid.jsx | 0 .../noHeaderScope/invalid.jsx.snap | 9 +- .../{nursery => a11y}/noHeaderScope/valid.jsx | 0 .../noHeaderScope/valid.jsx.snap | 0 .../noConstructorReturn/invalid.js | 0 .../noConstructorReturn/invalid.js.snap | 9 +- .../noConstructorReturn/valid.js | 0 .../noConstructorReturn/valid.js.snap | 0 .../noDuplicateObjectKeys.js | 0 .../noDuplicateObjectKeys.js.snap | 30 ++--- .../noPrecisionLoss/invalid.js | 0 .../noPrecisionLoss/invalid.js.snap | 78 ++++++------ .../noPrecisionLoss/valid.js | 0 .../noPrecisionLoss/valid.js.snap | 0 .../noStringCaseMismatch.js | 0 .../noStringCaseMismatch.js.snap | 32 ++--- .../noUnsafeFinally/invalid.js | 0 .../noUnsafeFinally/invalid.js.snap | 32 ++--- .../noUnsafeFinally/valid.js | 0 .../noUnsafeFinally/valid.js.snap | 0 .../noVoidTypeReturn/invalid.ts | 0 .../noVoidTypeReturn/invalid.ts.snap | 11 +- .../noVoidTypeReturn/valid.ts | 0 .../noVoidTypeReturn/valid.ts.snap | 0 .../useEnumInitializers/invalid.ts | 0 .../useEnumInitializers/invalid.ts.snap | 19 ++- .../useEnumInitializers/valid.ts | 0 .../useEnumInitializers/valid.ts.snap | 0 .../noVar/invalidFunctions.js | 0 .../noVar/invalidFunctions.js.snap | 3 +- .../{nursery => style}/noVar/invalidModule.js | 0 .../noVar/invalidModule.js.snap | 3 +- .../noVar/invalidScript.jsonc | 0 .../noVar/invalidScript.jsonc.snap | 13 +- .../{nursery => style}/noVar/valid.jsonc | 0 .../{nursery => style}/noVar/valid.jsonc.snap | 0 .../{nursery => style}/useConst/invalid.jsonc | 0 .../useConst/invalid.jsonc.snap | 110 ++++++++-------- .../{nursery => style}/useConst/valid.jsonc | 0 .../useConst/valid.jsonc.snap | 0 .../useConst/validPartial.js | 0 .../useConst/validPartial.js.snap | 0 .../useDefaultParameterLast/invalid.js | 0 .../useDefaultParameterLast/invalid.js.snap | 6 +- .../useDefaultParameterLast/invalid.ts | 0 .../useDefaultParameterLast/invalid.ts.snap | 17 ++- .../useDefaultParameterLast/valid.js | 0 .../useDefaultParameterLast/valid.js.snap | 0 .../useDefaultParameterLast/valid.ts | 0 .../useDefaultParameterLast/valid.ts.snap | 0 .../useExponentiationOperator/invalid.js | 0 .../useExponentiationOperator/invalid.js.snap | 81 ++++++------ .../invalidAdjacentTokens.js | 0 .../invalidAdjacentTokens.js.snap | 35 +++-- .../invalidBaseExpoentHigherPrecedence.js | 0 ...invalidBaseExpoentHigherPrecedence.js.snap | 19 ++- .../invalidBaseExpoentLowerPrecedence.js | 0 .../invalidBaseExpoentLowerPrecedence.js.snap | 23 ++-- .../useExponentiationOperator/invalidClass.ts | 0 .../invalidClass.ts.snap | 9 +- .../invalidParentsWithHigherPrecedence.js | 0 ...invalidParentsWithHigherPrecedence.js.snap | 39 +++--- .../invalidParentsWithLowerPrecedence.js | 0 .../invalidParentsWithLowerPrecedence.js.snap | 25 ++-- .../invalidUnaryExpression.js | 0 .../invalidUnaryExpression.js.snap | 17 ++- .../invalidWithoutAutofix.js | 0 .../invalidWithoutAutofix.js.snap | 29 ++--- .../useExponentiationOperator/valid.js | 0 .../useExponentiationOperator/valid.js.snap | 0 .../validLocalMath.js | 0 .../validLocalMath.js.snap | 0 .../useNumericLiterals/invalid.js | 0 .../useNumericLiterals/invalid.js.snap | 120 +++++++++--------- .../useNumericLiterals/overriden.js | 0 .../useNumericLiterals/overriden.js.snap | 0 .../useNumericLiterals/valid.js | 0 .../useNumericLiterals/valid.js.snap | 0 .../{nursery => suspicious}/noConstEnum.ts | 0 .../noConstEnum.ts.snap | 4 +- .../noEmptyInterface/invalid.ts | 0 .../noEmptyInterface/invalid.ts.snap | 13 +- .../noEmptyInterface/valid.ts | 0 .../noEmptyInterface/valid.ts.snap | 0 .../noExtraNonNullAssertion/invalid.ts | 0 .../noExtraNonNullAssertion/invalid.ts.snap | 35 +++-- .../noExtraNonNullAssertion/valid.ts | 0 .../noExtraNonNullAssertion/valid.ts.snap | 0 .../noNonNullAssertion/invalid.ts | 0 .../noNonNullAssertion/invalid.ts.snap | 40 +++--- .../noNonNullAssertion/valid.ts | 0 .../noNonNullAssertion/valid.ts.snap | 0 .../noRedundantUseStrict/invalid.cjs | 0 .../noRedundantUseStrict/invalid.cjs.snap | 9 +- .../noRedundantUseStrict/invalid.js | 0 .../noRedundantUseStrict/invalid.js.snap | 9 +- .../noRedundantUseStrict/invalid.ts | 0 .../noRedundantUseStrict/invalid.ts.snap | 3 +- .../noRedundantUseStrict/invalidClass.cjs | 0 .../invalidClass.cjs.snap | 5 +- .../noRedundantUseStrict/invalidFunction.cjs | 0 .../invalidFunction.cjs.snap | 3 +- .../noRedundantUseStrict/invalidFunction.js | 0 .../invalidFunction.js.snap | 5 +- .../noRedundantUseStrict/valid.cjs | 0 .../noRedundantUseStrict/valid.cjs.snap | 0 .../noSetterReturn/invalid.js | 0 .../noSetterReturn/invalid.js.snap | 47 ++++--- .../noSetterReturn/valid.js | 0 .../noSetterReturn/valid.js.snap | 0 .../useDefaultSwitchClauseLast/invalid.js | 0 .../invalid.js.snap | 9 +- .../useDefaultSwitchClauseLast/valid.js | 0 .../useDefaultSwitchClauseLast/valid.js.snap | 0 website/src/pages/lint/rules/noAccessKey.md | 6 +- website/src/pages/lint/rules/noConstEnum.md | 6 +- .../pages/lint/rules/noConstructorReturn.md | 4 +- .../pages/lint/rules/noDistractingElements.md | 6 +- .../pages/lint/rules/noDuplicateObjectKeys.md | 6 +- .../src/pages/lint/rules/noEmptyInterface.md | 6 +- .../lint/rules/noExtraNonNullAssertion.md | 8 +- website/src/pages/lint/rules/noHeaderScope.md | 6 +- .../pages/lint/rules/noNonNullAssertion.md | 10 +- .../src/pages/lint/rules/noPrecisionLoss.md | 26 ++-- .../pages/lint/rules/noRedundantUseStrict.md | 10 +- .../src/pages/lint/rules/noSetterReturn.md | 8 +- .../pages/lint/rules/noStringCaseMismatch.md | 6 +- .../src/pages/lint/rules/noUnsafeFinally.md | 12 +- website/src/pages/lint/rules/noVar.md | 8 +- .../src/pages/lint/rules/noVoidTypeReturn.md | 14 +- website/src/pages/lint/rules/useConst.md | 10 +- .../lint/rules/useDefaultParameterLast.md | 10 +- .../lint/rules/useDefaultSwitchClauseLast.md | 15 ++- .../pages/lint/rules/useEnumInitializers.md | 8 +- .../lint/rules/useExponentiationOperator.md | 8 +- .../pages/lint/rules/useNumericLiterals.md | 6 +- 169 files changed, 710 insertions(+), 601 deletions(-) rename crates/rome_js_analyze/src/analyzers/{nursery => a11y}/no_access_key.rs (100%) rename crates/rome_js_analyze/src/analyzers/{nursery => a11y}/no_distracting_elements.rs (100%) rename crates/rome_js_analyze/src/analyzers/{nursery => a11y}/no_header_scope.rs (100%) rename crates/rome_js_analyze/src/analyzers/{nursery => correctness}/no_constructor_return.rs (100%) rename crates/rome_js_analyze/src/analyzers/{nursery => correctness}/no_duplicate_object_keys.rs (100%) rename crates/rome_js_analyze/src/analyzers/{nursery => correctness}/no_precision_loss.rs (99%) rename crates/rome_js_analyze/src/analyzers/{nursery => correctness}/no_string_case_mismatch.rs (100%) rename crates/rome_js_analyze/src/analyzers/{nursery => correctness}/no_unsafe_finally.rs (100%) rename crates/rome_js_analyze/src/analyzers/{nursery => correctness}/no_void_type_return.rs (100%) rename crates/rome_js_analyze/src/analyzers/{nursery => correctness}/use_enum_initializers.rs (100%) rename crates/rome_js_analyze/src/analyzers/{nursery => style}/use_default_parameter_last.rs (100%) rename crates/rome_js_analyze/src/analyzers/{nursery => style}/use_exponentiation_operator.rs (100%) rename crates/rome_js_analyze/src/analyzers/{nursery => style}/use_numeric_literals.rs (100%) rename crates/rome_js_analyze/src/analyzers/{nursery => suspicious}/no_const_enum.rs (97%) rename crates/rome_js_analyze/src/analyzers/{nursery => suspicious}/no_empty_interface.rs (100%) rename crates/rome_js_analyze/src/analyzers/{nursery => suspicious}/no_extra_non_null_assertion.rs (100%) rename crates/rome_js_analyze/src/analyzers/{nursery => suspicious}/no_non_null_assertion.rs (99%) rename crates/rome_js_analyze/src/analyzers/{nursery => suspicious}/no_redundant_use_strict.rs (100%) rename crates/rome_js_analyze/src/analyzers/{nursery => suspicious}/no_setter_return.rs (100%) rename crates/rome_js_analyze/src/analyzers/{nursery => suspicious}/use_default_switch_clause_last.rs (87%) rename crates/rome_js_analyze/src/semantic_analyzers/{nursery => style}/no_var.rs (97%) rename crates/rome_js_analyze/src/semantic_analyzers/{nursery => style}/use_const.rs (100%) rename crates/rome_js_analyze/tests/specs/{nursery => a11y}/noAccessKey.jsx (100%) rename crates/rome_js_analyze/tests/specs/{nursery => a11y}/noAccessKey.jsx.snap (87%) rename crates/rome_js_analyze/tests/specs/{nursery => a11y}/noDistractingElements.jsx (100%) create mode 100644 crates/rome_js_analyze/tests/specs/a11y/noDistractingElements.jsx.snap rename crates/rome_js_analyze/tests/specs/{nursery => a11y}/noHeaderScope/invalid.jsx (100%) rename crates/rome_js_analyze/tests/specs/{nursery => a11y}/noHeaderScope/invalid.jsx.snap (88%) rename crates/rome_js_analyze/tests/specs/{nursery => a11y}/noHeaderScope/valid.jsx (100%) rename crates/rome_js_analyze/tests/specs/{nursery => a11y}/noHeaderScope/valid.jsx.snap (100%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/noConstructorReturn/invalid.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/noConstructorReturn/invalid.js.snap (85%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/noConstructorReturn/valid.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/noConstructorReturn/valid.js.snap (100%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/noDuplicateObjectKeys.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/noDuplicateObjectKeys.js.snap (86%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/noPrecisionLoss/invalid.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/noPrecisionLoss/invalid.js.snap (81%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/noPrecisionLoss/valid.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/noPrecisionLoss/valid.js.snap (100%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/noStringCaseMismatch.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/noStringCaseMismatch.js.snap (89%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/noUnsafeFinally/invalid.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/noUnsafeFinally/invalid.js.snap (89%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/noUnsafeFinally/valid.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/noUnsafeFinally/valid.js.snap (100%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/noVoidTypeReturn/invalid.ts (100%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/noVoidTypeReturn/invalid.ts.snap (84%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/noVoidTypeReturn/valid.ts (100%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/noVoidTypeReturn/valid.ts.snap (100%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/useEnumInitializers/invalid.ts (100%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/useEnumInitializers/invalid.ts.snap (76%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/useEnumInitializers/valid.ts (100%) rename crates/rome_js_analyze/tests/specs/{nursery => correctness}/useEnumInitializers/valid.ts.snap (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/noVar/invalidFunctions.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/noVar/invalidFunctions.js.snap (89%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/noVar/invalidModule.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/noVar/invalidModule.js.snap (81%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/noVar/invalidScript.jsonc (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/noVar/invalidScript.jsonc.snap (79%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/noVar/valid.jsonc (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/noVar/valid.jsonc.snap (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useConst/invalid.jsonc (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useConst/invalid.jsonc.snap (85%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useConst/valid.jsonc (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useConst/valid.jsonc.snap (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useConst/validPartial.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useConst/validPartial.js.snap (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useDefaultParameterLast/invalid.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useDefaultParameterLast/invalid.js.snap (84%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useDefaultParameterLast/invalid.ts (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useDefaultParameterLast/invalid.ts.snap (85%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useDefaultParameterLast/valid.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useDefaultParameterLast/valid.js.snap (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useDefaultParameterLast/valid.ts (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useDefaultParameterLast/valid.ts.snap (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useExponentiationOperator/invalid.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useExponentiationOperator/invalid.js.snap (79%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useExponentiationOperator/invalidAdjacentTokens.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useExponentiationOperator/invalidAdjacentTokens.js.snap (84%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useExponentiationOperator/invalidBaseExpoentHigherPrecedence.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useExponentiationOperator/invalidBaseExpoentHigherPrecedence.js.snap (81%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useExponentiationOperator/invalidBaseExpoentLowerPrecedence.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useExponentiationOperator/invalidBaseExpoentLowerPrecedence.js.snap (83%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useExponentiationOperator/invalidClass.ts (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useExponentiationOperator/invalidClass.ts.snap (83%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useExponentiationOperator/invalidParentsWithHigherPrecedence.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useExponentiationOperator/invalidParentsWithHigherPrecedence.js.snap (83%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useExponentiationOperator/invalidParentsWithLowerPrecedence.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useExponentiationOperator/invalidParentsWithLowerPrecedence.js.snap (82%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useExponentiationOperator/invalidUnaryExpression.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useExponentiationOperator/invalidUnaryExpression.js.snap (80%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useExponentiationOperator/invalidWithoutAutofix.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useExponentiationOperator/invalidWithoutAutofix.js.snap (65%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useExponentiationOperator/valid.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useExponentiationOperator/valid.js.snap (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useExponentiationOperator/validLocalMath.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useExponentiationOperator/validLocalMath.js.snap (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useNumericLiterals/invalid.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useNumericLiterals/invalid.js.snap (83%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useNumericLiterals/overriden.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useNumericLiterals/overriden.js.snap (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useNumericLiterals/valid.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => style}/useNumericLiterals/valid.js.snap (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noConstEnum.ts (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noConstEnum.ts.snap (87%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noEmptyInterface/invalid.ts (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noEmptyInterface/invalid.ts.snap (83%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noEmptyInterface/valid.ts (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noEmptyInterface/valid.ts.snap (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noExtraNonNullAssertion/invalid.ts (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noExtraNonNullAssertion/invalid.ts.snap (66%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noExtraNonNullAssertion/valid.ts (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noExtraNonNullAssertion/valid.ts.snap (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noNonNullAssertion/invalid.ts (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noNonNullAssertion/invalid.ts.snap (80%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noNonNullAssertion/valid.ts (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noNonNullAssertion/valid.ts.snap (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noRedundantUseStrict/invalid.cjs (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noRedundantUseStrict/invalid.cjs.snap (86%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noRedundantUseStrict/invalid.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noRedundantUseStrict/invalid.js.snap (84%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noRedundantUseStrict/invalid.ts (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noRedundantUseStrict/invalid.ts.snap (82%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noRedundantUseStrict/invalidClass.cjs (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noRedundantUseStrict/invalidClass.cjs.snap (80%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noRedundantUseStrict/invalidFunction.cjs (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noRedundantUseStrict/invalidFunction.cjs.snap (79%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noRedundantUseStrict/invalidFunction.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noRedundantUseStrict/invalidFunction.js.snap (76%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noRedundantUseStrict/valid.cjs (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noRedundantUseStrict/valid.cjs.snap (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noSetterReturn/invalid.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noSetterReturn/invalid.js.snap (89%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noSetterReturn/valid.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/noSetterReturn/valid.js.snap (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/useDefaultSwitchClauseLast/invalid.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/useDefaultSwitchClauseLast/invalid.js.snap (84%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/useDefaultSwitchClauseLast/valid.js (100%) rename crates/rome_js_analyze/tests/specs/{nursery => suspicious}/useDefaultSwitchClauseLast/valid.js.snap (100%) diff --git a/crates/rome_diagnostics_categories/build.rs b/crates/rome_diagnostics_categories/build.rs index 1a01fbb514b..0c03a1c25f9 100644 --- a/crates/rome_diagnostics_categories/build.rs +++ b/crates/rome_diagnostics_categories/build.rs @@ -1,7 +1,7 @@ use quote::{format_ident, quote}; use std::{env, fs, io, path::PathBuf}; -macro_rules! define_dategories { +macro_rules! define_categories { ( $( $name_link:literal : $link:literal, )* ; $( $name:literal , )* ) => { const CATEGORIES: &[(&str, Option<&str>)] = &[ $( ($name_link, Some($link)), )* diff --git a/crates/rome_diagnostics_categories/src/categories.rs b/crates/rome_diagnostics_categories/src/categories.rs index a77c3e9c13c..a0e7cdff11e 100644 --- a/crates/rome_diagnostics_categories/src/categories.rs +++ b/crates/rome_diagnostics_categories/src/categories.rs @@ -1,13 +1,13 @@ // This file contains the list of all diagnostic categories for the Rome // toolchain // -// The `define_dategories` macro is preprocessed in the build script for the +// The `define_categories` macro is preprocessed in the build script for the // crate in order to generate the static registry. The body of the macro // consists of a list of key-value pairs defining the categories that have an // associated hyperlink, then a list of string literals defining the remaining // categories without a link. -define_dategories! { +define_categories! { // Lint categories // a11y group "lint/a11y/noAutofocus": "https://docs.rome.tools/lint/rules/noAutofocus", @@ -20,6 +20,9 @@ define_dategories! { "lint/a11y/useKeyWithMouseEvents": "https://docs.rome.tools/lint/rules/useKeyWithMouseEvents", "lint/a11y/useValidAnchor": "https://docs.rome.tools/lint/rules/useValidAnchor", "lint/a11y/useHtmlLang": "https://docs.rome.tools/lint/rules/useHtmlLang", + "lint/a11y/noDistractingElements": "https://docs.rome.tools/lint/rules/noDistractingElements", + "lint/a11y/noHeaderScope": "https://docs.rome.tools/lint/rules/noHeaderScope", + "lint/a11y/noAccessKey": "https://docs.rome.tools/lint/rules/noAccessKey", // complexity "lint/complexity/noExtraBooleanCast": "https://docs.rome.tools/lint/rules/noExtraBooleanCast", @@ -41,33 +44,30 @@ define_dategories! { "lint/correctness/noUnusedVariables": "https://docs.rome.tools/lint/rules/noUnusedVariables", "lint/correctness/noVoidElementsWithChildren": "https://docs.rome.tools/lint/rules/noVoidElementsWithChildren", "lint/correctness/useValidForDirection": "https://docs.rome.tools/lint/rules/useValidForDirection", + "lint/correctness/noUnsafeFinally": "https://docs.rome.tools/lint/rules/noUnsafeFinally", + "lint/correctness/noDuplicateObjectKeys":"https://docs.rome.tools/lint/rules/noDuplicateObjectKeys", + "lint/correctness/noConstructorReturn": "https://docs.rome.tools/lint/rules/noConstructorReturn", + "lint/correctness/useEnumInitializers":"https://docs.rome.tools/lint/rules/useEnumInitializers", + "lint/correctness/noPrecisionLoss": "https://docs.rome.tools/lint/rules/noPrecisionLoss", + "lint/correctness/noVoidTypeReturn": "https://docs.rome.tools/lint/rules/noVoidTypeReturn", + "lint/correctness/noStringCaseMismatch": "https://docs.rome.tools/lint/rules/noStringCaseMismatch", + // nursery - "lint/nursery/noAccessKey": "https://docs.rome.tools/lint/rules/noAccessKey", "lint/nursery/noAssignInExpressions": "https://docs.rome.tools/lint/rules/noAssignInExpressions", "lint/nursery/noWith": "https://docs.rome.tools/lint/rules/noWith", "lint/nursery/noExtraSemicolons": "https://docs.rome.tools/lint/rules/noExtraSemicolons", "lint/nursery/noBannedTypes":"https://docs.rome.tools/lint/rules/noBannedTypes", "lint/nursery/noClassAssign": "https://docs.rome.tools/lint/rules/noClassAssign", "lint/nursery/noCommaOperator": "https://docs.rome.tools/lint/rules/noCommaOperator", - "lint/nursery/noConstEnum": "https://docs.rome.tools/lint/rules/noConstEnum", - "lint/nursery/noConstructorReturn": "https://docs.rome.tools/lint/rules/noConstructorReturn", - "lint/nursery/noDistractingElements": "https://docs.rome.tools/lint/rules/noDistractingElements", "lint/nursery/noDuplicateCase": "https://docs.rome.tools/lint/rules/noDuplicateCase", - "lint/nursery/noDuplicateObjectKeys":"https://docs.rome.tools/lint/rules/noDuplicateObjectKeys", - "lint/nursery/noEmptyInterface": "https://docs.rome.tools/lint/rules/noEmptyInterface", "lint/nursery/noExtraLabels":"https://docs.rome.tools/lint/rules/noExtraLabels", - "lint/nursery/noExtraNonNullAssertion":"https://docs.rome.tools/lint/rules/noExtraNonNullAssertion", - "lint/nursery/noHeaderScope": "https://docs.rome.tools/lint/rules/noHeaderScope", "lint/nursery/noInferrableTypes": "https://docs.rome.tools/lint/rules/noInferrableTypes", "lint/nursery/noInnerDeclarations": "https://docs.rome.tools/lint/rules/noInnerDeclarations", "lint/nursery/noInvalidConstructorSuper": "https://docs.rome.tools/lint/rules/noInvalidConstructorSuper", "lint/nursery/noConfusingLabels": "https://docs.rome.tools/lint/rules/noConfusingLabels", - "lint/nursery/noNonNullAssertion": "https://docs.rome.tools/lint/rules/noNonNullAssertion", "lint/nursery/noParameterProperties": "https://docs.rome.tools/lint/rules/noParameterProperties", - "lint/nursery/noPrecisionLoss": "https://docs.rome.tools/lint/rules/noPrecisionLoss", "lint/nursery/noRedundantAlt": "https://docs.rome.tools/lint/rules/noRedundantAlt", - "lint/nursery/noRedundantUseStrict": "https://docs.rome.tools/lint/rules/noRedundantUseStrict", "lint/nursery/noRestrictedGlobals": "https://docs.rome.tools/lint/rules/noRestrictedGlobals", "lint/nursery/noSelfCompare": "https://docs.rome.tools/lint/rules/noSelfCompare", "lint/nursery/noSelfAssignment": "https://docs.rome.tools/lint/rules/noSelfAssignment", @@ -75,26 +75,17 @@ define_dategories! { "lint/nursery/noStringCaseMismatch": "https://docs.rome.tools/lint/rules/noStringCaseMismatch", "lint/nursery/noSwitchDeclarations": "https://docs.rome.tools/lint/rules/noSwitchDeclarations", "lint/nursery/noUnreachableSuper": "https://rome.tools/docs/lint/rules/noUnreachableSuper", - "lint/nursery/noUnsafeFinally": "https://docs.rome.tools/lint/rules/noUnsafeFinally", "lint/nursery/noUnusedLabels": "https://docs.rome.tools/lint/rules/noUnusedLabels", "lint/nursery/noUselessSwitchCase": "https://docs.rome.tools/lint/rules/noUselessSwitchCase", - "lint/nursery/noVar": "https://docs.rome.tools/lint/rules/noVar", - "lint/nursery/noVoidTypeReturn": "https://docs.rome.tools/lint/rules/noVoidTypeReturn", "lint/nursery/useAriaPropsForRole": "https://docs.rome.tools/lint/rules/useAriaPropsForRole", "lint/nursery/useAriaPropTypes": "https://docs.rome.tools/lint/rules/useAriaPropTypes", "lint/nursery/useCamelCase": "https://docs.rome.tools/lint/rules/useCamelCase", - "lint/nursery/useConst":"https://docs.rome.tools/lint/rules/useConst", "lint/nursery/useValidLang":"https://docs.rome.tools/lint/rules/useValidLang", - "lint/nursery/useDefaultParameterLast":"https://docs.rome.tools/lint/rules/useDefaultParameterLast", - "lint/nursery/useDefaultSwitchClauseLast":"https://docs.rome.tools/lint/rules/useDefaultSwitchClauseLast", - "lint/nursery/useEnumInitializers":"https://docs.rome.tools/lint/rules/useEnumInitializers", "lint/nursery/useValidAriaProps":"https://docs.rome.tools/lint/rules/useValidAriaProps", "lint/nursery/useExhaustiveDependencies": "https://docs.rome.tools/lint/rules/useExhaustiveDependencies", - "lint/nursery/useExponentiationOperator": "https://docs.rome.tools/lint/rules/useExponentiationOperator", "lint/nursery/useIsNan": "https://docs.rome.tools/lint/rules/useIsNan", "lint/nursery/useMediaCaption": "https://docs.rome.tools/lint/rules/useMediaCaption", "lint/nursery/useIframeTitle": "https://docs.rome.tools/lint/rules/useIframeTitle", - "lint/nursery/useNumericLiterals": "https://docs.rome.tools/lint/rules/useNumericLiterals", "lint/nursery/noNoninteractiveElementToInteractiveRole": "https://docs.rome.tools/lint/rules/noNoninteractiveElementToInteractiveRole", "lint/nursery/noUselessRename": "https://docs.rome.tools/lint/rules/noUselessRename", "lint/nursery/useValidForDirection": "https://docs.rome.tools/lint/rules/useValidForDirection", @@ -131,6 +122,11 @@ define_dategories! { "lint/style/useSingleVarDeclarator": "https://docs.rome.tools/lint/rules/useSingleVarDeclarator", "lint/style/useTemplate": "https://docs.rome.tools/lint/rules/useTemplate", "lint/style/useWhile": "https://docs.rome.tools/lint/rules/useWhile", + "lint/style/useExponentiationOperator": "https://docs.rome.tools/lint/rules/useExponentiationOperator", + "lint/style/useNumericLiterals": "https://docs.rome.tools/lint/rules/useNumericLiterals", + "lint/style/useDefaultParameterLast":"https://docs.rome.tools/lint/rules/useDefaultParameterLast", + "lint/style/useConst":"https://docs.rome.tools/lint/rules/useConst", + "lint/style/noVar": "https://docs.rome.tools/lint/rules/noVar", // suspicious "lint/suspicious/noArrayIndexKey": "https://docs.rome.tools/lint/rules/noArrayIndexKey", @@ -149,8 +145,18 @@ define_dategories! { "lint/suspicious/noSparseArray": "https://docs.rome.tools/lint/rules/noSparseArray", "lint/suspicious/noUnsafeNegation": "https://docs.rome.tools/lint/rules/noUnsafeNegation", "lint/suspicious/useValidTypeof": "https://docs.rome.tools/lint/rules/useValidTypeof", + "lint/suspicious/noEmptyInterface": "https://docs.rome.tools/lint/rules/noEmptyInterface", + "lint/suspicious/noExtraNonNullAssertion":"https://docs.rome.tools/lint/rules/noExtraNonNullAssertion", + "lint/suspicious/noRedundantUseStrict": "https://docs.rome.tools/lint/rules/noRedundantUseStrict", + "lint/suspicious/noNonNullAssertion": "https://docs.rome.tools/lint/rules/noNonNullAssertion", + "lint/suspicious/noConstEnum": "https://docs.rome.tools/lint/rules/noConstEnum", + "lint/suspicious/noSetterReturn": "https://docs.rome.tools/lint/rules/noSetterReturn", + "lint/suspicious/useDefaultSwitchClauseLast":"https://docs.rome.tools/lint/rules/useDefaultSwitchClauseLast", + + ; + // General categories "files/missingHandler", "format", diff --git a/crates/rome_js_analyze/src/analyzers/a11y.rs b/crates/rome_js_analyze/src/analyzers/a11y.rs index 461556a1b22..95dc18a4c05 100644 --- a/crates/rome_js_analyze/src/analyzers/a11y.rs +++ b/crates/rome_js_analyze/src/analyzers/a11y.rs @@ -1,12 +1,15 @@ //! Generated file, do not edit by hand, see `xtask/codegen` use rome_analyze::declare_group; +mod no_access_key; mod no_auto_focus; mod no_blank_target; +mod no_distracting_elements; +mod no_header_scope; mod use_alt_text; mod use_anchor_content; mod use_html_lang; mod use_key_with_click_events; mod use_key_with_mouse_events; mod use_valid_anchor; -declare_group! { pub (crate) A11y { name : "a11y" , rules : [self :: no_auto_focus :: NoAutoFocus , self :: no_blank_target :: NoBlankTarget , self :: use_alt_text :: UseAltText , self :: use_anchor_content :: UseAnchorContent , self :: use_html_lang :: UseHtmlLang , self :: use_key_with_click_events :: UseKeyWithClickEvents , self :: use_key_with_mouse_events :: UseKeyWithMouseEvents , self :: use_valid_anchor :: UseValidAnchor ,] } } +declare_group! { pub (crate) A11y { name : "a11y" , rules : [self :: no_access_key :: NoAccessKey , self :: no_auto_focus :: NoAutoFocus , self :: no_blank_target :: NoBlankTarget , self :: no_distracting_elements :: NoDistractingElements , self :: no_header_scope :: NoHeaderScope , self :: use_alt_text :: UseAltText , self :: use_anchor_content :: UseAnchorContent , self :: use_html_lang :: UseHtmlLang , self :: use_key_with_click_events :: UseKeyWithClickEvents , self :: use_key_with_mouse_events :: UseKeyWithMouseEvents , self :: use_valid_anchor :: UseValidAnchor ,] } } diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_access_key.rs b/crates/rome_js_analyze/src/analyzers/a11y/no_access_key.rs similarity index 100% rename from crates/rome_js_analyze/src/analyzers/nursery/no_access_key.rs rename to crates/rome_js_analyze/src/analyzers/a11y/no_access_key.rs diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_distracting_elements.rs b/crates/rome_js_analyze/src/analyzers/a11y/no_distracting_elements.rs similarity index 100% rename from crates/rome_js_analyze/src/analyzers/nursery/no_distracting_elements.rs rename to crates/rome_js_analyze/src/analyzers/a11y/no_distracting_elements.rs diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_header_scope.rs b/crates/rome_js_analyze/src/analyzers/a11y/no_header_scope.rs similarity index 100% rename from crates/rome_js_analyze/src/analyzers/nursery/no_header_scope.rs rename to crates/rome_js_analyze/src/analyzers/a11y/no_header_scope.rs diff --git a/crates/rome_js_analyze/src/analyzers/correctness.rs b/crates/rome_js_analyze/src/analyzers/correctness.rs index 09f2068dae5..3aae6f8a65d 100644 --- a/crates/rome_js_analyze/src/analyzers/correctness.rs +++ b/crates/rome_js_analyze/src/analyzers/correctness.rs @@ -1,9 +1,16 @@ //! Generated file, do not edit by hand, see `xtask/codegen` use rome_analyze::declare_group; +mod no_constructor_return; +mod no_duplicate_object_keys; mod no_empty_pattern; mod no_new_symbol; +mod no_precision_loss; +mod no_string_case_mismatch; mod no_unnecessary_continue; mod no_unreachable; +mod no_unsafe_finally; +mod no_void_type_return; +mod use_enum_initializers; mod use_valid_for_direction; -declare_group! { pub (crate) Correctness { name : "correctness" , rules : [self :: no_empty_pattern :: NoEmptyPattern , self :: no_new_symbol :: NoNewSymbol , self :: no_unnecessary_continue :: NoUnnecessaryContinue , self :: no_unreachable :: NoUnreachable , self :: use_valid_for_direction :: UseValidForDirection ,] } } +declare_group! { pub (crate) Correctness { name : "correctness" , rules : [self :: no_constructor_return :: NoConstructorReturn , self :: no_duplicate_object_keys :: NoDuplicateObjectKeys , self :: no_empty_pattern :: NoEmptyPattern , self :: no_new_symbol :: NoNewSymbol , self :: no_precision_loss :: NoPrecisionLoss , self :: no_string_case_mismatch :: NoStringCaseMismatch , self :: no_unnecessary_continue :: NoUnnecessaryContinue , self :: no_unreachable :: NoUnreachable , self :: no_unsafe_finally :: NoUnsafeFinally , self :: no_void_type_return :: NoVoidTypeReturn , self :: use_enum_initializers :: UseEnumInitializers , self :: use_valid_for_direction :: UseValidForDirection ,] } } diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_constructor_return.rs b/crates/rome_js_analyze/src/analyzers/correctness/no_constructor_return.rs similarity index 100% rename from crates/rome_js_analyze/src/analyzers/nursery/no_constructor_return.rs rename to crates/rome_js_analyze/src/analyzers/correctness/no_constructor_return.rs diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_duplicate_object_keys.rs b/crates/rome_js_analyze/src/analyzers/correctness/no_duplicate_object_keys.rs similarity index 100% rename from crates/rome_js_analyze/src/analyzers/nursery/no_duplicate_object_keys.rs rename to crates/rome_js_analyze/src/analyzers/correctness/no_duplicate_object_keys.rs diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_precision_loss.rs b/crates/rome_js_analyze/src/analyzers/correctness/no_precision_loss.rs similarity index 99% rename from crates/rome_js_analyze/src/analyzers/nursery/no_precision_loss.rs rename to crates/rome_js_analyze/src/analyzers/correctness/no_precision_loss.rs index 2663edb119a..b1b6e0b9e98 100644 --- a/crates/rome_js_analyze/src/analyzers/nursery/no_precision_loss.rs +++ b/crates/rome_js_analyze/src/analyzers/correctness/no_precision_loss.rs @@ -56,7 +56,7 @@ declare_rule! { pub(crate) NoPrecisionLoss { version: "11.0.0", name: "noPrecisionLoss", - recommended: false, + recommended: true, } } diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_string_case_mismatch.rs b/crates/rome_js_analyze/src/analyzers/correctness/no_string_case_mismatch.rs similarity index 100% rename from crates/rome_js_analyze/src/analyzers/nursery/no_string_case_mismatch.rs rename to crates/rome_js_analyze/src/analyzers/correctness/no_string_case_mismatch.rs diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_unsafe_finally.rs b/crates/rome_js_analyze/src/analyzers/correctness/no_unsafe_finally.rs similarity index 100% rename from crates/rome_js_analyze/src/analyzers/nursery/no_unsafe_finally.rs rename to crates/rome_js_analyze/src/analyzers/correctness/no_unsafe_finally.rs diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_void_type_return.rs b/crates/rome_js_analyze/src/analyzers/correctness/no_void_type_return.rs similarity index 100% rename from crates/rome_js_analyze/src/analyzers/nursery/no_void_type_return.rs rename to crates/rome_js_analyze/src/analyzers/correctness/no_void_type_return.rs diff --git a/crates/rome_js_analyze/src/analyzers/nursery/use_enum_initializers.rs b/crates/rome_js_analyze/src/analyzers/correctness/use_enum_initializers.rs similarity index 100% rename from crates/rome_js_analyze/src/analyzers/nursery/use_enum_initializers.rs rename to crates/rome_js_analyze/src/analyzers/correctness/use_enum_initializers.rs diff --git a/crates/rome_js_analyze/src/analyzers/style.rs b/crates/rome_js_analyze/src/analyzers/style.rs index 2dbcea41f67..967e425badb 100644 --- a/crates/rome_js_analyze/src/analyzers/style.rs +++ b/crates/rome_js_analyze/src/analyzers/style.rs @@ -5,10 +5,13 @@ mod no_implicit_boolean; mod no_negation_else; mod no_unused_template_literal; mod use_block_statements; +mod use_default_parameter_last; +mod use_exponentiation_operator; +mod use_numeric_literals; mod use_self_closing_elements; mod use_shorthand_array_type; mod use_single_case_statement; mod use_single_var_declarator; mod use_template; mod use_while; -declare_group! { pub (crate) Style { name : "style" , rules : [self :: no_implicit_boolean :: NoImplicitBoolean , self :: no_negation_else :: NoNegationElse , self :: no_unused_template_literal :: NoUnusedTemplateLiteral , self :: use_block_statements :: UseBlockStatements , self :: use_self_closing_elements :: UseSelfClosingElements , self :: use_shorthand_array_type :: UseShorthandArrayType , self :: use_single_case_statement :: UseSingleCaseStatement , self :: use_single_var_declarator :: UseSingleVarDeclarator , self :: use_template :: UseTemplate , self :: use_while :: UseWhile ,] } } +declare_group! { pub (crate) Style { name : "style" , rules : [self :: no_implicit_boolean :: NoImplicitBoolean , self :: no_negation_else :: NoNegationElse , self :: no_unused_template_literal :: NoUnusedTemplateLiteral , self :: use_block_statements :: UseBlockStatements , self :: use_default_parameter_last :: UseDefaultParameterLast , self :: use_exponentiation_operator :: UseExponentiationOperator , self :: use_numeric_literals :: UseNumericLiterals , self :: use_self_closing_elements :: UseSelfClosingElements , self :: use_shorthand_array_type :: UseShorthandArrayType , self :: use_single_case_statement :: UseSingleCaseStatement , self :: use_single_var_declarator :: UseSingleVarDeclarator , self :: use_template :: UseTemplate , self :: use_while :: UseWhile ,] } } diff --git a/crates/rome_js_analyze/src/analyzers/nursery/use_default_parameter_last.rs b/crates/rome_js_analyze/src/analyzers/style/use_default_parameter_last.rs similarity index 100% rename from crates/rome_js_analyze/src/analyzers/nursery/use_default_parameter_last.rs rename to crates/rome_js_analyze/src/analyzers/style/use_default_parameter_last.rs diff --git a/crates/rome_js_analyze/src/analyzers/nursery/use_exponentiation_operator.rs b/crates/rome_js_analyze/src/analyzers/style/use_exponentiation_operator.rs similarity index 100% rename from crates/rome_js_analyze/src/analyzers/nursery/use_exponentiation_operator.rs rename to crates/rome_js_analyze/src/analyzers/style/use_exponentiation_operator.rs diff --git a/crates/rome_js_analyze/src/analyzers/nursery/use_numeric_literals.rs b/crates/rome_js_analyze/src/analyzers/style/use_numeric_literals.rs similarity index 100% rename from crates/rome_js_analyze/src/analyzers/nursery/use_numeric_literals.rs rename to crates/rome_js_analyze/src/analyzers/style/use_numeric_literals.rs diff --git a/crates/rome_js_analyze/src/analyzers/suspicious.rs b/crates/rome_js_analyze/src/analyzers/suspicious.rs index c3aefa4b98c..e4339050596 100644 --- a/crates/rome_js_analyze/src/analyzers/suspicious.rs +++ b/crates/rome_js_analyze/src/analyzers/suspicious.rs @@ -4,11 +4,18 @@ use rome_analyze::declare_group; mod no_async_promise_executor; mod no_comment_text; mod no_compare_neg_zero; +mod no_const_enum; mod no_debugger; mod no_double_equals; +mod no_empty_interface; mod no_explicit_any; +mod no_extra_non_null_assertion; +mod no_non_null_assertion; +mod no_redundant_use_strict; +mod no_setter_return; mod no_shadow_restricted_names; mod no_sparse_array; mod no_unsafe_negation; +mod use_default_switch_clause_last; mod use_valid_typeof; -declare_group! { pub (crate) Suspicious { name : "suspicious" , rules : [self :: no_async_promise_executor :: NoAsyncPromiseExecutor , self :: no_comment_text :: NoCommentText , self :: no_compare_neg_zero :: NoCompareNegZero , self :: no_debugger :: NoDebugger , self :: no_double_equals :: NoDoubleEquals , self :: no_explicit_any :: NoExplicitAny , self :: no_shadow_restricted_names :: NoShadowRestrictedNames , self :: no_sparse_array :: NoSparseArray , self :: no_unsafe_negation :: NoUnsafeNegation , self :: use_valid_typeof :: UseValidTypeof ,] } } +declare_group! { pub (crate) Suspicious { name : "suspicious" , rules : [self :: no_async_promise_executor :: NoAsyncPromiseExecutor , self :: no_comment_text :: NoCommentText , self :: no_compare_neg_zero :: NoCompareNegZero , self :: no_const_enum :: NoConstEnum , self :: no_debugger :: NoDebugger , self :: no_double_equals :: NoDoubleEquals , self :: no_empty_interface :: NoEmptyInterface , self :: no_explicit_any :: NoExplicitAny , self :: no_extra_non_null_assertion :: NoExtraNonNullAssertion , self :: no_non_null_assertion :: NoNonNullAssertion , self :: no_redundant_use_strict :: NoRedundantUseStrict , self :: no_setter_return :: NoSetterReturn , self :: no_shadow_restricted_names :: NoShadowRestrictedNames , self :: no_sparse_array :: NoSparseArray , self :: no_unsafe_negation :: NoUnsafeNegation , self :: use_default_switch_clause_last :: UseDefaultSwitchClauseLast , self :: use_valid_typeof :: UseValidTypeof ,] } } diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_const_enum.rs b/crates/rome_js_analyze/src/analyzers/suspicious/no_const_enum.rs similarity index 97% rename from crates/rome_js_analyze/src/analyzers/nursery/no_const_enum.rs rename to crates/rome_js_analyze/src/analyzers/suspicious/no_const_enum.rs index ce8ee992b4e..09c423fe963 100644 --- a/crates/rome_js_analyze/src/analyzers/nursery/no_const_enum.rs +++ b/crates/rome_js_analyze/src/analyzers/suspicious/no_const_enum.rs @@ -12,7 +12,7 @@ declare_rule! { /// /// Const enums are enums that should be inlined at use sites. /// Const enums are not supported by bundlers and are incompatible with the `isolatedModules` mode. - /// Their use can lead to import inexistent values (because const enums are erased). + /// Their use can lead to import nonexistent values (because const enums are erased). /// /// Thus, library authors and bundler users should not use const enums. /// diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_empty_interface.rs b/crates/rome_js_analyze/src/analyzers/suspicious/no_empty_interface.rs similarity index 100% rename from crates/rome_js_analyze/src/analyzers/nursery/no_empty_interface.rs rename to crates/rome_js_analyze/src/analyzers/suspicious/no_empty_interface.rs diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_extra_non_null_assertion.rs b/crates/rome_js_analyze/src/analyzers/suspicious/no_extra_non_null_assertion.rs similarity index 100% rename from crates/rome_js_analyze/src/analyzers/nursery/no_extra_non_null_assertion.rs rename to crates/rome_js_analyze/src/analyzers/suspicious/no_extra_non_null_assertion.rs diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_non_null_assertion.rs b/crates/rome_js_analyze/src/analyzers/suspicious/no_non_null_assertion.rs similarity index 99% rename from crates/rome_js_analyze/src/analyzers/nursery/no_non_null_assertion.rs rename to crates/rome_js_analyze/src/analyzers/suspicious/no_non_null_assertion.rs index ec3200b88de..ee468249a21 100644 --- a/crates/rome_js_analyze/src/analyzers/nursery/no_non_null_assertion.rs +++ b/crates/rome_js_analyze/src/analyzers/suspicious/no_non_null_assertion.rs @@ -45,7 +45,7 @@ declare_rule! { pub(crate) NoNonNullAssertion { version: "11.0.0", name: "noNonNullAssertion", - recommended: false, + recommended: true, } } diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_redundant_use_strict.rs b/crates/rome_js_analyze/src/analyzers/suspicious/no_redundant_use_strict.rs similarity index 100% rename from crates/rome_js_analyze/src/analyzers/nursery/no_redundant_use_strict.rs rename to crates/rome_js_analyze/src/analyzers/suspicious/no_redundant_use_strict.rs diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_setter_return.rs b/crates/rome_js_analyze/src/analyzers/suspicious/no_setter_return.rs similarity index 100% rename from crates/rome_js_analyze/src/analyzers/nursery/no_setter_return.rs rename to crates/rome_js_analyze/src/analyzers/suspicious/no_setter_return.rs diff --git a/crates/rome_js_analyze/src/analyzers/nursery/use_default_switch_clause_last.rs b/crates/rome_js_analyze/src/analyzers/suspicious/use_default_switch_clause_last.rs similarity index 87% rename from crates/rome_js_analyze/src/analyzers/nursery/use_default_switch_clause_last.rs rename to crates/rome_js_analyze/src/analyzers/suspicious/use_default_switch_clause_last.rs index d63df2195c2..b6df1831a0c 100644 --- a/crates/rome_js_analyze/src/analyzers/nursery/use_default_switch_clause_last.rs +++ b/crates/rome_js_analyze/src/analyzers/suspicious/use_default_switch_clause_last.rs @@ -9,7 +9,12 @@ declare_rule! { /// /// A switch statement can optionally have a default clause. /// - /// If present, it’s usually the last clause, but it doesn’t need to be. It is also allowed to put the default clause before all case clauses, or anywhere between. The behavior is mostly the same as if it was the last clause. The default block will be still executed only if there is no match in the case clauses (including those defined after the default), but there is also the ability to “fall through” from the default clause to the following clause in the list. However, such flow is not common and it would be confusing to the readers. + /// If present, it’s usually the last clause, but it doesn’t need to be. It is also allowed to put the default clause before all case clauses, or anywhere between. + /// The behavior is mostly the same as if it was the last clause. + /// + /// The default block will be still executed only if there is no match in the case clauses (including those defined after the default), + /// but there is also the ability to “fall through” from the default clause to the following clause in the list. + /// However, such flow is not common and it would be confusing to the readers. /// /// Even if there is no "fall through" logic, it’s still unexpected to see the default clause before or between the case clauses. By convention, it is expected to be the last clause. /// diff --git a/crates/rome_js_analyze/src/semantic_analyzers/style.rs b/crates/rome_js_analyze/src/semantic_analyzers/style.rs index 94ab70105c5..f4285e33f5f 100644 --- a/crates/rome_js_analyze/src/semantic_analyzers/style.rs +++ b/crates/rome_js_analyze/src/semantic_analyzers/style.rs @@ -3,5 +3,7 @@ use rome_analyze::declare_group; mod no_arguments; mod no_shouty_constants; +mod no_var; +mod use_const; mod use_fragment_syntax; -declare_group! { pub (crate) Style { name : "style" , rules : [self :: no_arguments :: NoArguments , self :: no_shouty_constants :: NoShoutyConstants , self :: use_fragment_syntax :: UseFragmentSyntax ,] } } +declare_group! { pub (crate) Style { name : "style" , rules : [self :: no_arguments :: NoArguments , self :: no_shouty_constants :: NoShoutyConstants , self :: no_var :: NoVar , self :: use_const :: UseConst , self :: use_fragment_syntax :: UseFragmentSyntax ,] } } diff --git a/crates/rome_js_analyze/src/semantic_analyzers/nursery/no_var.rs b/crates/rome_js_analyze/src/semantic_analyzers/style/no_var.rs similarity index 97% rename from crates/rome_js_analyze/src/semantic_analyzers/nursery/no_var.rs rename to crates/rome_js_analyze/src/semantic_analyzers/style/no_var.rs index 1253a529f53..c3553170b41 100644 --- a/crates/rome_js_analyze/src/semantic_analyzers/nursery/no_var.rs +++ b/crates/rome_js_analyze/src/semantic_analyzers/style/no_var.rs @@ -12,7 +12,9 @@ use super::use_const::{ConstBindings, VariableDeclaration}; declare_rule! { /// Disallow the use of `var` /// - /// ECMAScript 6 allows programmers to create variables with block scope instead of function scope using the let and const keywords. Block scope is common in many other programming languages and helps programmers avoid mistakes. + /// ECMAScript 6 allows programmers to create variables with block scope instead of function scope using the let and const keywords. + /// + /// Block scope is common in many other programming languages and helps programmers avoid mistakes. /// /// Source: https://eslint.org/docs/latest/rules/no-var /// diff --git a/crates/rome_js_analyze/src/semantic_analyzers/nursery/use_const.rs b/crates/rome_js_analyze/src/semantic_analyzers/style/use_const.rs similarity index 100% rename from crates/rome_js_analyze/src/semantic_analyzers/nursery/use_const.rs rename to crates/rome_js_analyze/src/semantic_analyzers/style/use_const.rs diff --git a/crates/rome_js_analyze/tests/specs/nursery/noAccessKey.jsx b/crates/rome_js_analyze/tests/specs/a11y/noAccessKey.jsx similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noAccessKey.jsx rename to crates/rome_js_analyze/tests/specs/a11y/noAccessKey.jsx diff --git a/crates/rome_js_analyze/tests/specs/nursery/noAccessKey.jsx.snap b/crates/rome_js_analyze/tests/specs/a11y/noAccessKey.jsx.snap similarity index 87% rename from crates/rome_js_analyze/tests/specs/nursery/noAccessKey.jsx.snap rename to crates/rome_js_analyze/tests/specs/a11y/noAccessKey.jsx.snap index b5b868e73e4..8ffff43af92 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/noAccessKey.jsx.snap +++ b/crates/rome_js_analyze/tests/specs/a11y/noAccessKey.jsx.snap @@ -21,7 +21,7 @@ expression: noAccessKey.jsx # Diagnostics ``` -noAccessKey.jsx:2:22 lint/nursery/noAccessKey FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +noAccessKey.jsx:2:22 lint/a11y/noAccessKey FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Avoid the accessKey attribute to reduce inconsistencies between keyboard shortcuts and screen reader keyboard comments. @@ -41,7 +41,7 @@ noAccessKey.jsx:2:22 lint/nursery/noAccessKey FIXABLE ━━━━━━━━ ``` ``` -noAccessKey.jsx:3:9 lint/nursery/noAccessKey FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +noAccessKey.jsx:3:9 lint/a11y/noAccessKey FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Avoid the accessKey attribute to reduce inconsistencies between keyboard shortcuts and screen reader keyboard comments. diff --git a/crates/rome_js_analyze/tests/specs/nursery/noDistractingElements.jsx b/crates/rome_js_analyze/tests/specs/a11y/noDistractingElements.jsx similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noDistractingElements.jsx rename to crates/rome_js_analyze/tests/specs/a11y/noDistractingElements.jsx diff --git a/crates/rome_js_analyze/tests/specs/a11y/noDistractingElements.jsx.snap b/crates/rome_js_analyze/tests/specs/a11y/noDistractingElements.jsx.snap new file mode 100644 index 00000000000..2405815d2f9 --- /dev/null +++ b/crates/rome_js_analyze/tests/specs/a11y/noDistractingElements.jsx.snap @@ -0,0 +1,56 @@ +--- +source: crates/rome_js_analyze/tests/spec_tests.rs +expression: noDistractingElements.jsx +--- +# Input +```js +
+
+ + + +``` + +# Diagnostics +``` +noDistractingElements.jsx:3:5 lint/a11y/noDistractingElements FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + ! Don't use the 'marquee' element. + + 1 │
+ 2 │
+ > 3 │ + │ ^^^^^^^^^^ + 4 │ + 5 │ + + i Visually distracting elements can cause accessibility issues and should be avoided. + + i Suggested fix: Remove the 'marquee' element. + + 3 │ ···· + │ ---------- + +``` + +``` +noDistractingElements.jsx:4:5 lint/a11y/noDistractingElements FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + ! Don't use the 'blink' element. + + 2 │
+ 3 │ + > 4 │ + │ ^^^^^^^^ + 5 │ + + i Visually distracting elements can cause accessibility issues and should be avoided. + + i Suggested fix: Remove the 'blink' element. + + 4 │ ···· + │ -------- + +``` + + diff --git a/crates/rome_js_analyze/tests/specs/nursery/noHeaderScope/invalid.jsx b/crates/rome_js_analyze/tests/specs/a11y/noHeaderScope/invalid.jsx similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noHeaderScope/invalid.jsx rename to crates/rome_js_analyze/tests/specs/a11y/noHeaderScope/invalid.jsx diff --git a/crates/rome_js_analyze/tests/specs/nursery/noHeaderScope/invalid.jsx.snap b/crates/rome_js_analyze/tests/specs/a11y/noHeaderScope/invalid.jsx.snap similarity index 88% rename from crates/rome_js_analyze/tests/specs/nursery/noHeaderScope/invalid.jsx.snap rename to crates/rome_js_analyze/tests/specs/a11y/noHeaderScope/invalid.jsx.snap index ad8ad952f39..d3b67b4a8d6 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/noHeaderScope/invalid.jsx.snap +++ b/crates/rome_js_analyze/tests/specs/a11y/noHeaderScope/invalid.jsx.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 73 expression: invalid.jsx --- # Input @@ -16,7 +15,7 @@ expression: invalid.jsx # Diagnostics ``` -invalid.jsx:2:7 lint/nursery/noHeaderScope FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:2:7 lint/a11y/noHeaderScope FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Avoid using the scope attribute on elements other than th elements. @@ -34,7 +33,7 @@ invalid.jsx:2:7 lint/nursery/noHeaderScope FIXABLE ━━━━━━━━━ ``` ``` -invalid.jsx:3:7 lint/nursery/noHeaderScope FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:3:7 lint/a11y/noHeaderScope FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Avoid using the scope attribute on elements other than th elements. @@ -53,7 +52,7 @@ invalid.jsx:3:7 lint/nursery/noHeaderScope FIXABLE ━━━━━━━━━ ``` ``` -invalid.jsx:4:7 lint/nursery/noHeaderScope FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:4:7 lint/a11y/noHeaderScope FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Avoid using the scope attribute on elements other than th elements. @@ -72,7 +71,7 @@ invalid.jsx:4:7 lint/nursery/noHeaderScope FIXABLE ━━━━━━━━━ ``` ``` -invalid.jsx:5:7 lint/nursery/noHeaderScope FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsx:5:7 lint/a11y/noHeaderScope FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Avoid using the scope attribute on elements other than th elements. diff --git a/crates/rome_js_analyze/tests/specs/nursery/noHeaderScope/valid.jsx b/crates/rome_js_analyze/tests/specs/a11y/noHeaderScope/valid.jsx similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noHeaderScope/valid.jsx rename to crates/rome_js_analyze/tests/specs/a11y/noHeaderScope/valid.jsx diff --git a/crates/rome_js_analyze/tests/specs/nursery/noHeaderScope/valid.jsx.snap b/crates/rome_js_analyze/tests/specs/a11y/noHeaderScope/valid.jsx.snap similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noHeaderScope/valid.jsx.snap rename to crates/rome_js_analyze/tests/specs/a11y/noHeaderScope/valid.jsx.snap diff --git a/crates/rome_js_analyze/tests/specs/nursery/noConstructorReturn/invalid.js b/crates/rome_js_analyze/tests/specs/correctness/noConstructorReturn/invalid.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noConstructorReturn/invalid.js rename to crates/rome_js_analyze/tests/specs/correctness/noConstructorReturn/invalid.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/noConstructorReturn/invalid.js.snap b/crates/rome_js_analyze/tests/specs/correctness/noConstructorReturn/invalid.js.snap similarity index 85% rename from crates/rome_js_analyze/tests/specs/nursery/noConstructorReturn/invalid.js.snap rename to crates/rome_js_analyze/tests/specs/correctness/noConstructorReturn/invalid.js.snap index c6cac674855..1589de4fb02 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/noConstructorReturn/invalid.js.snap +++ b/crates/rome_js_analyze/tests/specs/correctness/noConstructorReturn/invalid.js.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 73 expression: invalid.js --- # Input @@ -37,7 +36,7 @@ class D { # Diagnostics ``` -invalid.js:3:3 lint/nursery/noConstructorReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:3:3 lint/correctness/noConstructorReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The constructor should not return a value. @@ -65,7 +64,7 @@ invalid.js:3:3 lint/nursery/noConstructorReturn ━━━━━━━━━━ ``` ``` -invalid.js:9:3 lint/nursery/noConstructorReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:9:3 lint/correctness/noConstructorReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The constructor should not return a value. @@ -93,7 +92,7 @@ invalid.js:9:3 lint/nursery/noConstructorReturn ━━━━━━━━━━ ``` ``` -invalid.js:16:3 lint/nursery/noConstructorReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:16:3 lint/correctness/noConstructorReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The constructor should not return a value. @@ -122,7 +121,7 @@ invalid.js:16:3 lint/nursery/noConstructorReturn ━━━━━━━━━━ ``` ``` -invalid.js:24:4 lint/nursery/noConstructorReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:24:4 lint/correctness/noConstructorReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The constructor should not return a value. diff --git a/crates/rome_js_analyze/tests/specs/nursery/noConstructorReturn/valid.js b/crates/rome_js_analyze/tests/specs/correctness/noConstructorReturn/valid.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noConstructorReturn/valid.js rename to crates/rome_js_analyze/tests/specs/correctness/noConstructorReturn/valid.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/noConstructorReturn/valid.js.snap b/crates/rome_js_analyze/tests/specs/correctness/noConstructorReturn/valid.js.snap similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noConstructorReturn/valid.js.snap rename to crates/rome_js_analyze/tests/specs/correctness/noConstructorReturn/valid.js.snap diff --git a/crates/rome_js_analyze/tests/specs/nursery/noDuplicateObjectKeys.js b/crates/rome_js_analyze/tests/specs/correctness/noDuplicateObjectKeys.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noDuplicateObjectKeys.js rename to crates/rome_js_analyze/tests/specs/correctness/noDuplicateObjectKeys.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/noDuplicateObjectKeys.js.snap b/crates/rome_js_analyze/tests/specs/correctness/noDuplicateObjectKeys.js.snap similarity index 86% rename from crates/rome_js_analyze/tests/specs/nursery/noDuplicateObjectKeys.js.snap rename to crates/rome_js_analyze/tests/specs/correctness/noDuplicateObjectKeys.js.snap index 6b597690aa6..022b07c4f97 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/noDuplicateObjectKeys.js.snap +++ b/crates/rome_js_analyze/tests/specs/correctness/noDuplicateObjectKeys.js.snap @@ -52,7 +52,7 @@ var { a, a } = obj; # Diagnostics ``` -noDuplicateObjectKeys.js:3:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ +noDuplicateObjectKeys.js:3:4 lint/correctness/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ ! This property value named a is later overwritten by an object member with the same name. @@ -82,7 +82,7 @@ noDuplicateObjectKeys.js:3:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━━ ``` ``` -noDuplicateObjectKeys.js:4:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ +noDuplicateObjectKeys.js:4:4 lint/correctness/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ ! This property value named a is later overwritten by an object member with the same name. @@ -110,7 +110,7 @@ noDuplicateObjectKeys.js:4:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━━ ``` ``` -noDuplicateObjectKeys.js:4:10 lint/nursery/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━ +noDuplicateObjectKeys.js:4:10 lint/correctness/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━ ! This property value named a is later overwritten by an object member with the same name. @@ -138,7 +138,7 @@ noDuplicateObjectKeys.js:4:10 lint/nursery/noDuplicateObjectKeys FIXABLE ━ ``` ``` -noDuplicateObjectKeys.js:5:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ +noDuplicateObjectKeys.js:5:4 lint/correctness/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ ! This property value named is later overwritten by an object member with the same name. @@ -168,7 +168,7 @@ noDuplicateObjectKeys.js:5:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━━ ``` ``` -noDuplicateObjectKeys.js:6:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ +noDuplicateObjectKeys.js:6:4 lint/correctness/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ ! This property value named z is later overwritten by an object member with the same name. @@ -198,7 +198,7 @@ noDuplicateObjectKeys.js:6:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━━ ``` ``` -noDuplicateObjectKeys.js:7:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ +noDuplicateObjectKeys.js:7:4 lint/correctness/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ ! This getter named a is later overwritten by an object member with the same name. @@ -228,7 +228,7 @@ noDuplicateObjectKeys.js:7:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━━ ``` ``` -noDuplicateObjectKeys.js:8:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ +noDuplicateObjectKeys.js:8:4 lint/correctness/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ ! This setter named a is later overwritten by an object member with the same name. @@ -258,7 +258,7 @@ noDuplicateObjectKeys.js:8:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━━ ``` ``` -noDuplicateObjectKeys.js:9:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ +noDuplicateObjectKeys.js:9:4 lint/correctness/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ ! This property value named a is later overwritten by an object member with the same name. @@ -288,7 +288,7 @@ noDuplicateObjectKeys.js:9:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━━ ``` ``` -noDuplicateObjectKeys.js:10:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━ +noDuplicateObjectKeys.js:10:4 lint/correctness/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━ ! This property value named a is later overwritten by an object member with the same name. @@ -318,7 +318,7 @@ noDuplicateObjectKeys.js:10:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━ ``` ``` -noDuplicateObjectKeys.js:11:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━ +noDuplicateObjectKeys.js:11:4 lint/correctness/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━ ! This getter named a is later overwritten by an object member with the same name. @@ -348,7 +348,7 @@ noDuplicateObjectKeys.js:11:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━ ``` ``` -noDuplicateObjectKeys.js:12:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━ +noDuplicateObjectKeys.js:12:4 lint/correctness/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━ ! This setter named a is later overwritten by an object member with the same name. @@ -378,7 +378,7 @@ noDuplicateObjectKeys.js:12:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━ ``` ``` -noDuplicateObjectKeys.js:13:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━ +noDuplicateObjectKeys.js:13:4 lint/correctness/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━ ! This property value named a is later overwritten by an object member with the same name. @@ -408,7 +408,7 @@ noDuplicateObjectKeys.js:13:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━ ``` ``` -noDuplicateObjectKeys.js:14:16 lint/nursery/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━ +noDuplicateObjectKeys.js:14:16 lint/correctness/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━ ! This property value named a is later overwritten by an object member with the same name. @@ -438,7 +438,7 @@ noDuplicateObjectKeys.js:14:16 lint/nursery/noDuplicateObjectKeys FIXABLE ━ ``` ``` -noDuplicateObjectKeys.js:15:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━ +noDuplicateObjectKeys.js:15:4 lint/correctness/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━ ! This getter named a is later overwritten by an object member with the same name. @@ -468,7 +468,7 @@ noDuplicateObjectKeys.js:15:4 lint/nursery/noDuplicateObjectKeys FIXABLE ━ ``` ``` -noDuplicateObjectKeys.js:15:16 lint/nursery/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━ +noDuplicateObjectKeys.js:15:16 lint/correctness/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━ ! This setter named a is later overwritten by an object member with the same name. diff --git a/crates/rome_js_analyze/tests/specs/nursery/noPrecisionLoss/invalid.js b/crates/rome_js_analyze/tests/specs/correctness/noPrecisionLoss/invalid.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noPrecisionLoss/invalid.js rename to crates/rome_js_analyze/tests/specs/correctness/noPrecisionLoss/invalid.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/noPrecisionLoss/invalid.js.snap b/crates/rome_js_analyze/tests/specs/correctness/noPrecisionLoss/invalid.js.snap similarity index 81% rename from crates/rome_js_analyze/tests/specs/nursery/noPrecisionLoss/invalid.js.snap rename to crates/rome_js_analyze/tests/specs/correctness/noPrecisionLoss/invalid.js.snap index 4de24dfadce..587cf932c2c 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/noPrecisionLoss/invalid.js.snap +++ b/crates/rome_js_analyze/tests/specs/correctness/noPrecisionLoss/invalid.js.snap @@ -49,7 +49,7 @@ var x = 0X200000_0000000_1 # Diagnostics ``` -invalid.js:2:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:2:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -65,7 +65,7 @@ invalid.js:2:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━ ``` ``` -invalid.js:3:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:3:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -82,7 +82,7 @@ invalid.js:3:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━ ``` ``` -invalid.js:4:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:4:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -99,7 +99,7 @@ invalid.js:4:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━ ``` ``` -invalid.js:5:10 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:5:10 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -116,7 +116,7 @@ invalid.js:5:10 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:6:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:6:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -133,7 +133,7 @@ invalid.js:6:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━ ``` ``` -invalid.js:7:10 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:7:10 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -150,7 +150,7 @@ invalid.js:7:10 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:8:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:8:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -167,7 +167,7 @@ invalid.js:8:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━ ``` ``` -invalid.js:9:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:9:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -184,7 +184,7 @@ invalid.js:9:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━ ``` ``` -invalid.js:10:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:10:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -201,7 +201,7 @@ invalid.js:10:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:11:10 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:11:10 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -218,7 +218,7 @@ invalid.js:11:10 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:12:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:12:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -235,7 +235,7 @@ invalid.js:12:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:13:10 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:13:10 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -252,7 +252,7 @@ invalid.js:13:10 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:14:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:14:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -269,7 +269,7 @@ invalid.js:14:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:15:10 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:15:10 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -286,7 +286,7 @@ invalid.js:15:10 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:16:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:16:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -303,7 +303,7 @@ invalid.js:16:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:17:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:17:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -320,7 +320,7 @@ invalid.js:17:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:18:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:18:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -337,7 +337,7 @@ invalid.js:18:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:19:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:19:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -354,7 +354,7 @@ invalid.js:19:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:20:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:20:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -371,7 +371,7 @@ invalid.js:20:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:21:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:21:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -388,7 +388,7 @@ invalid.js:21:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:22:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:22:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -405,7 +405,7 @@ invalid.js:22:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:23:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:23:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -422,7 +422,7 @@ invalid.js:23:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:24:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:24:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -439,7 +439,7 @@ invalid.js:24:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:25:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:25:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -456,7 +456,7 @@ invalid.js:25:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:26:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:26:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -473,7 +473,7 @@ invalid.js:26:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:27:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:27:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -490,7 +490,7 @@ invalid.js:27:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:28:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:28:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -507,7 +507,7 @@ invalid.js:28:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:29:10 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:29:10 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -524,7 +524,7 @@ invalid.js:29:10 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:30:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:30:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -541,7 +541,7 @@ invalid.js:30:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:31:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:31:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -558,7 +558,7 @@ invalid.js:31:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:32:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:32:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -575,7 +575,7 @@ invalid.js:32:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:33:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:33:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -592,7 +592,7 @@ invalid.js:33:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:34:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:34:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -609,7 +609,7 @@ invalid.js:34:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:35:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:35:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -626,7 +626,7 @@ invalid.js:35:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:36:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:36:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -643,7 +643,7 @@ invalid.js:36:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:37:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:37:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -660,7 +660,7 @@ invalid.js:37:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:38:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:38:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -677,7 +677,7 @@ invalid.js:38:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:39:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:39:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. @@ -694,7 +694,7 @@ invalid.js:39:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━ ``` ``` -invalid.js:40:9 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:40:9 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This number literal will lose precision at runtime. diff --git a/crates/rome_js_analyze/tests/specs/nursery/noPrecisionLoss/valid.js b/crates/rome_js_analyze/tests/specs/correctness/noPrecisionLoss/valid.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noPrecisionLoss/valid.js rename to crates/rome_js_analyze/tests/specs/correctness/noPrecisionLoss/valid.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/noPrecisionLoss/valid.js.snap b/crates/rome_js_analyze/tests/specs/correctness/noPrecisionLoss/valid.js.snap similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noPrecisionLoss/valid.js.snap rename to crates/rome_js_analyze/tests/specs/correctness/noPrecisionLoss/valid.js.snap diff --git a/crates/rome_js_analyze/tests/specs/nursery/noStringCaseMismatch.js b/crates/rome_js_analyze/tests/specs/correctness/noStringCaseMismatch.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noStringCaseMismatch.js rename to crates/rome_js_analyze/tests/specs/correctness/noStringCaseMismatch.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/noStringCaseMismatch.js.snap b/crates/rome_js_analyze/tests/specs/correctness/noStringCaseMismatch.js.snap similarity index 89% rename from crates/rome_js_analyze/tests/specs/nursery/noStringCaseMismatch.js.snap rename to crates/rome_js_analyze/tests/specs/correctness/noStringCaseMismatch.js.snap index 7369b596a6d..391267f7978 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/noStringCaseMismatch.js.snap +++ b/crates/rome_js_analyze/tests/specs/correctness/noStringCaseMismatch.js.snap @@ -43,7 +43,7 @@ switch (s["toLowerCase"]()) { # Diagnostics ``` -noStringCaseMismatch.js:10:11 lint/nursery/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ +noStringCaseMismatch.js:10:11 lint/correctness/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ ! This expression always returns false. @@ -82,7 +82,7 @@ noStringCaseMismatch.js:10:11 lint/nursery/noStringCaseMismatch FIXABLE ━━ ``` ``` -noStringCaseMismatch.js:11:11 lint/nursery/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ +noStringCaseMismatch.js:11:11 lint/correctness/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ ! This expression always returns false. @@ -124,7 +124,7 @@ noStringCaseMismatch.js:11:11 lint/nursery/noStringCaseMismatch FIXABLE ━━ ``` ``` -noStringCaseMismatch.js:12:12 lint/nursery/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ +noStringCaseMismatch.js:12:12 lint/correctness/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ ! This expression always returns false. @@ -166,7 +166,7 @@ noStringCaseMismatch.js:12:12 lint/nursery/noStringCaseMismatch FIXABLE ━━ ``` ``` -noStringCaseMismatch.js:13:5 lint/nursery/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━ +noStringCaseMismatch.js:13:5 lint/correctness/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━ ! This expression always returns false. @@ -208,7 +208,7 @@ noStringCaseMismatch.js:13:5 lint/nursery/noStringCaseMismatch FIXABLE ━━ ``` ``` -noStringCaseMismatch.js:14:8 lint/nursery/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━ +noStringCaseMismatch.js:14:8 lint/correctness/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━ ! This expression always returns false. @@ -250,7 +250,7 @@ noStringCaseMismatch.js:14:8 lint/nursery/noStringCaseMismatch FIXABLE ━━ ``` ``` -noStringCaseMismatch.js:15:8 lint/nursery/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━ +noStringCaseMismatch.js:15:8 lint/correctness/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━ ! This expression always returns false. @@ -292,7 +292,7 @@ noStringCaseMismatch.js:15:8 lint/nursery/noStringCaseMismatch FIXABLE ━━ ``` ``` -noStringCaseMismatch.js:16:9 lint/nursery/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━ +noStringCaseMismatch.js:16:9 lint/correctness/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━ ! This expression always returns false. @@ -334,7 +334,7 @@ noStringCaseMismatch.js:16:9 lint/nursery/noStringCaseMismatch FIXABLE ━━ ``` ``` -noStringCaseMismatch.js:17:14 lint/nursery/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ +noStringCaseMismatch.js:17:14 lint/correctness/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ ! This expression always returns false. @@ -376,7 +376,7 @@ noStringCaseMismatch.js:17:14 lint/nursery/noStringCaseMismatch FIXABLE ━━ ``` ``` -noStringCaseMismatch.js:18:8 lint/nursery/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━ +noStringCaseMismatch.js:18:8 lint/correctness/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━ ! This expression always returns false. @@ -418,7 +418,7 @@ noStringCaseMismatch.js:18:8 lint/nursery/noStringCaseMismatch FIXABLE ━━ ``` ``` -noStringCaseMismatch.js:22:10 lint/nursery/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ +noStringCaseMismatch.js:22:10 lint/correctness/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ ! This case will never match. @@ -460,7 +460,7 @@ noStringCaseMismatch.js:22:10 lint/nursery/noStringCaseMismatch FIXABLE ━━ ``` ``` -noStringCaseMismatch.js:23:10 lint/nursery/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ +noStringCaseMismatch.js:23:10 lint/correctness/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ ! This case will never match. @@ -502,7 +502,7 @@ noStringCaseMismatch.js:23:10 lint/nursery/noStringCaseMismatch FIXABLE ━━ ``` ``` -noStringCaseMismatch.js:27:8 lint/nursery/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━ +noStringCaseMismatch.js:27:8 lint/correctness/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━ ! This expression always returns false. @@ -544,7 +544,7 @@ noStringCaseMismatch.js:27:8 lint/nursery/noStringCaseMismatch FIXABLE ━━ ``` ``` -noStringCaseMismatch.js:28:8 lint/nursery/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━ +noStringCaseMismatch.js:28:8 lint/correctness/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━ ! This expression always returns false. @@ -583,7 +583,7 @@ noStringCaseMismatch.js:28:8 lint/nursery/noStringCaseMismatch FIXABLE ━━ ``` ``` -noStringCaseMismatch.js:31:10 lint/nursery/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ +noStringCaseMismatch.js:31:10 lint/correctness/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ ! This case will never match. @@ -623,7 +623,7 @@ noStringCaseMismatch.js:31:10 lint/nursery/noStringCaseMismatch FIXABLE ━━ ``` ``` -noStringCaseMismatch.js:32:10 lint/nursery/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ +noStringCaseMismatch.js:32:10 lint/correctness/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ ! This case will never match. @@ -665,7 +665,7 @@ noStringCaseMismatch.js:32:10 lint/nursery/noStringCaseMismatch FIXABLE ━━ ``` ``` -noStringCaseMismatch.js:33:10 lint/nursery/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━ +noStringCaseMismatch.js:33:10 lint/correctness/noStringCaseMismatch FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ ! This case will never match. diff --git a/crates/rome_js_analyze/tests/specs/nursery/noUnsafeFinally/invalid.js b/crates/rome_js_analyze/tests/specs/correctness/noUnsafeFinally/invalid.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noUnsafeFinally/invalid.js rename to crates/rome_js_analyze/tests/specs/correctness/noUnsafeFinally/invalid.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/noUnsafeFinally/invalid.js.snap b/crates/rome_js_analyze/tests/specs/correctness/noUnsafeFinally/invalid.js.snap similarity index 89% rename from crates/rome_js_analyze/tests/specs/nursery/noUnsafeFinally/invalid.js.snap rename to crates/rome_js_analyze/tests/specs/correctness/noUnsafeFinally/invalid.js.snap index fd874319f96..909a5ccadc0 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/noUnsafeFinally/invalid.js.snap +++ b/crates/rome_js_analyze/tests/specs/correctness/noUnsafeFinally/invalid.js.snap @@ -23,7 +23,7 @@ expression: invalid.js # Diagnostics ``` -invalid.js:1:79 lint/nursery/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:1:79 lint/correctness/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unsafe usage of 'return'. @@ -38,7 +38,7 @@ invalid.js:1:79 lint/nursery/noUnsafeFinally ━━━━━━━━━━━ ``` ``` -invalid.js:2:88 lint/nursery/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:2:88 lint/correctness/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unsafe usage of 'return'. @@ -54,7 +54,7 @@ invalid.js:2:88 lint/nursery/noUnsafeFinally ━━━━━━━━━━━ ``` ``` -invalid.js:2:106 lint/nursery/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:2:106 lint/correctness/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unsafe usage of 'return'. @@ -70,7 +70,7 @@ invalid.js:2:106 lint/nursery/noUnsafeFinally ━━━━━━━━━━━ ``` ``` -invalid.js:3:77 lint/nursery/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:3:77 lint/correctness/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unsafe usage of 'return'. @@ -87,7 +87,7 @@ invalid.js:3:77 lint/nursery/noUnsafeFinally ━━━━━━━━━━━ ``` ``` -invalid.js:4:77 lint/nursery/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:4:77 lint/correctness/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unsafe usage of 'return'. @@ -104,7 +104,7 @@ invalid.js:4:77 lint/nursery/noUnsafeFinally ━━━━━━━━━━━ ``` ``` -invalid.js:5:77 lint/nursery/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:5:77 lint/correctness/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unsafe usage of 'return'. @@ -121,7 +121,7 @@ invalid.js:5:77 lint/nursery/noUnsafeFinally ━━━━━━━━━━━ ``` ``` -invalid.js:6:77 lint/nursery/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:6:77 lint/correctness/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unsafe usage of 'throw'. @@ -138,7 +138,7 @@ invalid.js:6:77 lint/nursery/noUnsafeFinally ━━━━━━━━━━━ ``` ``` -invalid.js:7:76 lint/nursery/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:7:76 lint/correctness/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unsafe usage of 'return'. @@ -155,7 +155,7 @@ invalid.js:7:76 lint/nursery/noUnsafeFinally ━━━━━━━━━━━ ``` ``` -invalid.js:8:61 lint/nursery/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:8:61 lint/correctness/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unsafe usage of 'break'. @@ -172,7 +172,7 @@ invalid.js:8:61 lint/nursery/noUnsafeFinally ━━━━━━━━━━━ ``` ``` -invalid.js:9:82 lint/nursery/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:9:82 lint/correctness/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unsafe usage of 'break'. @@ -189,7 +189,7 @@ invalid.js:9:82 lint/nursery/noUnsafeFinally ━━━━━━━━━━━ ``` ``` -invalid.js:10:56 lint/nursery/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:10:56 lint/correctness/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unsafe usage of 'break'. @@ -206,7 +206,7 @@ invalid.js:10:56 lint/nursery/noUnsafeFinally ━━━━━━━━━━━ ``` ``` -invalid.js:11:56 lint/nursery/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:11:56 lint/correctness/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unsafe usage of 'continue'. @@ -223,7 +223,7 @@ invalid.js:11:56 lint/nursery/noUnsafeFinally ━━━━━━━━━━━ ``` ``` -invalid.js:12:70 lint/nursery/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:12:70 lint/correctness/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unsafe usage of 'break'. @@ -240,7 +240,7 @@ invalid.js:12:70 lint/nursery/noUnsafeFinally ━━━━━━━━━━━ ``` ``` -invalid.js:13:86 lint/nursery/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:13:86 lint/correctness/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unsafe usage of 'break'. @@ -257,7 +257,7 @@ invalid.js:13:86 lint/nursery/noUnsafeFinally ━━━━━━━━━━━ ``` ``` -invalid.js:14:86 lint/nursery/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:14:86 lint/correctness/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unsafe usage of 'continue'. @@ -273,7 +273,7 @@ invalid.js:14:86 lint/nursery/noUnsafeFinally ━━━━━━━━━━━ ``` ``` -invalid.js:15:100 lint/nursery/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:15:100 lint/correctness/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Unsafe usage of 'break'. diff --git a/crates/rome_js_analyze/tests/specs/nursery/noUnsafeFinally/valid.js b/crates/rome_js_analyze/tests/specs/correctness/noUnsafeFinally/valid.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noUnsafeFinally/valid.js rename to crates/rome_js_analyze/tests/specs/correctness/noUnsafeFinally/valid.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/noUnsafeFinally/valid.js.snap b/crates/rome_js_analyze/tests/specs/correctness/noUnsafeFinally/valid.js.snap similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noUnsafeFinally/valid.js.snap rename to crates/rome_js_analyze/tests/specs/correctness/noUnsafeFinally/valid.js.snap diff --git a/crates/rome_js_analyze/tests/specs/nursery/noVoidTypeReturn/invalid.ts b/crates/rome_js_analyze/tests/specs/correctness/noVoidTypeReturn/invalid.ts similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noVoidTypeReturn/invalid.ts rename to crates/rome_js_analyze/tests/specs/correctness/noVoidTypeReturn/invalid.ts diff --git a/crates/rome_js_analyze/tests/specs/nursery/noVoidTypeReturn/invalid.ts.snap b/crates/rome_js_analyze/tests/specs/correctness/noVoidTypeReturn/invalid.ts.snap similarity index 84% rename from crates/rome_js_analyze/tests/specs/nursery/noVoidTypeReturn/invalid.ts.snap rename to crates/rome_js_analyze/tests/specs/correctness/noVoidTypeReturn/invalid.ts.snap index b010fd1f505..a0240797635 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/noVoidTypeReturn/invalid.ts.snap +++ b/crates/rome_js_analyze/tests/specs/correctness/noVoidTypeReturn/invalid.ts.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 73 expression: invalid.ts --- # Input @@ -33,7 +32,7 @@ const g = (): void => { # Diagnostics ``` -invalid.ts:3:3 lint/nursery/noVoidTypeReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:3:3 lint/correctness/noVoidTypeReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The function should not return a value because its return type is void. @@ -61,7 +60,7 @@ invalid.ts:3:3 lint/nursery/noVoidTypeReturn ━━━━━━━━━━━ ``` ``` -invalid.ts:9:3 lint/nursery/noVoidTypeReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:9:3 lint/correctness/noVoidTypeReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The function should not return a value because its return type is void. @@ -89,7 +88,7 @@ invalid.ts:9:3 lint/nursery/noVoidTypeReturn ━━━━━━━━━━━ ``` ``` -invalid.ts:14:2 lint/nursery/noVoidTypeReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:14:2 lint/correctness/noVoidTypeReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The function should not return a value because its return type is void. @@ -117,7 +116,7 @@ invalid.ts:14:2 lint/nursery/noVoidTypeReturn ━━━━━━━━━━━ ``` ``` -invalid.ts:18:2 lint/nursery/noVoidTypeReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:18:2 lint/correctness/noVoidTypeReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The function should not return a value because its return type is void. @@ -145,7 +144,7 @@ invalid.ts:18:2 lint/nursery/noVoidTypeReturn ━━━━━━━━━━━ ``` ``` -invalid.ts:22:2 lint/nursery/noVoidTypeReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:22:2 lint/correctness/noVoidTypeReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The function should not return a value because its return type is void. diff --git a/crates/rome_js_analyze/tests/specs/nursery/noVoidTypeReturn/valid.ts b/crates/rome_js_analyze/tests/specs/correctness/noVoidTypeReturn/valid.ts similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noVoidTypeReturn/valid.ts rename to crates/rome_js_analyze/tests/specs/correctness/noVoidTypeReturn/valid.ts diff --git a/crates/rome_js_analyze/tests/specs/nursery/noVoidTypeReturn/valid.ts.snap b/crates/rome_js_analyze/tests/specs/correctness/noVoidTypeReturn/valid.ts.snap similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noVoidTypeReturn/valid.ts.snap rename to crates/rome_js_analyze/tests/specs/correctness/noVoidTypeReturn/valid.ts.snap diff --git a/crates/rome_js_analyze/tests/specs/nursery/useEnumInitializers/invalid.ts b/crates/rome_js_analyze/tests/specs/correctness/useEnumInitializers/invalid.ts similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useEnumInitializers/invalid.ts rename to crates/rome_js_analyze/tests/specs/correctness/useEnumInitializers/invalid.ts diff --git a/crates/rome_js_analyze/tests/specs/nursery/useEnumInitializers/invalid.ts.snap b/crates/rome_js_analyze/tests/specs/correctness/useEnumInitializers/invalid.ts.snap similarity index 76% rename from crates/rome_js_analyze/tests/specs/nursery/useEnumInitializers/invalid.ts.snap rename to crates/rome_js_analyze/tests/specs/correctness/useEnumInitializers/invalid.ts.snap index 8c8944e3ca0..f22522abc52 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/useEnumInitializers/invalid.ts.snap +++ b/crates/rome_js_analyze/tests/specs/correctness/useEnumInitializers/invalid.ts.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 74 expression: invalid.ts --- # Input @@ -40,7 +39,7 @@ export enum IndexedColor { # Diagnostics ``` -invalid.ts:2:2 lint/nursery/useEnumInitializers FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:2:2 lint/correctness/useEnumInitializers FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized. @@ -60,7 +59,7 @@ invalid.ts:2:2 lint/nursery/useEnumInitializers FIXABLE ━━━━━━━ ``` ``` -invalid.ts:5:17 lint/nursery/useEnumInitializers FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:5:17 lint/correctness/useEnumInitializers FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized. @@ -81,7 +80,7 @@ invalid.ts:5:17 lint/nursery/useEnumInitializers FIXABLE ━━━━━━━ ``` ``` -invalid.ts:11:2 lint/nursery/useEnumInitializers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:11:2 lint/correctness/useEnumInitializers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized. @@ -98,7 +97,7 @@ invalid.ts:11:2 lint/nursery/useEnumInitializers ━━━━━━━━━━ ``` ``` -invalid.ts:15:2 lint/nursery/useEnumInitializers FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:15:2 lint/correctness/useEnumInitializers FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized. @@ -118,7 +117,7 @@ invalid.ts:15:2 lint/nursery/useEnumInitializers FIXABLE ━━━━━━━ ``` ``` -invalid.ts:16:2 lint/nursery/useEnumInitializers FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:16:2 lint/correctness/useEnumInitializers FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized. @@ -139,7 +138,7 @@ invalid.ts:16:2 lint/nursery/useEnumInitializers FIXABLE ━━━━━━━ ``` ``` -invalid.ts:17:2 lint/nursery/useEnumInitializers FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:17:2 lint/correctness/useEnumInitializers FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized. @@ -160,7 +159,7 @@ invalid.ts:17:2 lint/nursery/useEnumInitializers FIXABLE ━━━━━━━ ``` ``` -invalid.ts:18:2 lint/nursery/useEnumInitializers FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:18:2 lint/correctness/useEnumInitializers FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized. @@ -181,7 +180,7 @@ invalid.ts:18:2 lint/nursery/useEnumInitializers FIXABLE ━━━━━━━ ``` ``` -invalid.ts:24:2 lint/nursery/useEnumInitializers FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:24:2 lint/correctness/useEnumInitializers FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized. @@ -202,7 +201,7 @@ invalid.ts:24:2 lint/nursery/useEnumInitializers FIXABLE ━━━━━━━ ``` ``` -invalid.ts:30:2 lint/nursery/useEnumInitializers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:30:2 lint/correctness/useEnumInitializers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum member should be initialized. diff --git a/crates/rome_js_analyze/tests/specs/nursery/useEnumInitializers/valid.ts b/crates/rome_js_analyze/tests/specs/correctness/useEnumInitializers/valid.ts similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useEnumInitializers/valid.ts rename to crates/rome_js_analyze/tests/specs/correctness/useEnumInitializers/valid.ts diff --git a/crates/rome_js_analyze/tests/specs/nursery/useEnumInitializers/valid.ts.snap b/crates/rome_js_analyze/tests/specs/correctness/useEnumInitializers/valid.ts.snap similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useEnumInitializers/valid.ts.snap rename to crates/rome_js_analyze/tests/specs/correctness/useEnumInitializers/valid.ts.snap diff --git a/crates/rome_js_analyze/tests/specs/nursery/noVar/invalidFunctions.js b/crates/rome_js_analyze/tests/specs/style/noVar/invalidFunctions.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noVar/invalidFunctions.js rename to crates/rome_js_analyze/tests/specs/style/noVar/invalidFunctions.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/noVar/invalidFunctions.js.snap b/crates/rome_js_analyze/tests/specs/style/noVar/invalidFunctions.js.snap similarity index 89% rename from crates/rome_js_analyze/tests/specs/nursery/noVar/invalidFunctions.js.snap rename to crates/rome_js_analyze/tests/specs/style/noVar/invalidFunctions.js.snap index a95878ceb2e..e595a03af17 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/noVar/invalidFunctions.js.snap +++ b/crates/rome_js_analyze/tests/specs/style/noVar/invalidFunctions.js.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 73 expression: invalidFunctions.js --- # Input @@ -18,7 +17,7 @@ export function f(x) { # Diagnostics ``` -invalidFunctions.js:4:9 lint/nursery/noVar FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidFunctions.js:4:9 lint/style/noVar FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use let or const instead of var. diff --git a/crates/rome_js_analyze/tests/specs/nursery/noVar/invalidModule.js b/crates/rome_js_analyze/tests/specs/style/noVar/invalidModule.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noVar/invalidModule.js rename to crates/rome_js_analyze/tests/specs/style/noVar/invalidModule.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/noVar/invalidModule.js.snap b/crates/rome_js_analyze/tests/specs/style/noVar/invalidModule.js.snap similarity index 81% rename from crates/rome_js_analyze/tests/specs/nursery/noVar/invalidModule.js.snap rename to crates/rome_js_analyze/tests/specs/style/noVar/invalidModule.js.snap index 4168e509c97..1d1c5b69d5e 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/noVar/invalidModule.js.snap +++ b/crates/rome_js_analyze/tests/specs/style/noVar/invalidModule.js.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 73 expression: invalidModule.js --- # Input @@ -11,7 +10,7 @@ export const y = x; # Diagnostics ``` -invalidModule.js:1:1 lint/nursery/noVar FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidModule.js:1:1 lint/style/noVar FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use let or const instead of var. diff --git a/crates/rome_js_analyze/tests/specs/nursery/noVar/invalidScript.jsonc b/crates/rome_js_analyze/tests/specs/style/noVar/invalidScript.jsonc similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noVar/invalidScript.jsonc rename to crates/rome_js_analyze/tests/specs/style/noVar/invalidScript.jsonc diff --git a/crates/rome_js_analyze/tests/specs/nursery/noVar/invalidScript.jsonc.snap b/crates/rome_js_analyze/tests/specs/style/noVar/invalidScript.jsonc.snap similarity index 79% rename from crates/rome_js_analyze/tests/specs/nursery/noVar/invalidScript.jsonc.snap rename to crates/rome_js_analyze/tests/specs/style/noVar/invalidScript.jsonc.snap index fa9e852c16e..caa51c34d01 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/noVar/invalidScript.jsonc.snap +++ b/crates/rome_js_analyze/tests/specs/style/noVar/invalidScript.jsonc.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 91 expression: invalidScript.jsonc --- # Input @@ -10,7 +9,7 @@ var x = 1; foo(x); # Diagnostics ``` -invalidScript.jsonc:1:1 lint/nursery/noVar FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidScript.jsonc:1:1 lint/style/noVar FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use let or const instead of var. @@ -36,7 +35,7 @@ var x = 1; x = 5; # Diagnostics ``` -invalidScript.jsonc:1:1 lint/nursery/noVar FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidScript.jsonc:1:1 lint/style/noVar FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use let or const instead of var. @@ -62,7 +61,7 @@ for (var i in [1,2,3]) { foo(i); } # Diagnostics ``` -invalidScript.jsonc:1:6 lint/nursery/noVar FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidScript.jsonc:1:6 lint/style/noVar FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use let or const instead of var. @@ -88,7 +87,7 @@ for (var x of [1,2,3]) { foo(x); } # Diagnostics ``` -invalidScript.jsonc:1:6 lint/nursery/noVar FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidScript.jsonc:1:6 lint/style/noVar FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use let or const instead of var. @@ -114,7 +113,7 @@ var [x = -1, y] = [1,2]; y = 0; # Diagnostics ``` -invalidScript.jsonc:1:1 lint/nursery/noVar FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidScript.jsonc:1:1 lint/style/noVar FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use let or const instead of var. @@ -140,7 +139,7 @@ var {a: x = -1, b: y} = {a:1,b:2}; y = 0; # Diagnostics ``` -invalidScript.jsonc:1:1 lint/nursery/noVar FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidScript.jsonc:1:1 lint/style/noVar FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use let or const instead of var. diff --git a/crates/rome_js_analyze/tests/specs/nursery/noVar/valid.jsonc b/crates/rome_js_analyze/tests/specs/style/noVar/valid.jsonc similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noVar/valid.jsonc rename to crates/rome_js_analyze/tests/specs/style/noVar/valid.jsonc diff --git a/crates/rome_js_analyze/tests/specs/nursery/noVar/valid.jsonc.snap b/crates/rome_js_analyze/tests/specs/style/noVar/valid.jsonc.snap similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noVar/valid.jsonc.snap rename to crates/rome_js_analyze/tests/specs/style/noVar/valid.jsonc.snap diff --git a/crates/rome_js_analyze/tests/specs/nursery/useConst/invalid.jsonc b/crates/rome_js_analyze/tests/specs/style/useConst/invalid.jsonc similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useConst/invalid.jsonc rename to crates/rome_js_analyze/tests/specs/style/useConst/invalid.jsonc diff --git a/crates/rome_js_analyze/tests/specs/nursery/useConst/invalid.jsonc.snap b/crates/rome_js_analyze/tests/specs/style/useConst/invalid.jsonc.snap similarity index 85% rename from crates/rome_js_analyze/tests/specs/nursery/useConst/invalid.jsonc.snap rename to crates/rome_js_analyze/tests/specs/style/useConst/invalid.jsonc.snap index 8510f323a6c..fc0bb3176c1 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/useConst/invalid.jsonc.snap +++ b/crates/rome_js_analyze/tests/specs/style/useConst/invalid.jsonc.snap @@ -9,7 +9,7 @@ let x = 1; foo(x); # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -36,7 +36,7 @@ for (let i in [1,2,3]) { foo(i); } # Diagnostics ``` -invalid.jsonc:1:6 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:6 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -63,7 +63,7 @@ for (let x of [1,2,3]) { foo(x); } # Diagnostics ``` -invalid.jsonc:1:6 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:6 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -90,7 +90,7 @@ invalid.jsonc:1:6 lint/nursery/useConst FIXABLE ━━━━━━━━━━ # Diagnostics ``` -invalid.jsonc:1:15 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:15 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -117,7 +117,7 @@ invalid.jsonc:1:15 lint/nursery/useConst FIXABLE ━━━━━━━━━ # Diagnostics ``` -invalid.jsonc:1:20 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:20 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -144,7 +144,7 @@ invalid.jsonc:1:20 lint/nursery/useConst FIXABLE ━━━━━━━━━ # Diagnostics ``` -invalid.jsonc:1:20 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:20 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -171,7 +171,7 @@ let f = (function() { let g = x; })(); f = 1; # Diagnostics ``` -invalid.jsonc:1:23 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:23 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -198,7 +198,7 @@ let x = 0; { let x = 1; foo(x); } x = 0; # Diagnostics ``` -invalid.jsonc:1:14 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:14 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -225,7 +225,7 @@ for (let i = 0; i < 10; ++i) { let x = 1; foo(x); } # Diagnostics ``` -invalid.jsonc:1:32 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:32 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -252,7 +252,7 @@ for (let i in [1,2,3]) { let x = 1; foo(x); } # Diagnostics ``` -invalid.jsonc:1:6 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:6 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -273,7 +273,7 @@ invalid.jsonc:1:6 lint/nursery/useConst FIXABLE ━━━━━━━━━━ ``` ``` -invalid.jsonc:1:26 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:26 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -300,7 +300,7 @@ var foo = function() { for (const b of c) { let a; a = 1; } }; # Diagnostics ``` -invalid.jsonc:1:45 lint/nursery/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:45 lint/style/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -322,7 +322,7 @@ var foo = function() { for (const b of c) { let a; ({a} = 1); } }; # Diagnostics ``` -invalid.jsonc:1:45 lint/nursery/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:45 lint/style/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -344,7 +344,7 @@ let x; x = 0; # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/style/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -366,7 +366,7 @@ switch (a) { case 0: let x; x = 0; } # Diagnostics ``` -invalid.jsonc:1:22 lint/nursery/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:22 lint/style/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -388,7 +388,7 @@ invalid.jsonc:1:22 lint/nursery/useConst ━━━━━━━━━━━━━ # Diagnostics ``` -invalid.jsonc:1:15 lint/nursery/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:15 lint/style/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -410,7 +410,7 @@ let {a: {b, c}} = {a: {b: 1, c: 2}} # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares some variables which are never re-assigned. @@ -442,7 +442,7 @@ let {a = 0, b} = obj; foo(a, b); # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares some variables which are never re-assigned. @@ -474,7 +474,7 @@ let [a] = [1] # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -501,7 +501,7 @@ let {a} = obj # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -528,7 +528,7 @@ let a, b; ({a = 0, b} = obj); foo(a, b); # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/style/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares some variables which are never re-assigned. @@ -555,7 +555,7 @@ let x; function foo() { bar(x); } x = 0; # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/style/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -577,7 +577,7 @@ invalid.jsonc:1:1 lint/nursery/useConst ━━━━━━━━━━━━━ # Diagnostics ``` -invalid.jsonc:1:24 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:24 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -604,7 +604,7 @@ invalid.jsonc:1:24 lint/nursery/useConst FIXABLE ━━━━━━━━━ # Diagnostics ``` -invalid.jsonc:1:26 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:26 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -631,7 +631,7 @@ let { foo, bar } = baz; # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares some variables which are never re-assigned. @@ -663,7 +663,7 @@ const x = [1,2]; let [,y] = x; # Diagnostics ``` -invalid.jsonc:1:18 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:18 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -690,7 +690,7 @@ const x = [1,2,3]; let [y,,z] = x; # Diagnostics ``` -invalid.jsonc:1:20 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:20 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares some variables which are never re-assigned. @@ -722,7 +722,7 @@ let predicate; [, {foo:returnType, predicate}] = foo(); # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/style/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -744,7 +744,7 @@ let predicate; [, {foo:returnType, predicate}, ...bar ] = foo(); # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/style/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -766,7 +766,7 @@ let predicate; [, {foo:returnType, ...predicate} ] = foo(); # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/style/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -788,7 +788,7 @@ let x = 'x', y = 'y'; # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares some variables which are never re-assigned. @@ -820,7 +820,7 @@ let x = 1, y = 'y'; let z = 1; # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares some variables which are never re-assigned. @@ -846,7 +846,7 @@ invalid.jsonc:1:1 lint/nursery/useConst FIXABLE ━━━━━━━━━━ ``` ``` -invalid.jsonc:1:21 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:21 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -873,7 +873,7 @@ let { a, b, c} = obj; let { x, y, z} = anotherObj; x = 2; # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares some variables which are never re-assigned. @@ -910,7 +910,7 @@ let x = 'x', y = 'y'; function someFunc() { let a = 1, b = 2; foo(a, b) } # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares some variables which are never re-assigned. @@ -936,7 +936,7 @@ invalid.jsonc:1:1 lint/nursery/useConst FIXABLE ━━━━━━━━━━ ``` ``` -invalid.jsonc:1:45 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:45 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares some variables which are never re-assigned. @@ -968,7 +968,7 @@ let someFunc = () => { let a = 1, b = 2; foo(a, b) } # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -989,7 +989,7 @@ invalid.jsonc:1:1 lint/nursery/useConst FIXABLE ━━━━━━━━━━ ``` ``` -invalid.jsonc:1:24 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:24 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares some variables which are never re-assigned. @@ -1021,7 +1021,7 @@ invalid.jsonc:1:24 lint/nursery/useConst FIXABLE ━━━━━━━━━ # Diagnostics ``` -invalid.jsonc:1:32 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:32 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -1048,7 +1048,7 @@ let a = 1; class C { static { a; } } # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -1075,7 +1075,7 @@ class C { static { a; } } let a = 1; # Diagnostics ``` -invalid.jsonc:1:27 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:27 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -1102,7 +1102,7 @@ class C { static { let a = 1; } } # Diagnostics ``` -invalid.jsonc:1:20 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:20 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -1129,7 +1129,7 @@ class C { static { if (foo) { let a = 1; } } } # Diagnostics ``` -invalid.jsonc:1:31 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:31 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -1156,7 +1156,7 @@ class C { static { let a = 1; if (foo) { a; } } } # Diagnostics ``` -invalid.jsonc:1:20 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:20 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -1183,7 +1183,7 @@ class C { static { if (foo) { let a; a = 1; } } } # Diagnostics ``` -invalid.jsonc:1:31 lint/nursery/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:31 lint/style/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -1205,7 +1205,7 @@ class C { static { let a; a = 1; } } # Diagnostics ``` -invalid.jsonc:1:20 lint/nursery/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:20 lint/style/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -1227,7 +1227,7 @@ class C { static { let { a, b } = foo; } } # Diagnostics ``` -invalid.jsonc:1:20 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:20 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares some variables which are never re-assigned. @@ -1259,7 +1259,7 @@ class C { static { let a, b; ({ a, b } = foo); } } # Diagnostics ``` -invalid.jsonc:1:20 lint/nursery/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:20 lint/style/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares some variables which are never re-assigned. @@ -1286,7 +1286,7 @@ class C { static { let a; let b; ({ a, b } = foo); } } # Diagnostics ``` -invalid.jsonc:1:20 lint/nursery/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:20 lint/style/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -1302,7 +1302,7 @@ invalid.jsonc:1:20 lint/nursery/useConst ━━━━━━━━━━━━━ ``` ``` -invalid.jsonc:1:27 lint/nursery/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:27 lint/style/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -1324,7 +1324,7 @@ class C { static { let a; a = 0; console.log(a); } } # Diagnostics ``` -invalid.jsonc:1:20 lint/nursery/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:20 lint/style/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -1346,7 +1346,7 @@ let { itemId, list } = {}, obj = []; console.log(itemId, list, obj); # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares some variables which are never re-assigned. @@ -1383,7 +1383,7 @@ let [ itemId, list ] = [], obj = []; console.log(itemId, list, obj); # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares some variables which are never re-assigned. @@ -1420,7 +1420,7 @@ class C { static { () => a; let a = 1; } }; # Diagnostics ``` -invalid.jsonc:1:29 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:29 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. @@ -1447,7 +1447,7 @@ let x; function foo() { bar(x); } x = 0; # Diagnostics ``` -invalid.jsonc:1:1 lint/nursery/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.jsonc:1:1 lint/style/useConst ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! This 'let' declares a variable which is never re-assigned. diff --git a/crates/rome_js_analyze/tests/specs/nursery/useConst/valid.jsonc b/crates/rome_js_analyze/tests/specs/style/useConst/valid.jsonc similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useConst/valid.jsonc rename to crates/rome_js_analyze/tests/specs/style/useConst/valid.jsonc diff --git a/crates/rome_js_analyze/tests/specs/nursery/useConst/valid.jsonc.snap b/crates/rome_js_analyze/tests/specs/style/useConst/valid.jsonc.snap similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useConst/valid.jsonc.snap rename to crates/rome_js_analyze/tests/specs/style/useConst/valid.jsonc.snap diff --git a/crates/rome_js_analyze/tests/specs/nursery/useConst/validPartial.js b/crates/rome_js_analyze/tests/specs/style/useConst/validPartial.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useConst/validPartial.js rename to crates/rome_js_analyze/tests/specs/style/useConst/validPartial.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/useConst/validPartial.js.snap b/crates/rome_js_analyze/tests/specs/style/useConst/validPartial.js.snap similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useConst/validPartial.js.snap rename to crates/rome_js_analyze/tests/specs/style/useConst/validPartial.js.snap diff --git a/crates/rome_js_analyze/tests/specs/nursery/useDefaultParameterLast/invalid.js b/crates/rome_js_analyze/tests/specs/style/useDefaultParameterLast/invalid.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useDefaultParameterLast/invalid.js rename to crates/rome_js_analyze/tests/specs/style/useDefaultParameterLast/invalid.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/useDefaultParameterLast/invalid.js.snap b/crates/rome_js_analyze/tests/specs/style/useDefaultParameterLast/invalid.js.snap similarity index 84% rename from crates/rome_js_analyze/tests/specs/nursery/useDefaultParameterLast/invalid.js.snap rename to crates/rome_js_analyze/tests/specs/style/useDefaultParameterLast/invalid.js.snap index 3d86374966b..6d45ff2bcf1 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/useDefaultParameterLast/invalid.js.snap +++ b/crates/rome_js_analyze/tests/specs/style/useDefaultParameterLast/invalid.js.snap @@ -15,7 +15,7 @@ export function g(a, b /* before */ = /* mid */ 0 /* after */ /* after comma */, # Diagnostics ``` -invalid.js:1:19 lint/nursery/useDefaultParameterLast FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:1:19 lint/style/useDefaultParameterLast FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The default parameter should follow the required parameter or should be a required parameter. @@ -41,7 +41,7 @@ invalid.js:1:19 lint/nursery/useDefaultParameterLast FIXABLE ━━━━━ ``` ``` -invalid.js:3:22 lint/nursery/useDefaultParameterLast FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:3:22 lint/style/useDefaultParameterLast FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The default parameter should follow the required parameter or should be a required parameter. @@ -71,7 +71,7 @@ invalid.js:3:22 lint/nursery/useDefaultParameterLast FIXABLE ━━━━━ ``` ``` -invalid.js:7:22 lint/nursery/useDefaultParameterLast FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:7:22 lint/style/useDefaultParameterLast FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The default parameter should follow the required parameter or should be a required parameter. diff --git a/crates/rome_js_analyze/tests/specs/nursery/useDefaultParameterLast/invalid.ts b/crates/rome_js_analyze/tests/specs/style/useDefaultParameterLast/invalid.ts similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useDefaultParameterLast/invalid.ts rename to crates/rome_js_analyze/tests/specs/style/useDefaultParameterLast/invalid.ts diff --git a/crates/rome_js_analyze/tests/specs/nursery/useDefaultParameterLast/invalid.ts.snap b/crates/rome_js_analyze/tests/specs/style/useDefaultParameterLast/invalid.ts.snap similarity index 85% rename from crates/rome_js_analyze/tests/specs/nursery/useDefaultParameterLast/invalid.ts.snap rename to crates/rome_js_analyze/tests/specs/style/useDefaultParameterLast/invalid.ts.snap index 0fcfd3c6a59..d14b0269e84 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/useDefaultParameterLast/invalid.ts.snap +++ b/crates/rome_js_analyze/tests/specs/style/useDefaultParameterLast/invalid.ts.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 86 expression: invalid.ts --- # Input @@ -20,7 +19,7 @@ export class Foo { # Diagnostics ``` -invalid.ts:1:30 lint/nursery/useDefaultParameterLast FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:1:30 lint/style/useDefaultParameterLast FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The optional parameter should follow the required parameter or should be a required parameter. @@ -46,7 +45,7 @@ invalid.ts:1:30 lint/nursery/useDefaultParameterLast FIXABLE ━━━━━ ``` ``` -invalid.ts:3:19 lint/nursery/useDefaultParameterLast FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:3:19 lint/style/useDefaultParameterLast FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The default parameter should follow the required parameter or should be a required parameter. @@ -76,7 +75,7 @@ invalid.ts:3:19 lint/nursery/useDefaultParameterLast FIXABLE ━━━━━ ``` ``` -invalid.ts:3:26 lint/nursery/useDefaultParameterLast FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:3:26 lint/style/useDefaultParameterLast FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The optional parameter should follow the required parameter or should be a required parameter. @@ -106,7 +105,7 @@ invalid.ts:3:26 lint/nursery/useDefaultParameterLast FIXABLE ━━━━━ ``` ``` -invalid.ts:5:19 lint/nursery/useDefaultParameterLast FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:5:19 lint/style/useDefaultParameterLast FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The default parameter should follow the required parameter or should be a required parameter. @@ -136,7 +135,7 @@ invalid.ts:5:19 lint/nursery/useDefaultParameterLast FIXABLE ━━━━━ ``` ``` -invalid.ts:5:26 lint/nursery/useDefaultParameterLast FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:5:26 lint/style/useDefaultParameterLast FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The default parameter should follow the required parameter or should be a required parameter. @@ -166,7 +165,7 @@ invalid.ts:5:26 lint/nursery/useDefaultParameterLast FIXABLE ━━━━━ ``` ``` -invalid.ts:5:33 lint/nursery/useDefaultParameterLast FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:5:33 lint/style/useDefaultParameterLast FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The optional parameter should follow the required parameter or should be a required parameter. @@ -196,7 +195,7 @@ invalid.ts:5:33 lint/nursery/useDefaultParameterLast FIXABLE ━━━━━ ``` ``` -invalid.ts:7:19 lint/nursery/useDefaultParameterLast FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:7:19 lint/style/useDefaultParameterLast FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The optional parameter should follow the required parameter or should be a required parameter. @@ -226,7 +225,7 @@ invalid.ts:7:19 lint/nursery/useDefaultParameterLast FIXABLE ━━━━━ ``` ``` -invalid.ts:10:17 lint/nursery/useDefaultParameterLast FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:10:17 lint/style/useDefaultParameterLast FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The default parameter should follow the required parameter or should be a required parameter. diff --git a/crates/rome_js_analyze/tests/specs/nursery/useDefaultParameterLast/valid.js b/crates/rome_js_analyze/tests/specs/style/useDefaultParameterLast/valid.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useDefaultParameterLast/valid.js rename to crates/rome_js_analyze/tests/specs/style/useDefaultParameterLast/valid.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/useDefaultParameterLast/valid.js.snap b/crates/rome_js_analyze/tests/specs/style/useDefaultParameterLast/valid.js.snap similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useDefaultParameterLast/valid.js.snap rename to crates/rome_js_analyze/tests/specs/style/useDefaultParameterLast/valid.js.snap diff --git a/crates/rome_js_analyze/tests/specs/nursery/useDefaultParameterLast/valid.ts b/crates/rome_js_analyze/tests/specs/style/useDefaultParameterLast/valid.ts similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useDefaultParameterLast/valid.ts rename to crates/rome_js_analyze/tests/specs/style/useDefaultParameterLast/valid.ts diff --git a/crates/rome_js_analyze/tests/specs/nursery/useDefaultParameterLast/valid.ts.snap b/crates/rome_js_analyze/tests/specs/style/useDefaultParameterLast/valid.ts.snap similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useDefaultParameterLast/valid.ts.snap rename to crates/rome_js_analyze/tests/specs/style/useDefaultParameterLast/valid.ts.snap diff --git a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalid.js b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalid.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalid.js rename to crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalid.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalid.js.snap b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalid.js.snap similarity index 79% rename from crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalid.js.snap rename to crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalid.js.snap index c2b32cfe9de..ee571547409 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalid.js.snap +++ b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalid.js.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 73 expression: invalid.js --- # Input @@ -70,7 +69,7 @@ a+Math.pow(b, c)+d # Diagnostics ``` -invalid.js:1:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:1:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -90,7 +89,7 @@ invalid.js:1:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:2:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:2:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -112,7 +111,7 @@ invalid.js:2:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:5:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:5:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -135,7 +134,7 @@ invalid.js:5:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:6:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:6:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -159,7 +158,7 @@ invalid.js:6:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:7:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:7:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -183,7 +182,7 @@ invalid.js:7:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:8:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:8:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -207,7 +206,7 @@ invalid.js:8:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:11:9 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:11:9 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -230,7 +229,7 @@ invalid.js:11:9 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:12:4 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:12:4 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -254,7 +253,7 @@ invalid.js:12:4 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:13:6 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:13:6 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -278,7 +277,7 @@ invalid.js:13:6 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:14:19 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:14:19 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -302,7 +301,7 @@ invalid.js:14:19 lint/nursery/useExponentiationOperator FIXABLE ━━━━ ``` ``` -invalid.js:15:8 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:15:8 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -326,7 +325,7 @@ invalid.js:15:8 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:16:25 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:16:25 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -350,7 +349,7 @@ invalid.js:16:25 lint/nursery/useExponentiationOperator FIXABLE ━━━━ ``` ``` -invalid.js:17:4 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:17:4 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -374,7 +373,7 @@ invalid.js:17:4 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:20:17 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:20:17 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -397,7 +396,7 @@ invalid.js:20:17 lint/nursery/useExponentiationOperator FIXABLE ━━━━ ``` ``` -invalid.js:23:3 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:23:3 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -420,7 +419,7 @@ invalid.js:23:3 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:24:2 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:24:2 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -444,7 +443,7 @@ invalid.js:24:2 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:25:17 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:25:17 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -468,7 +467,7 @@ invalid.js:25:17 lint/nursery/useExponentiationOperator FIXABLE ━━━━ ``` ``` -invalid.js:26:18 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:26:18 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -492,7 +491,7 @@ invalid.js:26:18 lint/nursery/useExponentiationOperator FIXABLE ━━━━ ``` ``` -invalid.js:29:6 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:29:6 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -515,7 +514,7 @@ invalid.js:29:6 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:30:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:30:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -539,7 +538,7 @@ invalid.js:30:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:31:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:31:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -563,7 +562,7 @@ invalid.js:31:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:32:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:32:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -587,7 +586,7 @@ invalid.js:32:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:33:6 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:33:6 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -611,7 +610,7 @@ invalid.js:33:6 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:36:2 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:36:2 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -634,7 +633,7 @@ invalid.js:36:2 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:37:8 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:37:8 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -658,7 +657,7 @@ invalid.js:37:8 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:38:2 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:38:2 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -682,7 +681,7 @@ invalid.js:38:2 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:39:5 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:39:5 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -706,7 +705,7 @@ invalid.js:39:5 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:42:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:42:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -729,7 +728,7 @@ invalid.js:42:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:43:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:43:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -753,7 +752,7 @@ invalid.js:43:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:44:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:44:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -777,7 +776,7 @@ invalid.js:44:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:45:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:45:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -801,7 +800,7 @@ invalid.js:45:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:46:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:46:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -825,7 +824,7 @@ invalid.js:46:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:47:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:47:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -849,7 +848,7 @@ invalid.js:47:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:50:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:50:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -872,7 +871,7 @@ invalid.js:50:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:51:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:51:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -896,7 +895,7 @@ invalid.js:51:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:52:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:52:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -920,7 +919,7 @@ invalid.js:52:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:53:2 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:53:2 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -944,7 +943,7 @@ invalid.js:53:2 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:54:2 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:54:2 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -968,7 +967,7 @@ invalid.js:54:2 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:57:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:57:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -991,7 +990,7 @@ invalid.js:57:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━ ``` ``` -invalid.js:60:3 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:60:3 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. diff --git a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidAdjacentTokens.js b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidAdjacentTokens.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidAdjacentTokens.js rename to crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidAdjacentTokens.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidAdjacentTokens.js.snap b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidAdjacentTokens.js.snap similarity index 84% rename from crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidAdjacentTokens.js.snap rename to crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidAdjacentTokens.js.snap index d390782ed03..1384e387604 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidAdjacentTokens.js.snap +++ b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidAdjacentTokens.js.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 73 expression: invalidAdjacentTokens.js --- # Input @@ -29,7 +28,7 @@ Math.pow(a, b)**Math.pow(c, d) # Diagnostics ``` -invalidAdjacentTokens.js:2:3 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ +invalidAdjacentTokens.js:2:3 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -51,7 +50,7 @@ invalidAdjacentTokens.js:2:3 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidAdjacentTokens.js:3:5 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ +invalidAdjacentTokens.js:3:5 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -75,7 +74,7 @@ invalidAdjacentTokens.js:3:5 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidAdjacentTokens.js:4:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ +invalidAdjacentTokens.js:4:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -99,7 +98,7 @@ invalidAdjacentTokens.js:4:1 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidAdjacentTokens.js:5:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ +invalidAdjacentTokens.js:5:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -123,7 +122,7 @@ invalidAdjacentTokens.js:5:1 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidAdjacentTokens.js:6:3 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ +invalidAdjacentTokens.js:6:3 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -147,7 +146,7 @@ invalidAdjacentTokens.js:6:3 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidAdjacentTokens.js:7:3 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ +invalidAdjacentTokens.js:7:3 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -171,7 +170,7 @@ invalidAdjacentTokens.js:7:3 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidAdjacentTokens.js:10:4 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━ +invalidAdjacentTokens.js:10:4 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -194,7 +193,7 @@ invalidAdjacentTokens.js:10:4 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidAdjacentTokens.js:12:4 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━ +invalidAdjacentTokens.js:12:4 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -218,7 +217,7 @@ invalidAdjacentTokens.js:12:4 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidAdjacentTokens.js:15:2 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━ +invalidAdjacentTokens.js:15:2 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -241,7 +240,7 @@ invalidAdjacentTokens.js:15:2 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidAdjacentTokens.js:16:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━ +invalidAdjacentTokens.js:16:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -265,7 +264,7 @@ invalidAdjacentTokens.js:16:1 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidAdjacentTokens.js:17:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━ +invalidAdjacentTokens.js:17:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -289,7 +288,7 @@ invalidAdjacentTokens.js:17:1 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidAdjacentTokens.js:17:18 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━ +invalidAdjacentTokens.js:17:18 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -313,7 +312,7 @@ invalidAdjacentTokens.js:17:18 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidAdjacentTokens.js:18:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━ +invalidAdjacentTokens.js:18:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -337,7 +336,7 @@ invalidAdjacentTokens.js:18:1 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidAdjacentTokens.js:18:10 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━ +invalidAdjacentTokens.js:18:10 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -361,7 +360,7 @@ invalidAdjacentTokens.js:18:10 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidAdjacentTokens.js:18:26 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━ +invalidAdjacentTokens.js:18:26 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -385,7 +384,7 @@ invalidAdjacentTokens.js:18:26 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidAdjacentTokens.js:19:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━ +invalidAdjacentTokens.js:19:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -407,7 +406,7 @@ invalidAdjacentTokens.js:19:1 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidAdjacentTokens.js:19:17 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━ +invalidAdjacentTokens.js:19:17 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. diff --git a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidBaseExpoentHigherPrecedence.js b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidBaseExpoentHigherPrecedence.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidBaseExpoentHigherPrecedence.js rename to crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidBaseExpoentHigherPrecedence.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidBaseExpoentHigherPrecedence.js.snap b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidBaseExpoentHigherPrecedence.js.snap similarity index 81% rename from crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidBaseExpoentHigherPrecedence.js.snap rename to crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidBaseExpoentHigherPrecedence.js.snap index 1926c6f67ea..0d075f4dba5 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidBaseExpoentHigherPrecedence.js.snap +++ b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidBaseExpoentHigherPrecedence.js.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 74 expression: invalidBaseExpoentHigherPrecedence.js --- # Input @@ -20,7 +19,7 @@ expression: invalidBaseExpoentHigherPrecedence.js # Diagnostics ``` -invalidBaseExpoentHigherPrecedence.js:2:2 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidBaseExpoentHigherPrecedence.js:2:2 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -42,7 +41,7 @@ invalidBaseExpoentHigherPrecedence.js:2:2 lint/nursery/useExponentiationOperator ``` ``` -invalidBaseExpoentHigherPrecedence.js:3:2 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidBaseExpoentHigherPrecedence.js:3:2 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -66,7 +65,7 @@ invalidBaseExpoentHigherPrecedence.js:3:2 lint/nursery/useExponentiationOperator ``` ``` -invalidBaseExpoentHigherPrecedence.js:4:2 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidBaseExpoentHigherPrecedence.js:4:2 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -90,7 +89,7 @@ invalidBaseExpoentHigherPrecedence.js:4:2 lint/nursery/useExponentiationOperator ``` ``` -invalidBaseExpoentHigherPrecedence.js:5:2 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidBaseExpoentHigherPrecedence.js:5:2 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -114,7 +113,7 @@ invalidBaseExpoentHigherPrecedence.js:5:2 lint/nursery/useExponentiationOperator ``` ``` -invalidBaseExpoentHigherPrecedence.js:6:2 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidBaseExpoentHigherPrecedence.js:6:2 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -138,7 +137,7 @@ invalidBaseExpoentHigherPrecedence.js:6:2 lint/nursery/useExponentiationOperator ``` ``` -invalidBaseExpoentHigherPrecedence.js:7:2 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidBaseExpoentHigherPrecedence.js:7:2 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -162,7 +161,7 @@ invalidBaseExpoentHigherPrecedence.js:7:2 lint/nursery/useExponentiationOperator ``` ``` -invalidBaseExpoentHigherPrecedence.js:8:2 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidBaseExpoentHigherPrecedence.js:8:2 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -186,7 +185,7 @@ invalidBaseExpoentHigherPrecedence.js:8:2 lint/nursery/useExponentiationOperator ``` ``` -invalidBaseExpoentHigherPrecedence.js:9:2 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidBaseExpoentHigherPrecedence.js:9:2 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -210,7 +209,7 @@ invalidBaseExpoentHigherPrecedence.js:9:2 lint/nursery/useExponentiationOperator ``` ``` -invalidBaseExpoentHigherPrecedence.js:10:2 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidBaseExpoentHigherPrecedence.js:10:2 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. diff --git a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidBaseExpoentLowerPrecedence.js b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidBaseExpoentLowerPrecedence.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidBaseExpoentLowerPrecedence.js rename to crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidBaseExpoentLowerPrecedence.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidBaseExpoentLowerPrecedence.js.snap b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidBaseExpoentLowerPrecedence.js.snap similarity index 83% rename from crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidBaseExpoentLowerPrecedence.js.snap rename to crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidBaseExpoentLowerPrecedence.js.snap index f29bfb0e4b4..0abb7deddb8 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidBaseExpoentLowerPrecedence.js.snap +++ b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidBaseExpoentLowerPrecedence.js.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 74 expression: invalidBaseExpoentLowerPrecedence.js --- # Input @@ -22,7 +21,7 @@ function *f() { Math.pow(yield, yield) } # Diagnostics ``` -invalidBaseExpoentLowerPrecedence.js:2:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidBaseExpoentLowerPrecedence.js:2:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -44,7 +43,7 @@ invalidBaseExpoentLowerPrecedence.js:2:1 lint/nursery/useExponentiationOperator ``` ``` -invalidBaseExpoentLowerPrecedence.js:3:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidBaseExpoentLowerPrecedence.js:3:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -68,7 +67,7 @@ invalidBaseExpoentLowerPrecedence.js:3:1 lint/nursery/useExponentiationOperator ``` ``` -invalidBaseExpoentLowerPrecedence.js:4:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidBaseExpoentLowerPrecedence.js:4:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -92,7 +91,7 @@ invalidBaseExpoentLowerPrecedence.js:4:1 lint/nursery/useExponentiationOperator ``` ``` -invalidBaseExpoentLowerPrecedence.js:5:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidBaseExpoentLowerPrecedence.js:5:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -116,7 +115,7 @@ invalidBaseExpoentLowerPrecedence.js:5:1 lint/nursery/useExponentiationOperator ``` ``` -invalidBaseExpoentLowerPrecedence.js:6:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidBaseExpoentLowerPrecedence.js:6:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -140,7 +139,7 @@ invalidBaseExpoentLowerPrecedence.js:6:1 lint/nursery/useExponentiationOperator ``` ``` -invalidBaseExpoentLowerPrecedence.js:7:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidBaseExpoentLowerPrecedence.js:7:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -164,7 +163,7 @@ invalidBaseExpoentLowerPrecedence.js:7:1 lint/nursery/useExponentiationOperator ``` ``` -invalidBaseExpoentLowerPrecedence.js:8:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidBaseExpoentLowerPrecedence.js:8:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -188,7 +187,7 @@ invalidBaseExpoentLowerPrecedence.js:8:1 lint/nursery/useExponentiationOperator ``` ``` -invalidBaseExpoentLowerPrecedence.js:9:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidBaseExpoentLowerPrecedence.js:9:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -212,7 +211,7 @@ invalidBaseExpoentLowerPrecedence.js:9:1 lint/nursery/useExponentiationOperator ``` ``` -invalidBaseExpoentLowerPrecedence.js:10:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidBaseExpoentLowerPrecedence.js:10:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -236,7 +235,7 @@ invalidBaseExpoentLowerPrecedence.js:10:1 lint/nursery/useExponentiationOperator ``` ``` -invalidBaseExpoentLowerPrecedence.js:11:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidBaseExpoentLowerPrecedence.js:11:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -260,7 +259,7 @@ invalidBaseExpoentLowerPrecedence.js:11:1 lint/nursery/useExponentiationOperator ``` ``` -invalidBaseExpoentLowerPrecedence.js:12:17 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidBaseExpoentLowerPrecedence.js:12:17 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. diff --git a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidClass.ts b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidClass.ts similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidClass.ts rename to crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidClass.ts diff --git a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidClass.ts.snap b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidClass.ts.snap similarity index 83% rename from crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidClass.ts.snap rename to crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidClass.ts.snap index 4d9e4be653e..51e2ba5826f 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidClass.ts.snap +++ b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidClass.ts.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 73 expression: invalidClass.ts --- # Input @@ -15,7 +14,7 @@ class C extends (Math.pow(a, b)) implements Foo, Bar {} # Diagnostics ``` -invalidClass.ts:2:20 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClass.ts:2:20 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -37,7 +36,7 @@ invalidClass.ts:2:20 lint/nursery/useExponentiationOperator FIXABLE ━━━ ``` ``` -invalidClass.ts:3:18 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClass.ts:3:18 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -61,7 +60,7 @@ invalidClass.ts:3:18 lint/nursery/useExponentiationOperator FIXABLE ━━━ ``` ``` -invalidClass.ts:4:22 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClass.ts:4:22 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -85,7 +84,7 @@ invalidClass.ts:4:22 lint/nursery/useExponentiationOperator FIXABLE ━━━ ``` ``` -invalidClass.ts:5:21 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClass.ts:5:21 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. diff --git a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidParentsWithHigherPrecedence.js b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidParentsWithHigherPrecedence.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidParentsWithHigherPrecedence.js rename to crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidParentsWithHigherPrecedence.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidParentsWithHigherPrecedence.js.snap b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidParentsWithHigherPrecedence.js.snap similarity index 83% rename from crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidParentsWithHigherPrecedence.js.snap rename to crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidParentsWithHigherPrecedence.js.snap index d2909c6a7f3..5ed157994e9 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidParentsWithHigherPrecedence.js.snap +++ b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidParentsWithHigherPrecedence.js.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 73 expression: invalidParentsWithHigherPrecedence.js --- # Input @@ -31,7 +30,7 @@ obj[Math.pow(a, b)] # Diagnostics ``` -invalidParentsWithHigherPrecedence.js:1:3 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithHigherPrecedence.js:1:3 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -51,7 +50,7 @@ invalidParentsWithHigherPrecedence.js:1:3 lint/nursery/useExponentiationOperator ``` ``` -invalidParentsWithHigherPrecedence.js:2:3 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithHigherPrecedence.js:2:3 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -73,7 +72,7 @@ invalidParentsWithHigherPrecedence.js:2:3 lint/nursery/useExponentiationOperator ``` ``` -invalidParentsWithHigherPrecedence.js:3:3 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithHigherPrecedence.js:3:3 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -97,7 +96,7 @@ invalidParentsWithHigherPrecedence.js:3:3 lint/nursery/useExponentiationOperator ``` ``` -invalidParentsWithHigherPrecedence.js:4:8 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithHigherPrecedence.js:4:8 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -121,7 +120,7 @@ invalidParentsWithHigherPrecedence.js:4:8 lint/nursery/useExponentiationOperator ``` ``` -invalidParentsWithHigherPrecedence.js:5:6 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithHigherPrecedence.js:5:6 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -145,7 +144,7 @@ invalidParentsWithHigherPrecedence.js:5:6 lint/nursery/useExponentiationOperator ``` ``` -invalidParentsWithHigherPrecedence.js:6:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithHigherPrecedence.js:6:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -169,7 +168,7 @@ invalidParentsWithHigherPrecedence.js:6:1 lint/nursery/useExponentiationOperator ``` ``` -invalidParentsWithHigherPrecedence.js:7:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithHigherPrecedence.js:7:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -193,7 +192,7 @@ invalidParentsWithHigherPrecedence.js:7:1 lint/nursery/useExponentiationOperator ``` ``` -invalidParentsWithHigherPrecedence.js:8:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithHigherPrecedence.js:8:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -217,7 +216,7 @@ invalidParentsWithHigherPrecedence.js:8:1 lint/nursery/useExponentiationOperator ``` ``` -invalidParentsWithHigherPrecedence.js:9:16 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithHigherPrecedence.js:9:16 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -241,7 +240,7 @@ invalidParentsWithHigherPrecedence.js:9:16 lint/nursery/useExponentiationOperato ``` ``` -invalidParentsWithHigherPrecedence.js:12:3 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithHigherPrecedence.js:12:3 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -264,7 +263,7 @@ invalidParentsWithHigherPrecedence.js:12:3 lint/nursery/useExponentiationOperato ``` ``` -invalidParentsWithHigherPrecedence.js:13:8 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithHigherPrecedence.js:13:8 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -288,7 +287,7 @@ invalidParentsWithHigherPrecedence.js:13:8 lint/nursery/useExponentiationOperato ``` ``` -invalidParentsWithHigherPrecedence.js:14:3 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithHigherPrecedence.js:14:3 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -312,7 +311,7 @@ invalidParentsWithHigherPrecedence.js:14:3 lint/nursery/useExponentiationOperato ``` ``` -invalidParentsWithHigherPrecedence.js:15:8 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithHigherPrecedence.js:15:8 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -336,7 +335,7 @@ invalidParentsWithHigherPrecedence.js:15:8 lint/nursery/useExponentiationOperato ``` ``` -invalidParentsWithHigherPrecedence.js:16:7 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithHigherPrecedence.js:16:7 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -360,7 +359,7 @@ invalidParentsWithHigherPrecedence.js:16:7 lint/nursery/useExponentiationOperato ``` ``` -invalidParentsWithHigherPrecedence.js:17:12 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithHigherPrecedence.js:17:12 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -384,7 +383,7 @@ invalidParentsWithHigherPrecedence.js:17:12 lint/nursery/useExponentiationOperat ``` ``` -invalidParentsWithHigherPrecedence.js:18:7 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithHigherPrecedence.js:18:7 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -408,7 +407,7 @@ invalidParentsWithHigherPrecedence.js:18:7 lint/nursery/useExponentiationOperato ``` ``` -invalidParentsWithHigherPrecedence.js:19:12 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithHigherPrecedence.js:19:12 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -432,7 +431,7 @@ invalidParentsWithHigherPrecedence.js:19:12 lint/nursery/useExponentiationOperat ``` ``` -invalidParentsWithHigherPrecedence.js:20:5 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithHigherPrecedence.js:20:5 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -456,7 +455,7 @@ invalidParentsWithHigherPrecedence.js:20:5 lint/nursery/useExponentiationOperato ``` ``` -invalidParentsWithHigherPrecedence.js:21:7 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithHigherPrecedence.js:21:7 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. diff --git a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidParentsWithLowerPrecedence.js b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidParentsWithLowerPrecedence.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidParentsWithLowerPrecedence.js rename to crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidParentsWithLowerPrecedence.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidParentsWithLowerPrecedence.js.snap b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidParentsWithLowerPrecedence.js.snap similarity index 82% rename from crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidParentsWithLowerPrecedence.js.snap rename to crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidParentsWithLowerPrecedence.js.snap index 806af270d67..aa018880bf6 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidParentsWithLowerPrecedence.js.snap +++ b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidParentsWithLowerPrecedence.js.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 73 expression: invalidParentsWithLowerPrecedence.js --- # Input @@ -23,7 +22,7 @@ a, Math.pow(b, c), d # Diagnostics ``` -invalidParentsWithLowerPrecedence.js:2:5 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithLowerPrecedence.js:2:5 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -45,7 +44,7 @@ invalidParentsWithLowerPrecedence.js:2:5 lint/nursery/useExponentiationOperator ``` ``` -invalidParentsWithLowerPrecedence.js:3:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithLowerPrecedence.js:3:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -69,7 +68,7 @@ invalidParentsWithLowerPrecedence.js:3:1 lint/nursery/useExponentiationOperator ``` ``` -invalidParentsWithLowerPrecedence.js:4:5 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithLowerPrecedence.js:4:5 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -93,7 +92,7 @@ invalidParentsWithLowerPrecedence.js:4:5 lint/nursery/useExponentiationOperator ``` ``` -invalidParentsWithLowerPrecedence.js:5:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithLowerPrecedence.js:5:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -117,7 +116,7 @@ invalidParentsWithLowerPrecedence.js:5:1 lint/nursery/useExponentiationOperator ``` ``` -invalidParentsWithLowerPrecedence.js:6:5 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithLowerPrecedence.js:6:5 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -141,7 +140,7 @@ invalidParentsWithLowerPrecedence.js:6:5 lint/nursery/useExponentiationOperator ``` ``` -invalidParentsWithLowerPrecedence.js:7:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithLowerPrecedence.js:7:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -165,7 +164,7 @@ invalidParentsWithLowerPrecedence.js:7:1 lint/nursery/useExponentiationOperator ``` ``` -invalidParentsWithLowerPrecedence.js:8:7 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithLowerPrecedence.js:8:7 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -189,7 +188,7 @@ invalidParentsWithLowerPrecedence.js:8:7 lint/nursery/useExponentiationOperator ``` ``` -invalidParentsWithLowerPrecedence.js:9:5 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithLowerPrecedence.js:9:5 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -213,7 +212,7 @@ invalidParentsWithLowerPrecedence.js:9:5 lint/nursery/useExponentiationOperator ``` ``` -invalidParentsWithLowerPrecedence.js:10:5 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithLowerPrecedence.js:10:5 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -237,7 +236,7 @@ invalidParentsWithLowerPrecedence.js:10:5 lint/nursery/useExponentiationOperator ``` ``` -invalidParentsWithLowerPrecedence.js:11:6 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithLowerPrecedence.js:11:6 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -261,7 +260,7 @@ invalidParentsWithLowerPrecedence.js:11:6 lint/nursery/useExponentiationOperator ``` ``` -invalidParentsWithLowerPrecedence.js:12:23 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithLowerPrecedence.js:12:23 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -285,7 +284,7 @@ invalidParentsWithLowerPrecedence.js:12:23 lint/nursery/useExponentiationOperato ``` ``` -invalidParentsWithLowerPrecedence.js:13:4 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━ +invalidParentsWithLowerPrecedence.js:13:4 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. diff --git a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidUnaryExpression.js b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidUnaryExpression.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidUnaryExpression.js rename to crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidUnaryExpression.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidUnaryExpression.js.snap b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidUnaryExpression.js.snap similarity index 80% rename from crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidUnaryExpression.js.snap rename to crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidUnaryExpression.js.snap index e34c0be71e7..05753e17815 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidUnaryExpression.js.snap +++ b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidUnaryExpression.js.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 74 expression: invalidUnaryExpression.js --- # Input @@ -19,7 +18,7 @@ async () => Math.pow(a, await b) # Diagnostics ``` -invalidUnaryExpression.js:2:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━ +invalidUnaryExpression.js:2:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -41,7 +40,7 @@ invalidUnaryExpression.js:2:1 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidUnaryExpression.js:3:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━ +invalidUnaryExpression.js:3:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -65,7 +64,7 @@ invalidUnaryExpression.js:3:1 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidUnaryExpression.js:4:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━ +invalidUnaryExpression.js:4:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -89,7 +88,7 @@ invalidUnaryExpression.js:4:1 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidUnaryExpression.js:5:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━ +invalidUnaryExpression.js:5:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -113,7 +112,7 @@ invalidUnaryExpression.js:5:1 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidUnaryExpression.js:6:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━ +invalidUnaryExpression.js:6:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -137,7 +136,7 @@ invalidUnaryExpression.js:6:1 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidUnaryExpression.js:7:1 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━ +invalidUnaryExpression.js:7:1 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -161,7 +160,7 @@ invalidUnaryExpression.js:7:1 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidUnaryExpression.js:8:13 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━ +invalidUnaryExpression.js:8:13 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -185,7 +184,7 @@ invalidUnaryExpression.js:8:13 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidUnaryExpression.js:9:13 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━ +invalidUnaryExpression.js:9:13 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. diff --git a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidWithoutAutofix.js b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidWithoutAutofix.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidWithoutAutofix.js rename to crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidWithoutAutofix.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidWithoutAutofix.js.snap b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidWithoutAutofix.js.snap similarity index 65% rename from crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidWithoutAutofix.js.snap rename to crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidWithoutAutofix.js.snap index 5febba49cea..9fbb3cf4203 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/invalidWithoutAutofix.js.snap +++ b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/invalidWithoutAutofix.js.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 74 expression: invalidWithoutAutofix.js --- # Input @@ -29,7 +28,7 @@ Math.pow(/**/a/**/, /**/b/**/) # Diagnostics ``` -invalidWithoutAutofix.js:2:1 lint/nursery/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidWithoutAutofix.js:2:1 lint/style/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -43,7 +42,7 @@ invalidWithoutAutofix.js:2:1 lint/nursery/useExponentiationOperator ━━━━ ``` ``` -invalidWithoutAutofix.js:3:1 lint/nursery/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidWithoutAutofix.js:3:1 lint/style/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -58,7 +57,7 @@ invalidWithoutAutofix.js:3:1 lint/nursery/useExponentiationOperator ━━━━ ``` ``` -invalidWithoutAutofix.js:4:1 lint/nursery/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidWithoutAutofix.js:4:1 lint/style/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -73,7 +72,7 @@ invalidWithoutAutofix.js:4:1 lint/nursery/useExponentiationOperator ━━━━ ``` ``` -invalidWithoutAutofix.js:5:1 lint/nursery/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidWithoutAutofix.js:5:1 lint/style/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -88,7 +87,7 @@ invalidWithoutAutofix.js:5:1 lint/nursery/useExponentiationOperator ━━━━ ``` ``` -invalidWithoutAutofix.js:8:1 lint/nursery/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidWithoutAutofix.js:8:1 lint/style/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -102,7 +101,7 @@ invalidWithoutAutofix.js:8:1 lint/nursery/useExponentiationOperator ━━━━ ``` ``` -invalidWithoutAutofix.js:9:1 lint/nursery/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidWithoutAutofix.js:9:1 lint/style/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -117,7 +116,7 @@ invalidWithoutAutofix.js:9:1 lint/nursery/useExponentiationOperator ━━━━ ``` ``` -invalidWithoutAutofix.js:10:1 lint/nursery/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidWithoutAutofix.js:10:1 lint/style/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -132,7 +131,7 @@ invalidWithoutAutofix.js:10:1 lint/nursery/useExponentiationOperator ━━━ ``` ``` -invalidWithoutAutofix.js:11:1 lint/nursery/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidWithoutAutofix.js:11:1 lint/style/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -147,7 +146,7 @@ invalidWithoutAutofix.js:11:1 lint/nursery/useExponentiationOperator ━━━ ``` ``` -invalidWithoutAutofix.js:14:14 lint/nursery/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━ +invalidWithoutAutofix.js:14:14 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -170,7 +169,7 @@ invalidWithoutAutofix.js:14:14 lint/nursery/useExponentiationOperator FIXABLE ``` ``` -invalidWithoutAutofix.js:15:1 lint/nursery/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidWithoutAutofix.js:15:1 lint/style/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -185,7 +184,7 @@ invalidWithoutAutofix.js:15:1 lint/nursery/useExponentiationOperator ━━━ ``` ``` -invalidWithoutAutofix.js:16:1 lint/nursery/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidWithoutAutofix.js:16:1 lint/style/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -200,7 +199,7 @@ invalidWithoutAutofix.js:16:1 lint/nursery/useExponentiationOperator ━━━ ``` ``` -invalidWithoutAutofix.js:17:1 lint/nursery/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidWithoutAutofix.js:17:1 lint/style/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -215,7 +214,7 @@ invalidWithoutAutofix.js:17:1 lint/nursery/useExponentiationOperator ━━━ ``` ``` -invalidWithoutAutofix.js:18:1 lint/nursery/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidWithoutAutofix.js:18:1 lint/style/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. @@ -230,7 +229,7 @@ invalidWithoutAutofix.js:18:1 lint/nursery/useExponentiationOperator ━━━ ``` ``` -invalidWithoutAutofix.js:19:1 lint/nursery/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidWithoutAutofix.js:19:1 lint/style/useExponentiationOperator ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. diff --git a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/valid.js b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/valid.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/valid.js rename to crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/valid.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/valid.js.snap b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/valid.js.snap similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/valid.js.snap rename to crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/valid.js.snap diff --git a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/validLocalMath.js b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/validLocalMath.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/validLocalMath.js rename to crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/validLocalMath.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/validLocalMath.js.snap b/crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/validLocalMath.js.snap similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useExponentiationOperator/validLocalMath.js.snap rename to crates/rome_js_analyze/tests/specs/style/useExponentiationOperator/validLocalMath.js.snap diff --git a/crates/rome_js_analyze/tests/specs/nursery/useNumericLiterals/invalid.js b/crates/rome_js_analyze/tests/specs/style/useNumericLiterals/invalid.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useNumericLiterals/invalid.js rename to crates/rome_js_analyze/tests/specs/style/useNumericLiterals/invalid.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/useNumericLiterals/invalid.js.snap b/crates/rome_js_analyze/tests/specs/style/useNumericLiterals/invalid.js.snap similarity index 83% rename from crates/rome_js_analyze/tests/specs/nursery/useNumericLiterals/invalid.js.snap rename to crates/rome_js_analyze/tests/specs/style/useNumericLiterals/invalid.js.snap index 9c4e9fa3918..782287182f6 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/useNumericLiterals/invalid.js.snap +++ b/crates/rome_js_analyze/tests/specs/style/useNumericLiterals/invalid.js.snap @@ -74,7 +74,7 @@ Number.parseInt('0_0', 16); # Diagnostics ``` -invalid.js:1:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:1:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of parseInt() @@ -94,7 +94,7 @@ invalid.js:1:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:2:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:2:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use octal literals instead of parseInt() @@ -116,7 +116,7 @@ invalid.js:2:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:3:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:3:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use hexadecimal literals instead of parseInt() @@ -140,7 +140,7 @@ invalid.js:3:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:4:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:4:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of Number.parseInt() @@ -164,7 +164,7 @@ invalid.js:4:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:5:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:5:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use octal literals instead of Number.parseInt() @@ -188,7 +188,7 @@ invalid.js:5:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:6:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:6:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use hexadecimal literals instead of Number.parseInt() @@ -212,7 +212,7 @@ invalid.js:6:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:7:1 lint/nursery/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:7:1 lint/style/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use octal literals instead of parseInt() @@ -227,7 +227,7 @@ invalid.js:7:1 lint/nursery/useNumericLiterals ━━━━━━━━━━━ ``` ``` -invalid.js:8:1 lint/nursery/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:8:1 lint/style/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of parseInt() @@ -242,7 +242,7 @@ invalid.js:8:1 lint/nursery/useNumericLiterals ━━━━━━━━━━━ ``` ``` -invalid.js:9:1 lint/nursery/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:9:1 lint/style/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use octal literals instead of parseInt() @@ -257,7 +257,7 @@ invalid.js:9:1 lint/nursery/useNumericLiterals ━━━━━━━━━━━ ``` ``` -invalid.js:10:1 lint/nursery/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:10:1 lint/style/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use hexadecimal literals instead of parseInt() @@ -272,7 +272,7 @@ invalid.js:10:1 lint/nursery/useNumericLiterals ━━━━━━━━━━ ``` ``` -invalid.js:11:1 lint/nursery/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:11:1 lint/style/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use octal literals instead of Number.parseInt() @@ -287,7 +287,7 @@ invalid.js:11:1 lint/nursery/useNumericLiterals ━━━━━━━━━━ ``` ``` -invalid.js:12:1 lint/nursery/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:12:1 lint/style/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of Number.parseInt() @@ -302,7 +302,7 @@ invalid.js:12:1 lint/nursery/useNumericLiterals ━━━━━━━━━━ ``` ``` -invalid.js:13:1 lint/nursery/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:13:1 lint/style/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use octal literals instead of Number.parseInt() @@ -317,7 +317,7 @@ invalid.js:13:1 lint/nursery/useNumericLiterals ━━━━━━━━━━ ``` ``` -invalid.js:14:1 lint/nursery/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:14:1 lint/style/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use hexadecimal literals instead of Number.parseInt() @@ -332,7 +332,7 @@ invalid.js:14:1 lint/nursery/useNumericLiterals ━━━━━━━━━━ ``` ``` -invalid.js:15:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:15:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of parseInt() @@ -356,7 +356,7 @@ invalid.js:15:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:16:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:16:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use octal literals instead of parseInt() @@ -380,7 +380,7 @@ invalid.js:16:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:17:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:17:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use hexadecimal literals instead of parseInt() @@ -404,7 +404,7 @@ invalid.js:17:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:18:1 lint/nursery/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:18:1 lint/style/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use octal literals instead of parseInt() @@ -419,7 +419,7 @@ invalid.js:18:1 lint/nursery/useNumericLiterals ━━━━━━━━━━ ``` ``` -invalid.js:20:1 lint/nursery/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:20:1 lint/style/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use octal literals instead of parseInt() @@ -434,7 +434,7 @@ invalid.js:20:1 lint/nursery/useNumericLiterals ━━━━━━━━━━ ``` ``` -invalid.js:21:1 lint/nursery/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:21:1 lint/style/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of parseInt() @@ -449,7 +449,7 @@ invalid.js:21:1 lint/nursery/useNumericLiterals ━━━━━━━━━━ ``` ``` -invalid.js:22:1 lint/nursery/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:22:1 lint/style/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use octal literals instead of parseInt() @@ -464,7 +464,7 @@ invalid.js:22:1 lint/nursery/useNumericLiterals ━━━━━━━━━━ ``` ``` -invalid.js:23:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:23:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of parseInt() @@ -488,7 +488,7 @@ invalid.js:23:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:24:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:24:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use octal literals instead of Number.parseInt() @@ -512,7 +512,7 @@ invalid.js:24:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:25:3 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:25:3 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use hexadecimal literals instead of parseInt() @@ -536,7 +536,7 @@ invalid.js:25:3 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:26:21 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:26:21 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of Number.parseInt() @@ -560,7 +560,7 @@ invalid.js:26:21 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:27:21 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:27:21 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use octal literals instead of Number.parseInt() @@ -584,7 +584,7 @@ invalid.js:27:21 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:28:21 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:28:21 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use hexadecimal literals instead of parseInt() @@ -608,7 +608,7 @@ invalid.js:28:21 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:29:22 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:29:22 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of Number.parseInt() @@ -632,7 +632,7 @@ invalid.js:29:22 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:30:25 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:30:25 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use octal literals instead of Number.parseInt() @@ -656,7 +656,7 @@ invalid.js:30:25 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:31:22 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:31:22 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use hexadecimal literals instead of parseInt() @@ -680,7 +680,7 @@ invalid.js:31:22 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:32:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:32:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of parseInt() @@ -704,7 +704,7 @@ invalid.js:32:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:33:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:33:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use octal literals instead of Number.parseInt() @@ -728,7 +728,7 @@ invalid.js:33:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:34:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:34:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use hexadecimal literals instead of parseInt() @@ -752,7 +752,7 @@ invalid.js:34:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:35:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:35:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of parseInt() @@ -776,7 +776,7 @@ invalid.js:35:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:36:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:36:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use octal literals instead of Number.parseInt() @@ -800,7 +800,7 @@ invalid.js:36:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:37:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:37:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use hexadecimal literals instead of parseInt() @@ -824,7 +824,7 @@ invalid.js:37:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:38:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:38:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of parseInt() @@ -848,7 +848,7 @@ invalid.js:38:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:39:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:39:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use octal literals instead of Number.parseInt() @@ -872,7 +872,7 @@ invalid.js:39:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:40:2 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:40:2 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use hexadecimal literals instead of parseInt() @@ -896,7 +896,7 @@ invalid.js:40:2 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:41:14 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:41:14 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of Number.parseInt() @@ -920,7 +920,7 @@ invalid.js:41:14 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:42:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:42:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of Number.parseInt() @@ -944,7 +944,7 @@ invalid.js:42:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:43:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:43:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of Number.parseInt() @@ -971,7 +971,7 @@ invalid.js:43:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:45:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:45:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of Number.parseInt() @@ -995,7 +995,7 @@ invalid.js:45:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:46:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:46:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of Number.parseInt() @@ -1019,7 +1019,7 @@ invalid.js:46:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:47:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:47:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of Number.parseInt() @@ -1043,7 +1043,7 @@ invalid.js:47:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:48:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:48:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of Number.parseInt() @@ -1067,7 +1067,7 @@ invalid.js:48:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:49:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:49:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of parseInt() @@ -1091,7 +1091,7 @@ invalid.js:49:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:50:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:50:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of parseInt() @@ -1118,7 +1118,7 @@ invalid.js:50:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:52:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:52:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of parseInt() @@ -1142,7 +1142,7 @@ invalid.js:52:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:53:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:53:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of parseInt() @@ -1166,7 +1166,7 @@ invalid.js:53:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:55:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:55:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of parseInt() @@ -1190,7 +1190,7 @@ invalid.js:55:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:57:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:57:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use hexadecimal literals instead of parseInt() @@ -1214,7 +1214,7 @@ invalid.js:57:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:58:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:58:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use hexadecimal literals instead of Number.parseInt() @@ -1238,7 +1238,7 @@ invalid.js:58:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:59:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:59:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use hexadecimal literals instead of Number.parseInt() @@ -1262,7 +1262,7 @@ invalid.js:59:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:60:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:60:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use hexadecimal literals instead of Number.parseInt() @@ -1286,7 +1286,7 @@ invalid.js:60:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:61:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:61:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use hexadecimal literals instead of Number.parseInt() @@ -1310,7 +1310,7 @@ invalid.js:61:1 lint/nursery/useNumericLiterals FIXABLE ━━━━━━━ ``` ``` -invalid.js:62:1 lint/nursery/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:62:1 lint/style/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use binary literals instead of parseInt() @@ -1325,7 +1325,7 @@ invalid.js:62:1 lint/nursery/useNumericLiterals ━━━━━━━━━━ ``` ``` -invalid.js:63:1 lint/nursery/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:63:1 lint/style/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use octal literals instead of Number.parseInt() @@ -1340,7 +1340,7 @@ invalid.js:63:1 lint/nursery/useNumericLiterals ━━━━━━━━━━ ``` ``` -invalid.js:64:1 lint/nursery/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:64:1 lint/style/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use hexadecimal literals instead of parseInt() @@ -1355,7 +1355,7 @@ invalid.js:64:1 lint/nursery/useNumericLiterals ━━━━━━━━━━ ``` ``` -invalid.js:65:1 lint/nursery/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:65:1 lint/style/useNumericLiterals ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use hexadecimal literals instead of Number.parseInt() diff --git a/crates/rome_js_analyze/tests/specs/nursery/useNumericLiterals/overriden.js b/crates/rome_js_analyze/tests/specs/style/useNumericLiterals/overriden.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useNumericLiterals/overriden.js rename to crates/rome_js_analyze/tests/specs/style/useNumericLiterals/overriden.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/useNumericLiterals/overriden.js.snap b/crates/rome_js_analyze/tests/specs/style/useNumericLiterals/overriden.js.snap similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useNumericLiterals/overriden.js.snap rename to crates/rome_js_analyze/tests/specs/style/useNumericLiterals/overriden.js.snap diff --git a/crates/rome_js_analyze/tests/specs/nursery/useNumericLiterals/valid.js b/crates/rome_js_analyze/tests/specs/style/useNumericLiterals/valid.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useNumericLiterals/valid.js rename to crates/rome_js_analyze/tests/specs/style/useNumericLiterals/valid.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/useNumericLiterals/valid.js.snap b/crates/rome_js_analyze/tests/specs/style/useNumericLiterals/valid.js.snap similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useNumericLiterals/valid.js.snap rename to crates/rome_js_analyze/tests/specs/style/useNumericLiterals/valid.js.snap diff --git a/crates/rome_js_analyze/tests/specs/nursery/noConstEnum.ts b/crates/rome_js_analyze/tests/specs/suspicious/noConstEnum.ts similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noConstEnum.ts rename to crates/rome_js_analyze/tests/specs/suspicious/noConstEnum.ts diff --git a/crates/rome_js_analyze/tests/specs/nursery/noConstEnum.ts.snap b/crates/rome_js_analyze/tests/specs/suspicious/noConstEnum.ts.snap similarity index 87% rename from crates/rome_js_analyze/tests/specs/nursery/noConstEnum.ts.snap rename to crates/rome_js_analyze/tests/specs/suspicious/noConstEnum.ts.snap index d9c05e2b80e..e3afc547e8b 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/noConstEnum.ts.snap +++ b/crates/rome_js_analyze/tests/specs/suspicious/noConstEnum.ts.snap @@ -25,7 +25,7 @@ export enum Direction { # Diagnostics ``` -noConstEnum.ts:4:1 lint/nursery/noConstEnum FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +noConstEnum.ts:4:1 lint/suspicious/noConstEnum FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum declaration should not be const @@ -52,7 +52,7 @@ noConstEnum.ts:4:1 lint/nursery/noConstEnum FIXABLE ━━━━━━━━ ``` ``` -noConstEnum.ts:9:20 lint/nursery/noConstEnum FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +noConstEnum.ts:9:20 lint/suspicious/noConstEnum FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The enum declaration should not be const diff --git a/crates/rome_js_analyze/tests/specs/nursery/noEmptyInterface/invalid.ts b/crates/rome_js_analyze/tests/specs/suspicious/noEmptyInterface/invalid.ts similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noEmptyInterface/invalid.ts rename to crates/rome_js_analyze/tests/specs/suspicious/noEmptyInterface/invalid.ts diff --git a/crates/rome_js_analyze/tests/specs/nursery/noEmptyInterface/invalid.ts.snap b/crates/rome_js_analyze/tests/specs/suspicious/noEmptyInterface/invalid.ts.snap similarity index 83% rename from crates/rome_js_analyze/tests/specs/nursery/noEmptyInterface/invalid.ts.snap rename to crates/rome_js_analyze/tests/specs/suspicious/noEmptyInterface/invalid.ts.snap index 02316b886a2..8321c3b22e2 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/noEmptyInterface/invalid.ts.snap +++ b/crates/rome_js_analyze/tests/specs/suspicious/noEmptyInterface/invalid.ts.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 73 expression: invalid.ts --- # Input @@ -23,7 +22,7 @@ declare module FooBar { # Diagnostics ``` -invalid.ts:1:1 lint/nursery/noEmptyInterface FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:1:1 lint/suspicious/noEmptyInterface FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! An interface declaring no members is equivalent to its supertype. @@ -43,7 +42,7 @@ invalid.ts:1:1 lint/nursery/noEmptyInterface FIXABLE ━━━━━━━━ ``` ``` -invalid.ts:3:1 lint/nursery/noEmptyInterface FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:3:1 lint/suspicious/noEmptyInterface FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! An empty interface is equivalent to '{}'. @@ -67,7 +66,7 @@ invalid.ts:3:1 lint/nursery/noEmptyInterface FIXABLE ━━━━━━━━ ``` ``` -invalid.ts:5:1 lint/nursery/noEmptyInterface FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:5:1 lint/suspicious/noEmptyInterface FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! An interface declaring no members is equivalent to its supertype. @@ -91,7 +90,7 @@ invalid.ts:5:1 lint/nursery/noEmptyInterface FIXABLE ━━━━━━━━ ``` ``` -invalid.ts:7:1 lint/nursery/noEmptyInterface FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:7:1 lint/suspicious/noEmptyInterface FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! An interface declaring no members is equivalent to its supertype. @@ -115,7 +114,7 @@ invalid.ts:7:1 lint/nursery/noEmptyInterface FIXABLE ━━━━━━━━ ``` ``` -invalid.ts:9:1 lint/nursery/noEmptyInterface FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:9:1 lint/suspicious/noEmptyInterface FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! An interface declaring no members is equivalent to its supertype. @@ -139,7 +138,7 @@ invalid.ts:9:1 lint/nursery/noEmptyInterface FIXABLE ━━━━━━━━ ``` ``` -invalid.ts:12:10 lint/nursery/noEmptyInterface FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:12:10 lint/suspicious/noEmptyInterface FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! An interface declaring no members is equivalent to its supertype. diff --git a/crates/rome_js_analyze/tests/specs/nursery/noEmptyInterface/valid.ts b/crates/rome_js_analyze/tests/specs/suspicious/noEmptyInterface/valid.ts similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noEmptyInterface/valid.ts rename to crates/rome_js_analyze/tests/specs/suspicious/noEmptyInterface/valid.ts diff --git a/crates/rome_js_analyze/tests/specs/nursery/noEmptyInterface/valid.ts.snap b/crates/rome_js_analyze/tests/specs/suspicious/noEmptyInterface/valid.ts.snap similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noEmptyInterface/valid.ts.snap rename to crates/rome_js_analyze/tests/specs/suspicious/noEmptyInterface/valid.ts.snap diff --git a/crates/rome_js_analyze/tests/specs/nursery/noExtraNonNullAssertion/invalid.ts b/crates/rome_js_analyze/tests/specs/suspicious/noExtraNonNullAssertion/invalid.ts similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noExtraNonNullAssertion/invalid.ts rename to crates/rome_js_analyze/tests/specs/suspicious/noExtraNonNullAssertion/invalid.ts diff --git a/crates/rome_js_analyze/tests/specs/nursery/noExtraNonNullAssertion/invalid.ts.snap b/crates/rome_js_analyze/tests/specs/suspicious/noExtraNonNullAssertion/invalid.ts.snap similarity index 66% rename from crates/rome_js_analyze/tests/specs/nursery/noExtraNonNullAssertion/invalid.ts.snap rename to crates/rome_js_analyze/tests/specs/suspicious/noExtraNonNullAssertion/invalid.ts.snap index 4a6d48367d3..017a0d5e58c 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/noExtraNonNullAssertion/invalid.ts.snap +++ b/crates/rome_js_analyze/tests/specs/suspicious/noExtraNonNullAssertion/invalid.ts.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 73 expression: invalid.ts --- # Input @@ -58,7 +57,7 @@ if (!case16!!) {} # Diagnostics ``` -invalid.ts:2:13 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:2:13 lint/suspicious/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden extra non-null assertion. @@ -76,7 +75,7 @@ invalid.ts:2:13 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━ ``` ``` -invalid.ts:5:24 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:5:24 lint/suspicious/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden extra non-null assertion. @@ -94,7 +93,7 @@ invalid.ts:5:24 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━ ``` ``` -invalid.ts:5:24 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:5:24 lint/suspicious/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden extra non-null assertion. @@ -112,7 +111,7 @@ invalid.ts:5:24 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━ ``` ``` -invalid.ts:9:10 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:9:10 lint/suspicious/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden extra non-null assertion. @@ -130,7 +129,7 @@ invalid.ts:9:10 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━ ``` ``` -invalid.ts:13:10 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:13:10 lint/suspicious/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden extra non-null assertion. @@ -148,7 +147,7 @@ invalid.ts:13:10 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━ ``` ``` -invalid.ts:16:15 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:16:15 lint/suspicious/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden extra non-null assertion. @@ -167,7 +166,7 @@ invalid.ts:16:15 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━ ``` ``` -invalid.ts:19:11 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:19:11 lint/suspicious/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden extra non-null assertion. @@ -185,7 +184,7 @@ invalid.ts:19:11 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━ ``` ``` -invalid.ts:23:10 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:23:10 lint/suspicious/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden extra non-null assertion. @@ -203,7 +202,7 @@ invalid.ts:23:10 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━ ``` ``` -invalid.ts:27:12 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:27:12 lint/suspicious/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden extra non-null assertion. @@ -221,7 +220,7 @@ invalid.ts:27:12 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━ ``` ``` -invalid.ts:32:5 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:32:5 lint/suspicious/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden extra non-null assertion. @@ -240,7 +239,7 @@ invalid.ts:32:5 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━ ``` ``` -invalid.ts:36:1 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:36:1 lint/suspicious/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden extra non-null assertion. @@ -259,7 +258,7 @@ invalid.ts:36:1 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━ ``` ``` -invalid.ts:40:11 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:40:11 lint/suspicious/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden extra non-null assertion. @@ -278,7 +277,7 @@ invalid.ts:40:11 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━ ``` ``` -invalid.ts:42:1 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:42:1 lint/suspicious/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden extra non-null assertion. @@ -297,7 +296,7 @@ invalid.ts:42:1 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━ ``` ``` -invalid.ts:42:1 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:42:1 lint/suspicious/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden extra non-null assertion. @@ -316,7 +315,7 @@ invalid.ts:42:1 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━ ``` ``` -invalid.ts:44:1 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:44:1 lint/suspicious/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden extra non-null assertion. @@ -335,7 +334,7 @@ invalid.ts:44:1 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━ ``` ``` -invalid.ts:46:5 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:46:5 lint/suspicious/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden extra non-null assertion. @@ -354,7 +353,7 @@ invalid.ts:46:5 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━ ``` ``` -invalid.ts:48:6 lint/nursery/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:48:6 lint/suspicious/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden extra non-null assertion. diff --git a/crates/rome_js_analyze/tests/specs/nursery/noExtraNonNullAssertion/valid.ts b/crates/rome_js_analyze/tests/specs/suspicious/noExtraNonNullAssertion/valid.ts similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noExtraNonNullAssertion/valid.ts rename to crates/rome_js_analyze/tests/specs/suspicious/noExtraNonNullAssertion/valid.ts diff --git a/crates/rome_js_analyze/tests/specs/nursery/noExtraNonNullAssertion/valid.ts.snap b/crates/rome_js_analyze/tests/specs/suspicious/noExtraNonNullAssertion/valid.ts.snap similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noExtraNonNullAssertion/valid.ts.snap rename to crates/rome_js_analyze/tests/specs/suspicious/noExtraNonNullAssertion/valid.ts.snap diff --git a/crates/rome_js_analyze/tests/specs/nursery/noNonNullAssertion/invalid.ts b/crates/rome_js_analyze/tests/specs/suspicious/noNonNullAssertion/invalid.ts similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noNonNullAssertion/invalid.ts rename to crates/rome_js_analyze/tests/specs/suspicious/noNonNullAssertion/invalid.ts diff --git a/crates/rome_js_analyze/tests/specs/nursery/noNonNullAssertion/invalid.ts.snap b/crates/rome_js_analyze/tests/specs/suspicious/noNonNullAssertion/invalid.ts.snap similarity index 80% rename from crates/rome_js_analyze/tests/specs/nursery/noNonNullAssertion/invalid.ts.snap rename to crates/rome_js_analyze/tests/specs/suspicious/noNonNullAssertion/invalid.ts.snap index 8271b09f6e3..273847a2cbd 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/noNonNullAssertion/invalid.ts.snap +++ b/crates/rome_js_analyze/tests/specs/suspicious/noNonNullAssertion/invalid.ts.snap @@ -29,7 +29,7 @@ x.y.z!!!?.(); # Diagnostics ``` -invalid.ts:1:1 lint/nursery/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:1:1 lint/suspicious/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden non-null assertion. @@ -42,7 +42,7 @@ invalid.ts:1:1 lint/nursery/noNonNullAssertion ━━━━━━━━━━━ ``` ``` -invalid.ts:2:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:2:1 lint/suspicious/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden non-null assertion. @@ -64,7 +64,7 @@ invalid.ts:2:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━ ``` ``` -invalid.ts:3:1 lint/nursery/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:3:1 lint/suspicious/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden non-null assertion. @@ -79,7 +79,7 @@ invalid.ts:3:1 lint/nursery/noNonNullAssertion ━━━━━━━━━━━ ``` ``` -invalid.ts:4:2 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:4:2 lint/suspicious/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden non-null assertion. @@ -103,7 +103,7 @@ invalid.ts:4:2 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━ ``` ``` -invalid.ts:5:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:5:1 lint/suspicious/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden non-null assertion. @@ -127,7 +127,7 @@ invalid.ts:5:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━ ``` ``` -invalid.ts:6:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:6:1 lint/suspicious/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden non-null assertion. @@ -151,7 +151,7 @@ invalid.ts:6:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━ ``` ``` -invalid.ts:7:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:7:1 lint/suspicious/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden non-null assertion. @@ -175,7 +175,7 @@ invalid.ts:7:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━ ``` ``` -invalid.ts:8:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:8:1 lint/suspicious/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden non-null assertion. @@ -199,7 +199,7 @@ invalid.ts:8:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━ ``` ``` -invalid.ts:9:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:9:1 lint/suspicious/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden non-null assertion. @@ -223,7 +223,7 @@ invalid.ts:9:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━ ``` ``` -invalid.ts:10:1 lint/nursery/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:10:1 lint/suspicious/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden non-null assertion. @@ -238,7 +238,7 @@ invalid.ts:10:1 lint/nursery/noNonNullAssertion ━━━━━━━━━━ ``` ``` -invalid.ts:11:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:11:1 lint/suspicious/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden non-null assertion. @@ -262,7 +262,7 @@ invalid.ts:11:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━ ``` ``` -invalid.ts:12:1 lint/nursery/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:12:1 lint/suspicious/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden non-null assertion. @@ -277,7 +277,7 @@ invalid.ts:12:1 lint/nursery/noNonNullAssertion ━━━━━━━━━━ ``` ``` -invalid.ts:13:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:13:1 lint/suspicious/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden non-null assertion. @@ -301,7 +301,7 @@ invalid.ts:13:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━ ``` ``` -invalid.ts:14:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:14:1 lint/suspicious/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden non-null assertion. @@ -320,7 +320,7 @@ invalid.ts:14:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━ ``` ``` -invalid.ts:15:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:15:1 lint/suspicious/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden non-null assertion. @@ -339,7 +339,7 @@ invalid.ts:15:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━ ``` ``` -invalid.ts:16:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:16:1 lint/suspicious/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden non-null assertion. @@ -358,7 +358,7 @@ invalid.ts:16:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━ ``` ``` -invalid.ts:17:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:17:1 lint/suspicious/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden non-null assertion. @@ -377,7 +377,7 @@ invalid.ts:17:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━ ``` ``` -invalid.ts:18:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:18:1 lint/suspicious/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden non-null assertion. @@ -396,7 +396,7 @@ invalid.ts:18:1 lint/nursery/noNonNullAssertion FIXABLE ━━━━━━━ ``` ``` -invalid.ts:19:2 lint/nursery/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:19:2 lint/suspicious/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden non-null assertion. @@ -411,7 +411,7 @@ invalid.ts:19:2 lint/nursery/noNonNullAssertion ━━━━━━━━━━ ``` ``` -invalid.ts:20:2 lint/nursery/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:20:2 lint/suspicious/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Forbidden non-null assertion. diff --git a/crates/rome_js_analyze/tests/specs/nursery/noNonNullAssertion/valid.ts b/crates/rome_js_analyze/tests/specs/suspicious/noNonNullAssertion/valid.ts similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noNonNullAssertion/valid.ts rename to crates/rome_js_analyze/tests/specs/suspicious/noNonNullAssertion/valid.ts diff --git a/crates/rome_js_analyze/tests/specs/nursery/noNonNullAssertion/valid.ts.snap b/crates/rome_js_analyze/tests/specs/suspicious/noNonNullAssertion/valid.ts.snap similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noNonNullAssertion/valid.ts.snap rename to crates/rome_js_analyze/tests/specs/suspicious/noNonNullAssertion/valid.ts.snap diff --git a/crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalid.cjs b/crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalid.cjs similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalid.cjs rename to crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalid.cjs diff --git a/crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalid.cjs.snap b/crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalid.cjs.snap similarity index 86% rename from crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalid.cjs.snap rename to crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalid.cjs.snap index e1e824b0a0b..2a2aad0749b 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalid.cjs.snap +++ b/crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalid.cjs.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 86 expression: invalid.cjs --- # Input @@ -24,7 +23,7 @@ function test() { # Diagnostics ``` -invalid.cjs:2:1 lint/nursery/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.cjs:2:1 lint/suspicious/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Redundant use strict directive. @@ -52,7 +51,7 @@ invalid.cjs:2:1 lint/nursery/noRedundantUseStrict FIXABLE ━━━━━━ ``` ``` -invalid.cjs:5:2 lint/nursery/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.cjs:5:2 lint/suspicious/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Redundant use strict directive. @@ -83,7 +82,7 @@ invalid.cjs:5:2 lint/nursery/noRedundantUseStrict FIXABLE ━━━━━━ ``` ``` -invalid.cjs:7:3 lint/nursery/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.cjs:7:3 lint/suspicious/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Redundant use strict directive. @@ -115,7 +114,7 @@ invalid.cjs:7:3 lint/nursery/noRedundantUseStrict FIXABLE ━━━━━━ ``` ``` -invalid.cjs:11:4 lint/nursery/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.cjs:11:4 lint/suspicious/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Redundant use strict directive. diff --git a/crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalid.js b/crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalid.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalid.js rename to crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalid.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalid.js.snap b/crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalid.js.snap similarity index 84% rename from crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalid.js.snap rename to crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalid.js.snap index a6b7904e3ab..94268595f19 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalid.js.snap +++ b/crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalid.js.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 86 expression: invalid.js --- # Input @@ -30,7 +29,7 @@ const C2 = class { # Diagnostics ``` -invalid.js:2:1 lint/nursery/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:2:1 lint/suspicious/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Redundant use strict directive. @@ -54,7 +53,7 @@ invalid.js:2:1 lint/nursery/noRedundantUseStrict FIXABLE ━━━━━━━ ``` ``` -invalid.js:5:2 lint/nursery/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:5:2 lint/suspicious/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Redundant use strict directive. @@ -78,7 +77,7 @@ invalid.js:5:2 lint/nursery/noRedundantUseStrict FIXABLE ━━━━━━━ ``` ``` -invalid.js:11:3 lint/nursery/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:11:3 lint/suspicious/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Redundant use strict directive. @@ -105,7 +104,7 @@ invalid.js:11:3 lint/nursery/noRedundantUseStrict FIXABLE ━━━━━━ ``` ``` -invalid.js:18:3 lint/nursery/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:18:3 lint/suspicious/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Redundant use strict directive. diff --git a/crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalid.ts b/crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalid.ts similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalid.ts rename to crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalid.ts diff --git a/crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalid.ts.snap b/crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalid.ts.snap similarity index 82% rename from crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalid.ts.snap rename to crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalid.ts.snap index 5cb9f84a0b9..3e1936715ed 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalid.ts.snap +++ b/crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalid.ts.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 86 expression: invalid.ts --- # Input @@ -13,7 +12,7 @@ function test(): void { # Diagnostics ``` -invalid.ts:2:2 lint/nursery/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.ts:2:2 lint/suspicious/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Redundant use strict directive. diff --git a/crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalidClass.cjs b/crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalidClass.cjs similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalidClass.cjs rename to crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalidClass.cjs diff --git a/crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalidClass.cjs.snap b/crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalidClass.cjs.snap similarity index 80% rename from crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalidClass.cjs.snap rename to crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalidClass.cjs.snap index c9c6dc39319..06a26d84f40 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalidClass.cjs.snap +++ b/crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalidClass.cjs.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 86 expression: invalidClass.cjs --- # Input @@ -21,7 +20,7 @@ const C2 = class { # Diagnostics ``` -invalidClass.cjs:3:3 lint/nursery/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClass.cjs:3:3 lint/suspicious/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Redundant use strict directive. @@ -58,7 +57,7 @@ invalidClass.cjs:3:3 lint/nursery/noRedundantUseStrict FIXABLE ━━━━━ ``` ``` -invalidClass.cjs:9:3 lint/nursery/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidClass.cjs:9:3 lint/suspicious/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Redundant use strict directive. diff --git a/crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalidFunction.cjs b/crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalidFunction.cjs similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalidFunction.cjs rename to crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalidFunction.cjs diff --git a/crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalidFunction.cjs.snap b/crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalidFunction.cjs.snap similarity index 79% rename from crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalidFunction.cjs.snap rename to crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalidFunction.cjs.snap index 81c606631bb..7a5624b91ee 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalidFunction.cjs.snap +++ b/crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalidFunction.cjs.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 86 expression: invalidFunction.cjs --- # Input @@ -14,7 +13,7 @@ function test() { # Diagnostics ``` -invalidFunction.cjs:3:2 lint/nursery/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidFunction.cjs:3:2 lint/suspicious/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Redundant use strict directive. diff --git a/crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalidFunction.js b/crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalidFunction.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalidFunction.js rename to crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalidFunction.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalidFunction.js.snap b/crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalidFunction.js.snap similarity index 76% rename from crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalidFunction.js.snap rename to crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalidFunction.js.snap index 3a8929361d0..64b4bce6fc6 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/invalidFunction.js.snap +++ b/crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/invalidFunction.js.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 86 expression: invalidFunction.js --- # Input @@ -14,7 +13,7 @@ function test() { # Diagnostics ``` -invalidFunction.js:2:2 lint/nursery/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidFunction.js:2:2 lint/suspicious/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Redundant use strict directive. @@ -38,7 +37,7 @@ invalidFunction.js:2:2 lint/nursery/noRedundantUseStrict FIXABLE ━━━━ ``` ``` -invalidFunction.js:3:2 lint/nursery/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalidFunction.js:3:2 lint/suspicious/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Redundant use strict directive. diff --git a/crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/valid.cjs b/crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/valid.cjs similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/valid.cjs rename to crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/valid.cjs diff --git a/crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/valid.cjs.snap b/crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/valid.cjs.snap similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noRedundantUseStrict/valid.cjs.snap rename to crates/rome_js_analyze/tests/specs/suspicious/noRedundantUseStrict/valid.cjs.snap diff --git a/crates/rome_js_analyze/tests/specs/nursery/noSetterReturn/invalid.js b/crates/rome_js_analyze/tests/specs/suspicious/noSetterReturn/invalid.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noSetterReturn/invalid.js rename to crates/rome_js_analyze/tests/specs/suspicious/noSetterReturn/invalid.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/noSetterReturn/invalid.js.snap b/crates/rome_js_analyze/tests/specs/suspicious/noSetterReturn/invalid.js.snap similarity index 89% rename from crates/rome_js_analyze/tests/specs/nursery/noSetterReturn/invalid.js.snap rename to crates/rome_js_analyze/tests/specs/suspicious/noSetterReturn/invalid.js.snap index 0df5447df81..bc4163ebfe3 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/noSetterReturn/invalid.js.snap +++ b/crates/rome_js_analyze/tests/specs/suspicious/noSetterReturn/invalid.js.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 73 expression: invalid.js --- # Input @@ -194,7 +193,7 @@ class WhileSingleStatement { # Diagnostics ``` -invalid.js:3:3 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:3:3 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The setter should not return a value. @@ -222,7 +221,7 @@ invalid.js:3:3 lint/nursery/noSetterReturn ━━━━━━━━━━━━ ``` ``` -invalid.js:9:3 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:9:3 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The setter should not return a value. @@ -250,7 +249,7 @@ invalid.js:9:3 lint/nursery/noSetterReturn ━━━━━━━━━━━━ ``` ``` -invalid.js:16:4 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:16:4 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The setter should not return a value. @@ -280,7 +279,7 @@ invalid.js:16:4 lint/nursery/noSetterReturn ━━━━━━━━━━━━ ``` ``` -invalid.js:24:4 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:24:4 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The setter should not return a value. @@ -310,7 +309,7 @@ invalid.js:24:4 lint/nursery/noSetterReturn ━━━━━━━━━━━━ ``` ``` -invalid.js:33:4 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:33:4 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The setter should not return a value. @@ -341,7 +340,7 @@ invalid.js:33:4 lint/nursery/noSetterReturn ━━━━━━━━━━━━ ``` ``` -invalid.js:42:4 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:42:4 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The setter should not return a value. @@ -372,7 +371,7 @@ invalid.js:42:4 lint/nursery/noSetterReturn ━━━━━━━━━━━━ ``` ``` -invalid.js:50:4 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:50:4 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The setter should not return a value. @@ -402,7 +401,7 @@ invalid.js:50:4 lint/nursery/noSetterReturn ━━━━━━━━━━━━ ``` ``` -invalid.js:57:10 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:57:10 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The setter should not return a value. @@ -430,7 +429,7 @@ invalid.js:57:10 lint/nursery/noSetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:64:4 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:64:4 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The setter should not return a value. @@ -460,7 +459,7 @@ invalid.js:64:4 lint/nursery/noSetterReturn ━━━━━━━━━━━━ ``` ``` -invalid.js:71:17 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:71:17 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The setter should not return a value. @@ -488,7 +487,7 @@ invalid.js:71:17 lint/nursery/noSetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:78:4 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:78:4 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The setter should not return a value. @@ -518,7 +517,7 @@ invalid.js:78:4 lint/nursery/noSetterReturn ━━━━━━━━━━━━ ``` ``` -invalid.js:85:17 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:85:17 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The setter should not return a value. @@ -546,7 +545,7 @@ invalid.js:85:17 lint/nursery/noSetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:92:4 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:92:4 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The setter should not return a value. @@ -576,7 +575,7 @@ invalid.js:92:4 lint/nursery/noSetterReturn ━━━━━━━━━━━━ ``` ``` -invalid.js:99:12 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:99:12 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The setter should not return a value. @@ -604,7 +603,7 @@ invalid.js:99:12 lint/nursery/noSetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:107:5 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:107:5 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The setter should not return a value. @@ -634,7 +633,7 @@ invalid.js:107:5 lint/nursery/noSetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:120:5 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:120:5 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The setter should not return a value. @@ -664,7 +663,7 @@ invalid.js:120:5 lint/nursery/noSetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:128:4 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:128:4 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The setter should not return a value. @@ -694,7 +693,7 @@ invalid.js:128:4 lint/nursery/noSetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:137:4 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:137:4 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The setter should not return a value. @@ -725,7 +724,7 @@ invalid.js:137:4 lint/nursery/noSetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:145:4 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:145:4 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The setter should not return a value. @@ -755,7 +754,7 @@ invalid.js:145:4 lint/nursery/noSetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:156:4 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:156:4 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The setter should not return a value. @@ -785,7 +784,7 @@ invalid.js:156:4 lint/nursery/noSetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:167:4 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:167:4 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The setter should not return a value. @@ -815,7 +814,7 @@ invalid.js:167:4 lint/nursery/noSetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:175:4 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:175:4 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The setter should not return a value. @@ -845,7 +844,7 @@ invalid.js:175:4 lint/nursery/noSetterReturn ━━━━━━━━━━━ ``` ``` -invalid.js:182:16 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:182:16 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The setter should not return a value. diff --git a/crates/rome_js_analyze/tests/specs/nursery/noSetterReturn/valid.js b/crates/rome_js_analyze/tests/specs/suspicious/noSetterReturn/valid.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noSetterReturn/valid.js rename to crates/rome_js_analyze/tests/specs/suspicious/noSetterReturn/valid.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/noSetterReturn/valid.js.snap b/crates/rome_js_analyze/tests/specs/suspicious/noSetterReturn/valid.js.snap similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/noSetterReturn/valid.js.snap rename to crates/rome_js_analyze/tests/specs/suspicious/noSetterReturn/valid.js.snap diff --git a/crates/rome_js_analyze/tests/specs/nursery/useDefaultSwitchClauseLast/invalid.js b/crates/rome_js_analyze/tests/specs/suspicious/useDefaultSwitchClauseLast/invalid.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useDefaultSwitchClauseLast/invalid.js rename to crates/rome_js_analyze/tests/specs/suspicious/useDefaultSwitchClauseLast/invalid.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/useDefaultSwitchClauseLast/invalid.js.snap b/crates/rome_js_analyze/tests/specs/suspicious/useDefaultSwitchClauseLast/invalid.js.snap similarity index 84% rename from crates/rome_js_analyze/tests/specs/nursery/useDefaultSwitchClauseLast/invalid.js.snap rename to crates/rome_js_analyze/tests/specs/suspicious/useDefaultSwitchClauseLast/invalid.js.snap index b4bf0a24219..48ce5dd93b7 100644 --- a/crates/rome_js_analyze/tests/specs/nursery/useDefaultSwitchClauseLast/invalid.js.snap +++ b/crates/rome_js_analyze/tests/specs/suspicious/useDefaultSwitchClauseLast/invalid.js.snap @@ -1,6 +1,5 @@ --- source: crates/rome_js_analyze/tests/spec_tests.rs -assertion_line: 73 expression: invalid.js --- # Input @@ -39,7 +38,7 @@ switch (foo) { # Diagnostics ``` -invalid.js:2:2 lint/nursery/useDefaultSwitchClauseLast ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:2:2 lint/suspicious/useDefaultSwitchClauseLast ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The default clause should be the last switch clause. @@ -68,7 +67,7 @@ invalid.js:2:2 lint/nursery/useDefaultSwitchClauseLast ━━━━━━━━ ``` ``` -invalid.js:11:2 lint/nursery/useDefaultSwitchClauseLast ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:11:2 lint/suspicious/useDefaultSwitchClauseLast ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The default clause should be the last switch clause. @@ -98,7 +97,7 @@ invalid.js:11:2 lint/nursery/useDefaultSwitchClauseLast ━━━━━━━━ ``` ``` -invalid.js:18:2 lint/nursery/useDefaultSwitchClauseLast ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:18:2 lint/suspicious/useDefaultSwitchClauseLast ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The default clause should be the last switch clause. @@ -127,7 +126,7 @@ invalid.js:18:2 lint/nursery/useDefaultSwitchClauseLast ━━━━━━━━ ``` ``` -invalid.js:27:2 lint/nursery/useDefaultSwitchClauseLast ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +invalid.js:27:2 lint/suspicious/useDefaultSwitchClauseLast ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! The default clause should be the last switch clause. diff --git a/crates/rome_js_analyze/tests/specs/nursery/useDefaultSwitchClauseLast/valid.js b/crates/rome_js_analyze/tests/specs/suspicious/useDefaultSwitchClauseLast/valid.js similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useDefaultSwitchClauseLast/valid.js rename to crates/rome_js_analyze/tests/specs/suspicious/useDefaultSwitchClauseLast/valid.js diff --git a/crates/rome_js_analyze/tests/specs/nursery/useDefaultSwitchClauseLast/valid.js.snap b/crates/rome_js_analyze/tests/specs/suspicious/useDefaultSwitchClauseLast/valid.js.snap similarity index 100% rename from crates/rome_js_analyze/tests/specs/nursery/useDefaultSwitchClauseLast/valid.js.snap rename to crates/rome_js_analyze/tests/specs/suspicious/useDefaultSwitchClauseLast/valid.js.snap diff --git a/website/src/pages/lint/rules/noAccessKey.md b/website/src/pages/lint/rules/noAccessKey.md index b17e6486c8b..5de886e5162 100644 --- a/website/src/pages/lint/rules/noAccessKey.md +++ b/website/src/pages/lint/rules/noAccessKey.md @@ -20,7 +20,7 @@ this rule suggests users remove the `accessKey` attribute on elements. ``` -
nursery/noAccessKey.js:1:22 lint/nursery/noAccessKey  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
a11y/noAccessKey.js:1:22 lint/a11y/noAccessKey  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Avoid the accessKey attribute to reduce inconsistencies between keyboard shortcuts and screen reader keyboard comments.
   
@@ -40,7 +40,7 @@ this rule suggests users remove the `accessKey` attribute on elements.
 WebAIM.org
 ```
 
-
nursery/noAccessKey.js:1:31 lint/nursery/noAccessKey  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
a11y/noAccessKey.js:1:31 lint/a11y/noAccessKey  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Avoid the accessKey attribute to reduce inconsistencies between keyboard shortcuts and screen reader keyboard comments.
   
@@ -60,7 +60,7 @@ this rule suggests users remove the `accessKey` attribute on elements.
 
 ```
 
-
nursery/noAccessKey.js:1:9 lint/nursery/noAccessKey  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
a11y/noAccessKey.js:1:9 lint/a11y/noAccessKey  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Avoid the accessKey attribute to reduce inconsistencies between keyboard shortcuts and screen reader keyboard comments.
   
diff --git a/website/src/pages/lint/rules/noConstEnum.md b/website/src/pages/lint/rules/noConstEnum.md
index c98efa9bd08..7cac6bf82aa 100644
--- a/website/src/pages/lint/rules/noConstEnum.md
+++ b/website/src/pages/lint/rules/noConstEnum.md
@@ -5,11 +5,13 @@ parent: lint/rules/index
 
 # noConstEnum (since v11.0.0)
 
+> This rule is recommended by Rome.
+
 Disallow TypeScript `const enum`
 
 Const enums are enums that should be inlined at use sites.
 Const enums are not supported by bundlers and are incompatible with the `isolatedModules` mode.
-Their use can lead to import inexistent values (because const enums are erased).
+Their use can lead to import nonexistent values (because const enums are erased).
 
 Thus, library authors and bundler users should not use const enums.
 
@@ -24,7 +26,7 @@ const enum Status {
 }
 ```
 
-
nursery/noConstEnum.js:1:1 lint/nursery/noConstEnum  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
suspicious/noConstEnum.js:1:1 lint/suspicious/noConstEnum  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    The enum declaration should not be const
   
diff --git a/website/src/pages/lint/rules/noConstructorReturn.md b/website/src/pages/lint/rules/noConstructorReturn.md
index ae982a22276..1038252a936 100644
--- a/website/src/pages/lint/rules/noConstructorReturn.md
+++ b/website/src/pages/lint/rules/noConstructorReturn.md
@@ -5,6 +5,8 @@ parent: lint/rules/index
 
 # noConstructorReturn (since v11.0.0)
 
+> This rule is recommended by Rome.
+
 Disallow returning a value from a `constructor`.
 
 Returning a value from a `constructor` of a class is a possible error.
@@ -26,7 +28,7 @@ class A {
 }
 ```
 
-
nursery/noConstructorReturn.js:3:9 lint/nursery/noConstructorReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noConstructorReturn.js:3:9 lint/correctness/noConstructorReturn ━━━━━━━━━━━━━━━━━━━━━━━━
 
    The constructor should not return a value.
   
diff --git a/website/src/pages/lint/rules/noDistractingElements.md b/website/src/pages/lint/rules/noDistractingElements.md
index b6ba6c25c9c..fd166643c47 100644
--- a/website/src/pages/lint/rules/noDistractingElements.md
+++ b/website/src/pages/lint/rules/noDistractingElements.md
@@ -5,6 +5,8 @@ parent: lint/rules/index
 
 # noDistractingElements (since v11.0.0)
 
+> This rule is recommended by Rome.
+
 Enforces that no distracting elements are used.
 
 Elements that can be visually distracting can cause accessibility issues with visually impaired users.
@@ -19,7 +21,7 @@ By default, the following elements are visually distracting: `` and `
 ```
 
-
nursery/noDistractingElements.js:1:1 lint/nursery/noDistractingElements  FIXABLE  ━━━━━━━━━━━━━━━━━━
+
a11y/noDistractingElements.js:1:1 lint/a11y/noDistractingElements  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━
 
    Don't use the 'marquee' element.
   
@@ -39,7 +41,7 @@ By default, the following elements are visually distracting: `` and `
 ```
 
-
nursery/noDistractingElements.js:1:1 lint/nursery/noDistractingElements  FIXABLE  ━━━━━━━━━━━━━━━━━━
+
a11y/noDistractingElements.js:1:1 lint/a11y/noDistractingElements  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━
 
    Don't use the 'blink' element.
   
diff --git a/website/src/pages/lint/rules/noDuplicateObjectKeys.md b/website/src/pages/lint/rules/noDuplicateObjectKeys.md
index f3501c56cf0..a4f7f8071a4 100644
--- a/website/src/pages/lint/rules/noDuplicateObjectKeys.md
+++ b/website/src/pages/lint/rules/noDuplicateObjectKeys.md
@@ -5,6 +5,8 @@ parent: lint/rules/index
 
 # noDuplicateObjectKeys (since v11.0.0)
 
+> This rule is recommended by Rome.
+
 Prevents object literals having more than one property declaration for the same name.
 If an object property with the same name is defined multiple times (except when combining a getter with a setter), only the last definition makes it into the object and previous definitions are ignored, which is likely a mistake.
 
@@ -19,7 +21,7 @@ const obj = {
 }
 ```
 
-
nursery/noDuplicateObjectKeys.js:2:5 lint/nursery/noDuplicateObjectKeys  FIXABLE  ━━━━━━━━━━━━━━━━━━
+
correctness/noDuplicateObjectKeys.js:2:5 lint/correctness/noDuplicateObjectKeys  FIXABLE  ━━━━━━━━━━
 
    This property value named a is later overwritten by an object member with the same name.
   
@@ -58,7 +60,7 @@ const obj = {
 }
 ```
 
-
nursery/noDuplicateObjectKeys.js:2:5 lint/nursery/noDuplicateObjectKeys  FIXABLE  ━━━━━━━━━━━━━━━━━━
+
correctness/noDuplicateObjectKeys.js:2:5 lint/correctness/noDuplicateObjectKeys  FIXABLE  ━━━━━━━━━━
 
    This setter named a is later overwritten by an object member with the same name.
   
diff --git a/website/src/pages/lint/rules/noEmptyInterface.md b/website/src/pages/lint/rules/noEmptyInterface.md
index 9848b0d99b7..cefbeda3aed 100644
--- a/website/src/pages/lint/rules/noEmptyInterface.md
+++ b/website/src/pages/lint/rules/noEmptyInterface.md
@@ -5,6 +5,8 @@ parent: lint/rules/index
 
 # noEmptyInterface (since v11.0.0)
 
+> This rule is recommended by Rome.
+
 Disallow the declaration of empty interfaces.
 
 >An empty interface in TypeScript does very little: any non-nullable value is assignable to `{}`. Using an empty interface is often a sign of programmer error, such as misunderstanding the concept of `{}` or forgetting to fill in fields.
@@ -20,7 +22,7 @@ Source: https://typescript-eslint.io/rules/no-empty-interface
 interface A {}
 ```
 
-
nursery/noEmptyInterface.js:1:1 lint/nursery/noEmptyInterface  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
suspicious/noEmptyInterface.js:1:1 lint/suspicious/noEmptyInterface  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━
 
    An empty interface is equivalent to '{}'.
   
@@ -41,7 +43,7 @@ interface A {}
 interface A extends B {}
 ```
 
-
nursery/noEmptyInterface.js:2:1 lint/nursery/noEmptyInterface  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
suspicious/noEmptyInterface.js:2:1 lint/suspicious/noEmptyInterface  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━
 
    An interface declaring no members is equivalent to its supertype.
   
diff --git a/website/src/pages/lint/rules/noExtraNonNullAssertion.md b/website/src/pages/lint/rules/noExtraNonNullAssertion.md
index 932a720188b..8bd7ccc66e4 100644
--- a/website/src/pages/lint/rules/noExtraNonNullAssertion.md
+++ b/website/src/pages/lint/rules/noExtraNonNullAssertion.md
@@ -5,6 +5,8 @@ parent: lint/rules/index
 
 # noExtraNonNullAssertion (since v11.0.0)
 
+> This rule is recommended by Rome.
+
 Prevents the wrong usage of the non-null assertion operator (`!`) in TypeScript files.
 
 >The `!` non-null assertion operator in TypeScript is used to assert that a value's type does not include `null` or `undefined`. Using the operator any more than once on a single value does nothing.
@@ -20,7 +22,7 @@ Source: https://typescript-eslint.io/rules/no-extra-non-null-assertion
 const bar = foo!!.bar;
 ```
 
-
nursery/noExtraNonNullAssertion.js:1:13 lint/nursery/noExtraNonNullAssertion  FIXABLE  ━━━━━━━━━━━━━
+
suspicious/noExtraNonNullAssertion.js:1:13 lint/suspicious/noExtraNonNullAssertion  FIXABLE  ━━━━━━━━━━
 
    Forbidden extra non-null assertion.
   
@@ -40,7 +42,7 @@ function fn(bar?: { n: number }) {
 }
 ```
 
-
nursery/noExtraNonNullAssertion.js:2:10 lint/nursery/noExtraNonNullAssertion  FIXABLE  ━━━━━━━━━━━━━
+
suspicious/noExtraNonNullAssertion.js:2:10 lint/suspicious/noExtraNonNullAssertion  FIXABLE  ━━━━━━━━━━
 
    Forbidden extra non-null assertion.
   
@@ -62,7 +64,7 @@ function fn(bar?: { n: number }) {
 }
 ```
 
-
nursery/noExtraNonNullAssertion.js:2:12 lint/nursery/noExtraNonNullAssertion  FIXABLE  ━━━━━━━━━━━━━
+
suspicious/noExtraNonNullAssertion.js:2:12 lint/suspicious/noExtraNonNullAssertion  FIXABLE  ━━━━━━━━━━
 
    Forbidden extra non-null assertion.
   
diff --git a/website/src/pages/lint/rules/noHeaderScope.md b/website/src/pages/lint/rules/noHeaderScope.md
index a93f6eff4cb..35566006628 100644
--- a/website/src/pages/lint/rules/noHeaderScope.md
+++ b/website/src/pages/lint/rules/noHeaderScope.md
@@ -5,6 +5,8 @@ parent: lint/rules/index
 
 # noHeaderScope (since v11.0.0)
 
+> This rule is recommended by Rome.
+
 Check that the scope attribute is only used on `th` elements.
 
 ESLint Equivalent: [scope](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/scope.md)
@@ -17,7 +19,7 @@ ESLint Equivalent: [scope](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/
 
``` -
nursery/noHeaderScope.js:1:6 lint/nursery/noHeaderScope  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
a11y/noHeaderScope.js:1:6 lint/a11y/noHeaderScope  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Avoid using the scope attribute on elements other than th elements.
   
@@ -35,7 +37,7 @@ ESLint Equivalent: [scope](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/
 
``` -
nursery/noHeaderScope.js:1:6 lint/nursery/noHeaderScope  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
a11y/noHeaderScope.js:1:6 lint/a11y/noHeaderScope  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Avoid using the scope attribute on elements other than th elements.
   
diff --git a/website/src/pages/lint/rules/noNonNullAssertion.md b/website/src/pages/lint/rules/noNonNullAssertion.md
index 888723e4c20..f0500cd3914 100644
--- a/website/src/pages/lint/rules/noNonNullAssertion.md
+++ b/website/src/pages/lint/rules/noNonNullAssertion.md
@@ -5,6 +5,8 @@ parent: lint/rules/index
 
 # noNonNullAssertion (since v11.0.0)
 
+> This rule is recommended by Rome.
+
 Disallow non-null assertions using the `!` postfix operator.
 
 TypeScript's `!` non-null assertion operator asserts to the type system that an expression is non-nullable, as
@@ -24,9 +26,9 @@ declare const example: Example;
 const includesBaz = foo.property!.includes('baz');
 ```
 
-
nursery/noNonNullAssertion.js:5:21 lint/nursery/noNonNullAssertion  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━
+
suspicious/noNonNullAssertion.js:5:21 lint/suspicious/noNonNullAssertion  FIXABLE  ━━━━━━━━━━━━━━━━━
 
-   Forbidden non-null assertion.
+   Forbidden non-null assertion.
   
     3 │ }
     4 │ declare const example: Example;
@@ -48,9 +50,9 @@ const includesBaz = foo.property!.includes('baz');
 (b!! as number) = "test";
 ```
 
-
nursery/noNonNullAssertion.js:1:2 lint/nursery/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
suspicious/noNonNullAssertion.js:1:2 lint/suspicious/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
-   Forbidden non-null assertion.
+   Forbidden non-null assertion.
   
   > 1 │ (b!! as number) = "test";
     ^^^
diff --git a/website/src/pages/lint/rules/noPrecisionLoss.md b/website/src/pages/lint/rules/noPrecisionLoss.md
index 43e0d6b6bc3..4df4a8958c2 100644
--- a/website/src/pages/lint/rules/noPrecisionLoss.md
+++ b/website/src/pages/lint/rules/noPrecisionLoss.md
@@ -5,6 +5,8 @@ parent: lint/rules/index
 
 # noPrecisionLoss (since v11.0.0)
 
+> This rule is recommended by Rome.
+
 Disallow literal numbers that lose precision
 
 ## Examples
@@ -15,9 +17,9 @@ Disallow literal numbers that lose precision
 const x = 9007199254740993
 ```
 
-
nursery/noPrecisionLoss.js:1:11 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noPrecisionLoss.js:1:11 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
-   This number literal will lose precision at runtime.
+   This number literal will lose precision at runtime.
   
   > 1 │ const x = 9007199254740993
              ^^^^^^^^^^^^^^^^
@@ -31,9 +33,9 @@ const x = 9007199254740993
 const x = 5123000000000000000000000000001
 ```
 
-
nursery/noPrecisionLoss.js:1:11 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noPrecisionLoss.js:1:11 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
-   This number literal will lose precision at runtime.
+   This number literal will lose precision at runtime.
   
   > 1 │ const x = 5123000000000000000000000000001
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -47,9 +49,9 @@ const x = 5123000000000000000000000000001
 const x = 1230000000000000000000000.0
 ```
 
-
nursery/noPrecisionLoss.js:1:11 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noPrecisionLoss.js:1:11 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
-   This number literal will lose precision at runtime.
+   This number literal will lose precision at runtime.
   
   > 1 │ const x = 1230000000000000000000000.0
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -63,9 +65,9 @@ const x = 1230000000000000000000000.0
 const x = .1230000000000000000000000
 ```
 
-
nursery/noPrecisionLoss.js:1:11 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noPrecisionLoss.js:1:11 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
-   This number literal will lose precision at runtime.
+   This number literal will lose precision at runtime.
   
   > 1 │ const x = .1230000000000000000000000
              ^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -79,9 +81,9 @@ const x = .1230000000000000000000000
 const x = 0X20000000000001
 ```
 
-
nursery/noPrecisionLoss.js:1:11 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noPrecisionLoss.js:1:11 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
-   This number literal will lose precision at runtime.
+   This number literal will lose precision at runtime.
   
   > 1 │ const x = 0X20000000000001
              ^^^^^^^^^^^^^^^^
@@ -95,9 +97,9 @@ const x = 0X20000000000001
 const x = 0X2_000000000_0001;
 ```
 
-
nursery/noPrecisionLoss.js:1:11 lint/nursery/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noPrecisionLoss.js:1:11 lint/correctness/noPrecisionLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
-   This number literal will lose precision at runtime.
+   This number literal will lose precision at runtime.
   
   > 1 │ const x = 0X2_000000000_0001;
              ^^^^^^^^^^^^^^^^^^
diff --git a/website/src/pages/lint/rules/noRedundantUseStrict.md b/website/src/pages/lint/rules/noRedundantUseStrict.md
index e706bb6817f..1d896ac4bbf 100644
--- a/website/src/pages/lint/rules/noRedundantUseStrict.md
+++ b/website/src/pages/lint/rules/noRedundantUseStrict.md
@@ -18,7 +18,7 @@ function foo() {
 }
 ```
 
-
nursery/noRedundantUseStrict.js:3:3 lint/nursery/noRedundantUseStrict  FIXABLE  ━━━━━━━━━━━━━━━━━━━━
+
suspicious/noRedundantUseStrict.js:3:3 lint/suspicious/noRedundantUseStrict  FIXABLE  ━━━━━━━━━━━━━━
 
    Redundant use strict directive.
   
@@ -55,7 +55,7 @@ function foo() {
 }
 ```
 
-
nursery/noRedundantUseStrict.js:2:1 lint/nursery/noRedundantUseStrict  FIXABLE  ━━━━━━━━━━━━━━━━━━━━
+
suspicious/noRedundantUseStrict.js:2:1 lint/suspicious/noRedundantUseStrict  FIXABLE  ━━━━━━━━━━━━━━
 
    Redundant use strict directive.
   
@@ -88,7 +88,7 @@ function foo() {
 }
 ```
 
-
nursery/noRedundantUseStrict.js:3:1 lint/nursery/noRedundantUseStrict  FIXABLE  ━━━━━━━━━━━━━━━━━━━━
+
suspicious/noRedundantUseStrict.js:3:1 lint/suspicious/noRedundantUseStrict  FIXABLE  ━━━━━━━━━━━━━━
 
    Redundant use strict directive.
   
@@ -125,7 +125,7 @@ class C1 {
 }
 ```
 
-
nursery/noRedundantUseStrict.js:3:3 lint/nursery/noRedundantUseStrict  FIXABLE  ━━━━━━━━━━━━━━━━━━━━
+
suspicious/noRedundantUseStrict.js:3:3 lint/suspicious/noRedundantUseStrict  FIXABLE  ━━━━━━━━━━━━━━
 
    Redundant use strict directive.
   
@@ -168,7 +168,7 @@ const C2 = class {
 
 ```
 
-
nursery/noRedundantUseStrict.js:3:3 lint/nursery/noRedundantUseStrict  FIXABLE  ━━━━━━━━━━━━━━━━━━━━
+
suspicious/noRedundantUseStrict.js:3:3 lint/suspicious/noRedundantUseStrict  FIXABLE  ━━━━━━━━━━━━━━
 
    Redundant use strict directive.
   
diff --git a/website/src/pages/lint/rules/noSetterReturn.md b/website/src/pages/lint/rules/noSetterReturn.md
index 2b8ef35ba53..f81c22a3269 100644
--- a/website/src/pages/lint/rules/noSetterReturn.md
+++ b/website/src/pages/lint/rules/noSetterReturn.md
@@ -5,6 +5,8 @@ parent: lint/rules/index
 
 # noSetterReturn (since v11.0.0)
 
+> This rule is recommended by Rome.
+
 Disallow returning a value from a setter
 
 While returning a value from a setter does not produce an error, the returned value is being ignored. Therefore, returning a value from a setter is either unnecessary or a possible error.
@@ -23,7 +25,7 @@ class A {
 }
 ```
 
-
nursery/noSetterReturn.js:3:9 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
suspicious/noSetterReturn.js:3:9 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    The setter should not return a value.
   
@@ -57,7 +59,7 @@ const b = {
 };
 ```
 
-
nursery/noSetterReturn.js:3:9 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
suspicious/noSetterReturn.js:3:9 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    The setter should not return a value.
   
@@ -93,7 +95,7 @@ const c = {
 };
 ```
 
-
nursery/noSetterReturn.js:4:13 lint/nursery/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
suspicious/noSetterReturn.js:4:13 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    The setter should not return a value.
   
diff --git a/website/src/pages/lint/rules/noStringCaseMismatch.md b/website/src/pages/lint/rules/noStringCaseMismatch.md
index e9e03c2854d..e53c2122eec 100644
--- a/website/src/pages/lint/rules/noStringCaseMismatch.md
+++ b/website/src/pages/lint/rules/noStringCaseMismatch.md
@@ -5,6 +5,8 @@ parent: lint/rules/index
 
 # noStringCaseMismatch (since v11.0.0)
 
+> This rule is recommended by Rome.
+
 Disallow comparison of expressions modifying the string case with non-compliant value.
 
 ## Examples
@@ -15,7 +17,7 @@ Disallow comparison of expressions modifying the string case with non-compliant
 if (s.toUpperCase() === "Abc") {}
 ```
 
-
nursery/noStringCaseMismatch.js:1:5 lint/nursery/noStringCaseMismatch  FIXABLE  ━━━━━━━━━━━━━━━━━━━━
+
correctness/noStringCaseMismatch.js:1:5 lint/correctness/noStringCaseMismatch  FIXABLE  ━━━━━━━━━━━━
 
    This expression always returns false.
   
@@ -47,7 +49,7 @@ if (s.toUpperCase() === "Abc") {}
 while (s.toLowerCase() === "Abc") {}
 ```
 
-
nursery/noStringCaseMismatch.js:1:8 lint/nursery/noStringCaseMismatch  FIXABLE  ━━━━━━━━━━━━━━━━━━━━
+
correctness/noStringCaseMismatch.js:1:8 lint/correctness/noStringCaseMismatch  FIXABLE  ━━━━━━━━━━━━
 
    This expression always returns false.
   
diff --git a/website/src/pages/lint/rules/noUnsafeFinally.md b/website/src/pages/lint/rules/noUnsafeFinally.md
index 30a18b60b66..c575ef5dc25 100644
--- a/website/src/pages/lint/rules/noUnsafeFinally.md
+++ b/website/src/pages/lint/rules/noUnsafeFinally.md
@@ -5,6 +5,8 @@ parent: lint/rules/index
 
 # noUnsafeFinally (since v11.0.0)
 
+> This rule is recommended by Rome.
+
 Disallow control flow statements in finally blocks.
 
 JavaScript suspends the control flow statements of `try` and `catch` blocks until
@@ -28,7 +30,7 @@ which is considered as unexpected behavior.
 })();
 ```
 
-
nursery/noUnsafeFinally.js:7:9 lint/nursery/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noUnsafeFinally.js:7:9 lint/correctness/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Unsafe usage of 'return'.
   
@@ -53,7 +55,7 @@ which is considered as unexpected behavior.
 })();
 ```
 
-
nursery/noUnsafeFinally.js:5:9 lint/nursery/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noUnsafeFinally.js:5:9 lint/correctness/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Unsafe usage of 'return'.
   
@@ -80,7 +82,7 @@ which is considered as unexpected behavior.
 })();
 ```
 
-
nursery/noUnsafeFinally.js:7:9 lint/nursery/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noUnsafeFinally.js:7:9 lint/correctness/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Unsafe usage of 'throw'.
   
@@ -106,7 +108,7 @@ which is considered as unexpected behavior.
 })();
 ```
 
-
nursery/noUnsafeFinally.js:5:7 lint/nursery/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noUnsafeFinally.js:5:7 lint/correctness/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Unsafe usage of 'break'.
   
@@ -139,7 +141,7 @@ function a() {
 }
 ```
 
-
nursery/noUnsafeFinally.js:8:9 lint/nursery/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noUnsafeFinally.js:8:9 lint/correctness/noUnsafeFinally ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Unsafe usage of 'break'.
   
diff --git a/website/src/pages/lint/rules/noVar.md b/website/src/pages/lint/rules/noVar.md
index 24d3f436eb5..edab9771f98 100644
--- a/website/src/pages/lint/rules/noVar.md
+++ b/website/src/pages/lint/rules/noVar.md
@@ -5,9 +5,13 @@ parent: lint/rules/index
 
 # noVar (since v11.0.0)
 
+> This rule is recommended by Rome.
+
 Disallow the use of `var`
 
-ECMAScript 6 allows programmers to create variables with block scope instead of function scope using the let and const keywords. Block scope is common in many other programming languages and helps programmers avoid mistakes.
+ECMAScript 6 allows programmers to create variables with block scope instead of function scope using the let and const keywords.
+
+Block scope is common in many other programming languages and helps programmers avoid mistakes.
 
 Source: https://eslint.org/docs/latest/rules/no-var
 
@@ -19,7 +23,7 @@ Source: https://eslint.org/docs/latest/rules/no-var
 var foo = 1;
 ```
 
-
nursery/noVar.js:1:1 lint/nursery/noVar  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
style/noVar.js:1:1 lint/style/noVar  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Use let or const instead of var.
   
diff --git a/website/src/pages/lint/rules/noVoidTypeReturn.md b/website/src/pages/lint/rules/noVoidTypeReturn.md
index 066490d91c8..80513ecad59 100644
--- a/website/src/pages/lint/rules/noVoidTypeReturn.md
+++ b/website/src/pages/lint/rules/noVoidTypeReturn.md
@@ -5,6 +5,8 @@ parent: lint/rules/index
 
 # noVoidTypeReturn (since v11.0.0)
 
+> This rule is recommended by Rome.
+
 Disallow returning a value from a function with the return type 'void'
 
 'void' signals the absence of value. The returned value is likely to be ignored by the caller.
@@ -24,7 +26,7 @@ class A {
 }
 ```
 
-
nursery/noVoidTypeReturn.js:3:9 lint/nursery/noVoidTypeReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noVoidTypeReturn.js:3:9 lint/correctness/noVoidTypeReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    The function should not return a value because its return type is void.
   
@@ -58,7 +60,7 @@ const a = {
 }
 ```
 
-
nursery/noVoidTypeReturn.js:3:9 lint/nursery/noVoidTypeReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noVoidTypeReturn.js:3:9 lint/correctness/noVoidTypeReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    The function should not return a value because its return type is void.
   
@@ -90,7 +92,7 @@ function f(): void {
 }
 ```
 
-
nursery/noVoidTypeReturn.js:2:5 lint/nursery/noVoidTypeReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noVoidTypeReturn.js:2:5 lint/correctness/noVoidTypeReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    The function should not return a value because its return type is void.
   
@@ -119,7 +121,7 @@ export default function(): void {
 }
 ```
 
-
nursery/noVoidTypeReturn.js:2:5 lint/nursery/noVoidTypeReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noVoidTypeReturn.js:2:5 lint/correctness/noVoidTypeReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    The function should not return a value because its return type is void.
   
@@ -148,7 +150,7 @@ const g = (): void => {
 };
 ```
 
-
nursery/noVoidTypeReturn.js:2:5 lint/nursery/noVoidTypeReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noVoidTypeReturn.js:2:5 lint/correctness/noVoidTypeReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    The function should not return a value because its return type is void.
   
@@ -177,7 +179,7 @@ const h = function(): void {
 };
 ```
 
-
nursery/noVoidTypeReturn.js:2:5 lint/nursery/noVoidTypeReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noVoidTypeReturn.js:2:5 lint/correctness/noVoidTypeReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    The function should not return a value because its return type is void.
   
diff --git a/website/src/pages/lint/rules/useConst.md b/website/src/pages/lint/rules/useConst.md
index 61672a0ee2c..d733988c485 100644
--- a/website/src/pages/lint/rules/useConst.md
+++ b/website/src/pages/lint/rules/useConst.md
@@ -5,6 +5,8 @@ parent: lint/rules/index
 
 # useConst (since v11.0.0)
 
+> This rule is recommended by Rome.
+
 Require `const` declarations for variables that are never reassigned after declared.
 
 ## Examples
@@ -16,7 +18,7 @@ let a = 3;
 console.log(a);
 ```
 
-
nursery/useConst.js:1:1 lint/nursery/useConst  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
style/useConst.js:1:1 lint/style/useConst  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    This 'let' declares a variable which is never re-assigned.
   
@@ -48,7 +50,7 @@ for (let a of [1, 2, 3]) {
 }
 ```
 
-
nursery/useConst.js:2:6 lint/nursery/useConst  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
style/useConst.js:2:6 lint/style/useConst  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    This 'let' declares a variable which is never re-assigned.
   
@@ -83,7 +85,7 @@ for (let a in [1, 2, 3]) {
 }
 ```
 
-
nursery/useConst.js:2:6 lint/nursery/useConst  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
style/useConst.js:2:6 lint/style/useConst  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    This 'let' declares a variable which is never re-assigned.
   
@@ -119,7 +121,7 @@ let a = 3;
 }
 ```
 
-
nursery/useConst.js:1:1 lint/nursery/useConst  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
style/useConst.js:1:1 lint/style/useConst  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    This 'let' declares a variable which is never re-assigned.
   
diff --git a/website/src/pages/lint/rules/useDefaultParameterLast.md b/website/src/pages/lint/rules/useDefaultParameterLast.md
index 5011b3f959b..cb544cdd48b 100644
--- a/website/src/pages/lint/rules/useDefaultParameterLast.md
+++ b/website/src/pages/lint/rules/useDefaultParameterLast.md
@@ -5,6 +5,8 @@ parent: lint/rules/index
 
 # useDefaultParameterLast (since v11.0.0)
 
+> This rule is recommended by Rome.
+
 Enforce default function parameters and optional parameters to be last.
 
 Default and optional parameters that precede a required parameter cannot be omitted at call site.
@@ -17,7 +19,7 @@ Default and optional parameters that precede a required parameter cannot be omit
 function f(a = 0, b) {}
 ```
 
-
nursery/useDefaultParameterLast.js:1:12 lint/nursery/useDefaultParameterLast  FIXABLE  ━━━━━━━━━━━━━
+
style/useDefaultParameterLast.js:1:12 lint/style/useDefaultParameterLast  FIXABLE  ━━━━━━━━━━━━━━━━━
 
    The default parameter should follow the required parameter or should be a required parameter.
   
@@ -43,7 +45,7 @@ function f(a = 0, b) {}
 function f(a, b = 0, c) {}
 ```
 
-
nursery/useDefaultParameterLast.js:1:15 lint/nursery/useDefaultParameterLast  FIXABLE  ━━━━━━━━━━━━━
+
style/useDefaultParameterLast.js:1:15 lint/style/useDefaultParameterLast  FIXABLE  ━━━━━━━━━━━━━━━━━
 
    The default parameter should follow the required parameter or should be a required parameter.
   
@@ -69,7 +71,7 @@ function f(a, b = 0, c) {}
 function f(a: number, b?: number, c: number) {}
 ```
 
-
nursery/useDefaultParameterLast.js:1:23 lint/nursery/useDefaultParameterLast  FIXABLE  ━━━━━━━━━━━━━
+
style/useDefaultParameterLast.js:1:23 lint/style/useDefaultParameterLast  FIXABLE  ━━━━━━━━━━━━━━━━━
 
    The optional parameter should follow the required parameter or should be a required parameter.
   
@@ -97,7 +99,7 @@ class Foo {
 }
 ```
 
-
nursery/useDefaultParameterLast.js:2:17 lint/nursery/useDefaultParameterLast  FIXABLE  ━━━━━━━━━━━━━
+
style/useDefaultParameterLast.js:2:17 lint/style/useDefaultParameterLast  FIXABLE  ━━━━━━━━━━━━━━━━━
 
    The default parameter should follow the required parameter or should be a required parameter.
   
diff --git a/website/src/pages/lint/rules/useDefaultSwitchClauseLast.md b/website/src/pages/lint/rules/useDefaultSwitchClauseLast.md
index b17fa57705d..e398aaceccc 100644
--- a/website/src/pages/lint/rules/useDefaultSwitchClauseLast.md
+++ b/website/src/pages/lint/rules/useDefaultSwitchClauseLast.md
@@ -5,11 +5,18 @@ parent: lint/rules/index
 
 # useDefaultSwitchClauseLast (since v11.0.0)
 
+> This rule is recommended by Rome.
+
 Enforce default clauses in switch statements to be last
 
 A switch statement can optionally have a default clause.
 
-If present, it’s usually the last clause, but it doesn’t need to be. It is also allowed to put the default clause before all case clauses, or anywhere between. The behavior is mostly the same as if it was the last clause. The default block will be still executed only if there is no match in the case clauses (including those defined after the default), but there is also the ability to “fall through” from the default clause to the following clause in the list. However, such flow is not common and it would be confusing to the readers.
+If present, it’s usually the last clause, but it doesn’t need to be. It is also allowed to put the default clause before all case clauses, or anywhere between.
+The behavior is mostly the same as if it was the last clause.
+
+The default block will be still executed only if there is no match in the case clauses (including those defined after the default),
+but there is also the ability to “fall through” from the default clause to the following clause in the list.
+However, such flow is not common and it would be confusing to the readers.
 
 Even if there is no "fall through" logic, it’s still unexpected to see the default clause before or between the case clauses. By convention, it is expected to be the last clause.
 
@@ -28,7 +35,7 @@ switch (foo) {
 }
 ```
 
-
nursery/useDefaultSwitchClauseLast.js:2:5 lint/nursery/useDefaultSwitchClauseLast ━━━━━━━━━━━━━━━━━━
+
suspicious/useDefaultSwitchClauseLast.js:2:5 lint/suspicious/useDefaultSwitchClauseLast ━━━━━━━━━━━━
 
    The default clause should be the last switch clause.
   
@@ -64,7 +71,7 @@ switch (foo) {
 }
 ```
 
-
nursery/useDefaultSwitchClauseLast.js:2:5 lint/nursery/useDefaultSwitchClauseLast ━━━━━━━━━━━━━━━━━━
+
suspicious/useDefaultSwitchClauseLast.js:2:5 lint/suspicious/useDefaultSwitchClauseLast ━━━━━━━━━━━━
 
    The default clause should be the last switch clause.
   
@@ -101,7 +108,7 @@ switch (foo) {
 }
 ```
 
-
nursery/useDefaultSwitchClauseLast.js:4:5 lint/nursery/useDefaultSwitchClauseLast ━━━━━━━━━━━━━━━━━━
+
suspicious/useDefaultSwitchClauseLast.js:4:5 lint/suspicious/useDefaultSwitchClauseLast ━━━━━━━━━━━━
 
    The default clause should be the last switch clause.
   
diff --git a/website/src/pages/lint/rules/useEnumInitializers.md b/website/src/pages/lint/rules/useEnumInitializers.md
index c59d2cc820a..7de84095589 100644
--- a/website/src/pages/lint/rules/useEnumInitializers.md
+++ b/website/src/pages/lint/rules/useEnumInitializers.md
@@ -5,6 +5,8 @@ parent: lint/rules/index
 
 # useEnumInitializers (since v11.0.0)
 
+> This rule is recommended by Rome.
+
 Require that each enum member value be explicitly initialized.
 
 TypeScript enums are a practical way to organize semantically related constant values. Members of enums that don't have explicit values are by default given sequentially increasing numbers.
@@ -23,7 +25,7 @@ enum Version {
 }
 ```
 
-
nursery/useEnumInitializers.js:2:5 lint/nursery/useEnumInitializers  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━
+
correctness/useEnumInitializers.js:2:5 lint/correctness/useEnumInitializers  FIXABLE  ━━━━━━━━━━━━━━
 
    The enum member should be initialized.
   
@@ -48,7 +50,7 @@ enum Status {
 }
 ```
 
-
nursery/useEnumInitializers.js:3:5 lint/nursery/useEnumInitializers  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━
+
correctness/useEnumInitializers.js:3:5 lint/correctness/useEnumInitializers  FIXABLE  ━━━━━━━━━━━━━━
 
    The enum member should be initialized.
   
@@ -75,7 +77,7 @@ enum Color {
 }
 ```
 
-
nursery/useEnumInitializers.js:4:5 lint/nursery/useEnumInitializers  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━
+
correctness/useEnumInitializers.js:4:5 lint/correctness/useEnumInitializers  FIXABLE  ━━━━━━━━━━━━━━
 
    The enum member should be initialized.
   
diff --git a/website/src/pages/lint/rules/useExponentiationOperator.md b/website/src/pages/lint/rules/useExponentiationOperator.md
index 21f6bf41dd0..8426e0ac326 100644
--- a/website/src/pages/lint/rules/useExponentiationOperator.md
+++ b/website/src/pages/lint/rules/useExponentiationOperator.md
@@ -21,7 +21,7 @@ Source: https://eslint.org/docs/latest/rules/prefer-exponentiation-operator
 const foo = Math.pow(2, 8);
 ```
 
-
nursery/useExponentiationOperator.js:1:13 lint/nursery/useExponentiationOperator  FIXABLE  ━━━━━━━━━━
+
style/useExponentiationOperator.js:1:13 lint/style/useExponentiationOperator  FIXABLE  ━━━━━━━━━━━━━
 
    Use the '**' operator instead of 'Math.pow'.
   
@@ -41,7 +41,7 @@ const foo = Math.pow(2, 8);
 const bar = Math.pow(a, b);
 ```
 
-
nursery/useExponentiationOperator.js:1:13 lint/nursery/useExponentiationOperator  FIXABLE  ━━━━━━━━━━
+
style/useExponentiationOperator.js:1:13 lint/style/useExponentiationOperator  FIXABLE  ━━━━━━━━━━━━━
 
    Use the '**' operator instead of 'Math.pow'.
   
@@ -61,7 +61,7 @@ const bar = Math.pow(a, b);
 let baz = Math.pow(a + b, c + d);
 ```
 
-
nursery/useExponentiationOperator.js:1:11 lint/nursery/useExponentiationOperator  FIXABLE  ━━━━━━━━━━
+
style/useExponentiationOperator.js:1:11 lint/style/useExponentiationOperator  FIXABLE  ━━━━━━━━━━━━━
 
    Use the '**' operator instead of 'Math.pow'.
   
@@ -81,7 +81,7 @@ let baz = Math.pow(a + b, c + d);
 let quux = Math.pow(-1, n);
 ```
 
-
nursery/useExponentiationOperator.js:1:12 lint/nursery/useExponentiationOperator  FIXABLE  ━━━━━━━━━━
+
style/useExponentiationOperator.js:1:12 lint/style/useExponentiationOperator  FIXABLE  ━━━━━━━━━━━━━
 
    Use the '**' operator instead of 'Math.pow'.
   
diff --git a/website/src/pages/lint/rules/useNumericLiterals.md b/website/src/pages/lint/rules/useNumericLiterals.md
index 786434524d5..02398f98e38 100644
--- a/website/src/pages/lint/rules/useNumericLiterals.md
+++ b/website/src/pages/lint/rules/useNumericLiterals.md
@@ -5,6 +5,8 @@ parent: lint/rules/index
 
 # useNumericLiterals (since v11.0.0)
 
+> This rule is recommended by Rome.
+
 Disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals
 
 ## Examples
@@ -15,7 +17,7 @@ Disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hex
 parseInt("111110111", 2) === 503;
 ```
 
-
nursery/useNumericLiterals.js:1:1 lint/nursery/useNumericLiterals  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━
+
style/useNumericLiterals.js:1:1 lint/style/useNumericLiterals  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Use binary literals instead of parseInt()
   
@@ -35,7 +37,7 @@ parseInt("111110111", 2) === 503;
 Number.parseInt("767", 8) === 503;
 ```
 
-
nursery/useNumericLiterals.js:1:1 lint/nursery/useNumericLiterals  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━
+
style/useNumericLiterals.js:1:1 lint/style/useNumericLiterals  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Use octal literals instead of Number.parseInt()
   

From 5464d0daca57c5d23f8d22c19dc3d76771b93187 Mon Sep 17 00:00:00 2001
From: Emanuele Stoppa 
Date: Sat, 25 Feb 2023 18:57:17 +0000
Subject: [PATCH 02/10] chore: rebase

---
 .../src/configuration/parse/json/rules.rs     | 872 +++++++++---------
 editors/vscode/configuration_schema.json      | 308 +++----
 npm/backend-jsonrpc/src/workspace.ts          | 218 ++---
 npm/rome/configuration_schema.json            | 308 +++----
 website/src/pages/lint/rules/index.mdx        | 285 +++---
 5 files changed, 1006 insertions(+), 985 deletions(-)

diff --git a/crates/rome_service/src/configuration/parse/json/rules.rs b/crates/rome_service/src/configuration/parse/json/rules.rs
index b32371f665c..2f7186ff627 100644
--- a/crates/rome_service/src/configuration/parse/json/rules.rs
+++ b/crates/rome_service/src/configuration/parse/json/rules.rs
@@ -94,8 +94,11 @@ impl VisitNode for A11y {
             node,
             &[
                 "recommended",
+                "noAccessKey",
                 "noAutofocus",
                 "noBlankTarget",
+                "noDistractingElements",
+                "noHeaderScope",
                 "noPositiveTabindex",
                 "useAltText",
                 "useAnchorContent",
@@ -120,6 +123,24 @@ impl VisitNode for A11y {
             "recommended" => {
                 self.recommended = Some(self.map_to_boolean(&value, name_text, diagnostics)?);
             }
+            "noAccessKey" => match value {
+                AnyJsonValue::JsonStringValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_access_key = Some(configuration);
+                }
+                AnyJsonValue::JsonObjectValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_access_key = Some(configuration);
+                }
+                _ => {
+                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
+                        "object or string",
+                        value.range(),
+                    ));
+                }
+            },
             "noAutofocus" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -156,6 +177,42 @@ impl VisitNode for A11y {
                     ));
                 }
             },
+            "noDistractingElements" => match value {
+                AnyJsonValue::JsonStringValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_distracting_elements = Some(configuration);
+                }
+                AnyJsonValue::JsonObjectValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_distracting_elements = Some(configuration);
+                }
+                _ => {
+                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
+                        "object or string",
+                        value.range(),
+                    ));
+                }
+            },
+            "noHeaderScope" => match value {
+                AnyJsonValue::JsonStringValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_header_scope = Some(configuration);
+                }
+                AnyJsonValue::JsonObjectValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_header_scope = Some(configuration);
+                }
+                _ => {
+                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
+                        "object or string",
+                        value.range(),
+                    ));
+                }
+            },
             "noPositiveTabindex" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -464,14 +521,21 @@ impl VisitNode for Correctness {
                 "recommended",
                 "noChildrenProp",
                 "noConstAssign",
+                "noConstructorReturn",
+                "noDuplicateObjectKeys",
                 "noEmptyPattern",
                 "noNewSymbol",
+                "noPrecisionLoss",
                 "noRenderReturnValue",
+                "noStringCaseMismatch",
                 "noUndeclaredVariables",
                 "noUnnecessaryContinue",
                 "noUnreachable",
+                "noUnsafeFinally",
                 "noUnusedVariables",
                 "noVoidElementsWithChildren",
+                "noVoidTypeReturn",
+                "useEnumInitializers",
                 "useValidForDirection",
             ],
             diagnostics,
@@ -525,6 +589,42 @@ impl VisitNode for Correctness {
                     ));
                 }
             },
+            "noConstructorReturn" => match value {
+                AnyJsonValue::JsonStringValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_constructor_return = Some(configuration);
+                }
+                AnyJsonValue::JsonObjectValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_constructor_return = Some(configuration);
+                }
+                _ => {
+                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
+                        "object or string",
+                        value.range(),
+                    ));
+                }
+            },
+            "noDuplicateObjectKeys" => match value {
+                AnyJsonValue::JsonStringValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_duplicate_object_keys = Some(configuration);
+                }
+                AnyJsonValue::JsonObjectValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_duplicate_object_keys = Some(configuration);
+                }
+                _ => {
+                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
+                        "object or string",
+                        value.range(),
+                    ));
+                }
+            },
             "noEmptyPattern" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -561,6 +661,24 @@ impl VisitNode for Correctness {
                     ));
                 }
             },
+            "noPrecisionLoss" => 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);
+                }
+                AnyJsonValue::JsonObjectValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_precision_loss = Some(configuration);
+                }
+                _ => {
+                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
+                        "object or string",
+                        value.range(),
+                    ));
+                }
+            },
             "noRenderReturnValue" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -579,6 +697,24 @@ impl VisitNode for Correctness {
                     ));
                 }
             },
+            "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 configuration = RuleConfiguration::default();
+                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_string_case_mismatch = Some(configuration);
+                }
+                _ => {
+                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
+                        "object or string",
+                        value.range(),
+                    ));
+                }
+            },
             "noUndeclaredVariables" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -633,6 +769,24 @@ impl VisitNode for Correctness {
                     ));
                 }
             },
+            "noUnsafeFinally" => match value {
+                AnyJsonValue::JsonStringValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_unsafe_finally = Some(configuration);
+                }
+                AnyJsonValue::JsonObjectValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_unsafe_finally = Some(configuration);
+                }
+                _ => {
+                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
+                        "object or string",
+                        value.range(),
+                    ));
+                }
+            },
             "noUnusedVariables" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -669,6 +823,42 @@ impl VisitNode for Correctness {
                     ));
                 }
             },
+            "noVoidTypeReturn" => match value {
+                AnyJsonValue::JsonStringValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_void_type_return = Some(configuration);
+                }
+                AnyJsonValue::JsonObjectValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_void_type_return = Some(configuration);
+                }
+                _ => {
+                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
+                        "object or string",
+                        value.range(),
+                    ));
+                }
+            },
+            "useEnumInitializers" => match value {
+                AnyJsonValue::JsonStringValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
+                    self.use_enum_initializers = Some(configuration);
+                }
+                AnyJsonValue::JsonObjectValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
+                    self.use_enum_initializers = Some(configuration);
+                }
+                _ => {
+                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
+                        "object or string",
+                        value.range(),
+                    ));
+                }
+            },
             "useValidForDirection" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -703,67 +893,45 @@ impl VisitNode for Nursery {
             node,
             &[
                 "recommended",
-                "noAccessKey",
                 "noAssignInExpressions",
                 "noBannedTypes",
                 "noClassAssign",
                 "noCommaOperator",
                 "noConfusingLabels",
-                "noConstEnum",
-                "noConstructorReturn",
-                "noDistractingElements",
                 "noDuplicateCase",
                 "noDuplicateClassMembers",
                 "noDuplicateJsxProps",
-                "noDuplicateObjectKeys",
-                "noEmptyInterface",
                 "noExtraLabels",
-                "noExtraNonNullAssertion",
                 "noExtraSemicolons",
                 "noGlobalObjectCalls",
-                "noHeaderScope",
                 "noInferrableTypes",
                 "noInnerDeclarations",
                 "noInvalidConstructorSuper",
-                "noNonNullAssertion",
                 "noNoninteractiveElementToInteractiveRole",
                 "noParameterProperties",
-                "noPrecisionLoss",
                 "noPrototypeBuiltins",
                 "noRedeclaration",
                 "noRedundantAlt",
-                "noRedundantUseStrict",
                 "noRestrictedGlobals",
                 "noSelfAssignment",
                 "noSelfCompare",
-                "noSetterReturn",
-                "noStringCaseMismatch",
                 "noSvgWithoutTitle",
                 "noSwitchDeclarations",
                 "noUnreachableSuper",
-                "noUnsafeFinally",
                 "noUnsafeOptionalChaining",
                 "noUnusedLabels",
                 "noUselessCatch",
                 "noUselessRename",
                 "noUselessSwitchCase",
-                "noVar",
-                "noVoidTypeReturn",
                 "noWith",
                 "useAriaPropTypes",
                 "useAriaPropsForRole",
                 "useCamelCase",
-                "useConst",
-                "useDefaultParameterLast",
-                "useDefaultSwitchClauseLast",
-                "useEnumInitializers",
                 "useExhaustiveDependencies",
-                "useExponentiationOperator",
                 "useHookAtTopLevel",
                 "useIframeTitle",
                 "useIsNan",
                 "useMediaCaption",
-                "useNumericLiterals",
                 "useValidAriaProps",
                 "useValidLang",
                 "useYield",
@@ -783,24 +951,6 @@ impl VisitNode for Nursery {
             "recommended" => {
                 self.recommended = Some(self.map_to_boolean(&value, name_text, diagnostics)?);
             }
-            "noAccessKey" => match value {
-                AnyJsonValue::JsonStringValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_access_key = Some(configuration);
-                }
-                AnyJsonValue::JsonObjectValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_access_key = Some(configuration);
-                }
-                _ => {
-                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
-                        "object or string",
-                        value.range(),
-                    ));
-                }
-            },
             "noAssignInExpressions" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -891,16 +1041,16 @@ impl VisitNode for Nursery {
                     ));
                 }
             },
-            "noConstEnum" => match value {
+            "noDuplicateCase" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
                     self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_const_enum = Some(configuration);
+                    self.no_duplicate_case = Some(configuration);
                 }
                 AnyJsonValue::JsonObjectValue(_) => {
                     let mut configuration = RuleConfiguration::default();
                     self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_const_enum = Some(configuration);
+                    self.no_duplicate_case = Some(configuration);
                 }
                 _ => {
                     diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
@@ -909,16 +1059,16 @@ impl VisitNode for Nursery {
                     ));
                 }
             },
-            "noConstructorReturn" => match value {
+            "noDuplicateClassMembers" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
                     self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_constructor_return = Some(configuration);
+                    self.no_duplicate_class_members = Some(configuration);
                 }
                 AnyJsonValue::JsonObjectValue(_) => {
                     let mut configuration = RuleConfiguration::default();
                     self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_constructor_return = Some(configuration);
+                    self.no_duplicate_class_members = Some(configuration);
                 }
                 _ => {
                     diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
@@ -927,16 +1077,16 @@ impl VisitNode for Nursery {
                     ));
                 }
             },
-            "noDistractingElements" => match value {
+            "noDuplicateJsxProps" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
                     self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_distracting_elements = Some(configuration);
+                    self.no_duplicate_jsx_props = Some(configuration);
                 }
                 AnyJsonValue::JsonObjectValue(_) => {
                     let mut configuration = RuleConfiguration::default();
                     self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_distracting_elements = Some(configuration);
+                    self.no_duplicate_jsx_props = Some(configuration);
                 }
                 _ => {
                     diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
@@ -945,16 +1095,16 @@ impl VisitNode for Nursery {
                     ));
                 }
             },
-            "noDuplicateCase" => match value {
+            "noExtraLabels" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
                     self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_duplicate_case = Some(configuration);
+                    self.no_extra_labels = Some(configuration);
                 }
                 AnyJsonValue::JsonObjectValue(_) => {
                     let mut configuration = RuleConfiguration::default();
                     self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_duplicate_case = Some(configuration);
+                    self.no_extra_labels = Some(configuration);
                 }
                 _ => {
                     diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
@@ -963,115 +1113,7 @@ impl VisitNode for Nursery {
                     ));
                 }
             },
-            "noDuplicateClassMembers" => match value {
-                AnyJsonValue::JsonStringValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_duplicate_class_members = Some(configuration);
-                }
-                AnyJsonValue::JsonObjectValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_duplicate_class_members = Some(configuration);
-                }
-                _ => {
-                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
-                        "object or string",
-                        value.range(),
-                    ));
-                }
-            },
-            "noDuplicateJsxProps" => match value {
-                AnyJsonValue::JsonStringValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_duplicate_jsx_props = Some(configuration);
-                }
-                AnyJsonValue::JsonObjectValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_duplicate_jsx_props = Some(configuration);
-                }
-                _ => {
-                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
-                        "object or string",
-                        value.range(),
-                    ));
-                }
-            },
-            "noDuplicateObjectKeys" => match value {
-                AnyJsonValue::JsonStringValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_duplicate_object_keys = Some(configuration);
-                }
-                AnyJsonValue::JsonObjectValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_duplicate_object_keys = Some(configuration);
-                }
-                _ => {
-                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
-                        "object or string",
-                        value.range(),
-                    ));
-                }
-            },
-            "noEmptyInterface" => match value {
-                AnyJsonValue::JsonStringValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_empty_interface = Some(configuration);
-                }
-                AnyJsonValue::JsonObjectValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_empty_interface = Some(configuration);
-                }
-                _ => {
-                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
-                        "object or string",
-                        value.range(),
-                    ));
-                }
-            },
-            "noExtraLabels" => match value {
-                AnyJsonValue::JsonStringValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_extra_labels = Some(configuration);
-                }
-                AnyJsonValue::JsonObjectValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_extra_labels = Some(configuration);
-                }
-                _ => {
-                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
-                        "object or string",
-                        value.range(),
-                    ));
-                }
-            },
-            "noExtraNonNullAssertion" => match value {
-                AnyJsonValue::JsonStringValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_extra_non_null_assertion = Some(configuration);
-                }
-                AnyJsonValue::JsonObjectValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_extra_non_null_assertion = Some(configuration);
-                }
-                _ => {
-                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
-                        "object or string",
-                        value.range(),
-                    ));
-                }
-            },
-            "noExtraSemicolons" => match value {
+            "noExtraSemicolons" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
                     self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
@@ -1107,24 +1149,6 @@ impl VisitNode for Nursery {
                     ));
                 }
             },
-            "noHeaderScope" => match value {
-                AnyJsonValue::JsonStringValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_header_scope = Some(configuration);
-                }
-                AnyJsonValue::JsonObjectValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_header_scope = Some(configuration);
-                }
-                _ => {
-                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
-                        "object or string",
-                        value.range(),
-                    ));
-                }
-            },
             "noInferrableTypes" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -1179,24 +1203,6 @@ impl VisitNode for Nursery {
                     ));
                 }
             },
-            "noNonNullAssertion" => match value {
-                AnyJsonValue::JsonStringValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_non_null_assertion = Some(configuration);
-                }
-                AnyJsonValue::JsonObjectValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_non_null_assertion = Some(configuration);
-                }
-                _ => {
-                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
-                        "object or string",
-                        value.range(),
-                    ));
-                }
-            },
             "noNoninteractiveElementToInteractiveRole" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -1233,24 +1239,6 @@ impl VisitNode for Nursery {
                     ));
                 }
             },
-            "noPrecisionLoss" => 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);
-                }
-                AnyJsonValue::JsonObjectValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_precision_loss = Some(configuration);
-                }
-                _ => {
-                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
-                        "object or string",
-                        value.range(),
-                    ));
-                }
-            },
             "noPrototypeBuiltins" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -1305,24 +1293,6 @@ impl VisitNode for Nursery {
                     ));
                 }
             },
-            "noRedundantUseStrict" => match value {
-                AnyJsonValue::JsonStringValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_redundant_use_strict = Some(configuration);
-                }
-                AnyJsonValue::JsonObjectValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_redundant_use_strict = Some(configuration);
-                }
-                _ => {
-                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
-                        "object or string",
-                        value.range(),
-                    ));
-                }
-            },
             "noRestrictedGlobals" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -1377,42 +1347,6 @@ impl VisitNode for Nursery {
                     ));
                 }
             },
-            "noSetterReturn" => 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);
-                }
-                AnyJsonValue::JsonObjectValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_setter_return = Some(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 configuration = RuleConfiguration::default();
-                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_string_case_mismatch = Some(configuration);
-                }
-                _ => {
-                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
-                        "object or string",
-                        value.range(),
-                    ));
-                }
-            },
             "noSvgWithoutTitle" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -1467,24 +1401,6 @@ impl VisitNode for Nursery {
                     ));
                 }
             },
-            "noUnsafeFinally" => match value {
-                AnyJsonValue::JsonStringValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_unsafe_finally = Some(configuration);
-                }
-                AnyJsonValue::JsonObjectValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_unsafe_finally = Some(configuration);
-                }
-                _ => {
-                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
-                        "object or string",
-                        value.range(),
-                    ));
-                }
-            },
             "noUnsafeOptionalChaining" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -1575,42 +1491,6 @@ impl VisitNode for Nursery {
                     ));
                 }
             },
-            "noVar" => match value {
-                AnyJsonValue::JsonStringValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_var = Some(configuration);
-                }
-                AnyJsonValue::JsonObjectValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_var = Some(configuration);
-                }
-                _ => {
-                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
-                        "object or string",
-                        value.range(),
-                    ));
-                }
-            },
-            "noVoidTypeReturn" => match value {
-                AnyJsonValue::JsonStringValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_void_type_return = Some(configuration);
-                }
-                AnyJsonValue::JsonObjectValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.no_void_type_return = Some(configuration);
-                }
-                _ => {
-                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
-                        "object or string",
-                        value.range(),
-                    ));
-                }
-            },
             "noWith" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -1669,102 +1549,12 @@ impl VisitNode for Nursery {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
                     self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.use_camel_case = Some(configuration);
-                }
-                AnyJsonValue::JsonObjectValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.use_camel_case = Some(configuration);
-                }
-                _ => {
-                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
-                        "object or string",
-                        value.range(),
-                    ));
-                }
-            },
-            "useConst" => match value {
-                AnyJsonValue::JsonStringValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.use_const = Some(configuration);
-                }
-                AnyJsonValue::JsonObjectValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.use_const = Some(configuration);
-                }
-                _ => {
-                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
-                        "object or string",
-                        value.range(),
-                    ));
-                }
-            },
-            "useDefaultParameterLast" => match value {
-                AnyJsonValue::JsonStringValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.use_default_parameter_last = Some(configuration);
-                }
-                AnyJsonValue::JsonObjectValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.use_default_parameter_last = Some(configuration);
-                }
-                _ => {
-                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
-                        "object or string",
-                        value.range(),
-                    ));
-                }
-            },
-            "useDefaultSwitchClauseLast" => match value {
-                AnyJsonValue::JsonStringValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.use_default_switch_clause_last = Some(configuration);
-                }
-                AnyJsonValue::JsonObjectValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.use_default_switch_clause_last = Some(configuration);
-                }
-                _ => {
-                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
-                        "object or string",
-                        value.range(),
-                    ));
-                }
-            },
-            "useEnumInitializers" => match value {
-                AnyJsonValue::JsonStringValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.use_enum_initializers = Some(configuration);
-                }
-                AnyJsonValue::JsonObjectValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.use_enum_initializers = Some(configuration);
-                }
-                _ => {
-                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
-                        "object or string",
-                        value.range(),
-                    ));
-                }
-            },
-            "useExhaustiveDependencies" => match value {
-                AnyJsonValue::JsonStringValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.use_exhaustive_dependencies = Some(configuration);
+                    self.use_camel_case = Some(configuration);
                 }
                 AnyJsonValue::JsonObjectValue(_) => {
                     let mut configuration = RuleConfiguration::default();
                     self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.use_exhaustive_dependencies = Some(configuration);
+                    self.use_camel_case = Some(configuration);
                 }
                 _ => {
                     diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
@@ -1773,16 +1563,16 @@ impl VisitNode for Nursery {
                     ));
                 }
             },
-            "useExponentiationOperator" => match value {
+            "useExhaustiveDependencies" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
                     self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.use_exponentiation_operator = Some(configuration);
+                    self.use_exhaustive_dependencies = Some(configuration);
                 }
                 AnyJsonValue::JsonObjectValue(_) => {
                     let mut configuration = RuleConfiguration::default();
                     self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.use_exponentiation_operator = Some(configuration);
+                    self.use_exhaustive_dependencies = Some(configuration);
                 }
                 _ => {
                     diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
@@ -1863,24 +1653,6 @@ impl VisitNode for Nursery {
                     ));
                 }
             },
-            "useNumericLiterals" => match value {
-                AnyJsonValue::JsonStringValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
-                    self.use_numeric_literals = Some(configuration);
-                }
-                AnyJsonValue::JsonObjectValue(_) => {
-                    let mut configuration = RuleConfiguration::default();
-                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
-                    self.use_numeric_literals = Some(configuration);
-                }
-                _ => {
-                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
-                        "object or string",
-                        value.range(),
-                    ));
-                }
-            },
             "useValidAriaProps" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -2070,8 +1842,13 @@ impl VisitNode for Style {
                 "noNegationElse",
                 "noShoutyConstants",
                 "noUnusedTemplateLiteral",
+                "noVar",
                 "useBlockStatements",
+                "useConst",
+                "useDefaultParameterLast",
+                "useExponentiationOperator",
                 "useFragmentSyntax",
+                "useNumericLiterals",
                 "useSelfClosingElements",
                 "useShorthandArrayType",
                 "useSingleCaseStatement",
@@ -2184,6 +1961,24 @@ impl VisitNode for Style {
                     ));
                 }
             },
+            "noVar" => match value {
+                AnyJsonValue::JsonStringValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_var = Some(configuration);
+                }
+                AnyJsonValue::JsonObjectValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_var = Some(configuration);
+                }
+                _ => {
+                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
+                        "object or string",
+                        value.range(),
+                    ));
+                }
+            },
             "useBlockStatements" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -2202,6 +1997,60 @@ impl VisitNode for Style {
                     ));
                 }
             },
+            "useConst" => match value {
+                AnyJsonValue::JsonStringValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
+                    self.use_const = Some(configuration);
+                }
+                AnyJsonValue::JsonObjectValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
+                    self.use_const = Some(configuration);
+                }
+                _ => {
+                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
+                        "object or string",
+                        value.range(),
+                    ));
+                }
+            },
+            "useDefaultParameterLast" => match value {
+                AnyJsonValue::JsonStringValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
+                    self.use_default_parameter_last = Some(configuration);
+                }
+                AnyJsonValue::JsonObjectValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
+                    self.use_default_parameter_last = Some(configuration);
+                }
+                _ => {
+                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
+                        "object or string",
+                        value.range(),
+                    ));
+                }
+            },
+            "useExponentiationOperator" => match value {
+                AnyJsonValue::JsonStringValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
+                    self.use_exponentiation_operator = Some(configuration);
+                }
+                AnyJsonValue::JsonObjectValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
+                    self.use_exponentiation_operator = Some(configuration);
+                }
+                _ => {
+                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
+                        "object or string",
+                        value.range(),
+                    ));
+                }
+            },
             "useFragmentSyntax" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -2220,6 +2069,24 @@ impl VisitNode for Style {
                     ));
                 }
             },
+            "useNumericLiterals" => match value {
+                AnyJsonValue::JsonStringValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
+                    self.use_numeric_literals = Some(configuration);
+                }
+                AnyJsonValue::JsonObjectValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
+                    self.use_numeric_literals = Some(configuration);
+                }
+                _ => {
+                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
+                        "object or string",
+                        value.range(),
+                    ));
+                }
+            },
             "useSelfClosingElements" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -2349,16 +2216,23 @@ impl VisitNode for Suspicious {
                 "noCatchAssign",
                 "noCommentText",
                 "noCompareNegZero",
+                "noConstEnum",
                 "noDebugger",
                 "noDoubleEquals",
                 "noDuplicateParameters",
+                "noEmptyInterface",
                 "noExplicitAny",
+                "noExtraNonNullAssertion",
                 "noFunctionAssign",
                 "noImportAssign",
                 "noLabelVar",
+                "noNonNullAssertion",
+                "noRedundantUseStrict",
+                "noSetterReturn",
                 "noShadowRestrictedNames",
                 "noSparseArray",
                 "noUnsafeNegation",
+                "useDefaultSwitchClauseLast",
                 "useValidTypeof",
             ],
             diagnostics,
@@ -2466,6 +2340,24 @@ impl VisitNode for Suspicious {
                     ));
                 }
             },
+            "noConstEnum" => match value {
+                AnyJsonValue::JsonStringValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_const_enum = Some(configuration);
+                }
+                AnyJsonValue::JsonObjectValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_const_enum = Some(configuration);
+                }
+                _ => {
+                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
+                        "object or string",
+                        value.range(),
+                    ));
+                }
+            },
             "noDebugger" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -2520,6 +2412,24 @@ impl VisitNode for Suspicious {
                     ));
                 }
             },
+            "noEmptyInterface" => match value {
+                AnyJsonValue::JsonStringValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_empty_interface = Some(configuration);
+                }
+                AnyJsonValue::JsonObjectValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_empty_interface = Some(configuration);
+                }
+                _ => {
+                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
+                        "object or string",
+                        value.range(),
+                    ));
+                }
+            },
             "noExplicitAny" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -2538,6 +2448,24 @@ impl VisitNode for Suspicious {
                     ));
                 }
             },
+            "noExtraNonNullAssertion" => match value {
+                AnyJsonValue::JsonStringValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_extra_non_null_assertion = Some(configuration);
+                }
+                AnyJsonValue::JsonObjectValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_extra_non_null_assertion = Some(configuration);
+                }
+                _ => {
+                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
+                        "object or string",
+                        value.range(),
+                    ));
+                }
+            },
             "noFunctionAssign" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -2592,6 +2520,60 @@ impl VisitNode for Suspicious {
                     ));
                 }
             },
+            "noNonNullAssertion" => match value {
+                AnyJsonValue::JsonStringValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_non_null_assertion = Some(configuration);
+                }
+                AnyJsonValue::JsonObjectValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_non_null_assertion = Some(configuration);
+                }
+                _ => {
+                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
+                        "object or string",
+                        value.range(),
+                    ));
+                }
+            },
+            "noRedundantUseStrict" => match value {
+                AnyJsonValue::JsonStringValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_redundant_use_strict = Some(configuration);
+                }
+                AnyJsonValue::JsonObjectValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_redundant_use_strict = Some(configuration);
+                }
+                _ => {
+                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
+                        "object or string",
+                        value.range(),
+                    ));
+                }
+            },
+            "noSetterReturn" => 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);
+                }
+                AnyJsonValue::JsonObjectValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
+                    self.no_setter_return = Some(configuration);
+                }
+                _ => {
+                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
+                        "object or string",
+                        value.range(),
+                    ));
+                }
+            },
             "noShadowRestrictedNames" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
@@ -2646,6 +2628,24 @@ impl VisitNode for Suspicious {
                     ));
                 }
             },
+            "useDefaultSwitchClauseLast" => match value {
+                AnyJsonValue::JsonStringValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_known_string(&value, name_text, &mut configuration, diagnostics)?;
+                    self.use_default_switch_clause_last = Some(configuration);
+                }
+                AnyJsonValue::JsonObjectValue(_) => {
+                    let mut configuration = RuleConfiguration::default();
+                    self.map_to_object(&value, name_text, &mut configuration, diagnostics)?;
+                    self.use_default_switch_clause_last = Some(configuration);
+                }
+                _ => {
+                    diagnostics.push(DeserializationDiagnostic::new_incorrect_type(
+                        "object or string",
+                        value.range(),
+                    ));
+                }
+            },
             "useValidTypeof" => match value {
                 AnyJsonValue::JsonStringValue(_) => {
                     let mut configuration = RuleConfiguration::default();
diff --git a/editors/vscode/configuration_schema.json b/editors/vscode/configuration_schema.json
index 33bb806e153..ca1a656e85a 100644
--- a/editors/vscode/configuration_schema.json
+++ b/editors/vscode/configuration_schema.json
@@ -47,6 +47,13 @@
 			"description": "A list of rules that belong to this group",
 			"type": "object",
 			"properties": {
+				"noAccessKey": {
+					"description": "Enforce that the accessKey attribute is not used on any HTML element.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"noAutofocus": {
 					"description": "Avoid the autoFocus attribute",
 					"anyOf": [
@@ -61,6 +68,20 @@
 						{ "type": "null" }
 					]
 				},
+				"noDistractingElements": {
+					"description": "Enforces that no distracting elements are used.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
+				"noHeaderScope": {
+					"description": "Check that the scope attribute is only used on th elements.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"noPositiveTabindex": {
 					"description": "Prevent the usage of positive integers on tabIndex property",
 					"anyOf": [
@@ -193,6 +214,20 @@
 						{ "type": "null" }
 					]
 				},
+				"noConstructorReturn": {
+					"description": "Disallow returning a value from a constructor.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
+				"noDuplicateObjectKeys": {
+					"description": "Prevents object literals having more than one property declaration for the same name. If an object property with the same name is defined multiple times (except when combining a getter with a setter), only the last definition makes it into the object and previous definitions are ignored, which is likely a mistake.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"noEmptyPattern": {
 					"description": "Disallows empty destructuring patterns.",
 					"anyOf": [
@@ -207,6 +242,13 @@
 						{ "type": "null" }
 					]
 				},
+				"noPrecisionLoss": {
+					"description": "Disallow literal numbers that lose precision",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"noRenderReturnValue": {
 					"description": "Prevent the usage of the return value of React.render.",
 					"anyOf": [
@@ -214,6 +256,13 @@
 						{ "type": "null" }
 					]
 				},
+				"noStringCaseMismatch": {
+					"description": "Disallow comparison of expressions modifying the string case with non-compliant value.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"noUndeclaredVariables": {
 					"description": "Prevents the usage of variables that haven't been declared inside the document",
 					"anyOf": [
@@ -235,6 +284,13 @@
 						{ "type": "null" }
 					]
 				},
+				"noUnsafeFinally": {
+					"description": "Disallow control flow statements in finally blocks.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"noUnusedVariables": {
 					"description": "Disallow unused variables.",
 					"anyOf": [
@@ -249,10 +305,24 @@
 						{ "type": "null" }
 					]
 				},
+				"noVoidTypeReturn": {
+					"description": "Disallow returning a value from a function with the return type 'void'",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"recommended": {
 					"description": "It enables the recommended rules for this group",
 					"type": ["boolean", "null"]
 				},
+				"useEnumInitializers": {
+					"description": "Require that each enum member value be explicitly initialized.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"useValidForDirection": {
 					"description": "Enforce \"for\" loop update clause moving the counter in the right direction.",
 					"anyOf": [
@@ -403,13 +473,6 @@
 			"description": "A list of rules that belong to this group",
 			"type": "object",
 			"properties": {
-				"noAccessKey": {
-					"description": "Enforce that the accessKey attribute is not used on any HTML element.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"noAssignInExpressions": {
 					"description": "Disallow assignments in expressions.",
 					"anyOf": [
@@ -445,27 +508,6 @@
 						{ "type": "null" }
 					]
 				},
-				"noConstEnum": {
-					"description": "Disallow TypeScript const enum",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
-				"noConstructorReturn": {
-					"description": "Disallow returning a value from a constructor.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
-				"noDistractingElements": {
-					"description": "Enforces that no distracting elements are used.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"noDuplicateCase": {
 					"description": "Disallow duplicate case labels. If a switch statement has duplicate test expressions in case clauses, it is likely that a programmer copied a case clause but forgot to change the test expression.",
 					"anyOf": [
@@ -487,20 +529,6 @@
 						{ "type": "null" }
 					]
 				},
-				"noDuplicateObjectKeys": {
-					"description": "Prevents object literals having more than one property declaration for the same name. If an object property with the same name is defined multiple times (except when combining a getter with a setter), only the last definition makes it into the object and previous definitions are ignored, which is likely a mistake.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
-				"noEmptyInterface": {
-					"description": "Disallow the declaration of empty interfaces.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"noExtraLabels": {
 					"description": "Disallow unnecessary labels.",
 					"anyOf": [
@@ -508,13 +536,6 @@
 						{ "type": "null" }
 					]
 				},
-				"noExtraNonNullAssertion": {
-					"description": "Prevents the wrong usage of the non-null assertion operator (!) in TypeScript files.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"noExtraSemicolons": {
 					"description": "Typing mistakes and misunderstandings about where semicolons are required can lead to semicolons that are unnecessary. While not technically an error, extra semicolons can cause confusion when reading code.",
 					"anyOf": [
@@ -529,13 +550,6 @@
 						{ "type": "null" }
 					]
 				},
-				"noHeaderScope": {
-					"description": "Check that the scope attribute is only used on th elements.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"noInferrableTypes": {
 					"description": "Disallow type annotations for variables, parameters, and class properties initialized with a literal expression.",
 					"anyOf": [
@@ -557,13 +571,6 @@
 						{ "type": "null" }
 					]
 				},
-				"noNonNullAssertion": {
-					"description": "Disallow non-null assertions using the ! postfix operator.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"noNoninteractiveElementToInteractiveRole": {
 					"description": "Enforce that interactive ARIA roles are not assigned to non-interactive HTML elements.",
 					"anyOf": [
@@ -578,13 +585,6 @@
 						{ "type": "null" }
 					]
 				},
-				"noPrecisionLoss": {
-					"description": "Disallow literal numbers that lose precision",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"noPrototypeBuiltins": {
 					"description": "Disallow direct use of Object.prototype builtins.",
 					"anyOf": [
@@ -606,13 +606,6 @@
 						{ "type": "null" }
 					]
 				},
-				"noRedundantUseStrict": {
-					"description": "Prevents from having redundant \"use strict\".",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"noRestrictedGlobals": {
 					"description": "This rule allows you to specify global variable names that you don’t want to use in your application.",
 					"anyOf": [
@@ -634,20 +627,6 @@
 						{ "type": "null" }
 					]
 				},
-				"noSetterReturn": {
-					"description": "Disallow returning a value from a setter",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
-				"noStringCaseMismatch": {
-					"description": "Disallow comparison of expressions modifying the string case with non-compliant value.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"noSvgWithoutTitle": {
 					"description": "Enforces the usage of the title element for the svg element.",
 					"anyOf": [
@@ -669,13 +648,6 @@
 						{ "type": "null" }
 					]
 				},
-				"noUnsafeFinally": {
-					"description": "Disallow control flow statements in finally blocks.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"noUnsafeOptionalChaining": {
 					"description": "Disallow the use of optional chaining in contexts where the undefined value is not allowed.",
 					"anyOf": [
@@ -711,20 +683,6 @@
 						{ "type": "null" }
 					]
 				},
-				"noVar": {
-					"description": "Disallow the use of var",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
-				"noVoidTypeReturn": {
-					"description": "Disallow returning a value from a function with the return type 'void'",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"noWith": {
 					"description": "Disallow with statements in non-strict contexts.",
 					"anyOf": [
@@ -757,34 +715,6 @@
 						{ "type": "null" }
 					]
 				},
-				"useConst": {
-					"description": "Require const declarations for variables that are never reassigned after declared.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
-				"useDefaultParameterLast": {
-					"description": "Enforce default function parameters and optional parameters to be last.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
-				"useDefaultSwitchClauseLast": {
-					"description": "Enforce default clauses in switch statements to be last",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
-				"useEnumInitializers": {
-					"description": "Require that each enum member value be explicitly initialized.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"useExhaustiveDependencies": {
 					"description": "Enforce all dependencies are correctly specified.",
 					"anyOf": [
@@ -792,13 +722,6 @@
 						{ "type": "null" }
 					]
 				},
-				"useExponentiationOperator": {
-					"description": "Disallow the use of Math.pow in favor of the ** operator.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"useHookAtTopLevel": {
 					"description": "Enforce that all React hooks are being called from the Top Level component functions.",
 					"anyOf": [
@@ -827,13 +750,6 @@
 						{ "type": "null" }
 					]
 				},
-				"useNumericLiterals": {
-					"description": "Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"useValidAriaProps": {
 					"description": "Ensures that ARIA properties aria-* are all valid.",
 					"anyOf": [
@@ -1005,6 +921,13 @@
 						{ "type": "null" }
 					]
 				},
+				"noVar": {
+					"description": "Disallow the use of var",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"recommended": {
 					"description": "It enables the recommended rules for this group",
 					"type": ["boolean", "null"]
@@ -1016,6 +939,27 @@
 						{ "type": "null" }
 					]
 				},
+				"useConst": {
+					"description": "Require const declarations for variables that are never reassigned after declared.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
+				"useDefaultParameterLast": {
+					"description": "Enforce default function parameters and optional parameters to be last.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
+				"useExponentiationOperator": {
+					"description": "Disallow the use of Math.pow in favor of the ** operator.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"useFragmentSyntax": {
 					"description": "This rule enforces the use of <>... over ....",
 					"anyOf": [
@@ -1023,6 +967,13 @@
 						{ "type": "null" }
 					]
 				},
+				"useNumericLiterals": {
+					"description": "Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"useSelfClosingElements": {
 					"description": "Prevent extra closing tags for components without children",
 					"anyOf": [
@@ -1106,6 +1057,13 @@
 						{ "type": "null" }
 					]
 				},
+				"noConstEnum": {
+					"description": "Disallow TypeScript const enum",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"noDebugger": {
 					"description": "Disallow the use of debugger",
 					"anyOf": [
@@ -1127,6 +1085,13 @@
 						{ "type": "null" }
 					]
 				},
+				"noEmptyInterface": {
+					"description": "Disallow the declaration of empty interfaces.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"noExplicitAny": {
 					"description": "Disallow the any type usage.",
 					"anyOf": [
@@ -1134,6 +1099,13 @@
 						{ "type": "null" }
 					]
 				},
+				"noExtraNonNullAssertion": {
+					"description": "Prevents the wrong usage of the non-null assertion operator (!) in TypeScript files.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"noFunctionAssign": {
 					"description": "Disallow reassigning function declarations.",
 					"anyOf": [
@@ -1155,6 +1127,27 @@
 						{ "type": "null" }
 					]
 				},
+				"noNonNullAssertion": {
+					"description": "Disallow non-null assertions using the ! postfix operator.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
+				"noRedundantUseStrict": {
+					"description": "Prevents from having redundant \"use strict\".",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
+				"noSetterReturn": {
+					"description": "Disallow returning a value from a setter",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"noShadowRestrictedNames": {
 					"description": "Disallow identifiers from shadowing restricted names.",
 					"anyOf": [
@@ -1180,6 +1173,13 @@
 					"description": "It enables the recommended rules for this group",
 					"type": ["boolean", "null"]
 				},
+				"useDefaultSwitchClauseLast": {
+					"description": "Enforce default clauses in switch statements to be last",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"useValidTypeof": {
 					"description": "This rule verifies the result of typeof $expr unary expressions is being compared to valid values, either string literals containing valid type names or other typeof expressions",
 					"anyOf": [
diff --git a/npm/backend-jsonrpc/src/workspace.ts b/npm/backend-jsonrpc/src/workspace.ts
index e40424accd0..88622d5e88d 100644
--- a/npm/backend-jsonrpc/src/workspace.ts
+++ b/npm/backend-jsonrpc/src/workspace.ts
@@ -161,6 +161,10 @@ export type TrailingComma = "all" | "es5" | "none";
  * A list of rules that belong to this group
  */
 export interface A11y {
+	/**
+	 * Enforce that the accessKey attribute is not used on any HTML element.
+	 */
+	noAccessKey?: RuleConfiguration;
 	/**
 	 * Avoid the autoFocus attribute
 	 */
@@ -169,6 +173,14 @@ export interface A11y {
 	 * Disallow target="_blank" attribute without rel="noreferrer"
 	 */
 	noBlankTarget?: RuleConfiguration;
+	/**
+	 * Enforces that no distracting elements are used.
+	 */
+	noDistractingElements?: RuleConfiguration;
+	/**
+	 * Check that the scope attribute is only used on th elements.
+	 */
+	noHeaderScope?: RuleConfiguration;
 	/**
 	 * Prevent the usage of positive integers on tabIndex property
 	 */
@@ -251,6 +263,14 @@ export interface Correctness {
 	 * Prevents from having const variables being re-assigned.
 	 */
 	noConstAssign?: RuleConfiguration;
+	/**
+	 * Disallow returning a value from a constructor.
+	 */
+	noConstructorReturn?: RuleConfiguration;
+	/**
+	 * Prevents object literals having more than one property declaration for the same name. If an object property with the same name is defined multiple times (except when combining a getter with a setter), only the last definition makes it into the object and previous definitions are ignored, which is likely a mistake.
+	 */
+	noDuplicateObjectKeys?: RuleConfiguration;
 	/**
 	 * Disallows empty destructuring patterns.
 	 */
@@ -259,10 +279,18 @@ export interface Correctness {
 	 * Disallow new operators with the Symbol object
 	 */
 	noNewSymbol?: RuleConfiguration;
+	/**
+	 * Disallow literal numbers that lose precision
+	 */
+	noPrecisionLoss?: RuleConfiguration;
 	/**
 	 * Prevent the usage of the return value of React.render.
 	 */
 	noRenderReturnValue?: RuleConfiguration;
+	/**
+	 * Disallow comparison of expressions modifying the string case with non-compliant value.
+	 */
+	noStringCaseMismatch?: RuleConfiguration;
 	/**
 	 * Prevents the usage of variables that haven't been declared inside the document
 	 */
@@ -275,6 +303,10 @@ export interface Correctness {
 	 * Disallow unreachable code
 	 */
 	noUnreachable?: RuleConfiguration;
+	/**
+	 * Disallow control flow statements in finally blocks.
+	 */
+	noUnsafeFinally?: RuleConfiguration;
 	/**
 	 * Disallow unused variables.
 	 */
@@ -283,10 +315,18 @@ export interface Correctness {
 	 * This rules prevents void elements (AKA self-closing elements) from having children.
 	 */
 	noVoidElementsWithChildren?: RuleConfiguration;
+	/**
+	 * Disallow returning a value from a function with the return type 'void'
+	 */
+	noVoidTypeReturn?: RuleConfiguration;
 	/**
 	 * It enables the recommended rules for this group
 	 */
 	recommended?: boolean;
+	/**
+	 * Require that each enum member value be explicitly initialized.
+	 */
+	useEnumInitializers?: RuleConfiguration;
 	/**
 	 * Enforce "for" loop update clause moving the counter in the right direction.
 	 */
@@ -296,10 +336,6 @@ export interface Correctness {
  * A list of rules that belong to this group
  */
 export interface Nursery {
-	/**
-	 * Enforce that the accessKey attribute is not used on any HTML element.
-	 */
-	noAccessKey?: RuleConfiguration;
 	/**
 	 * Disallow assignments in expressions.
 	 */
@@ -320,18 +356,6 @@ export interface Nursery {
 	 * Disallow labeled statements that are not loops.
 	 */
 	noConfusingLabels?: RuleConfiguration;
-	/**
-	 * Disallow TypeScript const enum
-	 */
-	noConstEnum?: RuleConfiguration;
-	/**
-	 * Disallow returning a value from a constructor.
-	 */
-	noConstructorReturn?: RuleConfiguration;
-	/**
-	 * Enforces that no distracting elements are used.
-	 */
-	noDistractingElements?: RuleConfiguration;
 	/**
 	 * Disallow duplicate case labels. If a switch statement has duplicate test expressions in case clauses, it is likely that a programmer copied a case clause but forgot to change the test expression.
 	 */
@@ -344,22 +368,10 @@ export interface Nursery {
 	 * Prevents JSX properties to be assigned multiple times.
 	 */
 	noDuplicateJsxProps?: RuleConfiguration;
-	/**
-	 * Prevents object literals having more than one property declaration for the same name. If an object property with the same name is defined multiple times (except when combining a getter with a setter), only the last definition makes it into the object and previous definitions are ignored, which is likely a mistake.
-	 */
-	noDuplicateObjectKeys?: RuleConfiguration;
-	/**
-	 * Disallow the declaration of empty interfaces.
-	 */
-	noEmptyInterface?: RuleConfiguration;
 	/**
 	 * Disallow unnecessary labels.
 	 */
 	noExtraLabels?: RuleConfiguration;
-	/**
-	 * Prevents the wrong usage of the non-null assertion operator (!) in TypeScript files.
-	 */
-	noExtraNonNullAssertion?: RuleConfiguration;
 	/**
 	 * Typing mistakes and misunderstandings about where semicolons are required can lead to semicolons that are unnecessary. While not technically an error, extra semicolons can cause confusion when reading code.
 	 */
@@ -368,10 +380,6 @@ export interface Nursery {
 	 * Disallow calling global object properties as functions
 	 */
 	noGlobalObjectCalls?: RuleConfiguration;
-	/**
-	 * Check that the scope attribute is only used on th elements.
-	 */
-	noHeaderScope?: RuleConfiguration;
 	/**
 	 * Disallow type annotations for variables, parameters, and class properties initialized with a literal expression.
 	 */
@@ -384,10 +392,6 @@ export interface Nursery {
 	 * Prevents the incorrect use of super() inside classes. It also checks whether a call super() is missing from classes that extends other constructors.
 	 */
 	noInvalidConstructorSuper?: RuleConfiguration;
-	/**
-	 * Disallow non-null assertions using the ! postfix operator.
-	 */
-	noNonNullAssertion?: RuleConfiguration;
 	/**
 	 * Enforce that interactive ARIA roles are not assigned to non-interactive HTML elements.
 	 */
@@ -396,10 +400,6 @@ export interface Nursery {
 	 * Disallow the use of parameter properties in class constructors.
 	 */
 	noParameterProperties?: RuleConfiguration;
-	/**
-	 * Disallow literal numbers that lose precision
-	 */
-	noPrecisionLoss?: RuleConfiguration;
 	/**
 	 * Disallow direct use of Object.prototype builtins.
 	 */
@@ -412,10 +412,6 @@ export interface Nursery {
 	 * Enforce img alt prop does not contain the word "image", "picture", or "photo".
 	 */
 	noRedundantAlt?: RuleConfiguration;
-	/**
-	 * Prevents from having redundant "use strict".
-	 */
-	noRedundantUseStrict?: RuleConfiguration;
 	/**
 	 * This rule allows you to specify global variable names that you don’t want to use in your application.
 	 */
@@ -428,14 +424,6 @@ export interface Nursery {
 	 * Disallow comparisons where both sides are exactly the same.
 	 */
 	noSelfCompare?: RuleConfiguration;
-	/**
-	 * Disallow returning a value from a setter
-	 */
-	noSetterReturn?: RuleConfiguration;
-	/**
-	 * Disallow comparison of expressions modifying the string case with non-compliant value.
-	 */
-	noStringCaseMismatch?: RuleConfiguration;
 	/**
 	 * Enforces the usage of the title element for the svg element.
 	 */
@@ -448,10 +436,6 @@ export interface Nursery {
 	 * Ensures the super() constructor is called exactly once on every code path in a class constructor before this is accessed if the class has a superclass
 	 */
 	noUnreachableSuper?: RuleConfiguration;
-	/**
-	 * Disallow control flow statements in finally blocks.
-	 */
-	noUnsafeFinally?: RuleConfiguration;
 	/**
 	 * Disallow the use of optional chaining in contexts where the undefined value is not allowed.
 	 */
@@ -472,14 +456,6 @@ export interface Nursery {
 	 * Disallow useless case in switch statements.
 	 */
 	noUselessSwitchCase?: RuleConfiguration;
-	/**
-	 * Disallow the use of var
-	 */
-	noVar?: RuleConfiguration;
-	/**
-	 * Disallow returning a value from a function with the return type 'void'
-	 */
-	noVoidTypeReturn?: RuleConfiguration;
 	/**
 	 * Disallow with statements in non-strict contexts.
 	 */
@@ -500,30 +476,10 @@ export interface Nursery {
 	 * Enforce camel case naming convention.
 	 */
 	useCamelCase?: RuleConfiguration;
-	/**
-	 * Require const declarations for variables that are never reassigned after declared.
-	 */
-	useConst?: RuleConfiguration;
-	/**
-	 * Enforce default function parameters and optional parameters to be last.
-	 */
-	useDefaultParameterLast?: RuleConfiguration;
-	/**
-	 * Enforce default clauses in switch statements to be last
-	 */
-	useDefaultSwitchClauseLast?: RuleConfiguration;
-	/**
-	 * Require that each enum member value be explicitly initialized.
-	 */
-	useEnumInitializers?: RuleConfiguration;
 	/**
 	 * Enforce all dependencies are correctly specified.
 	 */
 	useExhaustiveDependencies?: RuleConfiguration;
-	/**
-	 * Disallow the use of Math.pow in favor of the ** operator.
-	 */
-	useExponentiationOperator?: RuleConfiguration;
 	/**
 	 * Enforce that all React hooks are being called from the Top Level component functions.
 	 */
@@ -540,10 +496,6 @@ export interface Nursery {
 	 * Enforces that audio and video elements must have a track for captions.
 	 */
 	useMediaCaption?: RuleConfiguration;
-	/**
-	 * Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals
-	 */
-	useNumericLiterals?: RuleConfiguration;
 	/**
 	 * Ensures that ARIA properties aria-* are all valid.
 	 */
@@ -611,6 +563,10 @@ export interface Style {
 	 * Disallow template literals if interpolation and special-character handling are not needed
 	 */
 	noUnusedTemplateLiteral?: RuleConfiguration;
+	/**
+	 * Disallow the use of var
+	 */
+	noVar?: RuleConfiguration;
 	/**
 	 * It enables the recommended rules for this group
 	 */
@@ -619,10 +575,26 @@ export interface Style {
 	 * Requires following curly brace conventions. JavaScript allows the omission of curly braces when a block contains only one statement. However, it is considered by many to be best practice to never omit curly braces around blocks, even when they are optional, because it can lead to bugs and reduces code clarity.
 	 */
 	useBlockStatements?: RuleConfiguration;
+	/**
+	 * Require const declarations for variables that are never reassigned after declared.
+	 */
+	useConst?: RuleConfiguration;
+	/**
+	 * Enforce default function parameters and optional parameters to be last.
+	 */
+	useDefaultParameterLast?: RuleConfiguration;
+	/**
+	 * Disallow the use of Math.pow in favor of the ** operator.
+	 */
+	useExponentiationOperator?: RuleConfiguration;
 	/**
 	 * This rule enforces the use of <>... over ....
 	 */
 	useFragmentSyntax?: RuleConfiguration;
+	/**
+	 * Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals
+	 */
+	useNumericLiterals?: RuleConfiguration;
 	/**
 	 * Prevent extra closing tags for components without children
 	 */
@@ -672,6 +644,10 @@ export interface Suspicious {
 	 * Disallow comparing against -0
 	 */
 	noCompareNegZero?: RuleConfiguration;
+	/**
+	 * Disallow TypeScript const enum
+	 */
+	noConstEnum?: RuleConfiguration;
 	/**
 	 * Disallow the use of debugger
 	 */
@@ -684,10 +660,18 @@ export interface Suspicious {
 	 * Disallow duplicate function arguments name.
 	 */
 	noDuplicateParameters?: RuleConfiguration;
+	/**
+	 * Disallow the declaration of empty interfaces.
+	 */
+	noEmptyInterface?: RuleConfiguration;
 	/**
 	 * Disallow the any type usage.
 	 */
 	noExplicitAny?: RuleConfiguration;
+	/**
+	 * Prevents the wrong usage of the non-null assertion operator (!) in TypeScript files.
+	 */
+	noExtraNonNullAssertion?: RuleConfiguration;
 	/**
 	 * Disallow reassigning function declarations.
 	 */
@@ -700,6 +684,18 @@ export interface Suspicious {
 	 * Disallow labels that share a name with a variable
 	 */
 	noLabelVar?: RuleConfiguration;
+	/**
+	 * Disallow non-null assertions using the ! postfix operator.
+	 */
+	noNonNullAssertion?: RuleConfiguration;
+	/**
+	 * Prevents from having redundant "use strict".
+	 */
+	noRedundantUseStrict?: RuleConfiguration;
+	/**
+	 * Disallow returning a value from a setter
+	 */
+	noSetterReturn?: RuleConfiguration;
 	/**
 	 * Disallow identifiers from shadowing restricted names.
 	 */
@@ -716,6 +712,10 @@ export interface Suspicious {
 	 * It enables the recommended rules for this group
 	 */
 	recommended?: boolean;
+	/**
+	 * Enforce default clauses in switch statements to be last
+	 */
+	useDefaultSwitchClauseLast?: RuleConfiguration;
 	/**
 	 * This rule verifies the result of typeof $expr unary expressions is being compared to valid values, either string literals containing valid type names or other typeof expressions
 	 */
@@ -809,6 +809,9 @@ export type Category =
 	| "lint/a11y/useKeyWithMouseEvents"
 	| "lint/a11y/useValidAnchor"
 	| "lint/a11y/useHtmlLang"
+	| "lint/a11y/noDistractingElements"
+	| "lint/a11y/noHeaderScope"
+	| "lint/a11y/noAccessKey"
 	| "lint/complexity/noExtraBooleanCast"
 	| "lint/complexity/noMultipleSpacesInRegularExpressionLiterals"
 	| "lint/complexity/noUselessFragments"
@@ -826,31 +829,27 @@ export type Category =
 	| "lint/correctness/noUnusedVariables"
 	| "lint/correctness/noVoidElementsWithChildren"
 	| "lint/correctness/useValidForDirection"
-	| "lint/nursery/noAccessKey"
+	| "lint/correctness/noUnsafeFinally"
+	| "lint/correctness/noDuplicateObjectKeys"
+	| "lint/correctness/noConstructorReturn"
+	| "lint/correctness/useEnumInitializers"
+	| "lint/correctness/noPrecisionLoss"
+	| "lint/correctness/noVoidTypeReturn"
+	| "lint/correctness/noStringCaseMismatch"
 	| "lint/nursery/noAssignInExpressions"
 	| "lint/nursery/noWith"
 	| "lint/nursery/noExtraSemicolons"
 	| "lint/nursery/noBannedTypes"
 	| "lint/nursery/noClassAssign"
 	| "lint/nursery/noCommaOperator"
-	| "lint/nursery/noConstEnum"
-	| "lint/nursery/noConstructorReturn"
-	| "lint/nursery/noDistractingElements"
 	| "lint/nursery/noDuplicateCase"
-	| "lint/nursery/noDuplicateObjectKeys"
-	| "lint/nursery/noEmptyInterface"
 	| "lint/nursery/noExtraLabels"
-	| "lint/nursery/noExtraNonNullAssertion"
-	| "lint/nursery/noHeaderScope"
 	| "lint/nursery/noInferrableTypes"
 	| "lint/nursery/noInnerDeclarations"
 	| "lint/nursery/noInvalidConstructorSuper"
 	| "lint/nursery/noConfusingLabels"
-	| "lint/nursery/noNonNullAssertion"
 	| "lint/nursery/noParameterProperties"
-	| "lint/nursery/noPrecisionLoss"
 	| "lint/nursery/noRedundantAlt"
-	| "lint/nursery/noRedundantUseStrict"
 	| "lint/nursery/noRestrictedGlobals"
 	| "lint/nursery/noSelfCompare"
 	| "lint/nursery/noSelfAssignment"
@@ -858,26 +857,17 @@ export type Category =
 	| "lint/nursery/noStringCaseMismatch"
 	| "lint/nursery/noSwitchDeclarations"
 	| "lint/nursery/noUnreachableSuper"
-	| "lint/nursery/noUnsafeFinally"
 	| "lint/nursery/noUnusedLabels"
 	| "lint/nursery/noUselessSwitchCase"
-	| "lint/nursery/noVar"
-	| "lint/nursery/noVoidTypeReturn"
 	| "lint/nursery/useAriaPropsForRole"
 	| "lint/nursery/useAriaPropTypes"
 	| "lint/nursery/useCamelCase"
-	| "lint/nursery/useConst"
 	| "lint/nursery/useValidLang"
-	| "lint/nursery/useDefaultParameterLast"
-	| "lint/nursery/useDefaultSwitchClauseLast"
-	| "lint/nursery/useEnumInitializers"
 	| "lint/nursery/useValidAriaProps"
 	| "lint/nursery/useExhaustiveDependencies"
-	| "lint/nursery/useExponentiationOperator"
 	| "lint/nursery/useIsNan"
 	| "lint/nursery/useMediaCaption"
 	| "lint/nursery/useIframeTitle"
-	| "lint/nursery/useNumericLiterals"
 	| "lint/nursery/noNoninteractiveElementToInteractiveRole"
 	| "lint/nursery/noUselessRename"
 	| "lint/nursery/useValidForDirection"
@@ -907,6 +897,11 @@ export type Category =
 	| "lint/style/useSingleVarDeclarator"
 	| "lint/style/useTemplate"
 	| "lint/style/useWhile"
+	| "lint/style/useExponentiationOperator"
+	| "lint/style/useNumericLiterals"
+	| "lint/style/useDefaultParameterLast"
+	| "lint/style/useConst"
+	| "lint/style/noVar"
 	| "lint/suspicious/noArrayIndexKey"
 	| "lint/suspicious/noAsyncPromiseExecutor"
 	| "lint/suspicious/noCatchAssign"
@@ -923,6 +918,13 @@ export type Category =
 	| "lint/suspicious/noSparseArray"
 	| "lint/suspicious/noUnsafeNegation"
 	| "lint/suspicious/useValidTypeof"
+	| "lint/suspicious/noEmptyInterface"
+	| "lint/suspicious/noExtraNonNullAssertion"
+	| "lint/suspicious/noRedundantUseStrict"
+	| "lint/suspicious/noNonNullAssertion"
+	| "lint/suspicious/noConstEnum"
+	| "lint/suspicious/noSetterReturn"
+	| "lint/suspicious/useDefaultSwitchClauseLast"
 	| "files/missingHandler"
 	| "format"
 	| "internalError/io"
diff --git a/npm/rome/configuration_schema.json b/npm/rome/configuration_schema.json
index 33bb806e153..ca1a656e85a 100644
--- a/npm/rome/configuration_schema.json
+++ b/npm/rome/configuration_schema.json
@@ -47,6 +47,13 @@
 			"description": "A list of rules that belong to this group",
 			"type": "object",
 			"properties": {
+				"noAccessKey": {
+					"description": "Enforce that the accessKey attribute is not used on any HTML element.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"noAutofocus": {
 					"description": "Avoid the autoFocus attribute",
 					"anyOf": [
@@ -61,6 +68,20 @@
 						{ "type": "null" }
 					]
 				},
+				"noDistractingElements": {
+					"description": "Enforces that no distracting elements are used.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
+				"noHeaderScope": {
+					"description": "Check that the scope attribute is only used on th elements.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"noPositiveTabindex": {
 					"description": "Prevent the usage of positive integers on tabIndex property",
 					"anyOf": [
@@ -193,6 +214,20 @@
 						{ "type": "null" }
 					]
 				},
+				"noConstructorReturn": {
+					"description": "Disallow returning a value from a constructor.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
+				"noDuplicateObjectKeys": {
+					"description": "Prevents object literals having more than one property declaration for the same name. If an object property with the same name is defined multiple times (except when combining a getter with a setter), only the last definition makes it into the object and previous definitions are ignored, which is likely a mistake.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"noEmptyPattern": {
 					"description": "Disallows empty destructuring patterns.",
 					"anyOf": [
@@ -207,6 +242,13 @@
 						{ "type": "null" }
 					]
 				},
+				"noPrecisionLoss": {
+					"description": "Disallow literal numbers that lose precision",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"noRenderReturnValue": {
 					"description": "Prevent the usage of the return value of React.render.",
 					"anyOf": [
@@ -214,6 +256,13 @@
 						{ "type": "null" }
 					]
 				},
+				"noStringCaseMismatch": {
+					"description": "Disallow comparison of expressions modifying the string case with non-compliant value.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"noUndeclaredVariables": {
 					"description": "Prevents the usage of variables that haven't been declared inside the document",
 					"anyOf": [
@@ -235,6 +284,13 @@
 						{ "type": "null" }
 					]
 				},
+				"noUnsafeFinally": {
+					"description": "Disallow control flow statements in finally blocks.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"noUnusedVariables": {
 					"description": "Disallow unused variables.",
 					"anyOf": [
@@ -249,10 +305,24 @@
 						{ "type": "null" }
 					]
 				},
+				"noVoidTypeReturn": {
+					"description": "Disallow returning a value from a function with the return type 'void'",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"recommended": {
 					"description": "It enables the recommended rules for this group",
 					"type": ["boolean", "null"]
 				},
+				"useEnumInitializers": {
+					"description": "Require that each enum member value be explicitly initialized.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"useValidForDirection": {
 					"description": "Enforce \"for\" loop update clause moving the counter in the right direction.",
 					"anyOf": [
@@ -403,13 +473,6 @@
 			"description": "A list of rules that belong to this group",
 			"type": "object",
 			"properties": {
-				"noAccessKey": {
-					"description": "Enforce that the accessKey attribute is not used on any HTML element.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"noAssignInExpressions": {
 					"description": "Disallow assignments in expressions.",
 					"anyOf": [
@@ -445,27 +508,6 @@
 						{ "type": "null" }
 					]
 				},
-				"noConstEnum": {
-					"description": "Disallow TypeScript const enum",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
-				"noConstructorReturn": {
-					"description": "Disallow returning a value from a constructor.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
-				"noDistractingElements": {
-					"description": "Enforces that no distracting elements are used.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"noDuplicateCase": {
 					"description": "Disallow duplicate case labels. If a switch statement has duplicate test expressions in case clauses, it is likely that a programmer copied a case clause but forgot to change the test expression.",
 					"anyOf": [
@@ -487,20 +529,6 @@
 						{ "type": "null" }
 					]
 				},
-				"noDuplicateObjectKeys": {
-					"description": "Prevents object literals having more than one property declaration for the same name. If an object property with the same name is defined multiple times (except when combining a getter with a setter), only the last definition makes it into the object and previous definitions are ignored, which is likely a mistake.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
-				"noEmptyInterface": {
-					"description": "Disallow the declaration of empty interfaces.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"noExtraLabels": {
 					"description": "Disallow unnecessary labels.",
 					"anyOf": [
@@ -508,13 +536,6 @@
 						{ "type": "null" }
 					]
 				},
-				"noExtraNonNullAssertion": {
-					"description": "Prevents the wrong usage of the non-null assertion operator (!) in TypeScript files.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"noExtraSemicolons": {
 					"description": "Typing mistakes and misunderstandings about where semicolons are required can lead to semicolons that are unnecessary. While not technically an error, extra semicolons can cause confusion when reading code.",
 					"anyOf": [
@@ -529,13 +550,6 @@
 						{ "type": "null" }
 					]
 				},
-				"noHeaderScope": {
-					"description": "Check that the scope attribute is only used on th elements.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"noInferrableTypes": {
 					"description": "Disallow type annotations for variables, parameters, and class properties initialized with a literal expression.",
 					"anyOf": [
@@ -557,13 +571,6 @@
 						{ "type": "null" }
 					]
 				},
-				"noNonNullAssertion": {
-					"description": "Disallow non-null assertions using the ! postfix operator.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"noNoninteractiveElementToInteractiveRole": {
 					"description": "Enforce that interactive ARIA roles are not assigned to non-interactive HTML elements.",
 					"anyOf": [
@@ -578,13 +585,6 @@
 						{ "type": "null" }
 					]
 				},
-				"noPrecisionLoss": {
-					"description": "Disallow literal numbers that lose precision",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"noPrototypeBuiltins": {
 					"description": "Disallow direct use of Object.prototype builtins.",
 					"anyOf": [
@@ -606,13 +606,6 @@
 						{ "type": "null" }
 					]
 				},
-				"noRedundantUseStrict": {
-					"description": "Prevents from having redundant \"use strict\".",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"noRestrictedGlobals": {
 					"description": "This rule allows you to specify global variable names that you don’t want to use in your application.",
 					"anyOf": [
@@ -634,20 +627,6 @@
 						{ "type": "null" }
 					]
 				},
-				"noSetterReturn": {
-					"description": "Disallow returning a value from a setter",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
-				"noStringCaseMismatch": {
-					"description": "Disallow comparison of expressions modifying the string case with non-compliant value.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"noSvgWithoutTitle": {
 					"description": "Enforces the usage of the title element for the svg element.",
 					"anyOf": [
@@ -669,13 +648,6 @@
 						{ "type": "null" }
 					]
 				},
-				"noUnsafeFinally": {
-					"description": "Disallow control flow statements in finally blocks.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"noUnsafeOptionalChaining": {
 					"description": "Disallow the use of optional chaining in contexts where the undefined value is not allowed.",
 					"anyOf": [
@@ -711,20 +683,6 @@
 						{ "type": "null" }
 					]
 				},
-				"noVar": {
-					"description": "Disallow the use of var",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
-				"noVoidTypeReturn": {
-					"description": "Disallow returning a value from a function with the return type 'void'",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"noWith": {
 					"description": "Disallow with statements in non-strict contexts.",
 					"anyOf": [
@@ -757,34 +715,6 @@
 						{ "type": "null" }
 					]
 				},
-				"useConst": {
-					"description": "Require const declarations for variables that are never reassigned after declared.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
-				"useDefaultParameterLast": {
-					"description": "Enforce default function parameters and optional parameters to be last.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
-				"useDefaultSwitchClauseLast": {
-					"description": "Enforce default clauses in switch statements to be last",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
-				"useEnumInitializers": {
-					"description": "Require that each enum member value be explicitly initialized.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"useExhaustiveDependencies": {
 					"description": "Enforce all dependencies are correctly specified.",
 					"anyOf": [
@@ -792,13 +722,6 @@
 						{ "type": "null" }
 					]
 				},
-				"useExponentiationOperator": {
-					"description": "Disallow the use of Math.pow in favor of the ** operator.",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"useHookAtTopLevel": {
 					"description": "Enforce that all React hooks are being called from the Top Level component functions.",
 					"anyOf": [
@@ -827,13 +750,6 @@
 						{ "type": "null" }
 					]
 				},
-				"useNumericLiterals": {
-					"description": "Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals",
-					"anyOf": [
-						{ "$ref": "#/definitions/RuleConfiguration" },
-						{ "type": "null" }
-					]
-				},
 				"useValidAriaProps": {
 					"description": "Ensures that ARIA properties aria-* are all valid.",
 					"anyOf": [
@@ -1005,6 +921,13 @@
 						{ "type": "null" }
 					]
 				},
+				"noVar": {
+					"description": "Disallow the use of var",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"recommended": {
 					"description": "It enables the recommended rules for this group",
 					"type": ["boolean", "null"]
@@ -1016,6 +939,27 @@
 						{ "type": "null" }
 					]
 				},
+				"useConst": {
+					"description": "Require const declarations for variables that are never reassigned after declared.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
+				"useDefaultParameterLast": {
+					"description": "Enforce default function parameters and optional parameters to be last.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
+				"useExponentiationOperator": {
+					"description": "Disallow the use of Math.pow in favor of the ** operator.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"useFragmentSyntax": {
 					"description": "This rule enforces the use of <>... over ....",
 					"anyOf": [
@@ -1023,6 +967,13 @@
 						{ "type": "null" }
 					]
 				},
+				"useNumericLiterals": {
+					"description": "Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"useSelfClosingElements": {
 					"description": "Prevent extra closing tags for components without children",
 					"anyOf": [
@@ -1106,6 +1057,13 @@
 						{ "type": "null" }
 					]
 				},
+				"noConstEnum": {
+					"description": "Disallow TypeScript const enum",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"noDebugger": {
 					"description": "Disallow the use of debugger",
 					"anyOf": [
@@ -1127,6 +1085,13 @@
 						{ "type": "null" }
 					]
 				},
+				"noEmptyInterface": {
+					"description": "Disallow the declaration of empty interfaces.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"noExplicitAny": {
 					"description": "Disallow the any type usage.",
 					"anyOf": [
@@ -1134,6 +1099,13 @@
 						{ "type": "null" }
 					]
 				},
+				"noExtraNonNullAssertion": {
+					"description": "Prevents the wrong usage of the non-null assertion operator (!) in TypeScript files.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"noFunctionAssign": {
 					"description": "Disallow reassigning function declarations.",
 					"anyOf": [
@@ -1155,6 +1127,27 @@
 						{ "type": "null" }
 					]
 				},
+				"noNonNullAssertion": {
+					"description": "Disallow non-null assertions using the ! postfix operator.",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
+				"noRedundantUseStrict": {
+					"description": "Prevents from having redundant \"use strict\".",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
+				"noSetterReturn": {
+					"description": "Disallow returning a value from a setter",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"noShadowRestrictedNames": {
 					"description": "Disallow identifiers from shadowing restricted names.",
 					"anyOf": [
@@ -1180,6 +1173,13 @@
 					"description": "It enables the recommended rules for this group",
 					"type": ["boolean", "null"]
 				},
+				"useDefaultSwitchClauseLast": {
+					"description": "Enforce default clauses in switch statements to be last",
+					"anyOf": [
+						{ "$ref": "#/definitions/RuleConfiguration" },
+						{ "type": "null" }
+					]
+				},
 				"useValidTypeof": {
 					"description": "This rule verifies the result of typeof $expr unary expressions is being compared to valid values, either string literals containing valid type names or other typeof expressions",
 					"anyOf": [
diff --git a/website/src/pages/lint/rules/index.mdx b/website/src/pages/lint/rules/index.mdx
index 0dee3357e35..766e551b216 100644
--- a/website/src/pages/lint/rules/index.mdx
+++ b/website/src/pages/lint/rules/index.mdx
@@ -15,6 +15,12 @@ mainClass: rules
 Rules focused on preventing accessibility problems.
 
+

+ noAccessKey +

+Enforce that the accessKey attribute is not used on any HTML element. +
+

noAutofocus recommended @@ -29,6 +35,20 @@ Avoid the autoFocus attribute Disallow target="_blank" attribute without rel="noreferrer"

+

+ noDistractingElements + recommended +

+Enforces that no distracting elements are used. +
+
+

+ noHeaderScope + recommended +

+Check that the scope attribute is only used on th elements. +
+

noPositiveTabindex recommended @@ -157,6 +177,21 @@ Prevent passing of children as props. Prevents from having const variables being re-assigned.

+

+ noConstructorReturn + recommended +

+Disallow returning a value from a constructor. +
+
+

+ noDuplicateObjectKeys + recommended +

+Prevents object literals having more than one property declaration for the same name. +If an object property with the same name is defined multiple times (except when combining a getter with a setter), only the last definition makes it into the object and previous definitions are ignored, which is likely a mistake. +
+

noEmptyPattern recommended @@ -171,6 +206,13 @@ Disallows empty destructuring patterns. Disallow new operators with the Symbol object

+

+ noPrecisionLoss + recommended +

+Disallow literal numbers that lose precision +
+

noRenderReturnValue recommended @@ -178,6 +220,13 @@ Disallow new operators with the Symbol object Prevent the usage of the return value of React.render.

+

+ noStringCaseMismatch + recommended +

+Disallow comparison of expressions modifying the string case with non-compliant value. +
+

noUndeclaredVariables

@@ -198,6 +247,13 @@ Avoid using unnecessary continue. Disallow unreachable code
+

+ noUnsafeFinally + recommended +

+Disallow control flow statements in finally blocks. +
+

noUnusedVariables

@@ -211,6 +267,20 @@ Disallow unused variables. This rules prevents void elements (AKA self-closing elements) from having children.
+

+ noVoidTypeReturn + recommended +

+Disallow returning a value from a function with the return type 'void' +
+
+

+ useEnumInitializers + recommended +

+Require that each enum member value be explicitly initialized. +
+

useValidForDirection recommended @@ -292,6 +362,13 @@ Disallow the use of constants which its value is the upper-case version of its n Disallow template literals if interpolation and special-character handling are not needed

+

+ noVar + recommended +

+Disallow the use of var +
+

useBlockStatements

@@ -299,12 +376,39 @@ Requires following curly brace conventions. JavaScript allows the omission of curly braces when a block contains only one statement. However, it is considered by many to be best practice to never omit curly braces around blocks, even when they are optional, because it can lead to bugs and reduces code clarity.
+

+ useConst + recommended +

+Require const declarations for variables that are never reassigned after declared. +
+
+

+ useDefaultParameterLast + recommended +

+Enforce default function parameters and optional parameters to be last. +
+
+

+ useExponentiationOperator +

+Disallow the use of Math.pow in favor of the ** operator. +
+

useFragmentSyntax

This rule enforces the use of <>...</> over <Fragment>...</Fragment>.
+

+ useNumericLiterals + recommended +

+Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals +
+

useSelfClosingElements recommended @@ -389,6 +493,13 @@ Prevent comments from being inserted as text nodes Disallow comparing against -0

+

+ noConstEnum + recommended +

+Disallow TypeScript const enum +
+

noDebugger recommended @@ -410,6 +521,13 @@ Require the use of === and !== Disallow duplicate function arguments name.

+

+ noEmptyInterface + recommended +

+Disallow the declaration of empty interfaces. +
+

noExplicitAny recommended @@ -417,6 +535,13 @@ Disallow duplicate function arguments name. Disallow the any type usage.

+

+ noExtraNonNullAssertion + recommended +

+Prevents the wrong usage of the non-null assertion operator (!) in TypeScript files. +
+

noFunctionAssign recommended @@ -438,6 +563,26 @@ Disallow assigning to imported bindings Disallow labels that share a name with a variable

+

+ noNonNullAssertion + recommended +

+Disallow non-null assertions using the ! postfix operator. +
+
+

+ noRedundantUseStrict +

+Prevents from having redundant "use strict". +
+
+

+ noSetterReturn + recommended +

+Disallow returning a value from a setter +
+

noShadowRestrictedNames recommended @@ -459,6 +604,13 @@ Disallow sparse arrays Disallow using unsafe negation.

+

+ useDefaultSwitchClauseLast + recommended +

+Enforce default clauses in switch statements to be last +
+

useValidTypeof recommended @@ -482,12 +634,6 @@ 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.
-

- noAccessKey -

-Enforce that the accessKey attribute is not used on any HTML element. -
-

noAssignInExpressions

@@ -518,24 +664,6 @@ Disallow comma operator. Disallow labeled statements that are not loops.
-

- noConstEnum -

-Disallow TypeScript const enum -
-
-

- noConstructorReturn -

-Disallow returning a value from a constructor. -
-
-

- noDistractingElements -

-Enforces that no distracting elements are used. -
-

noDuplicateCase

@@ -555,31 +683,12 @@ Disallow duplicate class members. Prevents JSX properties to be assigned multiple times.
-

- noDuplicateObjectKeys -

-Prevents object literals having more than one property declaration for the same name. -If an object property with the same name is defined multiple times (except when combining a getter with a setter), only the last definition makes it into the object and previous definitions are ignored, which is likely a mistake. -
-
-

- noEmptyInterface -

-Disallow the declaration of empty interfaces. -
-

noExtraLabels

Disallow unnecessary labels.
-

- noExtraNonNullAssertion -

-Prevents the wrong usage of the non-null assertion operator (!) in TypeScript files. -
-

noExtraSemicolons

@@ -593,12 +702,6 @@ While not technically an error, extra semicolons can cause confusion when readin Disallow calling global object properties as functions
-

- noHeaderScope -

-Check that the scope attribute is only used on th elements. -
-

noInferrableTypes

@@ -618,12 +721,6 @@ Prevents the incorrect use of super() inside classes. It also checks whether a call super() is missing from classes that extends other constructors.
-

- noNonNullAssertion -

-Disallow non-null assertions using the ! postfix operator. -
-

noNoninteractiveElementToInteractiveRole

@@ -636,12 +733,6 @@ Enforce that interactive ARIA roles are not assigned to non-interactive HTML ele Disallow the use of parameter properties in class constructors.
-

- noPrecisionLoss -

-Disallow literal numbers that lose precision -
-

noPrototypeBuiltins

@@ -660,12 +751,6 @@ Eliminate variables that have multiple declarations in the same scope. Enforce img alt prop does not contain the word "image", "picture", or "photo".
-

- noRedundantUseStrict -

-Prevents from having redundant "use strict". -
-

noRestrictedGlobals

@@ -684,18 +769,6 @@ Put your description here Disallow comparisons where both sides are exactly the same.
-

- noSetterReturn -

-Disallow returning a value from a setter -
-
-

- noStringCaseMismatch -

-Disallow comparison of expressions modifying the string case with non-compliant value. -
-

noSvgWithoutTitle

@@ -716,12 +789,6 @@ path in a class constructor before this is accessed if the class ha a superclass
-

- noUnsafeFinally -

-Disallow control flow statements in finally blocks. -
-

noUnsafeOptionalChaining

@@ -752,18 +819,6 @@ Disallow renaming import, export, and destructured assignments to the same name. Disallow useless case in switch statements.
-

- noVar -

-Disallow the use of var -
-
-

- noVoidTypeReturn -

-Disallow returning a value from a function with the return type 'void' -
-

noWith

@@ -788,42 +843,12 @@ Enforce that elements with ARIA roles must have all required ARIA attributes for Enforce camel case naming convention.
-

- useConst -

-Require const declarations for variables that are never reassigned after declared. -
-
-

- useDefaultParameterLast -

-Enforce default function parameters and optional parameters to be last. -
-
-

- useDefaultSwitchClauseLast -

-Enforce default clauses in switch statements to be last -
-
-

- useEnumInitializers -

-Require that each enum member value be explicitly initialized. -
-

useExhaustiveDependencies

Enforce all dependencies are correctly specified.
-

- useExponentiationOperator -

-Disallow the use of Math.pow in favor of the ** operator. -
-

useHookAtTopLevel

@@ -849,12 +874,6 @@ Require calls to isNaN() when checking for NaN. Enforces that audio and video elements must have a track for captions.
-

- useNumericLiterals -

-Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals -
-

useValidAriaProps

From 76707827caaf6ed72842cf803727f60a019b9a6a Mon Sep 17 00:00:00 2001 From: Emanuele Stoppa Date: Mon, 27 Feb 2023 09:27:21 +0000 Subject: [PATCH 03/10] fix(rome_service): discovery configuration path --- crates/rome_fs/src/fs.rs | 7 +++++ crates/rome_fs/src/fs/memory.rs | 4 +++ crates/rome_fs/src/fs/os.rs | 5 ++++ crates/rome_service/src/configuration/mod.rs | 27 +++++++++++++++----- rome.json | 10 ++++++++ 5 files changed, 46 insertions(+), 7 deletions(-) diff --git a/crates/rome_fs/src/fs.rs b/crates/rome_fs/src/fs.rs index fa55971b502..875e1e2ac62 100644 --- a/crates/rome_fs/src/fs.rs +++ b/crates/rome_fs/src/fs.rs @@ -28,6 +28,9 @@ pub trait FileSystem: Send + Sync + RefUnwindSafe { fn config_name(&self) -> &str { CONFIG_NAME } + + /// Return the path to the working directory + fn working_directory(&self) -> Option; } pub trait File { @@ -165,6 +168,10 @@ where fn traversal<'scope>(&'scope self, func: BoxedTraversal<'_, 'scope>) { T::traversal(self, func) } + + fn working_directory(&self) -> Option { + T::working_directory(self) + } } #[derive(Debug, Diagnostic)] diff --git a/crates/rome_fs/src/fs/memory.rs b/crates/rome_fs/src/fs/memory.rs index 1d9930da1d6..1cebfcb882f 100644 --- a/crates/rome_fs/src/fs/memory.rs +++ b/crates/rome_fs/src/fs/memory.rs @@ -156,6 +156,10 @@ impl FileSystem for MemoryFileSystem { fn traversal<'scope>(&'scope self, func: BoxedTraversal<'_, 'scope>) { func(&MemoryTraversalScope { fs: self }) } + + fn working_directory(&self) -> Option { + None + } } struct MemoryFile { diff --git a/crates/rome_fs/src/fs/os.rs b/crates/rome_fs/src/fs/os.rs index ccef99e1a1c..ace03401a1b 100644 --- a/crates/rome_fs/src/fs/os.rs +++ b/crates/rome_fs/src/fs/os.rs @@ -9,6 +9,7 @@ use rayon::{scope, Scope}; use rome_diagnostics::{adapters::IoError, DiagnosticExt, Error}; use std::fs::DirEntry; use std::{ + env, ffi::OsStr, fs, io::{self, ErrorKind as IoErrorKind, Read, Seek, Write}, @@ -35,6 +36,10 @@ impl FileSystem for OsFileSystem { func(scope); }) } + + fn working_directory(&self) -> Option { + env::current_dir().ok() + } } struct OsFile { diff --git a/crates/rome_service/src/configuration/mod.rs b/crates/rome_service/src/configuration/mod.rs index 9b80e5ed837..bbf2a0c9ca8 100644 --- a/crates/rome_service/src/configuration/mod.rs +++ b/crates/rome_service/src/configuration/mod.rs @@ -173,12 +173,17 @@ pub fn load_config( base_path: ConfigurationBasePath, ) -> LoadConfig { let config_name = file_system.config_name(); - let mut configuration_path = match base_path { + let working_directory = file_system.working_directory(); + let mut configuration_directory = match base_path { ConfigurationBasePath::Lsp(ref path) | ConfigurationBasePath::FromUser(ref path) => { - path.join(config_name) + path.clone() } - _ => PathBuf::from(config_name), + _ => match working_directory { + Some(wd) => wd, + None => PathBuf::new(), + }, }; + let mut configuration_path = configuration_directory.join(config_name); let should_error = base_path.is_from_user(); info!( "Attempting to read the configuration file from {}", @@ -210,12 +215,20 @@ pub fn load_config( Err(err) => { // base paths from users are not eligible for auto discovery if !base_path.is_from_user() { - if let Some(path) = configuration_path.parent() { + let parent_path = if let Some(path) = configuration_directory.parent() { if path.is_dir() { - configuration_path = path.join(config_name); - from_parent = true; - continue; + Some(PathBuf::from(path)) + } else { + None } + } else { + None + }; + if let Some(new_path) = parent_path { + configuration_directory = new_path; + configuration_path = configuration_directory.join(config_name); + from_parent = true; + continue; } } // We skip the error when the configuration file is not found. diff --git a/rome.json b/rome.json index 87bc86d2aea..5ff717b10d2 100644 --- a/rome.json +++ b/rome.json @@ -1,4 +1,5 @@ { + "$schema": "./npm/rome/configuration_schema.json", "files": { "ignore": [ "website/build", @@ -10,5 +11,14 @@ "ignore": [ "configuration-schema.json" ] + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true, + "suspicious": { + "noNonNullAssertion": "off" + } + } } } From fef2dc7875243bd2b2d93651966877bf50759b9c Mon Sep 17 00:00:00 2001 From: Emanuele Stoppa Date: Mon, 27 Feb 2023 09:30:28 +0000 Subject: [PATCH 04/10] chore: rename --- crates/rome_service/src/configuration/mod.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/rome_service/src/configuration/mod.rs b/crates/rome_service/src/configuration/mod.rs index bbf2a0c9ca8..c013eae6902 100644 --- a/crates/rome_service/src/configuration/mod.rs +++ b/crates/rome_service/src/configuration/mod.rs @@ -215,7 +215,7 @@ pub fn load_config( Err(err) => { // base paths from users are not eligible for auto discovery if !base_path.is_from_user() { - let parent_path = if let Some(path) = configuration_directory.parent() { + let parent_directory = if let Some(path) = configuration_directory.parent() { if path.is_dir() { Some(PathBuf::from(path)) } else { @@ -224,8 +224,8 @@ pub fn load_config( } else { None }; - if let Some(new_path) = parent_path { - configuration_directory = new_path; + if let Some(parent_directory) = parent_directory { + configuration_directory = parent_directory; configuration_path = configuration_directory.join(config_name); from_parent = true; continue; From b4d4fb2c202e709396c8ee6be588b650d824cb51 Mon Sep 17 00:00:00 2001 From: Emanuele Stoppa Date: Wed, 1 Mar 2023 10:11:14 +0000 Subject: [PATCH 05/10] chore: `next` as `12.0.0` --- .../src/analyzers/correctness/no_duplicate_object_keys.rs | 2 +- .../src/analyzers/nursery/no_confusing_labels.rs | 2 +- .../src/analyzers/nursery/no_duplicate_class_members.rs | 2 +- crates/rome_js_analyze/src/analyzers/nursery/no_extra_labels.rs | 2 +- .../src/analyzers/nursery/no_inferrable_types.rs | 2 +- .../src/analyzers/nursery/no_inner_declarations.rs | 2 +- .../src/analyzers/nursery/no_parameter_properties.rs | 2 +- .../src/analyzers/nursery/no_prototype_builtins.rs | 2 +- .../src/analyzers/nursery/no_svg_without_title.rs | 2 +- .../rome_js_analyze/src/analyzers/nursery/no_unused_labels.rs | 2 +- .../rome_js_analyze/src/analyzers/nursery/no_useless_rename.rs | 2 +- crates/rome_js_analyze/src/analyzers/nursery/use_is_nan.rs | 2 +- .../rome_js_analyze/src/analyzers/nursery/use_media_caption.rs | 2 +- crates/rome_js_analyze/src/analyzers/nursery/use_yield.rs | 2 +- .../src/syntax/nursery/no_duplicate_private_class_members.rs | 2 +- website/src/pages/lint/rules/noConfusingLabels.md | 2 +- website/src/pages/lint/rules/noDuplicateClassMembers.md | 2 +- website/src/pages/lint/rules/noExtraLabels.md | 2 +- website/src/pages/lint/rules/noInferrableTypes.md | 2 +- website/src/pages/lint/rules/noInnerDeclarations.md | 2 +- website/src/pages/lint/rules/noParameterProperties.md | 2 +- website/src/pages/lint/rules/noPrototypeBuiltins.md | 2 +- website/src/pages/lint/rules/noSvgWithoutTitle.md | 2 +- website/src/pages/lint/rules/noUnusedLabels.md | 2 +- website/src/pages/lint/rules/noUselessRename.md | 2 +- website/src/pages/lint/rules/useIsNan.md | 2 +- website/src/pages/lint/rules/useMediaCaption.md | 2 +- website/src/pages/lint/rules/useYield.md | 2 +- 28 files changed, 28 insertions(+), 28 deletions(-) diff --git a/crates/rome_js_analyze/src/analyzers/correctness/no_duplicate_object_keys.rs b/crates/rome_js_analyze/src/analyzers/correctness/no_duplicate_object_keys.rs index 35e8afd654f..bf7360e9301 100644 --- a/crates/rome_js_analyze/src/analyzers/correctness/no_duplicate_object_keys.rs +++ b/crates/rome_js_analyze/src/analyzers/correctness/no_duplicate_object_keys.rs @@ -56,7 +56,7 @@ declare_rule! { pub(crate) NoDuplicateObjectKeys { version: "11.0.0", name: "noDuplicateObjectKeys", - recommended: true, // should be once out of nursery + recommended: true, } } diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_confusing_labels.rs b/crates/rome_js_analyze/src/analyzers/nursery/no_confusing_labels.rs index 62cf1032671..38931587bd1 100644 --- a/crates/rome_js_analyze/src/analyzers/nursery/no_confusing_labels.rs +++ b/crates/rome_js_analyze/src/analyzers/nursery/no_confusing_labels.rs @@ -50,7 +50,7 @@ declare_rule! { /// } /// ``` pub(crate) NoConfusingLabels { - version: "next", + version: "12.0.0", name: "noConfusingLabels", recommended: true, } diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_duplicate_class_members.rs b/crates/rome_js_analyze/src/analyzers/nursery/no_duplicate_class_members.rs index 7a36c4b745f..1fe08f93ee0 100644 --- a/crates/rome_js_analyze/src/analyzers/nursery/no_duplicate_class_members.rs +++ b/crates/rome_js_analyze/src/analyzers/nursery/no_duplicate_class_members.rs @@ -85,7 +85,7 @@ declare_rule! { /// ``` /// pub(crate) NoDuplicateClassMembers { - version: "next", + version: "12.0.0", name: "noDuplicateClassMembers", recommended: true, } diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_extra_labels.rs b/crates/rome_js_analyze/src/analyzers/nursery/no_extra_labels.rs index a105d046a1b..61599c967c4 100644 --- a/crates/rome_js_analyze/src/analyzers/nursery/no_extra_labels.rs +++ b/crates/rome_js_analyze/src/analyzers/nursery/no_extra_labels.rs @@ -38,7 +38,7 @@ declare_rule! { /// ``` /// pub(crate) NoExtraLabels { - version: "next", + version: "12.0.0", name: "noExtraLabels", recommended: true, } diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_inferrable_types.rs b/crates/rome_js_analyze/src/analyzers/nursery/no_inferrable_types.rs index 05b7afdf74a..cf30c73ffbd 100644 --- a/crates/rome_js_analyze/src/analyzers/nursery/no_inferrable_types.rs +++ b/crates/rome_js_analyze/src/analyzers/nursery/no_inferrable_types.rs @@ -95,7 +95,7 @@ declare_rule! { /// ``` /// pub(crate) NoInferrableTypes { - version: "next", + version: "12.0.0", name: "noInferrableTypes", recommended: true, } diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_inner_declarations.rs b/crates/rome_js_analyze/src/analyzers/nursery/no_inner_declarations.rs index 7ebbac3b7be..3bcf422c65d 100644 --- a/crates/rome_js_analyze/src/analyzers/nursery/no_inner_declarations.rs +++ b/crates/rome_js_analyze/src/analyzers/nursery/no_inner_declarations.rs @@ -83,7 +83,7 @@ declare_rule! { /// ``` /// pub(crate) NoInnerDeclarations { - version: "next", + version: "12.0.0", name: "noInnerDeclarations", recommended: true, } diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_parameter_properties.rs b/crates/rome_js_analyze/src/analyzers/nursery/no_parameter_properties.rs index 5a37beaa6d3..53c968684d4 100644 --- a/crates/rome_js_analyze/src/analyzers/nursery/no_parameter_properties.rs +++ b/crates/rome_js_analyze/src/analyzers/nursery/no_parameter_properties.rs @@ -33,7 +33,7 @@ declare_rule! { /// ``` /// pub(crate) NoParameterProperties { - version: "next", + version: "12.0.0", name: "noParameterProperties", recommended: false, } diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_prototype_builtins.rs b/crates/rome_js_analyze/src/analyzers/nursery/no_prototype_builtins.rs index aec8d511424..ce7275f634c 100644 --- a/crates/rome_js_analyze/src/analyzers/nursery/no_prototype_builtins.rs +++ b/crates/rome_js_analyze/src/analyzers/nursery/no_prototype_builtins.rs @@ -40,7 +40,7 @@ declare_rule! { /// ``` /// pub(crate) NoPrototypeBuiltins { - version: "next", + version: "12.0.0", name: "noPrototypeBuiltins", recommended: false, } diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_svg_without_title.rs b/crates/rome_js_analyze/src/analyzers/nursery/no_svg_without_title.rs index c972913664b..b88324eff6a 100644 --- a/crates/rome_js_analyze/src/analyzers/nursery/no_svg_without_title.rs +++ b/crates/rome_js_analyze/src/analyzers/nursery/no_svg_without_title.rs @@ -74,7 +74,7 @@ declare_rule! { /// [Contextually Marking up accessible images and SVGs | scottohara.me](https://www.scottohara.me/blog/2019/05/22/contextual-images-svgs-and-a11y.html) /// pub(crate) NoSvgWithoutTitle { - version: "next", + version: "12.0.0", name: "noSvgWithoutTitle", recommended: true, } diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_unused_labels.rs b/crates/rome_js_analyze/src/analyzers/nursery/no_unused_labels.rs index 435e8b476ed..7aacd1518db 100644 --- a/crates/rome_js_analyze/src/analyzers/nursery/no_unused_labels.rs +++ b/crates/rome_js_analyze/src/analyzers/nursery/no_unused_labels.rs @@ -47,7 +47,7 @@ declare_rule! { /// ``` /// pub(crate) NoUnusedLabels { - version: "next", + version: "12.0.0", name: "noUnusedLabels", recommended: true, } diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_useless_rename.rs b/crates/rome_js_analyze/src/analyzers/nursery/no_useless_rename.rs index db2c0a6579a..c161b7e6914 100644 --- a/crates/rome_js_analyze/src/analyzers/nursery/no_useless_rename.rs +++ b/crates/rome_js_analyze/src/analyzers/nursery/no_useless_rename.rs @@ -59,7 +59,7 @@ declare_rule! { /// ``` /// pub(crate) NoUselessRename { - version: "next", + version: "12.0.0", name: "noUselessRename", recommended: true, } diff --git a/crates/rome_js_analyze/src/analyzers/nursery/use_is_nan.rs b/crates/rome_js_analyze/src/analyzers/nursery/use_is_nan.rs index 4c9a54a6257..744c2a85b19 100644 --- a/crates/rome_js_analyze/src/analyzers/nursery/use_is_nan.rs +++ b/crates/rome_js_analyze/src/analyzers/nursery/use_is_nan.rs @@ -54,7 +54,7 @@ declare_rule! { /// ``` /// pub(crate) UseIsNan { - version: "next", + version: "12.0.0", name: "useIsNan", recommended: true, } diff --git a/crates/rome_js_analyze/src/analyzers/nursery/use_media_caption.rs b/crates/rome_js_analyze/src/analyzers/nursery/use_media_caption.rs index e30c9400c15..439914d378f 100644 --- a/crates/rome_js_analyze/src/analyzers/nursery/use_media_caption.rs +++ b/crates/rome_js_analyze/src/analyzers/nursery/use_media_caption.rs @@ -33,7 +33,7 @@ declare_rule! { /// /// ``` pub(crate) UseMediaCaption { - version: "next", + version: "12.0.0", name: "useMediaCaption", recommended: true, } diff --git a/crates/rome_js_analyze/src/analyzers/nursery/use_yield.rs b/crates/rome_js_analyze/src/analyzers/nursery/use_yield.rs index 4f79eab8e69..cfb91b9892e 100644 --- a/crates/rome_js_analyze/src/analyzers/nursery/use_yield.rs +++ b/crates/rome_js_analyze/src/analyzers/nursery/use_yield.rs @@ -42,7 +42,7 @@ declare_rule! { /// function* foo() { } /// ``` pub(crate) UseYield { - version: "next", + version: "12.0.0", name: "useYield", recommended: true, } diff --git a/crates/rome_js_analyze/src/syntax/nursery/no_duplicate_private_class_members.rs b/crates/rome_js_analyze/src/syntax/nursery/no_duplicate_private_class_members.rs index 72d6f915bc4..2eb39767ab5 100644 --- a/crates/rome_js_analyze/src/syntax/nursery/no_duplicate_private_class_members.rs +++ b/crates/rome_js_analyze/src/syntax/nursery/no_duplicate_private_class_members.rs @@ -18,7 +18,7 @@ declare_rule! { // } /// ``` pub(crate) NoDuplicatePrivateClassMembers { - version: "next", + version: "12.0.0", name: "noDuplicatePrivateClassMembers", recommended: false, } diff --git a/website/src/pages/lint/rules/noConfusingLabels.md b/website/src/pages/lint/rules/noConfusingLabels.md index c2117af188f..f363f6ce98f 100644 --- a/website/src/pages/lint/rules/noConfusingLabels.md +++ b/website/src/pages/lint/rules/noConfusingLabels.md @@ -3,7 +3,7 @@ title: Lint Rule noConfusingLabels parent: lint/rules/index --- -# noConfusingLabels (since vnext) +# noConfusingLabels (since v12.0.0) Disallow labeled statements that are not loops. diff --git a/website/src/pages/lint/rules/noDuplicateClassMembers.md b/website/src/pages/lint/rules/noDuplicateClassMembers.md index a8c06fe10f2..ba61d32688b 100644 --- a/website/src/pages/lint/rules/noDuplicateClassMembers.md +++ b/website/src/pages/lint/rules/noDuplicateClassMembers.md @@ -3,7 +3,7 @@ title: Lint Rule noDuplicateClassMembers parent: lint/rules/index --- -# noDuplicateClassMembers (since vnext) +# noDuplicateClassMembers (since v12.0.0) Disallow duplicate class members. diff --git a/website/src/pages/lint/rules/noExtraLabels.md b/website/src/pages/lint/rules/noExtraLabels.md index 54bd22c920f..7d43c07ec6e 100644 --- a/website/src/pages/lint/rules/noExtraLabels.md +++ b/website/src/pages/lint/rules/noExtraLabels.md @@ -3,7 +3,7 @@ title: Lint Rule noExtraLabels parent: lint/rules/index --- -# noExtraLabels (since vnext) +# noExtraLabels (since v12.0.0) Disallow unnecessary labels. diff --git a/website/src/pages/lint/rules/noInferrableTypes.md b/website/src/pages/lint/rules/noInferrableTypes.md index d346dcfea8a..045f74de77c 100644 --- a/website/src/pages/lint/rules/noInferrableTypes.md +++ b/website/src/pages/lint/rules/noInferrableTypes.md @@ -3,7 +3,7 @@ title: Lint Rule noInferrableTypes parent: lint/rules/index --- -# noInferrableTypes (since vnext) +# noInferrableTypes (since v12.0.0) Disallow type annotations for variables, parameters, and class properties initialized with a literal expression. diff --git a/website/src/pages/lint/rules/noInnerDeclarations.md b/website/src/pages/lint/rules/noInnerDeclarations.md index 46e2b1ee0aa..0cf1e656e2c 100644 --- a/website/src/pages/lint/rules/noInnerDeclarations.md +++ b/website/src/pages/lint/rules/noInnerDeclarations.md @@ -3,7 +3,7 @@ title: Lint Rule noInnerDeclarations parent: lint/rules/index --- -# noInnerDeclarations (since vnext) +# noInnerDeclarations (since v12.0.0) Disallow `function` and `var` declarations in nested blocks. diff --git a/website/src/pages/lint/rules/noParameterProperties.md b/website/src/pages/lint/rules/noParameterProperties.md index 5612835eb78..89b93d71829 100644 --- a/website/src/pages/lint/rules/noParameterProperties.md +++ b/website/src/pages/lint/rules/noParameterProperties.md @@ -3,7 +3,7 @@ title: Lint Rule noParameterProperties parent: lint/rules/index --- -# noParameterProperties (since vnext) +# noParameterProperties (since v12.0.0) Disallow the use of parameter properties in class constructors. diff --git a/website/src/pages/lint/rules/noPrototypeBuiltins.md b/website/src/pages/lint/rules/noPrototypeBuiltins.md index 6e54c32b2fa..6f6169d9ac4 100644 --- a/website/src/pages/lint/rules/noPrototypeBuiltins.md +++ b/website/src/pages/lint/rules/noPrototypeBuiltins.md @@ -3,7 +3,7 @@ title: Lint Rule noPrototypeBuiltins parent: lint/rules/index --- -# noPrototypeBuiltins (since vnext) +# noPrototypeBuiltins (since v12.0.0) Disallow direct use of `Object.prototype` builtins. diff --git a/website/src/pages/lint/rules/noSvgWithoutTitle.md b/website/src/pages/lint/rules/noSvgWithoutTitle.md index 52053d334e2..70a1f92ac54 100644 --- a/website/src/pages/lint/rules/noSvgWithoutTitle.md +++ b/website/src/pages/lint/rules/noSvgWithoutTitle.md @@ -3,7 +3,7 @@ title: Lint Rule noSvgWithoutTitle parent: lint/rules/index --- -# noSvgWithoutTitle (since vnext) +# noSvgWithoutTitle (since v12.0.0) Enforces the usage of the `title` element for the `svg` element. diff --git a/website/src/pages/lint/rules/noUnusedLabels.md b/website/src/pages/lint/rules/noUnusedLabels.md index 828310890a0..3db409b534b 100644 --- a/website/src/pages/lint/rules/noUnusedLabels.md +++ b/website/src/pages/lint/rules/noUnusedLabels.md @@ -3,7 +3,7 @@ title: Lint Rule noUnusedLabels parent: lint/rules/index --- -# noUnusedLabels (since vnext) +# noUnusedLabels (since v12.0.0) Disallow unused labels. diff --git a/website/src/pages/lint/rules/noUselessRename.md b/website/src/pages/lint/rules/noUselessRename.md index bd5c50b1a50..2cbba5d6d47 100644 --- a/website/src/pages/lint/rules/noUselessRename.md +++ b/website/src/pages/lint/rules/noUselessRename.md @@ -3,7 +3,7 @@ title: Lint Rule noUselessRename parent: lint/rules/index --- -# noUselessRename (since vnext) +# noUselessRename (since v12.0.0) Disallow renaming import, export, and destructured assignments to the same name. diff --git a/website/src/pages/lint/rules/useIsNan.md b/website/src/pages/lint/rules/useIsNan.md index 6c142156d74..54b63841f0c 100644 --- a/website/src/pages/lint/rules/useIsNan.md +++ b/website/src/pages/lint/rules/useIsNan.md @@ -3,7 +3,7 @@ title: Lint Rule useIsNan parent: lint/rules/index --- -# useIsNan (since vnext) +# useIsNan (since v12.0.0) Require calls to `isNaN()` when checking for `NaN`. diff --git a/website/src/pages/lint/rules/useMediaCaption.md b/website/src/pages/lint/rules/useMediaCaption.md index 827a10b01e9..b15bcd1dbf6 100644 --- a/website/src/pages/lint/rules/useMediaCaption.md +++ b/website/src/pages/lint/rules/useMediaCaption.md @@ -3,7 +3,7 @@ title: Lint Rule useMediaCaption parent: lint/rules/index --- -# useMediaCaption (since vnext) +# useMediaCaption (since v12.0.0) Enforces that `audio` and `video` elements must have a `track` for captions. diff --git a/website/src/pages/lint/rules/useYield.md b/website/src/pages/lint/rules/useYield.md index 632e09d48b3..15d5a8767a9 100644 --- a/website/src/pages/lint/rules/useYield.md +++ b/website/src/pages/lint/rules/useYield.md @@ -3,7 +3,7 @@ title: Lint Rule useYield parent: lint/rules/index --- -# useYield (since vnext) +# useYield (since v12.0.0) Require generator functions to contain `yield`. From 5bcc7111600318fcd7cb63645e0b67448005b0d7 Mon Sep 17 00:00:00 2001 From: Emanuele Stoppa Date: Wed, 1 Mar 2023 10:13:10 +0000 Subject: [PATCH 06/10] chore: rebase --- .../rome_js_analyze/src/analyzers/nursery.rs | 22 +------------------ 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/crates/rome_js_analyze/src/analyzers/nursery.rs b/crates/rome_js_analyze/src/analyzers/nursery.rs index a6434859c9d..6a065211849 100644 --- a/crates/rome_js_analyze/src/analyzers/nursery.rs +++ b/crates/rome_js_analyze/src/analyzers/nursery.rs @@ -1,54 +1,34 @@ //! Generated file, do not edit by hand, see `xtask/codegen` use rome_analyze::declare_group; -mod no_access_key; mod no_assign_in_expressions; mod no_banned_types; mod no_comma_operator; mod no_confusing_labels; -mod no_const_enum; -mod no_constructor_return; -mod no_distracting_elements; mod no_duplicate_case; mod no_duplicate_class_members; mod no_duplicate_jsx_props; -mod no_duplicate_object_keys; -mod no_empty_interface; mod no_extra_labels; -mod no_extra_non_null_assertion; mod no_extra_semicolons; mod no_global_object_calls; -mod no_header_scope; mod no_inferrable_types; mod no_inner_declarations; mod no_invalid_constructor_super; -mod no_non_null_assertion; mod no_parameter_properties; -mod no_precision_loss; mod no_prototype_builtins; mod no_redundant_alt; -mod no_redundant_use_strict; mod no_self_assignment; mod no_self_compare; -mod no_setter_return; -mod no_string_case_mismatch; mod no_svg_without_title; mod no_switch_declarations; mod no_unreachable_super; -mod no_unsafe_finally; mod no_unsafe_optional_chaining; mod no_unused_labels; mod no_useless_catch; mod no_useless_rename; mod no_useless_switch_case; -mod no_void_type_return; mod no_with; -mod use_default_parameter_last; -mod use_default_switch_clause_last; -mod use_enum_initializers; -mod use_exponentiation_operator; mod use_is_nan; mod use_media_caption; -mod use_numeric_literals; mod use_yield; -declare_group! { pub (crate) Nursery { name : "nursery" , rules : [self :: no_access_key :: NoAccessKey , self :: no_assign_in_expressions :: NoAssignInExpressions , self :: no_banned_types :: NoBannedTypes , self :: no_comma_operator :: NoCommaOperator , self :: no_confusing_labels :: NoConfusingLabels , self :: no_const_enum :: NoConstEnum , self :: no_constructor_return :: NoConstructorReturn , self :: no_distracting_elements :: NoDistractingElements , self :: no_duplicate_case :: NoDuplicateCase , self :: no_duplicate_class_members :: NoDuplicateClassMembers , self :: no_duplicate_jsx_props :: NoDuplicateJsxProps , self :: no_duplicate_object_keys :: NoDuplicateObjectKeys , self :: no_empty_interface :: NoEmptyInterface , self :: no_extra_labels :: NoExtraLabels , self :: no_extra_non_null_assertion :: NoExtraNonNullAssertion , self :: no_extra_semicolons :: NoExtraSemicolons , self :: no_global_object_calls :: NoGlobalObjectCalls , self :: no_header_scope :: NoHeaderScope , self :: no_inferrable_types :: NoInferrableTypes , self :: no_inner_declarations :: NoInnerDeclarations , self :: no_invalid_constructor_super :: NoInvalidConstructorSuper , self :: no_non_null_assertion :: NoNonNullAssertion , self :: no_parameter_properties :: NoParameterProperties , self :: no_precision_loss :: NoPrecisionLoss , self :: no_prototype_builtins :: NoPrototypeBuiltins , self :: no_redundant_alt :: NoRedundantAlt , self :: no_redundant_use_strict :: NoRedundantUseStrict , self :: no_self_assignment :: NoSelfAssignment , self :: no_self_compare :: NoSelfCompare , self :: no_setter_return :: NoSetterReturn , self :: no_string_case_mismatch :: NoStringCaseMismatch , self :: no_svg_without_title :: NoSvgWithoutTitle , self :: no_switch_declarations :: NoSwitchDeclarations , self :: no_unreachable_super :: NoUnreachableSuper , self :: no_unsafe_finally :: NoUnsafeFinally , self :: no_unsafe_optional_chaining :: NoUnsafeOptionalChaining , self :: no_unused_labels :: NoUnusedLabels , self :: no_useless_catch :: NoUselessCatch , self :: no_useless_rename :: NoUselessRename , self :: no_useless_switch_case :: NoUselessSwitchCase , self :: no_void_type_return :: NoVoidTypeReturn , self :: no_with :: NoWith , self :: use_default_parameter_last :: UseDefaultParameterLast , self :: use_default_switch_clause_last :: UseDefaultSwitchClauseLast , self :: use_enum_initializers :: UseEnumInitializers , self :: use_exponentiation_operator :: UseExponentiationOperator , self :: use_is_nan :: UseIsNan , self :: use_media_caption :: UseMediaCaption , self :: use_numeric_literals :: UseNumericLiterals , self :: use_yield :: UseYield ,] } } +declare_group! { pub (crate) Nursery { name : "nursery" , rules : [self :: no_assign_in_expressions :: NoAssignInExpressions , self :: no_banned_types :: NoBannedTypes , self :: no_comma_operator :: NoCommaOperator , self :: no_confusing_labels :: NoConfusingLabels , self :: no_duplicate_case :: NoDuplicateCase , self :: no_duplicate_class_members :: NoDuplicateClassMembers , self :: no_duplicate_jsx_props :: NoDuplicateJsxProps , self :: no_extra_labels :: NoExtraLabels , self :: no_extra_semicolons :: NoExtraSemicolons , self :: no_global_object_calls :: NoGlobalObjectCalls , self :: no_inferrable_types :: NoInferrableTypes , self :: no_inner_declarations :: NoInnerDeclarations , self :: no_invalid_constructor_super :: NoInvalidConstructorSuper , self :: no_parameter_properties :: NoParameterProperties , self :: no_prototype_builtins :: NoPrototypeBuiltins , self :: no_redundant_alt :: NoRedundantAlt , self :: no_self_assignment :: NoSelfAssignment , self :: no_self_compare :: NoSelfCompare , self :: no_svg_without_title :: NoSvgWithoutTitle , self :: no_switch_declarations :: NoSwitchDeclarations , self :: no_unreachable_super :: NoUnreachableSuper , self :: no_unsafe_optional_chaining :: NoUnsafeOptionalChaining , self :: no_unused_labels :: NoUnusedLabels , self :: no_useless_catch :: NoUselessCatch , self :: no_useless_rename :: NoUselessRename , self :: no_useless_switch_case :: NoUselessSwitchCase , self :: no_with :: NoWith , self :: use_is_nan :: UseIsNan , self :: use_media_caption :: UseMediaCaption , self :: use_yield :: UseYield ,] } } From 5f6551a8ceb78aa9cf921617836f86343b0eecbc Mon Sep 17 00:00:00 2001 From: Emanuele Stoppa Date: Wed, 1 Mar 2023 11:24:13 +0000 Subject: [PATCH 07/10] chore: update snapshots and TS code --- ..._runs_linter_not_formatter_issue_3495.snap | 2 +- .../incorrect_rule_name.snap | 7 +++++ website/pnpm-lock.yaml | 30 +++++++------------ website/src/playground/workers/romeWorker.ts | 4 --- 4 files changed, 18 insertions(+), 25 deletions(-) diff --git a/crates/rome_cli/tests/snapshots/main_commands_ci/ci_runs_linter_not_formatter_issue_3495.snap b/crates/rome_cli/tests/snapshots/main_commands_ci/ci_runs_linter_not_formatter_issue_3495.snap index c7e83a3980c..51ee54b4fc2 100644 --- a/crates/rome_cli/tests/snapshots/main_commands_ci/ci_runs_linter_not_formatter_issue_3495.snap +++ b/crates/rome_cli/tests/snapshots/main_commands_ci/ci_runs_linter_not_formatter_issue_3495.snap @@ -49,7 +49,7 @@ file.js:1:9 lint/complexity/useSimplifiedLogicExpression FIXABLE ━━━━ ``` ```block -file.js:1:1 lint/nursery/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +file.js:1:1 lint/style/useConst FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × This 'let' declares a variable which is never re-assigned. diff --git a/crates/rome_cli/tests/snapshots/main_configuration/incorrect_rule_name.snap b/crates/rome_cli/tests/snapshots/main_configuration/incorrect_rule_name.snap index a4edfc520d6..a518a10887e 100644 --- a/crates/rome_cli/tests/snapshots/main_configuration/incorrect_rule_name.snap +++ b/crates/rome_cli/tests/snapshots/main_configuration/incorrect_rule_name.snap @@ -54,14 +54,21 @@ rome.json:6:13 configuration ━━━━━━━━━━━━━━━━━ - recommended - noChildrenProp - noConstAssign + - noConstructorReturn + - noDuplicateObjectKeys - noEmptyPattern - noNewSymbol + - noPrecisionLoss - noRenderReturnValue + - noStringCaseMismatch - noUndeclaredVariables - noUnnecessaryContinue - noUnreachable + - noUnsafeFinally - noUnusedVariables - noVoidElementsWithChildren + - noVoidTypeReturn + - useEnumInitializers - useValidForDirection diff --git a/website/pnpm-lock.yaml b/website/pnpm-lock.yaml index 2c3fe91dee8..843f6eaf75b 100644 --- a/website/pnpm-lock.yaml +++ b/website/pnpm-lock.yaml @@ -63,7 +63,7 @@ devDependencies: '@types/prettier': 2.7.1 '@types/react': 17.0.52 '@types/react-dom': 17.0.18 - '@uiw/react-codemirror': 4.13.2_ai5dpkfsh6bew42tf7jao77pla + '@uiw/react-codemirror': 4.13.2_j2evrivwfzdgwlskrcnfwd23wi '@vitejs/plugin-react': 2.2.0_vite@3.1.8 astro: 1.6.7_ajklay5k626t46b6fyghkbup3i astro-compress: 1.1.3 @@ -625,11 +625,8 @@ packages: resolution: {integrity: sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==} dev: true - /@codemirror/autocomplete/6.3.0_ebfztrivxsawr3nzgdquexqq6q: + /@codemirror/autocomplete/6.3.0: resolution: {integrity: sha512-4jEvh3AjJZTDKazd10J6ZsCIqaYxDMCeua5ouQxY8hlFIml+nr7le0SgBhT3SIytFBmdzPK3AUhXGuW3T79nVg==} - peerDependencies: - '@codemirror/state': ^6.0.0 - '@codemirror/view': ^6.0.0 dependencies: '@codemirror/language': 6.3.0 '@codemirror/state': 6.1.2 @@ -649,7 +646,7 @@ packages: /@codemirror/lang-javascript/6.1.1: resolution: {integrity: sha512-F4+kiuC5d5dUSJmff96tJQwpEXs/tX/4bapMRnZWW6bHKK1Fx6MunTzopkCUWRa9bF87GPmb9m7Qtg7Yv8f3uQ==} dependencies: - '@codemirror/autocomplete': 6.3.0_ebfztrivxsawr3nzgdquexqq6q + '@codemirror/autocomplete': 6.3.0 '@codemirror/language': 6.3.0 '@codemirror/lint': 6.0.0 '@codemirror/state': 6.1.2 @@ -1328,14 +1325,10 @@ packages: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} dev: true - /@uiw/codemirror-extensions-basic-setup/4.13.2_taect3vlcl4b4hfcnqjzfij36u: + /@uiw/codemirror-extensions-basic-setup/4.13.2: resolution: {integrity: sha512-ATJA7WaZ5g7/0teNBQRIalK3RxfU9X7hviwh6BOelaeJrJjkY6x+jVaACYywP1GStsIKcjNCumakpmRPO9w4sQ==} - peerDependencies: - '@codemirror/lint': '>=6.0.0' - '@codemirror/state': '>=6.0.0' - '@codemirror/view': '>=6.0.0' dependencies: - '@codemirror/autocomplete': 6.3.0_ebfztrivxsawr3nzgdquexqq6q + '@codemirror/autocomplete': 6.3.0 '@codemirror/commands': 6.1.2 '@codemirror/language': 6.3.0 '@codemirror/lint': 6.0.0 @@ -1344,10 +1337,9 @@ packages: '@codemirror/view': 6.4.0 dev: true - /@uiw/react-codemirror/4.13.2_ai5dpkfsh6bew42tf7jao77pla: + /@uiw/react-codemirror/4.13.2_j2evrivwfzdgwlskrcnfwd23wi: resolution: {integrity: sha512-sMfb8F82yLSqyq1gEUlr14E4KGXDfvsCnkGLLwJZqsq/TvJTRVcy0GX87wn3GXBtGhNp5TvGFUDaCnFzbU4bIQ==} peerDependencies: - '@codemirror/state': '>=6.0.0' '@codemirror/view': '>=6.0.0' react: '>=16.8.0' react-dom: '>=16.8.0' @@ -1357,12 +1349,10 @@ packages: '@codemirror/state': 6.1.2 '@codemirror/theme-one-dark': 6.1.0 '@codemirror/view': 6.4.0 - '@uiw/codemirror-extensions-basic-setup': 4.13.2_taect3vlcl4b4hfcnqjzfij36u + '@uiw/codemirror-extensions-basic-setup': 4.13.2 codemirror: 6.0.1 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 - transitivePeerDependencies: - - '@codemirror/lint' dev: true /@vitejs/plugin-react/2.2.0_vite@3.1.8: @@ -1801,7 +1791,7 @@ packages: /codemirror-lang-rome-ast/0.0.6: resolution: {integrity: sha512-2E4E4rNcj6XxLsVjCZJeOsdEXpfdgiejuLrbq6O4muXzf0KSv5X0ScQrs3LK5LmGwoQUC0AowYbfdj3lsaLWkQ==} dependencies: - '@codemirror/autocomplete': 6.3.0_ebfztrivxsawr3nzgdquexqq6q + '@codemirror/autocomplete': 6.3.0 '@codemirror/language': 6.3.0 '@codemirror/state': 6.1.2 '@codemirror/view': 6.4.0 @@ -1813,7 +1803,7 @@ packages: /codemirror/6.0.1: resolution: {integrity: sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==} dependencies: - '@codemirror/autocomplete': 6.3.0_ebfztrivxsawr3nzgdquexqq6q + '@codemirror/autocomplete': 6.3.0 '@codemirror/commands': 6.1.2 '@codemirror/language': 6.3.0 '@codemirror/lint': 6.0.0 @@ -3796,7 +3786,7 @@ packages: /lang-rome-formatter-ir/0.0.2: resolution: {integrity: sha512-Zx7uZ6SA1vmMWkM7UbDZlex8MGOCQNBkxN9sAjeGgGHx69DNuR8E4GPfHFHI2P7oFLvXMrmAMPUY2jbEH9wtOA==} dependencies: - '@codemirror/autocomplete': 6.3.0_ebfztrivxsawr3nzgdquexqq6q + '@codemirror/autocomplete': 6.3.0 '@codemirror/language': 6.3.0 '@codemirror/state': 6.1.2 '@codemirror/view': 6.4.0 diff --git a/website/src/playground/workers/romeWorker.ts b/website/src/playground/workers/romeWorker.ts index 0f37c3768d7..48f05a5ed67 100644 --- a/website/src/playground/workers/romeWorker.ts +++ b/website/src/playground/workers/romeWorker.ts @@ -127,10 +127,6 @@ self.addEventListener("message", async (e) => { useFragmentSyntax: "warn", }, nursery: { - noAccessKey: "warn", - noNonNullAssertion: "warn", - noPrecisionLoss: "warn", - noRedundantUseStrict: "warn", useAriaPropTypes: "warn", noRestrictedGlobals: "warn", useCamelCase: "warn", From b41622f52433b62fef68d2c1c02f993b0ef48585 Mon Sep 17 00:00:00 2001 From: Emanuele Stoppa Date: Wed, 1 Mar 2023 14:39:11 +0000 Subject: [PATCH 08/10] chore: apply suggestions --- .../fs_error_dereferenced_symlink.snap | 45 ++++++ .../fs_error_infinite_symlink_expansion.snap | 45 ++++++ .../should_disable_a_rule_group.snap | 6 - ..._runs_linter_not_formatter_issue_3495.snap | 16 -- .../incorrect_rule_name.snap | 3 +- .../src/categories.rs | 10 +- .../use_simplified_logic_expression.rs | 2 +- .../src/analyzers/correctness.rs | 5 +- .../no_setter_return.rs | 0 crates/rome_js_analyze/src/analyzers/style.rs | 4 +- .../no_non_null_assertion.rs | 0 .../use_enum_initializers.rs | 0 .../src/analyzers/suspicious.rs | 5 +- .../no_duplicate_object_keys.rs | 0 .../noSetterReturn/invalid.js | 0 .../noSetterReturn/invalid.js.snap | 46 +++--- .../noSetterReturn/valid.js | 0 .../noSetterReturn/valid.js.snap | 0 .../noNonNullAssertion/invalid.ts | 0 .../noNonNullAssertion/invalid.ts.snap | 40 ++--- .../noNonNullAssertion/valid.ts | 0 .../noNonNullAssertion/valid.ts.snap | 0 .../useEnumInitializers/invalid.ts | 0 .../useEnumInitializers/invalid.ts.snap | 18 +-- .../useEnumInitializers/valid.ts | 0 .../useEnumInitializers/valid.ts.snap | 0 .../noDuplicateObjectKeys.js | 0 .../suppression/noDuplicateObjectKeys.js.snap | 53 +++++++ .../src/configuration/parse/json/rules.rs | 146 +++++++++--------- editors/vscode/configuration_schema.json | 56 +++---- npm/backend-jsonrpc/src/workspace.ts | 40 ++--- npm/rome/configuration_schema.json | 56 +++---- website/src/pages/lint/rules/index.mdx | 59 ++++--- .../pages/lint/rules/noDuplicateObjectKeys.md | 4 +- .../pages/lint/rules/noNonNullAssertion.md | 4 +- .../src/pages/lint/rules/noSetterReturn.md | 6 +- .../pages/lint/rules/useEnumInitializers.md | 6 +- .../rules/useSimplifiedLogicExpression.md | 10 +- 38 files changed, 402 insertions(+), 283 deletions(-) rename crates/rome_js_analyze/src/analyzers/{suspicious => correctness}/no_setter_return.rs (100%) rename crates/rome_js_analyze/src/analyzers/{suspicious => style}/no_non_null_assertion.rs (100%) rename crates/rome_js_analyze/src/analyzers/{correctness => style}/use_enum_initializers.rs (100%) rename crates/rome_js_analyze/src/analyzers/{correctness => suspicious}/no_duplicate_object_keys.rs (100%) rename crates/rome_js_analyze/tests/specs/{suspicious => correctness}/noSetterReturn/invalid.js (100%) rename crates/rome_js_analyze/tests/specs/{suspicious => correctness}/noSetterReturn/invalid.js.snap (87%) rename crates/rome_js_analyze/tests/specs/{suspicious => correctness}/noSetterReturn/valid.js (100%) rename crates/rome_js_analyze/tests/specs/{suspicious => correctness}/noSetterReturn/valid.js.snap (100%) rename crates/rome_js_analyze/tests/specs/{suspicious => style}/noNonNullAssertion/invalid.ts (100%) rename crates/rome_js_analyze/tests/specs/{suspicious => style}/noNonNullAssertion/invalid.ts.snap (77%) rename crates/rome_js_analyze/tests/specs/{suspicious => style}/noNonNullAssertion/valid.ts (100%) rename crates/rome_js_analyze/tests/specs/{suspicious => style}/noNonNullAssertion/valid.ts.snap (100%) rename crates/rome_js_analyze/tests/specs/{correctness => style}/useEnumInitializers/invalid.ts (100%) rename crates/rome_js_analyze/tests/specs/{correctness => style}/useEnumInitializers/invalid.ts.snap (80%) rename crates/rome_js_analyze/tests/specs/{correctness => style}/useEnumInitializers/valid.ts (100%) rename crates/rome_js_analyze/tests/specs/{correctness => style}/useEnumInitializers/valid.ts.snap (100%) rename crates/rome_js_analyze/tests/{specs/correctness => suppression}/noDuplicateObjectKeys.js (100%) create mode 100644 crates/rome_js_analyze/tests/suppression/noDuplicateObjectKeys.js.snap diff --git a/crates/rome_cli/tests/snapshots/main_commands_check/fs_error_dereferenced_symlink.snap b/crates/rome_cli/tests/snapshots/main_commands_check/fs_error_dereferenced_symlink.snap index 1da9cdaf434..7e89facb2c6 100644 --- a/crates/rome_cli/tests/snapshots/main_commands_check/fs_error_dereferenced_symlink.snap +++ b/crates/rome_cli/tests/snapshots/main_commands_check/fs_error_dereferenced_symlink.snap @@ -15,6 +15,51 @@ internalError/io ━━━━━━━━━━━━━━━━━━━━━ # Emitted Messages +```block +Found errors in the configuration file, Rome will use its defaults for the sections that are incorrect. +``` + +```block +/Users/ema/www/tools/rome.json:20:5 configuration ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + ! Found an unknown key `noNonNullAssertion` + + 18 │ "recommended": true, + 19 │ "suspicious": { + > 20 │ "noNonNullAssertion": "off" + │ ^^^^^^^^^^^^^^^^^^^^ + 21 │ } + 22 │ } + + i Accepted keys + + - recommended + - noArrayIndexKey + - noAsyncPromiseExecutor + - noCatchAssign + - noCommentText + - noCompareNegZero + - noConstEnum + - noDebugger + - noDoubleEquals + - noDuplicateObjectKeys + - noDuplicateParameters + - noEmptyInterface + - noExplicitAny + - noExtraNonNullAssertion + - noFunctionAssign + - noImportAssign + - noLabelVar + - noRedundantUseStrict + - noShadowRestrictedNames + - noSparseArray + - noUnsafeNegation + - useDefaultSwitchClauseLast + - useValidTypeof + + +``` + ```block /rome_test_broken_symlink/broken_symlink internalError/fs ━━━━━━━━━━━━━━━━━━━━ diff --git a/crates/rome_cli/tests/snapshots/main_commands_check/fs_error_infinite_symlink_expansion.snap b/crates/rome_cli/tests/snapshots/main_commands_check/fs_error_infinite_symlink_expansion.snap index 4f93f54b559..b224e300928 100644 --- a/crates/rome_cli/tests/snapshots/main_commands_check/fs_error_infinite_symlink_expansion.snap +++ b/crates/rome_cli/tests/snapshots/main_commands_check/fs_error_infinite_symlink_expansion.snap @@ -15,6 +15,51 @@ internalError/io ━━━━━━━━━━━━━━━━━━━━━ # Emitted Messages +```block +Found errors in the configuration file, Rome will use its defaults for the sections that are incorrect. +``` + +```block +/Users/ema/www/tools/rome.json:20:5 configuration ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + ! Found an unknown key `noNonNullAssertion` + + 18 │ "recommended": true, + 19 │ "suspicious": { + > 20 │ "noNonNullAssertion": "off" + │ ^^^^^^^^^^^^^^^^^^^^ + 21 │ } + 22 │ } + + i Accepted keys + + - recommended + - noArrayIndexKey + - noAsyncPromiseExecutor + - noCatchAssign + - noCommentText + - noCompareNegZero + - noConstEnum + - noDebugger + - noDoubleEquals + - noDuplicateObjectKeys + - noDuplicateParameters + - noEmptyInterface + - noExplicitAny + - noExtraNonNullAssertion + - noFunctionAssign + - noImportAssign + - noLabelVar + - noRedundantUseStrict + - noShadowRestrictedNames + - noSparseArray + - noUnsafeNegation + - useDefaultSwitchClauseLast + - useValidTypeof + + +``` + ```block /rome_test_infinite_symlink_exapansion/prefix internalError/fs ━━━━━━━━━━━━━━━━━━━━ diff --git a/crates/rome_cli/tests/snapshots/main_commands_check/should_disable_a_rule_group.snap b/crates/rome_cli/tests/snapshots/main_commands_check/should_disable_a_rule_group.snap index 474e56e30d2..5b9317fe7b1 100644 --- a/crates/rome_cli/tests/snapshots/main_commands_check/should_disable_a_rule_group.snap +++ b/crates/rome_cli/tests/snapshots/main_commands_check/should_disable_a_rule_group.snap @@ -30,12 +30,6 @@ try { # Emitted Messages -```block -Skipped 1 suggested fixes. -If you wish to apply the suggested (unsafe) fixes, use the command rome check --apply-unsafe - -``` - ```block Fixed 1 file(s) in
-

- noDuplicateObjectKeys - recommended -

-Prevents object literals having more than one property declaration for the same name. -If an object property with the same name is defined multiple times (except when combining a getter with a setter), only the last definition makes it into the object and previous definitions are ignored, which is likely a mistake. -
-

noEmptyPattern recommended @@ -220,6 +211,13 @@ Disallow literal numbers that lose precision Prevent the usage of the return value of React.render.

+

+ noSetterReturn + recommended +

+Disallow returning a value from a setter +
+

noStringCaseMismatch recommended @@ -274,13 +272,6 @@ This rules prevents void elements (AKA self-closing elements) from having childr Disallow returning a value from a function with the return type 'void'

-

- useEnumInitializers - recommended -

-Require that each enum member value be explicitly initialized. -
-

useValidForDirection recommended @@ -349,6 +340,13 @@ Disallow implicit true values on JSX boolean attributes Disallow negation in the condition of an if statement if it has an else clause

+

+ noNonNullAssertion + recommended +

+Disallow non-null assertions using the ! postfix operator. +
+

noShoutyConstants

@@ -390,6 +388,13 @@ Require const declarations for variables that are never reassigned Enforce default function parameters and optional parameters to be last.
+

+ useEnumInitializers + recommended +

+Require that each enum member value be explicitly initialized. +
+

useExponentiationOperator

@@ -514,6 +519,14 @@ Disallow the use of debugger Require the use of === and !==
+

+ noDuplicateObjectKeys + recommended +

+Prevents object literals having more than one property declaration for the same name. +If an object property with the same name is defined multiple times (except when combining a getter with a setter), only the last definition makes it into the object and previous definitions are ignored, which is likely a mistake. +
+

noDuplicateParameters recommended @@ -563,26 +576,12 @@ Disallow assigning to imported bindings Disallow labels that share a name with a variable

-

- noNonNullAssertion - recommended -

-Disallow non-null assertions using the ! postfix operator. -
-

noRedundantUseStrict

Prevents from having redundant "use strict".
-

- noSetterReturn - recommended -

-Disallow returning a value from a setter -
-

noShadowRestrictedNames recommended diff --git a/website/src/pages/lint/rules/noDuplicateObjectKeys.md b/website/src/pages/lint/rules/noDuplicateObjectKeys.md index a4f7f8071a4..30ca2462705 100644 --- a/website/src/pages/lint/rules/noDuplicateObjectKeys.md +++ b/website/src/pages/lint/rules/noDuplicateObjectKeys.md @@ -21,7 +21,7 @@ const obj = { } ``` -
correctness/noDuplicateObjectKeys.js:2:5 lint/correctness/noDuplicateObjectKeys  FIXABLE  ━━━━━━━━━━
+
suspicious/noDuplicateObjectKeys.js:2:5 lint/suspicious/noDuplicateObjectKeys  FIXABLE  ━━━━━━━━━━━━
 
    This property value named a is later overwritten by an object member with the same name.
   
@@ -60,7 +60,7 @@ const obj = {
 }
 ```
 
-
correctness/noDuplicateObjectKeys.js:2:5 lint/correctness/noDuplicateObjectKeys  FIXABLE  ━━━━━━━━━━
+
suspicious/noDuplicateObjectKeys.js:2:5 lint/suspicious/noDuplicateObjectKeys  FIXABLE  ━━━━━━━━━━━━
 
    This setter named a is later overwritten by an object member with the same name.
   
diff --git a/website/src/pages/lint/rules/noNonNullAssertion.md b/website/src/pages/lint/rules/noNonNullAssertion.md
index f0500cd3914..5487a71e513 100644
--- a/website/src/pages/lint/rules/noNonNullAssertion.md
+++ b/website/src/pages/lint/rules/noNonNullAssertion.md
@@ -26,7 +26,7 @@ declare const example: Example;
 const includesBaz = foo.property!.includes('baz');
 ```
 
-
suspicious/noNonNullAssertion.js:5:21 lint/suspicious/noNonNullAssertion  FIXABLE  ━━━━━━━━━━━━━━━━━
+
style/noNonNullAssertion.js:5:21 lint/style/noNonNullAssertion  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Forbidden non-null assertion.
   
@@ -50,7 +50,7 @@ const includesBaz = foo.property!.includes('baz');
 (b!! as number) = "test";
 ```
 
-
suspicious/noNonNullAssertion.js:1:2 lint/suspicious/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
style/noNonNullAssertion.js:1:2 lint/style/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    Forbidden non-null assertion.
   
diff --git a/website/src/pages/lint/rules/noSetterReturn.md b/website/src/pages/lint/rules/noSetterReturn.md
index f81c22a3269..167ce0ea0aa 100644
--- a/website/src/pages/lint/rules/noSetterReturn.md
+++ b/website/src/pages/lint/rules/noSetterReturn.md
@@ -25,7 +25,7 @@ class A {
 }
 ```
 
-
suspicious/noSetterReturn.js:3:9 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noSetterReturn.js:3:9 lint/correctness/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    The setter should not return a value.
   
@@ -59,7 +59,7 @@ const b = {
 };
 ```
 
-
suspicious/noSetterReturn.js:3:9 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noSetterReturn.js:3:9 lint/correctness/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    The setter should not return a value.
   
@@ -95,7 +95,7 @@ const c = {
 };
 ```
 
-
suspicious/noSetterReturn.js:4:13 lint/suspicious/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
correctness/noSetterReturn.js:4:13 lint/correctness/noSetterReturn ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    The setter should not return a value.
   
diff --git a/website/src/pages/lint/rules/useEnumInitializers.md b/website/src/pages/lint/rules/useEnumInitializers.md
index 7de84095589..89909175eef 100644
--- a/website/src/pages/lint/rules/useEnumInitializers.md
+++ b/website/src/pages/lint/rules/useEnumInitializers.md
@@ -25,7 +25,7 @@ enum Version {
 }
 ```
 
-
correctness/useEnumInitializers.js:2:5 lint/correctness/useEnumInitializers  FIXABLE  ━━━━━━━━━━━━━━
+
style/useEnumInitializers.js:2:5 lint/style/useEnumInitializers  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    The enum member should be initialized.
   
@@ -50,7 +50,7 @@ enum Status {
 }
 ```
 
-
correctness/useEnumInitializers.js:3:5 lint/correctness/useEnumInitializers  FIXABLE  ━━━━━━━━━━━━━━
+
style/useEnumInitializers.js:3:5 lint/style/useEnumInitializers  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    The enum member should be initialized.
   
@@ -77,7 +77,7 @@ enum Color {
 }
 ```
 
-
correctness/useEnumInitializers.js:4:5 lint/correctness/useEnumInitializers  FIXABLE  ━━━━━━━━━━━━━━
+
style/useEnumInitializers.js:4:5 lint/style/useEnumInitializers  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━
 
    The enum member should be initialized.
   
diff --git a/website/src/pages/lint/rules/useSimplifiedLogicExpression.md b/website/src/pages/lint/rules/useSimplifiedLogicExpression.md
index 103d4fa5923..4338c98a82d 100644
--- a/website/src/pages/lint/rules/useSimplifiedLogicExpression.md
+++ b/website/src/pages/lint/rules/useSimplifiedLogicExpression.md
@@ -5,8 +5,6 @@ parent: lint/rules/index
 
 # useSimplifiedLogicExpression (since v0.7.0)
 
-> This rule is recommended by Rome.
-
 Discard redundant terms from logical expressions.
 
 ## Examples
@@ -20,7 +18,7 @@ const r = true && boolExp;
 
 
complexity/useSimplifiedLogicExpression.js:2:11 lint/complexity/useSimplifiedLogicExpression  FIXABLE  ━━━━━━━━━━
 
-   Logical expression contains unnecessary complexity.
+   Logical expression contains unnecessary complexity.
   
     1 │ const boolExp = true;
   > 2 │ const r = true && boolExp;
@@ -40,7 +38,7 @@ const r2 = boolExp || true;
 
 
complexity/useSimplifiedLogicExpression.js:2:12 lint/complexity/useSimplifiedLogicExpression  FIXABLE  ━━━━━━━━━━
 
-   Logical expression contains unnecessary complexity.
+   Logical expression contains unnecessary complexity.
   
     1 │ const boolExp2 = true;
   > 2 │ const r2 = boolExp || true;
@@ -60,7 +58,7 @@ const r3 = null ?? nonNullExp;
 
 
complexity/useSimplifiedLogicExpression.js:2:12 lint/complexity/useSimplifiedLogicExpression  FIXABLE  ━━━━━━━━━━
 
-   Logical expression contains unnecessary complexity.
+   Logical expression contains unnecessary complexity.
   
     1 │ const nonNullExp = 123;
   > 2 │ const r3 = null ?? nonNullExp;
@@ -81,7 +79,7 @@ const r4 = !boolExpr1 || !boolExpr2;
 
 
complexity/useSimplifiedLogicExpression.js:3:12 lint/complexity/useSimplifiedLogicExpression  FIXABLE  ━━━━━━━━━━
 
-   Logical expression contains unnecessary complexity.
+   Logical expression contains unnecessary complexity.
   
     1 │ const boolExpr1 = true;
     2 │ const boolExpr2 = false;

From f74b888b6f594824a8179be8d6c63b843273fb73 Mon Sep 17 00:00:00 2001
From: Emanuele Stoppa 
Date: Sat, 4 Mar 2023 12:12:06 +0000
Subject: [PATCH 09/10] chore: update rule

---
 rome.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/rome.json b/rome.json
index 5ff717b10d2..25de9bfa298 100644
--- a/rome.json
+++ b/rome.json
@@ -16,7 +16,7 @@
 		"enabled": true,
 		"rules": {
 			"recommended": true,
-			"suspicious": {
+			"style": {
 				"noNonNullAssertion": "off"
 			}
 		}

From 38000ff9d4bd4307a475bec3137cdcb24ac95596 Mon Sep 17 00:00:00 2001
From: Emanuele Stoppa 
Date: Sat, 4 Mar 2023 12:14:51 +0000
Subject: [PATCH 10/10] rebase

---
 .../fs_error_dereferenced_symlink.snap        |   45 -
 .../fs_error_infinite_symlink_expansion.snap  |   45 -
 .../src/analyzers/nursery/no_useless_catch.rs |    2 +-
 .../src/semantic_analyzers/nursery.rs         |    4 +-
 .../src/configuration/linter/rules.rs         | 1166 +++++++++--------
 .../src/pages/lint/rules/noUselessCatch.md    |    2 +-
 6 files changed, 587 insertions(+), 677 deletions(-)

diff --git a/crates/rome_cli/tests/snapshots/main_commands_check/fs_error_dereferenced_symlink.snap b/crates/rome_cli/tests/snapshots/main_commands_check/fs_error_dereferenced_symlink.snap
index 7e89facb2c6..1da9cdaf434 100644
--- a/crates/rome_cli/tests/snapshots/main_commands_check/fs_error_dereferenced_symlink.snap
+++ b/crates/rome_cli/tests/snapshots/main_commands_check/fs_error_dereferenced_symlink.snap
@@ -15,51 +15,6 @@ internalError/io ━━━━━━━━━━━━━━━━━━━━━
 
 # Emitted Messages
 
-```block
-Found errors in the configuration file, Rome will use its defaults for the sections that are incorrect.
-```
-
-```block
-/Users/ema/www/tools/rome.json:20:5 configuration ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
-
-  ! Found an unknown key `noNonNullAssertion`
-  
-    18 │ 			"recommended": true,
-    19 │ 			"suspicious": {
-  > 20 │ 				"noNonNullAssertion": "off"
-       │ 				^^^^^^^^^^^^^^^^^^^^
-    21 │ 			}
-    22 │ 		}
-  
-  i Accepted keys
-  
-  - recommended
-  - noArrayIndexKey
-  - noAsyncPromiseExecutor
-  - noCatchAssign
-  - noCommentText
-  - noCompareNegZero
-  - noConstEnum
-  - noDebugger
-  - noDoubleEquals
-  - noDuplicateObjectKeys
-  - noDuplicateParameters
-  - noEmptyInterface
-  - noExplicitAny
-  - noExtraNonNullAssertion
-  - noFunctionAssign
-  - noImportAssign
-  - noLabelVar
-  - noRedundantUseStrict
-  - noShadowRestrictedNames
-  - noSparseArray
-  - noUnsafeNegation
-  - useDefaultSwitchClauseLast
-  - useValidTypeof
-  
-
-```
-
 ```block
 /rome_test_broken_symlink/broken_symlink internalError/fs ━━━━━━━━━━━━━━━━━━━━
 
diff --git a/crates/rome_cli/tests/snapshots/main_commands_check/fs_error_infinite_symlink_expansion.snap b/crates/rome_cli/tests/snapshots/main_commands_check/fs_error_infinite_symlink_expansion.snap
index b224e300928..4f93f54b559 100644
--- a/crates/rome_cli/tests/snapshots/main_commands_check/fs_error_infinite_symlink_expansion.snap
+++ b/crates/rome_cli/tests/snapshots/main_commands_check/fs_error_infinite_symlink_expansion.snap
@@ -15,51 +15,6 @@ internalError/io ━━━━━━━━━━━━━━━━━━━━━
 
 # Emitted Messages
 
-```block
-Found errors in the configuration file, Rome will use its defaults for the sections that are incorrect.
-```
-
-```block
-/Users/ema/www/tools/rome.json:20:5 configuration ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
-
-  ! Found an unknown key `noNonNullAssertion`
-  
-    18 │ 			"recommended": true,
-    19 │ 			"suspicious": {
-  > 20 │ 				"noNonNullAssertion": "off"
-       │ 				^^^^^^^^^^^^^^^^^^^^
-    21 │ 			}
-    22 │ 		}
-  
-  i Accepted keys
-  
-  - recommended
-  - noArrayIndexKey
-  - noAsyncPromiseExecutor
-  - noCatchAssign
-  - noCommentText
-  - noCompareNegZero
-  - noConstEnum
-  - noDebugger
-  - noDoubleEquals
-  - noDuplicateObjectKeys
-  - noDuplicateParameters
-  - noEmptyInterface
-  - noExplicitAny
-  - noExtraNonNullAssertion
-  - noFunctionAssign
-  - noImportAssign
-  - noLabelVar
-  - noRedundantUseStrict
-  - noShadowRestrictedNames
-  - noSparseArray
-  - noUnsafeNegation
-  - useDefaultSwitchClauseLast
-  - useValidTypeof
-  
-
-```
-
 ```block
 /rome_test_infinite_symlink_exapansion/prefix internalError/fs ━━━━━━━━━━━━━━━━━━━━
 
diff --git a/crates/rome_js_analyze/src/analyzers/nursery/no_useless_catch.rs b/crates/rome_js_analyze/src/analyzers/nursery/no_useless_catch.rs
index abadb4751ba..c1838cde0bd 100644
--- a/crates/rome_js_analyze/src/analyzers/nursery/no_useless_catch.rs
+++ b/crates/rome_js_analyze/src/analyzers/nursery/no_useless_catch.rs
@@ -53,7 +53,7 @@ declare_rule! {
     /// ```
     ///
     pub(crate) NoUselessCatch {
-        version: "next",
+        version: "12.0.0",
         name: "noUselessCatch",
         recommended: true,
     }
diff --git a/crates/rome_js_analyze/src/semantic_analyzers/nursery.rs b/crates/rome_js_analyze/src/semantic_analyzers/nursery.rs
index 4dff76e8b93..0317f59d27b 100644
--- a/crates/rome_js_analyze/src/semantic_analyzers/nursery.rs
+++ b/crates/rome_js_analyze/src/semantic_analyzers/nursery.rs
@@ -4,10 +4,8 @@ use rome_analyze::declare_group;
 mod no_class_assign;
 mod no_redeclaration;
 mod no_restricted_globals;
-mod no_var;
 mod use_camel_case;
-mod use_const;
 mod use_exhaustive_dependencies;
 mod use_hook_at_top_level;
 mod use_iframe_title;
-declare_group! { pub (crate) Nursery { name : "nursery" , rules : [self :: no_class_assign :: NoClassAssign , self :: no_redeclaration :: NoRedeclaration , self :: no_restricted_globals :: NoRestrictedGlobals , self :: no_var :: NoVar , self :: use_camel_case :: UseCamelCase , self :: use_const :: UseConst , self :: use_exhaustive_dependencies :: UseExhaustiveDependencies , self :: use_hook_at_top_level :: UseHookAtTopLevel , self :: use_iframe_title :: UseIframeTitle ,] } }
+declare_group! { pub (crate) Nursery { name : "nursery" , rules : [self :: no_class_assign :: NoClassAssign , self :: no_redeclaration :: NoRedeclaration , self :: no_restricted_globals :: NoRestrictedGlobals , self :: use_camel_case :: UseCamelCase , self :: use_exhaustive_dependencies :: UseExhaustiveDependencies , self :: use_hook_at_top_level :: UseHookAtTopLevel , self :: use_iframe_title :: UseIframeTitle ,] } }
diff --git a/crates/rome_service/src/configuration/linter/rules.rs b/crates/rome_service/src/configuration/linter/rules.rs
index 3399b696060..8504ab476b7 100644
--- a/crates/rome_service/src/configuration/linter/rules.rs
+++ b/crates/rome_service/src/configuration/linter/rules.rs
@@ -349,12 +349,21 @@ pub struct A11y {
     #[doc = r" It enables the recommended rules for this group"]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub recommended: Option,
+    #[doc = "Enforce that the accessKey attribute is not used on any HTML element."]
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub no_access_key: Option,
     #[doc = "Avoid the autoFocus attribute"]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_autofocus: Option,
     #[doc = "Disallow target=\"_blank\" attribute without rel=\"noreferrer\""]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_blank_target: Option,
+    #[doc = "Enforces that no distracting elements are used."]
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub no_distracting_elements: Option,
+    #[doc = "Check that the scope attribute is only used on th elements."]
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub no_header_scope: Option,
     #[doc = "Prevent the usage of positive integers on tabIndex property"]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_positive_tabindex: Option,
@@ -382,9 +391,12 @@ pub struct A11y {
 }
 impl A11y {
     const GROUP_NAME: &'static str = "a11y";
-    pub(crate) const GROUP_RULES: [&'static str; 10] = [
+    pub(crate) const GROUP_RULES: [&'static str; 13] = [
+        "noAccessKey",
         "noAutofocus",
         "noBlankTarget",
+        "noDistractingElements",
+        "noHeaderScope",
         "noPositiveTabindex",
         "useAltText",
         "useAnchorContent",
@@ -394,9 +406,11 @@ impl A11y {
         "useKeyWithMouseEvents",
         "useValidAnchor",
     ];
-    const RECOMMENDED_RULES: [&'static str; 10] = [
+    const RECOMMENDED_RULES: [&'static str; 12] = [
         "noAutofocus",
         "noBlankTarget",
+        "noDistractingElements",
+        "noHeaderScope",
         "noPositiveTabindex",
         "useAltText",
         "useAnchorContent",
@@ -406,8 +420,7 @@ impl A11y {
         "useKeyWithMouseEvents",
         "useValidAnchor",
     ];
-    const RECOMMENDED_RULES_AS_FILTERS: [RuleFilter<'static>; 10] = [
-        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0]),
+    const RECOMMENDED_RULES_AS_FILTERS: [RuleFilter<'static>; 12] = [
         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]),
@@ -417,114 +430,147 @@ impl A11y {
         RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[7]),
         RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[8]),
         RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[9]),
+        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]),
     ];
     pub(crate) fn is_recommended(&self) -> bool { !matches!(self.recommended, Some(false)) }
     pub(crate) fn get_enabled_rules(&self) -> IndexSet {
         let mut index_set = IndexSet::new();
-        if let Some(rule) = self.no_autofocus.as_ref() {
+        if let Some(rule) = self.no_access_key.as_ref() {
             if rule.is_enabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0]));
             }
         }
-        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[1]));
             }
         }
-        if let Some(rule) = self.no_positive_tabindex.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[2]));
             }
         }
-        if let Some(rule) = self.use_alt_text.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[3]));
             }
         }
-        if let Some(rule) = self.use_anchor_content.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[4]));
             }
         }
-        if let Some(rule) = self.use_button_type.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[5]));
             }
         }
-        if let Some(rule) = self.use_html_lang.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[6]));
             }
         }
-        if let Some(rule) = self.use_key_with_click_events.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[7]));
             }
         }
-        if let Some(rule) = self.use_key_with_mouse_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[8]));
             }
         }
-        if let Some(rule) = self.use_valid_anchor.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[9]));
             }
         }
+        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[10]));
+            }
+        }
+        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[11]));
+            }
+        }
+        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[12]));
+            }
+        }
         index_set
     }
     pub(crate) fn get_disabled_rules(&self) -> IndexSet {
         let mut index_set = IndexSet::new();
-        if let Some(rule) = self.no_autofocus.as_ref() {
+        if let Some(rule) = self.no_access_key.as_ref() {
             if rule.is_disabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0]));
             }
         }
-        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[1]));
             }
         }
-        if let Some(rule) = self.no_positive_tabindex.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[2]));
             }
         }
-        if let Some(rule) = self.use_alt_text.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[3]));
             }
         }
-        if let Some(rule) = self.use_anchor_content.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[4]));
             }
         }
-        if let Some(rule) = self.use_button_type.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[5]));
             }
         }
-        if let Some(rule) = self.use_html_lang.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[6]));
             }
         }
-        if let Some(rule) = self.use_key_with_click_events.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[7]));
             }
         }
-        if let Some(rule) = self.use_key_with_mouse_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[8]));
             }
         }
-        if let Some(rule) = self.use_valid_anchor.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[9]));
             }
         }
+        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[10]));
+            }
+        }
+        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[11]));
+            }
+        }
+        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[12]));
+            }
+        }
         index_set
     }
     #[doc = r" Checks if, given a rule name, matches one of the rules contained in this category"]
@@ -533,13 +579,16 @@ 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>; 10] {
+    pub(crate) fn recommended_rules_as_filters() -> [RuleFilter<'static>; 12] {
         Self::RECOMMENDED_RULES_AS_FILTERS
     }
     pub(crate) fn get_rule_configuration(&self, rule_name: &str) -> Option<&RuleConfiguration> {
         match rule_name {
+            "noAccessKey" => self.no_access_key.as_ref(),
             "noAutofocus" => self.no_autofocus.as_ref(),
             "noBlankTarget" => self.no_blank_target.as_ref(),
+            "noDistractingElements" => self.no_distracting_elements.as_ref(),
+            "noHeaderScope" => self.no_header_scope.as_ref(),
             "noPositiveTabindex" => self.no_positive_tabindex.as_ref(),
             "useAltText" => self.use_alt_text.as_ref(),
             "useAnchorContent" => self.use_anchor_content.as_ref(),
@@ -589,19 +638,17 @@ impl Complexity {
         "useOptionalChain",
         "useSimplifiedLogicExpression",
     ];
-    const RECOMMENDED_RULES: [&'static str; 5] = [
+    const RECOMMENDED_RULES: [&'static str; 4] = [
         "noExtraBooleanCast",
         "noMultipleSpacesInRegularExpressionLiterals",
         "useFlatMap",
         "useOptionalChain",
-        "useSimplifiedLogicExpression",
     ];
-    const RECOMMENDED_RULES_AS_FILTERS: [RuleFilter<'static>; 5] = [
+    const RECOMMENDED_RULES_AS_FILTERS: [RuleFilter<'static>; 4] = [
         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]),
         RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[4]),
-        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[5]),
     ];
     pub(crate) fn is_recommended(&self) -> bool { !matches!(self.recommended, Some(false)) }
     pub(crate) fn get_enabled_rules(&self) -> IndexSet {
@@ -684,7 +731,7 @@ 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>; 5] {
+    pub(crate) fn recommended_rules_as_filters() -> [RuleFilter<'static>; 4] {
         Self::RECOMMENDED_RULES_AS_FILTERS
     }
     pub(crate) fn get_rule_configuration(&self, rule_name: &str) -> Option<&RuleConfiguration> {
@@ -715,15 +762,27 @@ pub struct Correctness {
     #[doc = "Prevents from having const variables being re-assigned."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_const_assign: Option,
+    #[doc = "Disallow returning a value from a constructor."]
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub no_constructor_return: Option,
     #[doc = "Disallows empty destructuring patterns."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_empty_pattern: Option,
     #[doc = "Disallow new operators with the Symbol object"]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_new_symbol: Option,
+    #[doc = "Disallow literal numbers that lose precision"]
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub no_precision_loss: Option,
     #[doc = "Prevent the usage of the return value of React.render."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_render_return_value: Option,
+    #[doc = "Disallow returning a value from a setter"]
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub no_setter_return: Option,
+    #[doc = "Disallow comparison of expressions modifying the string case with non-compliant value."]
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub no_string_case_mismatch: Option,
     #[doc = "Prevents the usage of variables that haven't been declared inside the document"]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_undeclared_variables: Option,
@@ -733,52 +792,76 @@ pub struct Correctness {
     #[doc = "Disallow unreachable code"]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_unreachable: Option,
+    #[doc = "Disallow control flow statements in finally blocks."]
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub no_unsafe_finally: Option,
     #[doc = "Disallow unused variables."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_unused_variables: Option,
     #[doc = "This rules prevents void elements (AKA self-closing elements) from having children."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_void_elements_with_children: Option,
+    #[doc = "Disallow returning a value from a function with the return type 'void'"]
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub no_void_type_return: Option,
     #[doc = "Enforce \"for\" loop update clause moving the counter in the right direction."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub use_valid_for_direction: Option,
 }
 impl Correctness {
     const GROUP_NAME: &'static str = "correctness";
-    pub(crate) const GROUP_RULES: [&'static str; 11] = [
+    pub(crate) const GROUP_RULES: [&'static str; 17] = [
         "noChildrenProp",
         "noConstAssign",
+        "noConstructorReturn",
         "noEmptyPattern",
         "noNewSymbol",
+        "noPrecisionLoss",
         "noRenderReturnValue",
+        "noSetterReturn",
+        "noStringCaseMismatch",
         "noUndeclaredVariables",
         "noUnnecessaryContinue",
         "noUnreachable",
+        "noUnsafeFinally",
         "noUnusedVariables",
         "noVoidElementsWithChildren",
+        "noVoidTypeReturn",
         "useValidForDirection",
     ];
-    const RECOMMENDED_RULES: [&'static str; 9] = [
+    const RECOMMENDED_RULES: [&'static str; 15] = [
         "noChildrenProp",
         "noConstAssign",
+        "noConstructorReturn",
         "noEmptyPattern",
         "noNewSymbol",
+        "noPrecisionLoss",
         "noRenderReturnValue",
+        "noSetterReturn",
+        "noStringCaseMismatch",
         "noUnnecessaryContinue",
         "noUnreachable",
+        "noUnsafeFinally",
         "noVoidElementsWithChildren",
+        "noVoidTypeReturn",
         "useValidForDirection",
     ];
-    const RECOMMENDED_RULES_AS_FILTERS: [RuleFilter<'static>; 9] = [
+    const RECOMMENDED_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]),
         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]),
         RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[6]),
         RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[7]),
-        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[11]),
+        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[12]),
+        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]),
     ];
     pub(crate) fn is_recommended(&self) -> bool { !matches!(self.recommended, Some(false)) }
     pub(crate) fn get_enabled_rules(&self) -> IndexSet {
@@ -793,51 +876,81 @@ impl Correctness {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1]));
             }
         }
-        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[2]));
             }
         }
-        if let Some(rule) = self.no_new_symbol.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[3]));
             }
         }
-        if let Some(rule) = self.no_render_return_value.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[4]));
             }
         }
-        if let Some(rule) = self.no_undeclared_variables.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[5]));
             }
         }
-        if let Some(rule) = self.no_unnecessary_continue.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[6]));
             }
         }
-        if let Some(rule) = self.no_unreachable.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[7]));
             }
         }
-        if let Some(rule) = self.no_unused_variables.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[8]));
             }
         }
-        if let Some(rule) = self.no_void_elements_with_children.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[9]));
             }
         }
-        if let Some(rule) = self.use_valid_for_direction.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[10]));
             }
         }
+        if let Some(rule) = self.no_unreachable.as_ref() {
+            if rule.is_enabled() {
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11]));
+            }
+        }
+        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[12]));
+            }
+        }
+        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[13]));
+            }
+        }
+        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[14]));
+            }
+        }
+        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[15]));
+            }
+        }
+        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[16]));
+            }
+        }
         index_set
     }
     pub(crate) fn get_disabled_rules(&self) -> IndexSet {
@@ -852,51 +965,81 @@ impl Correctness {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1]));
             }
         }
-        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[2]));
             }
         }
-        if let Some(rule) = self.no_new_symbol.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[3]));
             }
         }
-        if let Some(rule) = self.no_render_return_value.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[4]));
             }
         }
-        if let Some(rule) = self.no_undeclared_variables.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[5]));
             }
         }
-        if let Some(rule) = self.no_unnecessary_continue.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[6]));
             }
         }
-        if let Some(rule) = self.no_unreachable.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[7]));
             }
         }
-        if let Some(rule) = self.no_unused_variables.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[8]));
             }
         }
-        if let Some(rule) = self.no_void_elements_with_children.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[9]));
             }
         }
-        if let Some(rule) = self.use_valid_for_direction.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[10]));
             }
         }
+        if let Some(rule) = self.no_unreachable.as_ref() {
+            if rule.is_disabled() {
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11]));
+            }
+        }
+        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[12]));
+            }
+        }
+        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[13]));
+            }
+        }
+        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[14]));
+            }
+        }
+        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[15]));
+            }
+        }
+        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[16]));
+            }
+        }
         index_set
     }
     #[doc = r" Checks if, given a rule name, matches one of the rules contained in this category"]
@@ -905,21 +1048,27 @@ 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>; 9] {
+    pub(crate) fn recommended_rules_as_filters() -> [RuleFilter<'static>; 15] {
         Self::RECOMMENDED_RULES_AS_FILTERS
     }
     pub(crate) fn get_rule_configuration(&self, rule_name: &str) -> Option<&RuleConfiguration> {
         match rule_name {
             "noChildrenProp" => self.no_children_prop.as_ref(),
             "noConstAssign" => self.no_const_assign.as_ref(),
+            "noConstructorReturn" => self.no_constructor_return.as_ref(),
             "noEmptyPattern" => self.no_empty_pattern.as_ref(),
             "noNewSymbol" => self.no_new_symbol.as_ref(),
+            "noPrecisionLoss" => self.no_precision_loss.as_ref(),
             "noRenderReturnValue" => self.no_render_return_value.as_ref(),
+            "noSetterReturn" => self.no_setter_return.as_ref(),
+            "noStringCaseMismatch" => self.no_string_case_mismatch.as_ref(),
             "noUndeclaredVariables" => self.no_undeclared_variables.as_ref(),
             "noUnnecessaryContinue" => self.no_unnecessary_continue.as_ref(),
             "noUnreachable" => self.no_unreachable.as_ref(),
+            "noUnsafeFinally" => self.no_unsafe_finally.as_ref(),
             "noUnusedVariables" => self.no_unused_variables.as_ref(),
             "noVoidElementsWithChildren" => self.no_void_elements_with_children.as_ref(),
+            "noVoidTypeReturn" => self.no_void_type_return.as_ref(),
             "useValidForDirection" => self.use_valid_for_direction.as_ref(),
             _ => None,
         }
@@ -933,9 +1082,6 @@ pub struct Nursery {
     #[doc = r" It enables the recommended rules for this group"]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub recommended: Option,
-    #[doc = "Enforce that the accessKey attribute is not used on any HTML element."]
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub no_access_key: Option,
     #[doc = "Disallow assignments in expressions."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_assign_in_expressions: Option,
@@ -951,15 +1097,6 @@ pub struct Nursery {
     #[doc = "Disallow labeled statements that are not loops."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_confusing_labels: Option,
-    #[doc = "Disallow TypeScript const enum"]
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub no_const_enum: Option,
-    #[doc = "Disallow returning a value from a constructor."]
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub no_constructor_return: Option,
-    #[doc = "Enforces that no distracting elements are used."]
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub no_distracting_elements: Option,
     #[doc = "Disallow duplicate case labels. If a switch statement has duplicate test expressions in case clauses, it is likely that a programmer copied a case clause but forgot to change the test expression."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_duplicate_case: Option,
@@ -969,27 +1106,15 @@ pub struct Nursery {
     #[doc = "Prevents JSX properties to be assigned multiple times."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_duplicate_jsx_props: Option,
-    #[doc = "Prevents object literals having more than one property declaration for the same name. If an object property with the same name is defined multiple times (except when combining a getter with a setter), only the last definition makes it into the object and previous definitions are ignored, which is likely a mistake."]
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub no_duplicate_object_keys: Option,
-    #[doc = "Disallow the declaration of empty interfaces."]
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub no_empty_interface: Option,
     #[doc = "Disallow unnecessary labels."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_extra_labels: Option,
-    #[doc = "Prevents the wrong usage of the non-null assertion operator (!) in TypeScript files."]
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub no_extra_non_null_assertion: Option,
     #[doc = "Typing mistakes and misunderstandings about where semicolons are required can lead to semicolons that are unnecessary. While not technically an error, extra semicolons can cause confusion when reading code."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_extra_semicolons: Option,
     #[doc = "Disallow calling global object properties as functions"]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_global_object_calls: Option,
-    #[doc = "Check that the scope attribute is only used on th elements."]
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub no_header_scope: Option,
     #[doc = "Disallow type annotations for variables, parameters, and class properties initialized with a literal expression."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_inferrable_types: Option,
@@ -999,18 +1124,12 @@ pub struct Nursery {
     #[doc = "Prevents the incorrect use of super() inside classes. It also checks whether a call super() is missing from classes that extends other constructors."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_invalid_constructor_super: Option,
-    #[doc = "Disallow non-null assertions using the ! postfix operator."]
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub no_non_null_assertion: Option,
     #[doc = "Enforce that interactive ARIA roles are not assigned to non-interactive HTML elements."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_noninteractive_element_to_interactive_role: Option,
     #[doc = "Disallow the use of parameter properties in class constructors."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_parameter_properties: Option,
-    #[doc = "Disallow literal numbers that lose precision"]
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub no_precision_loss: Option,
     #[doc = "Disallow direct use of Object.prototype builtins."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_prototype_builtins: Option,
@@ -1020,9 +1139,6 @@ pub struct Nursery {
     #[doc = "Enforce img alt prop does not contain the word \"image\", \"picture\", or \"photo\"."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_redundant_alt: Option,
-    #[doc = "Prevents from having redundant \"use strict\"."]
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub no_redundant_use_strict: Option,
     #[doc = "This rule allows you to specify global variable names that you don’t want to use in your application."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_restricted_globals: Option,
@@ -1032,12 +1148,6 @@ pub struct Nursery {
     #[doc = "Disallow comparisons where both sides are exactly the same."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_self_compare: Option,
-    #[doc = "Disallow returning a value from a setter"]
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub no_setter_return: Option,
-    #[doc = "Disallow comparison of expressions modifying the string case with non-compliant value."]
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub no_string_case_mismatch: Option,
     #[doc = "Enforces the usage of the title element for the svg element."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_svg_without_title: Option,
@@ -1047,9 +1157,6 @@ pub struct Nursery {
     #[doc = "Ensures the super() constructor is called exactly once on every code path in a class constructor before this is accessed if the class has a superclass"]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_unreachable_super: Option,
-    #[doc = "Disallow control flow statements in finally blocks."]
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub no_unsafe_finally: Option,
     #[doc = "Disallow the use of optional chaining in contexts where the undefined value is not allowed."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_unsafe_optional_chaining: Option,
@@ -1065,12 +1172,6 @@ pub struct Nursery {
     #[doc = "Disallow useless case in switch statements."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_useless_switch_case: Option,
-    #[doc = "Disallow the use of var"]
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub no_var: Option,
-    #[doc = "Disallow returning a value from a function with the return type 'void'"]
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub no_void_type_return: Option,
     #[doc = "Disallow with statements in non-strict contexts."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_with: Option,
@@ -1083,24 +1184,9 @@ pub struct Nursery {
     #[doc = "Enforce camel case naming convention."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub use_camel_case: Option,
-    #[doc = "Require const declarations for variables that are never reassigned after declared."]
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub use_const: Option,
-    #[doc = "Enforce default function parameters and optional parameters to be last."]
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub use_default_parameter_last: Option,
-    #[doc = "Enforce default clauses in switch statements to be last"]
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub use_default_switch_clause_last: Option,
-    #[doc = "Require that each enum member value be explicitly initialized."]
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub use_enum_initializers: Option,
     #[doc = "Enforce all dependencies are correctly specified."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub use_exhaustive_dependencies: Option,
-    #[doc = "Disallow the use of Math.pow in favor of the ** operator."]
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub use_exponentiation_operator: Option,
     #[doc = "Enforce that all React hooks are being called from the Top Level component functions."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub use_hook_at_top_level: Option,
@@ -1113,9 +1199,6 @@ pub struct Nursery {
     #[doc = "Enforces that audio and video elements must have a track for captions."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub use_media_caption: Option,
-    #[doc = "Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals"]
-    #[serde(skip_serializing_if = "Option::is_none")]
-    pub use_numeric_literals: Option,
     #[doc = "Ensures that ARIA properties aria-* are all valid."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub use_valid_aria_props: Option,
@@ -1128,91 +1211,62 @@ pub struct Nursery {
 }
 impl Nursery {
     const GROUP_NAME: &'static str = "nursery";
-    pub(crate) const GROUP_RULES: [&'static str; 64] = [
-        "noAccessKey",
+    pub(crate) const GROUP_RULES: [&'static str; 42] = [
         "noAssignInExpressions",
         "noBannedTypes",
         "noClassAssign",
         "noCommaOperator",
         "noConfusingLabels",
-        "noConstEnum",
-        "noConstructorReturn",
-        "noDistractingElements",
         "noDuplicateCase",
         "noDuplicateClassMembers",
         "noDuplicateJsxProps",
-        "noDuplicateObjectKeys",
-        "noEmptyInterface",
         "noExtraLabels",
-        "noExtraNonNullAssertion",
         "noExtraSemicolons",
         "noGlobalObjectCalls",
-        "noHeaderScope",
         "noInferrableTypes",
         "noInnerDeclarations",
         "noInvalidConstructorSuper",
-        "noNonNullAssertion",
         "noNoninteractiveElementToInteractiveRole",
         "noParameterProperties",
-        "noPrecisionLoss",
         "noPrototypeBuiltins",
         "noRedeclaration",
         "noRedundantAlt",
-        "noRedundantUseStrict",
         "noRestrictedGlobals",
         "noSelfAssignment",
         "noSelfCompare",
-        "noSetterReturn",
-        "noStringCaseMismatch",
         "noSvgWithoutTitle",
         "noSwitchDeclarations",
         "noUnreachableSuper",
-        "noUnsafeFinally",
         "noUnsafeOptionalChaining",
         "noUnusedLabels",
         "noUselessCatch",
         "noUselessRename",
         "noUselessSwitchCase",
-        "noVar",
-        "noVoidTypeReturn",
         "noWith",
         "useAriaPropTypes",
         "useAriaPropsForRole",
         "useCamelCase",
-        "useConst",
-        "useDefaultParameterLast",
-        "useDefaultSwitchClauseLast",
-        "useEnumInitializers",
         "useExhaustiveDependencies",
-        "useExponentiationOperator",
         "useHookAtTopLevel",
         "useIframeTitle",
         "useIsNan",
         "useMediaCaption",
-        "useNumericLiterals",
         "useValidAriaProps",
         "useValidLang",
         "useYield",
     ];
-    const RECOMMENDED_RULES: [&'static str; 53] = [
+    const RECOMMENDED_RULES: [&'static str; 36] = [
         "noAssignInExpressions",
         "noBannedTypes",
         "noClassAssign",
         "noCommaOperator",
         "noConfusingLabels",
-        "noConstEnum",
-        "noConstructorReturn",
-        "noDistractingElements",
         "noDuplicateCase",
         "noDuplicateClassMembers",
         "noDuplicateJsxProps",
-        "noDuplicateObjectKeys",
-        "noEmptyInterface",
         "noExtraLabels",
-        "noExtraNonNullAssertion",
         "noExtraSemicolons",
         "noGlobalObjectCalls",
-        "noHeaderScope",
         "noInferrableTypes",
         "noInnerDeclarations",
         "noInvalidConstructorSuper",
@@ -1221,35 +1275,26 @@ impl Nursery {
         "noRedundantAlt",
         "noSelfAssignment",
         "noSelfCompare",
-        "noSetterReturn",
-        "noStringCaseMismatch",
         "noSvgWithoutTitle",
         "noSwitchDeclarations",
         "noUnreachableSuper",
-        "noUnsafeFinally",
         "noUnsafeOptionalChaining",
         "noUnusedLabels",
         "noUselessCatch",
         "noUselessRename",
         "noUselessSwitchCase",
-        "noVar",
-        "noVoidTypeReturn",
         "noWith",
         "useAriaPropsForRole",
-        "useConst",
-        "useDefaultParameterLast",
-        "useDefaultSwitchClauseLast",
-        "useEnumInitializers",
         "useExhaustiveDependencies",
         "useIframeTitle",
         "useIsNan",
         "useMediaCaption",
-        "useNumericLiterals",
         "useValidAriaProps",
         "useValidLang",
         "useYield",
     ];
-    const RECOMMENDED_RULES_AS_FILTERS: [RuleFilter<'static>; 53] = [
+    const RECOMMENDED_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]),
         RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[3]),
@@ -1264,691 +1309,453 @@ 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[31]),
+        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[29]),
+        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[30]),
         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]),
         RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[36]),
         RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[37]),
         RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[38]),
         RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[39]),
         RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[40]),
         RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[41]),
-        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[42]),
-        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[43]),
-        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[44]),
-        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[45]),
-        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[46]),
-        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[48]),
-        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[50]),
-        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[51]),
-        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[52]),
-        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[53]),
-        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[54]),
-        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[57]),
-        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[58]),
-        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[59]),
-        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[60]),
-        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[61]),
-        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[62]),
-        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[63]),
     ];
     pub(crate) fn is_recommended(&self) -> bool { !matches!(self.recommended, Some(false)) }
     pub(crate) fn get_enabled_rules(&self) -> IndexSet {
         let mut index_set = IndexSet::new();
-        if let Some(rule) = self.no_access_key.as_ref() {
-            if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0]));
-            }
-        }
         if let Some(rule) = self.no_assign_in_expressions.as_ref() {
             if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0]));
             }
         }
         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]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1]));
             }
         }
         if let Some(rule) = self.no_class_assign.as_ref() {
             if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[3]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2]));
             }
         }
         if let Some(rule) = self.no_comma_operator.as_ref() {
             if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[4]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[3]));
             }
         }
         if let Some(rule) = self.no_confusing_labels.as_ref() {
             if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[5]));
-            }
-        }
-        if let Some(rule) = self.no_const_enum.as_ref() {
-            if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[6]));
-            }
-        }
-        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[7]));
-            }
-        }
-        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[8]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[4]));
             }
         }
         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[9]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[5]));
             }
         }
         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[10]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[6]));
             }
         }
         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[11]));
-            }
-        }
-        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[12]));
-            }
-        }
-        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[13]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[7]));
             }
         }
         if let Some(rule) = self.no_extra_labels.as_ref() {
             if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14]));
-            }
-        }
-        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[15]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[8]));
             }
         }
         if let Some(rule) = self.no_extra_semicolons.as_ref() {
             if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[9]));
             }
         }
         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[17]));
-            }
-        }
-        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[18]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[10]));
             }
         }
         if let Some(rule) = self.no_inferrable_types.as_ref() {
             if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11]));
             }
         }
         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[20]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[12]));
             }
         }
         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[21]));
-            }
-        }
-        if let Some(rule) = self.no_non_null_assertion.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[13]));
             }
         }
         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[23]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14]));
             }
         }
         if let Some(rule) = self.no_parameter_properties.as_ref() {
             if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24]));
-            }
-        }
-        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[25]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[15]));
             }
         }
         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[26]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16]));
             }
         }
         if let Some(rule) = self.no_redeclaration.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[17]));
             }
         }
         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[28]));
-            }
-        }
-        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[29]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18]));
             }
         }
         if let Some(rule) = self.no_restricted_globals.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[19]));
             }
         }
         if let Some(rule) = self.no_self_assignment.as_ref() {
             if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[31]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[20]));
             }
         }
         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[32]));
-            }
-        }
-        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[33]));
-            }
-        }
-        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[34]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[21]));
             }
         }
         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[35]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[22]));
             }
         }
         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[36]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[23]));
             }
         }
         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[37]));
-            }
-        }
-        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[38]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24]));
             }
         }
         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[39]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[25]));
             }
         }
         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[40]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[26]));
             }
         }
         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[41]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[27]));
             }
         }
         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[42]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[28]));
             }
         }
         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[43]));
-            }
-        }
-        if let Some(rule) = self.no_var.as_ref() {
-            if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[44]));
-            }
-        }
-        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[45]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[29]));
             }
         }
         if let Some(rule) = self.no_with.as_ref() {
             if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[46]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[30]));
             }
         }
         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[47]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[31]));
             }
         }
         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[48]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[32]));
             }
         }
         if let Some(rule) = self.use_camel_case.as_ref() {
             if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[49]));
-            }
-        }
-        if let Some(rule) = self.use_const.as_ref() {
-            if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[50]));
-            }
-        }
-        if let Some(rule) = self.use_default_parameter_last.as_ref() {
-            if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[51]));
-            }
-        }
-        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[52]));
-            }
-        }
-        if let Some(rule) = self.use_enum_initializers.as_ref() {
-            if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[53]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[33]));
             }
         }
         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[54]));
-            }
-        }
-        if let Some(rule) = self.use_exponentiation_operator.as_ref() {
-            if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[55]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[34]));
             }
         }
         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[56]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[35]));
             }
         }
         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[57]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[36]));
             }
         }
         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[58]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[37]));
             }
         }
         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[59]));
-            }
-        }
-        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[60]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[38]));
             }
         }
         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[61]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[39]));
             }
         }
         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[62]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[40]));
             }
         }
         if let Some(rule) = self.use_yield.as_ref() {
             if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[63]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[41]));
             }
         }
         index_set
-    }
-    pub(crate) fn get_disabled_rules(&self) -> IndexSet {
-        let mut index_set = IndexSet::new();
-        if let Some(rule) = self.no_access_key.as_ref() {
-            if rule.is_disabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0]));
-            }
-        }
-        if let Some(rule) = self.no_assign_in_expressions.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_class_assign.as_ref() {
-            if rule.is_disabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[3]));
-            }
-        }
-        if let Some(rule) = self.no_comma_operator.as_ref() {
+    }
+    pub(crate) fn get_disabled_rules(&self) -> IndexSet {
+        let mut index_set = IndexSet::new();
+        if let Some(rule) = self.no_assign_in_expressions.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[0]));
             }
         }
-        if let Some(rule) = self.no_confusing_labels.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[5]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1]));
             }
         }
-        if let Some(rule) = self.no_const_enum.as_ref() {
+        if let Some(rule) = self.no_class_assign.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_constructor_return.as_ref() {
+        if let Some(rule) = self.no_comma_operator.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_distracting_elements.as_ref() {
+        if let Some(rule) = self.no_confusing_labels.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_duplicate_case.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_duplicate_class_members.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[6]));
             }
         }
         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[11]));
-            }
-        }
-        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[12]));
-            }
-        }
-        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[13]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[7]));
             }
         }
         if let Some(rule) = self.no_extra_labels.as_ref() {
             if rule.is_disabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14]));
-            }
-        }
-        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[15]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[8]));
             }
         }
         if let Some(rule) = self.no_extra_semicolons.as_ref() {
             if rule.is_disabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[9]));
             }
         }
         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[17]));
-            }
-        }
-        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[18]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[10]));
             }
         }
         if let Some(rule) = self.no_inferrable_types.as_ref() {
             if rule.is_disabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11]));
             }
         }
         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[20]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[12]));
             }
         }
         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[21]));
-            }
-        }
-        if let Some(rule) = self.no_non_null_assertion.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[13]));
             }
         }
         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[23]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14]));
             }
         }
         if let Some(rule) = self.no_parameter_properties.as_ref() {
             if rule.is_disabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24]));
-            }
-        }
-        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[25]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[15]));
             }
         }
         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[26]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16]));
             }
         }
         if let Some(rule) = self.no_redeclaration.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[17]));
             }
         }
         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[28]));
-            }
-        }
-        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[29]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18]));
             }
         }
         if let Some(rule) = self.no_restricted_globals.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[19]));
             }
         }
         if let Some(rule) = self.no_self_assignment.as_ref() {
             if rule.is_disabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[31]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[20]));
             }
         }
         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[32]));
-            }
-        }
-        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[33]));
-            }
-        }
-        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[34]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[21]));
             }
         }
         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[35]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[22]));
             }
         }
         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[36]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[23]));
             }
         }
         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[37]));
-            }
-        }
-        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[38]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[24]));
             }
         }
         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[39]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[25]));
             }
         }
         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[40]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[26]));
             }
         }
         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[41]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[27]));
             }
         }
         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[42]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[28]));
             }
         }
         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[43]));
-            }
-        }
-        if let Some(rule) = self.no_var.as_ref() {
-            if rule.is_disabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[44]));
-            }
-        }
-        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[45]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[29]));
             }
         }
         if let Some(rule) = self.no_with.as_ref() {
             if rule.is_disabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[46]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[30]));
             }
         }
         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[47]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[31]));
             }
         }
         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[48]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[32]));
             }
         }
         if let Some(rule) = self.use_camel_case.as_ref() {
             if rule.is_disabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[49]));
-            }
-        }
-        if let Some(rule) = self.use_const.as_ref() {
-            if rule.is_disabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[50]));
-            }
-        }
-        if let Some(rule) = self.use_default_parameter_last.as_ref() {
-            if rule.is_disabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[51]));
-            }
-        }
-        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[52]));
-            }
-        }
-        if let Some(rule) = self.use_enum_initializers.as_ref() {
-            if rule.is_disabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[53]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[33]));
             }
         }
         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[54]));
-            }
-        }
-        if let Some(rule) = self.use_exponentiation_operator.as_ref() {
-            if rule.is_disabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[55]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[34]));
             }
         }
         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[56]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[35]));
             }
         }
         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[57]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[36]));
             }
         }
         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[58]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[37]));
             }
         }
         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[59]));
-            }
-        }
-        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[60]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[38]));
             }
         }
         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[61]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[39]));
             }
         }
         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[62]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[40]));
             }
         }
         if let Some(rule) = self.use_yield.as_ref() {
             if rule.is_disabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[63]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[41]));
             }
         }
         index_set
@@ -1959,74 +1766,52 @@ 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>; 53] {
+    pub(crate) fn recommended_rules_as_filters() -> [RuleFilter<'static>; 36] {
         Self::RECOMMENDED_RULES_AS_FILTERS
     }
     pub(crate) fn get_rule_configuration(&self, rule_name: &str) -> Option<&RuleConfiguration> {
         match rule_name {
-            "noAccessKey" => self.no_access_key.as_ref(),
             "noAssignInExpressions" => self.no_assign_in_expressions.as_ref(),
             "noBannedTypes" => self.no_banned_types.as_ref(),
             "noClassAssign" => self.no_class_assign.as_ref(),
             "noCommaOperator" => self.no_comma_operator.as_ref(),
             "noConfusingLabels" => self.no_confusing_labels.as_ref(),
-            "noConstEnum" => self.no_const_enum.as_ref(),
-            "noConstructorReturn" => self.no_constructor_return.as_ref(),
-            "noDistractingElements" => self.no_distracting_elements.as_ref(),
             "noDuplicateCase" => self.no_duplicate_case.as_ref(),
             "noDuplicateClassMembers" => self.no_duplicate_class_members.as_ref(),
             "noDuplicateJsxProps" => self.no_duplicate_jsx_props.as_ref(),
-            "noDuplicateObjectKeys" => self.no_duplicate_object_keys.as_ref(),
-            "noEmptyInterface" => self.no_empty_interface.as_ref(),
             "noExtraLabels" => self.no_extra_labels.as_ref(),
-            "noExtraNonNullAssertion" => self.no_extra_non_null_assertion.as_ref(),
             "noExtraSemicolons" => self.no_extra_semicolons.as_ref(),
             "noGlobalObjectCalls" => self.no_global_object_calls.as_ref(),
-            "noHeaderScope" => self.no_header_scope.as_ref(),
             "noInferrableTypes" => self.no_inferrable_types.as_ref(),
             "noInnerDeclarations" => self.no_inner_declarations.as_ref(),
             "noInvalidConstructorSuper" => self.no_invalid_constructor_super.as_ref(),
-            "noNonNullAssertion" => self.no_non_null_assertion.as_ref(),
             "noNoninteractiveElementToInteractiveRole" => {
                 self.no_noninteractive_element_to_interactive_role.as_ref()
             }
             "noParameterProperties" => self.no_parameter_properties.as_ref(),
-            "noPrecisionLoss" => self.no_precision_loss.as_ref(),
             "noPrototypeBuiltins" => self.no_prototype_builtins.as_ref(),
             "noRedeclaration" => self.no_redeclaration.as_ref(),
             "noRedundantAlt" => self.no_redundant_alt.as_ref(),
-            "noRedundantUseStrict" => self.no_redundant_use_strict.as_ref(),
             "noRestrictedGlobals" => self.no_restricted_globals.as_ref(),
             "noSelfAssignment" => self.no_self_assignment.as_ref(),
             "noSelfCompare" => self.no_self_compare.as_ref(),
-            "noSetterReturn" => self.no_setter_return.as_ref(),
-            "noStringCaseMismatch" => self.no_string_case_mismatch.as_ref(),
             "noSvgWithoutTitle" => self.no_svg_without_title.as_ref(),
             "noSwitchDeclarations" => self.no_switch_declarations.as_ref(),
             "noUnreachableSuper" => self.no_unreachable_super.as_ref(),
-            "noUnsafeFinally" => self.no_unsafe_finally.as_ref(),
             "noUnsafeOptionalChaining" => self.no_unsafe_optional_chaining.as_ref(),
             "noUnusedLabels" => self.no_unused_labels.as_ref(),
             "noUselessCatch" => self.no_useless_catch.as_ref(),
             "noUselessRename" => self.no_useless_rename.as_ref(),
             "noUselessSwitchCase" => self.no_useless_switch_case.as_ref(),
-            "noVar" => self.no_var.as_ref(),
-            "noVoidTypeReturn" => self.no_void_type_return.as_ref(),
             "noWith" => self.no_with.as_ref(),
             "useAriaPropTypes" => self.use_aria_prop_types.as_ref(),
             "useAriaPropsForRole" => self.use_aria_props_for_role.as_ref(),
             "useCamelCase" => self.use_camel_case.as_ref(),
-            "useConst" => self.use_const.as_ref(),
-            "useDefaultParameterLast" => self.use_default_parameter_last.as_ref(),
-            "useDefaultSwitchClauseLast" => self.use_default_switch_clause_last.as_ref(),
-            "useEnumInitializers" => self.use_enum_initializers.as_ref(),
             "useExhaustiveDependencies" => self.use_exhaustive_dependencies.as_ref(),
-            "useExponentiationOperator" => self.use_exponentiation_operator.as_ref(),
             "useHookAtTopLevel" => self.use_hook_at_top_level.as_ref(),
             "useIframeTitle" => self.use_iframe_title.as_ref(),
             "useIsNan" => self.use_is_nan.as_ref(),
             "useMediaCaption" => self.use_media_caption.as_ref(),
-            "useNumericLiterals" => self.use_numeric_literals.as_ref(),
             "useValidAriaProps" => self.use_valid_aria_props.as_ref(),
             "useValidLang" => self.use_valid_lang.as_ref(),
             "useYield" => self.use_yield.as_ref(),
@@ -2181,18 +1966,39 @@ pub struct Style {
     #[doc = "Disallow negation in the condition of an if statement if it has an else clause"]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_negation_else: Option,
+    #[doc = "Disallow non-null assertions using the ! postfix operator."]
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub no_non_null_assertion: Option,
     #[doc = "Disallow the use of constants which its value is the upper-case version of its name."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_shouty_constants: Option,
     #[doc = "Disallow template literals if interpolation and special-character handling are not needed"]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_unused_template_literal: Option,
+    #[doc = "Disallow the use of var"]
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub no_var: Option,
     #[doc = "Requires following curly brace conventions. JavaScript allows the omission of curly braces when a block contains only one statement. However, it is considered by many to be best practice to never omit curly braces around blocks, even when they are optional, because it can lead to bugs and reduces code clarity."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub use_block_statements: Option,
+    #[doc = "Require const declarations for variables that are never reassigned after declared."]
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub use_const: Option,
+    #[doc = "Enforce default function parameters and optional parameters to be last."]
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub use_default_parameter_last: Option,
+    #[doc = "Require that each enum member value be explicitly initialized."]
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub use_enum_initializers: Option,
+    #[doc = "Disallow the use of Math.pow in favor of the ** operator."]
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub use_exponentiation_operator: Option,
     #[doc = "This rule enforces the use of <>... over ...."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub use_fragment_syntax: Option,
+    #[doc = "Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals"]
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub use_numeric_literals: Option,
     #[doc = "Prevent extra closing tags for components without children"]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub use_self_closing_elements: Option,
@@ -2214,14 +2020,21 @@ pub struct Style {
 }
 impl Style {
     const GROUP_NAME: &'static str = "style";
-    pub(crate) const GROUP_RULES: [&'static str; 13] = [
+    pub(crate) const GROUP_RULES: [&'static str; 20] = [
         "noArguments",
         "noImplicitBoolean",
         "noNegationElse",
+        "noNonNullAssertion",
         "noShoutyConstants",
         "noUnusedTemplateLiteral",
+        "noVar",
         "useBlockStatements",
+        "useConst",
+        "useDefaultParameterLast",
+        "useEnumInitializers",
+        "useExponentiationOperator",
         "useFragmentSyntax",
+        "useNumericLiterals",
         "useSelfClosingElements",
         "useShorthandArrayType",
         "useSingleCaseStatement",
@@ -2229,88 +2042,135 @@ impl Style {
         "useTemplate",
         "useWhile",
     ];
-    const RECOMMENDED_RULES: [&'static str; 6] = [
+    const RECOMMENDED_RULES: [&'static str; 12] = [
         "noArguments",
+        "noNonNullAssertion",
         "noUnusedTemplateLiteral",
+        "noVar",
+        "useConst",
+        "useDefaultParameterLast",
+        "useEnumInitializers",
+        "useNumericLiterals",
         "useSelfClosingElements",
         "useSingleVarDeclarator",
         "useTemplate",
         "useWhile",
     ];
-    const RECOMMENDED_RULES_AS_FILTERS: [RuleFilter<'static>; 6] = [
+    const RECOMMENDED_RULES_AS_FILTERS: [RuleFilter<'static>; 12] = [
         RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0]),
-        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[4]),
-        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[7]),
+        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[3]),
+        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[8]),
+        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[9]),
         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[17]),
+        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18]),
+        RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19]),
     ];
     pub(crate) fn is_recommended(&self) -> bool { !matches!(self.recommended, Some(false)) }
     pub(crate) fn get_enabled_rules(&self) -> IndexSet {
         let mut index_set = IndexSet::new();
         if let Some(rule) = self.no_arguments.as_ref() {
             if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[0]));
+            }
+        }
+        if let Some(rule) = self.no_implicit_boolean.as_ref() {
+            if rule.is_enabled() {
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1]));
+            }
+        }
+        if let Some(rule) = self.no_negation_else.as_ref() {
+            if rule.is_enabled() {
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2]));
+            }
+        }
+        if let Some(rule) = self.no_non_null_assertion.as_ref() {
+            if rule.is_enabled() {
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[3]));
+            }
+        }
+        if let Some(rule) = self.no_shouty_constants.as_ref() {
+            if rule.is_enabled() {
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[4]));
+            }
+        }
+        if let Some(rule) = self.no_unused_template_literal.as_ref() {
+            if rule.is_enabled() {
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[5]));
             }
         }
-        if let Some(rule) = self.no_implicit_boolean.as_ref() {
+        if let Some(rule) = self.no_var.as_ref() {
             if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[1]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[6]));
             }
         }
-        if let Some(rule) = self.no_negation_else.as_ref() {
+        if let Some(rule) = self.use_block_statements.as_ref() {
             if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[7]));
             }
         }
-        if let Some(rule) = self.no_shouty_constants.as_ref() {
+        if let Some(rule) = self.use_const.as_ref() {
             if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[3]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[8]));
             }
         }
-        if let Some(rule) = self.no_unused_template_literal.as_ref() {
+        if let Some(rule) = self.use_default_parameter_last.as_ref() {
             if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[4]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[9]));
             }
         }
-        if let Some(rule) = self.use_block_statements.as_ref() {
+        if let Some(rule) = self.use_enum_initializers.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[10]));
+            }
+        }
+        if let Some(rule) = self.use_exponentiation_operator.as_ref() {
+            if rule.is_enabled() {
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11]));
             }
         }
         if let Some(rule) = self.use_fragment_syntax.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[12]));
+            }
+        }
+        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[13]));
             }
         }
         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[7]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[14]));
             }
         }
         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[8]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[15]));
             }
         }
         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[9]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[16]));
             }
         }
         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[10]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[17]));
             }
         }
         if let Some(rule) = self.use_template.as_ref() {
             if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18]));
             }
         }
         if let Some(rule) = self.use_while.as_ref() {
             if rule.is_enabled() {
-                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[12]));
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19]));
             }
         }
         index_set
@@ -2332,56 +2192,91 @@ impl Style {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[2]));
             }
         }
-        if let Some(rule) = self.no_shouty_constants.as_ref() {
+        if let Some(rule) = self.no_non_null_assertion.as_ref() {
             if rule.is_disabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[3]));
             }
         }
-        if let Some(rule) = self.no_unused_template_literal.as_ref() {
+        if let Some(rule) = self.no_shouty_constants.as_ref() {
             if rule.is_disabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[4]));
             }
         }
-        if let Some(rule) = self.use_block_statements.as_ref() {
+        if let Some(rule) = self.no_unused_template_literal.as_ref() {
             if rule.is_disabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[5]));
             }
         }
-        if let Some(rule) = self.use_fragment_syntax.as_ref() {
+        if let Some(rule) = self.no_var.as_ref() {
             if rule.is_disabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[6]));
             }
         }
-        if let Some(rule) = self.use_self_closing_elements.as_ref() {
+        if let Some(rule) = self.use_block_statements.as_ref() {
             if rule.is_disabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[7]));
             }
         }
-        if let Some(rule) = self.use_shorthand_array_type.as_ref() {
+        if let Some(rule) = self.use_const.as_ref() {
             if rule.is_disabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[8]));
             }
         }
-        if let Some(rule) = self.use_single_case_statement.as_ref() {
+        if let Some(rule) = self.use_default_parameter_last.as_ref() {
             if rule.is_disabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[9]));
             }
         }
-        if let Some(rule) = self.use_single_var_declarator.as_ref() {
+        if let Some(rule) = self.use_enum_initializers.as_ref() {
             if rule.is_disabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[10]));
             }
         }
-        if let Some(rule) = self.use_template.as_ref() {
+        if let Some(rule) = self.use_exponentiation_operator.as_ref() {
             if rule.is_disabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[11]));
             }
         }
-        if let Some(rule) = self.use_while.as_ref() {
+        if let Some(rule) = self.use_fragment_syntax.as_ref() {
             if rule.is_disabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[12]));
             }
         }
+        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[13]));
+            }
+        }
+        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[14]));
+            }
+        }
+        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[15]));
+            }
+        }
+        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[16]));
+            }
+        }
+        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[17]));
+            }
+        }
+        if let Some(rule) = self.use_template.as_ref() {
+            if rule.is_disabled() {
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[18]));
+            }
+        }
+        if let Some(rule) = self.use_while.as_ref() {
+            if rule.is_disabled() {
+                index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[19]));
+            }
+        }
         index_set
     }
     #[doc = r" Checks if, given a rule name, matches one of the rules contained in this category"]
@@ -2390,7 +2285,7 @@ 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>; 6] {
+    pub(crate) fn recommended_rules_as_filters() -> [RuleFilter<'static>; 12] {
         Self::RECOMMENDED_RULES_AS_FILTERS
     }
     pub(crate) fn get_rule_configuration(&self, rule_name: &str) -> Option<&RuleConfiguration> {
@@ -2398,10 +2293,17 @@ impl Style {
             "noArguments" => self.no_arguments.as_ref(),
             "noImplicitBoolean" => self.no_implicit_boolean.as_ref(),
             "noNegationElse" => self.no_negation_else.as_ref(),
+            "noNonNullAssertion" => self.no_non_null_assertion.as_ref(),
             "noShoutyConstants" => self.no_shouty_constants.as_ref(),
             "noUnusedTemplateLiteral" => self.no_unused_template_literal.as_ref(),
+            "noVar" => self.no_var.as_ref(),
             "useBlockStatements" => self.use_block_statements.as_ref(),
+            "useConst" => self.use_const.as_ref(),
+            "useDefaultParameterLast" => self.use_default_parameter_last.as_ref(),
+            "useEnumInitializers" => self.use_enum_initializers.as_ref(),
+            "useExponentiationOperator" => self.use_exponentiation_operator.as_ref(),
             "useFragmentSyntax" => self.use_fragment_syntax.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(),
             "useSingleCaseStatement" => self.use_single_case_statement.as_ref(),
@@ -2435,18 +2337,30 @@ pub struct Suspicious {
     #[doc = "Disallow comparing against -0"]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_compare_neg_zero: Option,
+    #[doc = "Disallow TypeScript const enum"]
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub no_const_enum: Option,
     #[doc = "Disallow the use of debugger"]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_debugger: Option,
     #[doc = "Require the use of === and !=="]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_double_equals: Option,
+    #[doc = "Prevents object literals having more than one property declaration for the same name. If an object property with the same name is defined multiple times (except when combining a getter with a setter), only the last definition makes it into the object and previous definitions are ignored, which is likely a mistake."]
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub no_duplicate_object_keys: Option,
     #[doc = "Disallow duplicate function arguments name."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_duplicate_parameters: Option,
+    #[doc = "Disallow the declaration of empty interfaces."]
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub no_empty_interface: Option,
     #[doc = "Disallow the any type usage."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_explicit_any: Option,
+    #[doc = "Prevents the wrong usage of the non-null assertion operator (!) in TypeScript files."]
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub no_extra_non_null_assertion: Option,
     #[doc = "Disallow reassigning function declarations."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_function_assign: Option,
@@ -2456,6 +2370,9 @@ pub struct Suspicious {
     #[doc = "Disallow labels that share a name with a variable"]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_label_var: Option,
+    #[doc = "Prevents from having redundant \"use strict\"."]
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub no_redundant_use_strict: Option,
     #[doc = "Disallow identifiers from shadowing restricted names."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_shadow_restricted_names: Option,
@@ -2465,49 +2382,63 @@ pub struct Suspicious {
     #[doc = "Disallow using unsafe negation."]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub no_unsafe_negation: Option,
+    #[doc = "Enforce default clauses in switch statements to be last"]
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub use_default_switch_clause_last: Option,
     #[doc = "This rule verifies the result of typeof $expr unary expressions is being compared to valid values, either string literals containing valid type names or other typeof expressions"]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub use_valid_typeof: Option,
 }
 impl Suspicious {
     const GROUP_NAME: &'static str = "suspicious";
-    pub(crate) const GROUP_RULES: [&'static str; 16] = [
+    pub(crate) const GROUP_RULES: [&'static str; 22] = [
         "noArrayIndexKey",
         "noAsyncPromiseExecutor",
         "noCatchAssign",
         "noCommentText",
         "noCompareNegZero",
+        "noConstEnum",
         "noDebugger",
         "noDoubleEquals",
+        "noDuplicateObjectKeys",
         "noDuplicateParameters",
+        "noEmptyInterface",
         "noExplicitAny",
+        "noExtraNonNullAssertion",
         "noFunctionAssign",
         "noImportAssign",
         "noLabelVar",
+        "noRedundantUseStrict",
         "noShadowRestrictedNames",
         "noSparseArray",
         "noUnsafeNegation",
+        "useDefaultSwitchClauseLast",
         "useValidTypeof",
     ];
-    const RECOMMENDED_RULES: [&'static str; 16] = [
+    const RECOMMENDED_RULES: [&'static str; 21] = [
         "noArrayIndexKey",
         "noAsyncPromiseExecutor",
         "noCatchAssign",
         "noCommentText",
         "noCompareNegZero",
+        "noConstEnum",
         "noDebugger",
         "noDoubleEquals",
+        "noDuplicateObjectKeys",
         "noDuplicateParameters",
+        "noEmptyInterface",
         "noExplicitAny",
+        "noExtraNonNullAssertion",
         "noFunctionAssign",
         "noImportAssign",
         "noLabelVar",
         "noShadowRestrictedNames",
         "noSparseArray",
         "noUnsafeNegation",
+        "useDefaultSwitchClauseLast",
         "useValidTypeof",
     ];
-    const RECOMMENDED_RULES_AS_FILTERS: [RuleFilter<'static>; 16] = [
+    const RECOMMENDED_RULES_AS_FILTERS: [RuleFilter<'static>; 21] = [
         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]),
@@ -2524,6 +2455,11 @@ impl Suspicious {
         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[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]),
     ];
     pub(crate) fn is_recommended(&self) -> bool { !matches!(self.recommended, Some(false)) }
     pub(crate) fn get_enabled_rules(&self) -> IndexSet {
@@ -2553,61 +2489,91 @@ impl Suspicious {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[4]));
             }
         }
-        if let Some(rule) = self.no_debugger.as_ref() {
+        if let Some(rule) = self.no_const_enum.as_ref() {
             if rule.is_enabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[5]));
             }
         }
-        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[6]));
             }
         }
-        if let Some(rule) = self.no_duplicate_parameters.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[7]));
             }
         }
-        if let Some(rule) = self.no_explicit_any.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[8]));
             }
         }
-        if let Some(rule) = self.no_function_assign.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[9]));
             }
         }
-        if let Some(rule) = self.no_import_assign.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[10]));
             }
         }
-        if let Some(rule) = self.no_label_var.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[11]));
             }
         }
-        if let Some(rule) = self.no_shadow_restricted_names.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[12]));
             }
         }
-        if let Some(rule) = self.no_sparse_array.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[13]));
             }
         }
-        if let Some(rule) = self.no_unsafe_negation.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[14]));
             }
         }
-        if let Some(rule) = self.use_valid_typeof.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[15]));
             }
         }
+        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[16]));
+            }
+        }
+        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[17]));
+            }
+        }
+        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[18]));
+            }
+        }
+        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[19]));
+            }
+        }
+        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[20]));
+            }
+        }
+        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[21]));
+            }
+        }
         index_set
     }
     pub(crate) fn get_disabled_rules(&self) -> IndexSet {
@@ -2637,61 +2603,91 @@ impl Suspicious {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[4]));
             }
         }
-        if let Some(rule) = self.no_debugger.as_ref() {
+        if let Some(rule) = self.no_const_enum.as_ref() {
             if rule.is_disabled() {
                 index_set.insert(RuleFilter::Rule(Self::GROUP_NAME, Self::GROUP_RULES[5]));
             }
         }
-        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[6]));
             }
         }
-        if let Some(rule) = self.no_duplicate_parameters.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[7]));
             }
         }
-        if let Some(rule) = self.no_explicit_any.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[8]));
             }
         }
-        if let Some(rule) = self.no_function_assign.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[9]));
             }
         }
-        if let Some(rule) = self.no_import_assign.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[10]));
             }
         }
-        if let Some(rule) = self.no_label_var.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[11]));
             }
         }
-        if let Some(rule) = self.no_shadow_restricted_names.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[12]));
             }
         }
-        if let Some(rule) = self.no_sparse_array.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[13]));
             }
         }
-        if let Some(rule) = self.no_unsafe_negation.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[14]));
             }
         }
-        if let Some(rule) = self.use_valid_typeof.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[15]));
             }
         }
+        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[16]));
+            }
+        }
+        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[17]));
+            }
+        }
+        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[18]));
+            }
+        }
+        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[19]));
+            }
+        }
+        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[20]));
+            }
+        }
+        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[21]));
+            }
+        }
         index_set
     }
     #[doc = r" Checks if, given a rule name, matches one of the rules contained in this category"]
@@ -2700,7 +2696,7 @@ 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>; 16] {
+    pub(crate) fn recommended_rules_as_filters() -> [RuleFilter<'static>; 21] {
         Self::RECOMMENDED_RULES_AS_FILTERS
     }
     pub(crate) fn get_rule_configuration(&self, rule_name: &str) -> Option<&RuleConfiguration> {
@@ -2710,16 +2706,22 @@ impl Suspicious {
             "noCatchAssign" => self.no_catch_assign.as_ref(),
             "noCommentText" => self.no_comment_text.as_ref(),
             "noCompareNegZero" => self.no_compare_neg_zero.as_ref(),
+            "noConstEnum" => self.no_const_enum.as_ref(),
             "noDebugger" => self.no_debugger.as_ref(),
             "noDoubleEquals" => self.no_double_equals.as_ref(),
+            "noDuplicateObjectKeys" => self.no_duplicate_object_keys.as_ref(),
             "noDuplicateParameters" => self.no_duplicate_parameters.as_ref(),
+            "noEmptyInterface" => self.no_empty_interface.as_ref(),
             "noExplicitAny" => self.no_explicit_any.as_ref(),
+            "noExtraNonNullAssertion" => self.no_extra_non_null_assertion.as_ref(),
             "noFunctionAssign" => self.no_function_assign.as_ref(),
             "noImportAssign" => self.no_import_assign.as_ref(),
             "noLabelVar" => self.no_label_var.as_ref(),
+            "noRedundantUseStrict" => self.no_redundant_use_strict.as_ref(),
             "noShadowRestrictedNames" => self.no_shadow_restricted_names.as_ref(),
             "noSparseArray" => self.no_sparse_array.as_ref(),
             "noUnsafeNegation" => self.no_unsafe_negation.as_ref(),
+            "useDefaultSwitchClauseLast" => self.use_default_switch_clause_last.as_ref(),
             "useValidTypeof" => self.use_valid_typeof.as_ref(),
             _ => None,
         }
diff --git a/website/src/pages/lint/rules/noUselessCatch.md b/website/src/pages/lint/rules/noUselessCatch.md
index d7ee2179674..cdae299b332 100644
--- a/website/src/pages/lint/rules/noUselessCatch.md
+++ b/website/src/pages/lint/rules/noUselessCatch.md
@@ -3,7 +3,7 @@ title: Lint Rule noUselessCatch
 parent: lint/rules/index
 ---
 
-# noUselessCatch (since vnext)
+# noUselessCatch (since v12.0.0)
 
 Disallow unnecessary `catch` clauses.