Skip to content

Rules sources

| @mysticatea/eslint-plugin rule name | Biome rule name | | ---- | ---- | | no-this-in-static |noThisInStatic (inspired) |

| @next/eslint-plugin-next rule name | Biome rule name | | ---- | ---- | | google-font-display |useGoogleFontDisplay | | no-document-import-in-page |noDocumentImportInPage | | no-head-element |noHeadElement | | no-head-import-in-document |noHeadImportInDocument | | no-img-element |noImgElement |

| Clippy rule name | Biome rule name | | ---- | ---- | | approx_constant |noApproximativeNumericConstant (inspired) | | collapsible_else_if |useCollapsedElseIf | | collapsible_if |useCollapsedIf | | eq_op |noSelfCompare | | flat_map_identity |noFlatMapIdentity | | if_not_else |noNegationElse | | lossy_float_literal |noPrecisionLoss | | map_flatten |useFlatMap | | match_str_case_mismatch |noStringCaseMismatch | | min_max |noConstantMathMinMaxClamp | | misrefactored_assign_op |noMisrefactoredShorthandAssign | | needless_for_each |noForEach | | redundant_else |noUselessElse (inspired) | | self_assignment |noSelfAssign |

| ESLint rule name | Biome rule name | | ---- | ---- | | constructor-super |noInvalidConstructorSuper | | curly |useBlockStatements | | default-case |useDefaultSwitchClause | | default-case-last |useDefaultSwitchClauseLast | | default-param-last |useDefaultParameterLast | | dot-notation |useLiteralKeys | | eqeqeq |noDoubleEquals | | for-direction |useValidForDirection | | getter-return |useGetterReturn | | guard-for-in |useGuardForIn | | no-array-constructor |useArrayLiterals | | no-async-promise-executor |noAsyncPromiseExecutor | | no-case-declarations |noSwitchDeclarations | | no-class-assign |noClassAssign | | no-compare-neg-zero |noCompareNegZero | | no-cond-assign |noAssignInExpressions (inspired) | | no-console |noConsole | | no-const-assign |noConstAssign | | no-constant-condition |noConstantCondition | | no-constructor-return |noConstructorReturn | | no-control-regex |noControlCharactersInRegex | | no-debugger |noDebugger | | no-dupe-args |noDuplicateParameters | | no-dupe-class-members |noDuplicateClassMembers | | no-dupe-else-if |noDuplicateElseIf | | no-dupe-keys |noDuplicateObjectKeys | | no-duplicate-case |noDuplicateCase | | no-else-return |noUselessElse (inspired) | | no-empty |noEmptyBlockStatements | | no-empty-character-class |noEmptyCharacterClassInRegex | | no-empty-function |noEmptyBlockStatements | | no-empty-pattern |noEmptyPattern | | no-empty-static-block |noEmptyBlockStatements | | no-eval |noGlobalEval | | no-ex-assign |noCatchAssign | | no-extra-boolean-cast |noExtraBooleanCast | | no-extra-label |noUselessLabel | | no-fallthrough |noFallthroughSwitchClause | | no-func-assign |noFunctionAssign | | no-global-assign |noGlobalAssign | | no-import-assign |noImportAssign | | no-inner-declarations |noInnerDeclarations | | no-irregular-whitespace |noIrregularWhitespace | | no-label-var |noLabelVar | | no-labels |noConfusingLabels (inspired) | | no-lone-blocks |noUselessLoneBlockStatements | | no-lonely-if |useCollapsedElseIf | | no-loss-of-precision |noPrecisionLoss | | no-misleading-character-class |noMisleadingCharacterClass | | no-negated-condition |noNegationElse | | no-nested-ternary |noNestedTernary | | no-new-native-nonconstructor |noInvalidBuiltinInstantiation | | no-new-symbol |noNewSymbol | | no-new-wrappers |useConsistentBuiltinInstantiation | | no-nonoctal-decimal-escape |noNonoctalDecimalEscape | | no-obj-calls |noGlobalObjectCalls | | no-octal-escape |noOctalEscape | | no-param-reassign |noParameterAssign | | no-prototype-builtins |noPrototypeBuiltins | | no-redeclare |noRedeclare | | no-regex-spaces |noMultipleSpacesInRegex | | no-restricted-globals |noRestrictedGlobals | | no-restricted-imports |noRestrictedImports | | no-self-assign |noSelfAssign | | no-self-compare |noSelfCompare | | no-sequences |noCommaOperator | | no-setter-return |noSetterReturn | | no-shadow-restricted-names |noShadowRestrictedNames | | no-sparse-arrays |noSparseArray | | no-template-curly-in-string |noTemplateCurlyInString | | no-this-before-super |noUnreachableSuper | | no-throw-literal |useThrowOnlyError (inspired) | | no-undef |noUndeclaredVariables | | no-undef-init |noUselessUndefinedInitialization | | no-unneeded-ternary |noUselessTernary | | no-unreachable |noUnreachable | | no-unsafe-finally |noUnsafeFinally | | no-unsafe-negation |noUnsafeNegation | | no-unsafe-optional-chaining |noUnsafeOptionalChaining | | no-unused-labels |noUnusedLabels | | no-unused-private-class-members |noUnusedPrivateClassMembers | | no-unused-vars |noUnusedVariables | | no-use-before-define |noInvalidUseBeforeDeclaration | | no-useless-catch |noUselessCatch | | no-useless-concat |noUselessStringConcat | | no-useless-constructor |noUselessConstructor | | no-useless-escape |noUselessEscapeInRegex | | no-useless-rename |noUselessRename | | no-var |noVar | | no-void |noVoid | | no-with |noWith | | one-var |useSingleVarDeclarator | | operator-assignment |useShorthandAssign | | prefer-arrow-callback |useArrowFunction (inspired) | | prefer-const |useConst | | prefer-exponentiation-operator |useExponentiationOperator | | prefer-numeric-literals |useNumericLiterals | | prefer-object-has-own |noPrototypeBuiltins | | prefer-regex-literals |useRegexLiterals | | prefer-rest-params |noArguments (inspired) | | prefer-template |useTemplate | | require-await |useAwait | | require-yield |useYield | | use-isnan |useIsNan | | valid-typeof |useValidTypeof | | yoda |noYodaExpression |

| GraphQL-ESLint rule name | Biome rule name | | ---- | ---- | | no-duplicate-fields |noDuplicatedFields | | require-deprecation-reason |useDeprecatedReason |

| Stylelint rule name | Biome rule name | | ---- | ---- | | block-no-empty |noEmptyBlock | | custom-property-no-missing-var-function |noMissingVarFunction | | declaration-block-no-duplicate-custom-properties |noDuplicateCustomProperties | | declaration-block-no-duplicate-properties |noDuplicateProperties | | declaration-block-no-shorthand-property-overrides |noShorthandPropertyOverrides | | font-family-no-duplicate-names |noDuplicateFontNames | | font-family-no-missing-generic-family-keyword |useGenericFontNames | | function-linear-gradient-no-nonstandard-direction |noInvalidDirectionInLinearGradient | | function-no-unknown |noUnknownFunction | | keyframe-block-no-duplicate-selectors |noDuplicateSelectorsKeyframeBlock | | keyframe-declaration-no-important |noImportantInKeyframe | | media-feature-name-no-unknown |noUnknownMediaFeatureName | | named-grid-areas-no-invalid |noInvalidGridAreas | | no-descending-specificity |noDescendingSpecificity (inspired) | | no-duplicate-at-import-rules |noDuplicateAtImportRules | | no-invalid-position-at-import-rule |noInvalidPositionAtImportRule | | no-irregular-whitespace |noIrregularWhitespace | | property-no-unknown |noUnknownProperty | | selector-anb-no-unmatchable |noUnmatchableAnbSelector | | selector-pseudo-class-no-unknown |noUnknownPseudoClass | | selector-pseudo-element-no-unknown |noUnknownPseudoElement | | selector-type-no-unknown |noUnknownTypeSelector | | unit-no-unknown |noUnknownUnit |

| eslint-plugin-barrel-files rule name | Biome rule name | | ---- | ---- | | avoid-barrel-files |noBarrelFile (inspired) | | avoid-namespace-import |noNamespaceImport | | avoid-re-export-all |noReExportAll |

| eslint-plugin-import rule name | Biome rule name | | ---- | ---- | | no-commonjs |noCommonJs (inspired) | | no-default-export |noDefaultExport | | no-extraneous-dependencies |noUndeclaredDependencies | | no-nodejs-modules |noNodejsModules |

| eslint-plugin-jest rule name | Biome rule name | | ---- | ---- | | max-nested-describe |noExcessiveNestedTestSuites | | no-disabled-tests |noSkippedTests (inspired) | | no-done-callback |noDoneCallback (inspired) | | no-duplicate-hooks |noDuplicateTestHooks (inspired) | | no-export |noExportsInTest (inspired) | | no-focused-tests |noFocusedTests (inspired) | | no-standalone-expect |noMisplacedAssertion (inspired) |

| eslint-plugin-jsx-a11y rule name | Biome rule name | | ---- | ---- | | alt-text |useAltText | | anchor-has-content |useAnchorContent | | anchor-is-valid |useValidAnchor | | aria-activedescendant-has-tabindex |useAriaActivedescendantWithTabindex | | aria-props |useValidAriaProps | | aria-proptypes |useValidAriaValues | | aria-role |useValidAriaRole | | aria-unsupported-elements |noAriaUnsupportedElements | | autocomplete-valid |useValidAutocomplete | | click-events-have-key-events |useKeyWithClickEvents | | heading-has-content |useHeadingContent | | html-has-lang |useHtmlLang | | iframe-has-title |useIframeTitle | | img-redundant-alt |noRedundantAlt | | interactive-supports-focus |useFocusableInteractive | | label-has-associated-control |noLabelWithoutControl | | lang |useValidLang | | media-has-caption |useMediaCaption | | mouse-events-have-key-events |useKeyWithMouseEvents | | no-access-key |noAccessKey (inspired) | | no-aria-hidden-on-focusable |noAriaHiddenOnFocusable | | no-autofocus |noAutofocus | | no-distracting-elements |noDistractingElements | | no-interactive-element-to-noninteractive-role |noInteractiveElementToNoninteractiveRole | | no-noninteractive-element-to-interactive-role |noNoninteractiveElementToInteractiveRole | | no-noninteractive-tabindex |noNoninteractiveTabindex | | no-redundant-roles |noRedundantRoles | | no-static-element-interactions |noStaticElementInteractions | | prefer-tag-over-role |useSemanticElements | | role-has-required-aria-props |useAriaPropsForRole | | role-supports-aria-props |useAriaPropsSupportedByRole | | scope |noHeaderScope | | tabindex-no-positive |noPositiveTabindex |

| eslint-plugin-n rule name | Biome rule name | | ---- | ---- | | no-process-env |noProcessEnv (inspired) |

| eslint-plugin-no-secrets rule name | Biome rule name | | ---- | ---- | | no-secrets |noSecrets (inspired) |

| eslint-plugin-react rule name | Biome rule name | | ---- | ---- | | button-has-type |useButtonType | | jsx-boolean-value |noImplicitBoolean (inspired) | | jsx-curly-brace-presence |useConsistentCurlyBraces (inspired) | | jsx-fragments |useFragmentSyntax | | jsx-key |useJsxKeyInIterable | | jsx-no-comment-textnodes |noCommentText | | jsx-no-duplicate-props |noDuplicateJsxProps | | jsx-no-target-blank |noBlankTarget | | jsx-no-useless-fragment |noUselessFragments | | no-array-index-key |noArrayIndexKey (inspired) | | no-children-prop |noChildrenProp | | no-danger |noDangerouslySetInnerHtml | | no-danger-with-children |noDangerouslySetInnerHtmlWithChildren | | void-dom-elements-no-children |noVoidElementsWithChildren |

| eslint-plugin-react-hooks rule name | Biome rule name | | ---- | ---- | | exhaustive-deps |useExhaustiveDependencies (inspired) | | rules-of-hooks |useHookAtTopLevel |

| eslint-plugin-react-refresh rule name | Biome rule name | | ---- | ---- | | only-export-components |useComponentExportOnlyModules (inspired) |

| eslint-plugin-solid rule name | Biome rule name | | ---- | ---- | | no-react-specific-props |noReactSpecificProps (inspired) |

| eslint-plugin-sonarjs rule name | Biome rule name | | ---- | ---- | | cognitive-complexity |noExcessiveCognitiveComplexity (inspired) | | prefer-while |useWhile |

| eslint-plugin-stylistic rule name | Biome rule name | | ---- | ---- | | jsx-self-closing-comp |useSelfClosingElements (inspired) |

| eslint-plugin-unicorn rule name | Biome rule name | | ---- | ---- | | error-message |useErrorMessage | | explicit-length-check |useExplicitLengthCheck | | filename-case |useFilenamingConvention (inspired) | | new-for-builtins |noInvalidBuiltinInstantiation | | no-array-for-each |noForEach | | no-document-cookie |noDocumentCookie (inspired) | | no-for-loop |useForOf | | no-instanceof-array |useIsArray | | no-lonely-if |useCollapsedIf | | no-static-only-class |noStaticOnlyClass | | no-thenable |noThenProperty | | no-useless-switch-case |noUselessSwitchCase | | prefer-array-flat-map |useFlatMap | | prefer-at |useAtIndex (inspired) | | prefer-date-now |useDateNow | | prefer-node-protocol |useNodejsImportProtocol | | prefer-number-properties |useNumberNamespace | | prefer-string-slice |noSubstr | | prefer-string-trim-start-end |useTrimStartEnd | | require-number-to-fixed-digits-argument |useNumberToFixedDigitsArgument | | throw-new-error |useThrowNewError |

| eslint-plugin-unused-imports rule name | Biome rule name | | ---- | ---- | | no-unused-imports |noUnusedImports (inspired) | | no-unused-vars |noUnusedVariables |

| typescript-eslint rule name | Biome rule name | | ---- | ---- | | adjacent-overload-signatures |useAdjacentOverloadSignatures | | array-type |useConsistentArrayType | | ban-types |noBannedTypes (inspired) | | consistent-type-exports |useExportType (inspired) | | consistent-type-imports |useImportType (inspired) | | default-param-last |useDefaultParameterLast | | dot-notation |useLiteralKeys | | explicit-function-return-type |useExplicitType | | explicit-member-accessibility |useConsistentMemberAccessibility | | naming-convention |useNamingConvention (inspired) | | no-array-constructor |useArrayLiterals | | no-dupe-class-members |noDuplicateClassMembers | | no-empty-function |noEmptyBlockStatements | | no-empty-interface |noEmptyInterface (inspired) | | no-explicit-any |noExplicitAny | | no-extra-non-null-assertion |noExtraNonNullAssertion | | no-extraneous-class |noStaticOnlyClass | | no-inferrable-types |noInferrableTypes | | no-invalid-void-type |noConfusingVoidType | | no-loss-of-precision |noPrecisionLoss | | no-misused-new |noMisleadingInstantiator | | no-namespace |noNamespace | | no-non-null-assertion |noNonNullAssertion | | no-redeclare |noRedeclare | | no-require-imports |noCommonJs | | no-restricted-imports |noRestrictedImports | | no-restricted-types |noRestrictedTypes | | no-this-alias |noUselessThisAlias (inspired) | | no-unnecessary-type-constraint |noUselessTypeConstraint | | no-unsafe-declaration-merging |noUnsafeDeclarationMerging | | no-unused-vars |noUnusedVariables | | no-use-before-define |noInvalidUseBeforeDeclaration | | no-useless-constructor |noUselessConstructor | | no-useless-empty-export |noUselessEmptyExport | | only-throw-error |useThrowOnlyError (inspired) | | parameter-properties |noParameterProperties (inspired) | | prefer-as-const |useAsConstAssertion | | prefer-enum-initializers |useEnumInitializers | | prefer-for-of |useForOf | | prefer-function-type |useShorthandFunctionType | | prefer-literal-enum-member |useLiteralEnumMembers | | prefer-namespace-keyword |useNamespaceKeyword | | prefer-optional-chain |useOptionalChain | | require-await |useAwait |