Skip to content

All Rules

This is a full table of all rules that will be implemented in the main Flint project. It includes rules from all three provided categories of plugins: Core, Focused, and Incubator.

Implemented: 464 of 1582 (29.3%)
Flint RulePluginPreset
abortSignalAnysTypeScriptstylistic
abortSignalTimeoutsTypeScriptstylistic
accessKeysAstrological
accessKeysDisallow the use of the accessKey / accesskey attribute on JSX elements.JSXlogical
accessorPairGroupsReports getter and setter accessors for the same property that are not adjacent.TypeScriptstylistic
accessorPairTypesReports mismatched types between getter and setter accessor pairs.TypeScriptlogical
accessorThisRecursionReports recursive access to this within getters and setters.TypeScriptlogicalStrict
addEventListenerOptionsBrowserstylistic
afterAllPaddingLinesEnforces padding around afterAll blocks.Vitest(none)
afterEachPaddingLinesEnforces padding around afterEach blocks.Vitest(none)
aggregateErrorsTypeScriptstylistic
alertsReports uses of the global alert/confirm/prompt dialog APIs.Browserlogical
aliasMethodsViteststylistic
allPaddingLinesEnforces padding around Vitest blocks.Vitest(none)
alphaValueNotationsCSSstylistic
altTextsAstrological
altTextsReports elements that require alt text but are missing it.JSXlogical
amdImportsTypeScript(none)
anbSelectorMatchabilityCSSlogical
anchorAmbiguousTextAstrological
anchorAmbiguousTextReports anchor elements with ambiguous text that doesn't describe the link destination.JSXlogicalStrict
anchorContentAstrological
anchorContentReports anchor elements without accessible content.JSXlogical
anchorNativesNext.jslogical
anchorValidityAstrological
anchorValidityReports invalid usage of anchor elements.JSXlogical
animationNameValidityCSSlogical
annotationValidityCSSlogical
anonymousDefaultExportsTypeScript(none)
anyArgumentsReports calling a function with a value typed as any as an argument.TypeScriptlogical
anyAssignmentsReports assigning a value with type any to variables and properties.TypeScriptlogical
anyCallsReports calling a value with type any.TypeScriptlogical
anyMemberAccessReports member access on a value with type any.TypeScriptlogical
anyReturnsReports returning a value with type any from a function.TypeScriptlogical
argumentsReports using the arguments object instead of rest parameters.TypeScriptlogical
ariaActiveDescendantTabIndexAstrological
ariaActiveDescendantTabIndexReports elements with aria-activedescendant without tabIndex.JSXlogical
ariaHiddenFocusablesAstrological
ariaHiddenFocusablesReports elements with aria-hidden='true' that are focusable.JSXlogicalStrict
ariaPropsAstrological
ariaPropsReports invalid ARIA properties.JSXlogical
ariaPropTypesAstrological
ariaPropTypesReports ARIA properties with invalid value types.JSXlogical
ariaRoleValidityAstrological
ariaRoleValidityReports invalid or abstract ARIA roles.JSXlogical
ariaUnsupportedElementsAstrological
ariaUnsupportedElementsReports ARIA attributes on elements that don't support them.JSXlogical
arrayCallbackReturnsReports missing return statements in callbacks of array methods.TypeScriptjavascript
arrayConcatsInLoopsTypeScriptlogical
arrayConstructorsReports using the Array constructor to create arrays instead of array literal syntax.TypeScriptlogical
arrayDeleteUnnecessaryCountsReports using .length or Infinity as the deleteCount or skipCount argument of Array#splice() or Array#toSpliced().TypeScriptstylistic
arrayElementDeletionsReports using the delete operator on array values.TypeScriptlogical
arrayEmptyCallbackSlotsReports array methods with callbacks that will never be invoked on arrays with empty slots.TypeScriptlogical
arrayExistenceChecksConsistencyReports inconsistent styles for checking element existence using index methods.TypeScriptstylistic
arrayFillWithReferenceTypesTypeScriptlogical
arrayFilteredFindsReports using .filter() when only the first or last matching element is needed.TypeScriptstylisticStrict
arrayFindsReports using .filter()[0] instead of .find() when looking for a single element.TypeScriptstylistic
arrayFlatMapMethodsReports using .map().flat() when .flatMap() can be used.TypeScriptstylisticStrict
arrayFlatMethodsReports legacy techniques to flatten arrays instead of using .flat().TypeScriptstylisticStrict
arrayFlatUnnecessaryDepthsReports using 1 as the depth argument of .flat() since it is the default.TypeScriptstylistic
arrayFromAsyncsTypeScriptstylistic
arrayFromFillsTypeScriptstylistic
arrayFromMapsTypeScriptstylistic
arrayFromRangesTypeScriptstylistic
arrayFrontMutationsTypeScriptlogical
arrayHandlersSolidJS(none)
arrayIncludesReports using .indexOf() comparisons that can be replaced with .includes().TypeScriptstylistic
arrayIncludesMethodsReports using Array#some() with simple equality checks that can be replaced with .includes().TypeScriptstylisticStrict
arrayIncludesOrderTypeScript(none)
arrayIndexKeysReactlogical
arrayIndexOfMethodsReports using .findIndex() or .findLastIndex() with simple equality checks that can be replaced with .indexOf() or .lastIndexOf().TypeScriptstylisticStrict
arrayInstanceOfChecksTypeScriptlogical
arrayIterableMethodsTypeScriptstylistic
arrayLastMethodsTypeScriptstylistic
arrayLoopsReports using .forEach() when a for-of loop can be used.TypeScriptstylistic
arrayMapIdentitiesReports using .flatMap() with an identity function that returns its argument unchanged.TypeScriptlogical
arrayMutableReversesReports .reverse() calls on arrays that mutate the original array.TypeScriptstylistic
arrayMutableSortsReports .sort() calls on arrays that mutate the original array.TypeScriptstylistic
arrayPushCallsTypeScriptstylistic
arrayPushReturnsTypeScriptlogical
arrayReduceTypeArgumentsReports Array#reduce calls using type assertions on initial values instead of type arguments.TypeScriptlogicalStrict
arraySlicesTypeScriptstylistic
arraySliceUnnecessaryEndReports unnecessary end argument in .slice() calls when it equals the length or is Infinity.TypeScriptstylistic
arraySomeMethodsReports patterns that can be replaced with .some() for checking array element existence.TypeScriptstylisticStrict
arraysOrderTypeScript(none)
arraySortMinMaxTypeScriptlogical
arraySplicesTypeScriptstylistic
arrayTernarySpreadingConsistencyReports inconsistent types when spreading a ternary in an array literal.TypeScriptstylistic
arrayTypesReports array type syntax that doesn't match the configured style.TypeScriptstylistic
arrayUnnecessaryLengthChecksReports unnecessary array length checks before .some() or .every() calls.TypeScriptlogical
asConstAssertionsReports using explicit literal types when as const can be used.TypeScriptstylistic
assertStrictPrefer strict assertion mode from Node.js for better error messages and behavior.Node.jslogical
assertStylesPrefer assert.ok() over assert() for explicit intent and better readability.Node.jsstylistic
assignmentOperatorShorthandsPrefer logical assignment operator shorthand expressions.TypeScriptstylistic
asyncFunctionAwaitsReports async functions that do not use await.TypeScriptlogical
asyncPromiseExecutorsReports using async functions as Promise executor functions.TypeScriptlogical
asyncPromiseFinallysTypeScriptlogical
asyncServerFunctionsReactlogical
asyncUnnecessaryPromiseWrappersReports unnecessary Promise.resolve() or Promise.reject() in async contexts.TypeScriptlogical
atAccessesPrefer using .at() for accessing elements at negative indices.TypeScriptstylisticStrict
atDebugTagsSveltelogical
atHtmlTagsSveltesecurity
atRuleDeprecationsCSSlogical
atRulePlacementsCSSlogical
atRuleRequiredPropertiesCSS(none)
atRulesCSS(none)
atRuleValidityCSSlogical
atRuleVendorPrefixesCSSlogicalStrict
attributeInheritanceDuplicatesVuelogical
attributeNameCasingVuestylistic
attributeOrdersVuestylisticStrict
attributesOrderAstrosorting
attributeTogglesBrowserstylistic
attributeValidityJSXlogical
attributionEnforces that package.json declares author or contributor attribution.PackageJSONlogical
authorPresenceEnforces that the author property is present.PackageJSON(none)
authorValidityEnforces that the author property is valid.PackageJSONlogical
autocompleteAstrological
autocompleteEnsure the autocomplete attribute is correct and suitable for the form field.JSXlogical
autoFocusPropsAstrological
autoFocusPropsReports autoFocus props that are not set to false.JSXlogical
awaitsOverPromiseChainsTypeScriptstylistic
awaitThenableTypeScriptlogical
bareUrlsReports bare URLs that should be formatted as autolinks or links.MarkdownstylisticStrict
baselineFeaturesCSSlogical
baselineSupportCSSlogicalStrict
beforeAllPaddingLinesEnforces padding around beforeAll blocks.Vitest(none)
beforeEachPaddingLinesEnforces padding around beforeEach blocks.Vitest(none)
beforeRouteEnterThisAccessesVuelogical
bindDirectiveValidityVuelogical
bindStylesVuestylistic
bindSyncValidityVuelogical
binNameCasingEnforce that names for bin properties are in kebab case.PackageJSONstylistic
binPresenceEnforces that the bin property is present.PackageJSON(none)
binValidityEnforces that the bin property is valid.PackageJSONlogical
blobReadingMethodsPrefer direct Blob reading methods over wrapping in Response for simpler code.Node.jsstylistic
blobToFilesBrowserlogical
blockContentsCSSstylistic
blockLangSveltelogicalStrict
blockLanguagesVuelogical
blockLineLimitsVuestylistic
blockMappingsPrefer block-style mappings over flow-style mappings.YAMLstylistic
blockOrdersVuesorting
blockquoteBlankLineMultiplesMarkdownstylisticStrict
blockSequencesPrefer block style sequences over flow style sequences.YAMLstylistic
blockStatementsOverIifesTypeScriptstylistic
booleanDefaultsVuelogical
booleanPropNamesJSXstylisticStrict
booleanPropTypePositionsVuelogical
booleanReturnsTypeScriptstylistic
booleanSortComparatorsTypeScriptlogical
booleanValuesPrefer shorthand boolean attributes over explicit {true} values in JSX.JSXstylistic
bracedStatementsDisallow unnecessary JSX curly braces around literals and JSX elements.JSXstylistic
branchCodeDuplicatesTypeScriptstylisticStrict
browserPresenceEnforces that the browser property is present.PackageJSON(none)
browserValidityEnforces that the browser property is valid.PackageJSONlogical
bufferAllocatorsPrefer modern Buffer allocation methods over the deprecated Buffer constructor.Node.jslogical
bugsPresenceEnforces that the bugs property is present.PackageJSON(none)
bugsValidityEnforces that the bugs property is valid.PackageJSON(none)
builtinCoercionsReports functions that wrap native coercion functions like String, Number, BigInt, Boolean, or Symbol.TypeScriptstylisticStrict
builtinConstructorNewsEnforces using new for constructors that require it, and disallows new for primitive coercion functions.TypeScriptstylistic
bundleDependenciesPresenceEnforces that the bundleDependencies property is present.PackageJSON(none)
bundleDependenciesValidityEnforces that the bundleDependencies (also: bundledDependencies) property is valid.PackageJSONlogical
buttonTypePresenceJSX(none)
buttonTypesReports button elements without an explicit type attribute.JSXlogical
buttonTypesSveltelogicalStrict
buttonTypesVuelogical
calcOperatorValidityCSSlogical
calledOnceAssertionsVitest(none)
calledOnceWithAssertionsViteststylisticStrict
calledTimesAssertionsViteststylisticStrict
calledWithAssertionsViteststylisticStrict
camelCaseNamesVuestylistic
canvasToImagesBrowserlogical
captureOwnerStackUsageReactlogicalStrict
cascadeLayersCSSlogicalStrict
caseDeclarationsReports lexical declarations in case clauses without wrapping them in blocks.TypeScriptjavascript
caseDuplicatesReports switch statements with duplicate case clause test expressions.TypeScriptlogical
caseFallthroughsReports switch case clauses that fall through unexpectedly.TypeScriptlogical
catchCallbackTypesReports Promise catch callback parameters that are not typed as unknown.TypeScriptlogical
caughtErrorCausesTypeScriptlogicalStrict
caughtVariableNamesEnforces a consistent naming convention for catch clause error variables.TypeScriptstylisticStrict
chainedAssignmentsReports using chained assignment expressions (e.g., a = b = c).TypeScriptstylistic
characterClassElementsOrderTypeScript(none)
charAtComparisonsReports comparing charAt() results with strings longer than one character.TypeScriptlogical
childContentOverridesVuelogical
childrenCountsReact(none)
childrenForEachesReact(none)
childrenMapsReact(none)
childrenOnlysReact(none)
childrenPropsReports usage of the children prop.JSXstylistic
childrenPropsWithChildrenJSXstylistic
childrenToArraysReact(none)
childrenWhitespaceJSXlogicalStrict
classAssignmentsReports reassigning class declarations.TypeScriptjavascript
classComponentsReactlogicalStrict
classComponentStateDefinitionsReactstylisticStrict
classComponentStateInitializationReactstylisticStrict
classDirectivesSveltestylisticStrict
classesOrderTypeScriptsorting
classFieldDeclarationsReports assigning literal values to this in constructors instead of using class field declarations.TypeScriptjavascript
classListDirectiveObjectsAstrostylistic
classListDirectivesAstrostylistic
classListDirectiveSplitsAstrostylistic
classListPropsSolidJS(none)
classListTogglesPrefer using classList.toggle() over conditional classList.add() and classList.remove().Browserstylistic
classLiteralPropertiesReports getters that return literal values instead of using readonly class fields.TypeScriptstylistic
classMemberDuplicatesReports duplicate class member names that will be overwritten.TypeScriptjavascript
classMembersOrderTypeScriptsorting
classMethodsThisReports class methods that do not use this.TypeScriptstylisticStrict
classMultipleObjectsVuestylistic
classNameDuplicatesVuestylistic
clickEventKeyEventsAstrological
clickEventKeyEventsReports onClick without keyboard event handlers.JSXlogical
clientComponentAsyncDefinitionsNext.jslogical
clientOnlyDirectiveValuesReports client:only directives without a value, or with a value whose type cannot be a renderer hint string.Astrological
cloakDirectiveValidityVuelogical
cloneElementCallsReact(none)
codeSpacesMarkdownstylistic
collectionBracketAccessesTypeScriptlogical
colorAlphaRedundancyCSSstylistic
colorFunctionAliasNotationsCSSstylistic
colorFunctionNotationsCSSstylistic
combinedPushesReports consecutive array.push() calls that could be combined into a single call.TypeScriptstylisticStrict
commentDirectivesVuelogical
commentedOutTestsVitestlogicalStrict
commentPatternsCSS(none)
commentTextNodesReports JSX text nodes that contain comment syntax but are rendered as text.JSXlogical
commentWordsCSS(none)
commonjsModulesTypeScript(none)
comparisonMatcherAssertionsViteststylistic
compilerMacroImportsVuelogical
compilerOptionsReactlogical
componentApiStylesVuestylistic
componentConditionalReturnsSolidJSlogical
componentDataSharingVuelogical
componentDefinitionsReactstylistic
componentDidMountSetStatesReactlogicalStrict
componentDidUpdateSetStatesReactlogicalStrict
componentDisplayNamesReactlogicalStrict
componentExportModulesReactlogicalStrict
componentFileExportsAstrological
componentFileNameMatchesVuestylistic
componentHookFactoriesReactlogical
componentHtmlTextPropsVuelogical
componentImportNameMatchesVuestylistic
componentNameCasingVuestylistic
componentNamesVuestylistic
componentNameValidityVuelogical
componentNestingReactlogical
componentOptionNameCasingVuestylistic
componentOptionTyposVuelogical
componentPropertyOrderVuesorting
componentPropMutationsVuelogical
componentTemplateNameCasingVuestylistic
componentVIsBindsVuelogical
componentWillMountCallsReactlogical
componentWillReceivePropsCallsReactlogical
componentWillUpdateCallsReactlogical
componentWillUpdateSetStatesReactlogicalStrict
computedAsyncPropertiesVuelogical
computedPropertyExistenceChecksTypeScriptlogical
computedPropertyLikeMethodsVuelogical
computedPropertyReturnsVuelogical
computedPropertySideEffectsVuelogical
conditionalExpectsEnforces that expect statements aren't conditionally executed.Vitestlogical
conditionalObjectSpreadsTypeScriptstylistic
configPresenceEnforces that the config property is present.PackageJSON(none)
configValidityEnforces that the config property is valid.PackageJSONlogical
confusingArraySplicesTypeScriptlogical
confusingArrayWithCallsTypeScriptstylistic
consecutiveNonNullAssertionsReports unnecessary extra non-null assertions.TypeScriptstylistic
consoleCallsReports calls to console methods.TypeScript(none)
consoleCallsVuelogical
consoleSpacesDisallow leading or trailing spaces in console method string arguments.Node.jsstylistic
constantAssignmentsReports attempting to reassign variables declared with const.TypeScriptjavascript
constantConditionsVuelogical
constantZeroExpressionsTypeScriptlogical
constructorGenericCallsReports inconsistent placement of type arguments in constructor calls.TypeScriptstylistic
constructorReturnsReports returning values from constructor functions.TypeScriptjavascript
constructorSupersReports constructors of derived classes that do not call super(), and constructors of non-derived classes that call super().TypeScriptjavascript
constVariablesTypeScriptlogical
containerNamePatternsCSS(none)
contextDisplayNamesReact(none)
contextNamesReactstylisticStrict
contextProvidersReactstylistic
contextValueReferencesReactlogicalStrict
contextValueStabilityReactlogicalStrict
contributorsPresenceEnforces that the contributors property is present.PackageJSON(none)
contributorsValidityEnforces that the contributors property is valid.PackageJSONlogical
controlAssociatedLabelsAstrological
controlAssociatedLabelsJSXlogical
coreModuleHidingNode.js(none)
cpuPresenceEnforces that the cpu property is present.PackageJSON(none)
cpuValidityEnforces that the cpu property is valid.PackageJSONlogical
createRefCallsReactstylistic
cspellRuns the CSpell spell checker on any source code file.Spellinglogical
cssEscapesBrowserlogical
cssManualStylesheetsNext.jslogical
customEventNameCasingVuestylistic
customFontsInPagesNext.jslogical
customMediaPatternsCSS(none)
customMediaValidityCSSlogical
customModelModifiersVuelogical
customPropertyDuplicatesCSSlogical
customPropertyPatternsCSS(none)
customPropertyValidityCSSlogical
customPropertyVarFunctionPresenceCSSlogical
dangerouslySetInnerHtmlsReact(none)
dangerouslySetInnerHtmlsWithChildrenReactlogical
dangerouslySetInnerHTMLWithChildrenReactlogical
dangerousPropsReactlogicalStrict
dataComputedPropertiesVuelogical
datasetAccessesBrowserstylistic
dateConstructorClonesPrefer passing a Date directly to the Date constructor when cloning, rather than calling getTime().TypeScriptlogical
dateNowTimestampsPrefer the shorter Date.now() to get the number of milliseconds since the Unix Epoch.TypeScriptlogicalStrict
debuggerStatementsReports using debugger statements.TypeScriptlogical
declarationPositionValidityCSSlogical
declarationPropertyDuplicatesCSSlogical
declarationPropertyUnitsCSS(none)
declarationPropertyValueKeywordDeprecationsCSSlogical
declarationPropertyValuesCSS(none)
declarationsBeforeEarlyExitsTypeScriptstylistic
decoratorsOrderTypeScriptsorting
defaultCaseLastReports switch statements where the default clause is not last.TypeScriptlogical
defaultExportRedundanciesTypeScriptstylisticStrict
defaultExportsTypeScript(none)
defaultExportsVuelogical
defaultExportStylesTypeScript(none)
defaultParameterLastEnforce default parameters to be last.TypeScriptjavascript
defaultPropsMatchingPropTypesReactlogical
defaultPropsOrderJSXsorting
defaultPropsStabilityReactlogicalStrict
defaultPropTypesVuelogical
defineEmitsDeclarationsVuestylistic
defineEmitsValidityVuelogical
defineMacrosOrderVuesorting
defineOptionsMacrosVuestylistic
defineOptionsValidityVuelogical
definePropsDeclarationsVuestylistic
definePropsDestructuringVuestylistic
definePropsValidityVuelogical
definitionContentsReports definitions with empty URLs or only empty fragments.Markdownlogical
definitionDuplicatesReports duplicate definition identifiers (case-insensitive).Markdownlogical
definitionUsesReports unused reference definitions.Markdownlogical
deletesReports using the delete operator.Performancelogical
dependenciesPresenceEnforces that the dependencies property is present.PackageJSON(none)
dependenciesValidityEnforces that the dependencies property is valid.PackageJSONlogical
dependencyRangesPackageJSON(none)
dependencyUniquenessReports dependency names that are declared more than once in package.json.PackageJSONlogical
deprecatedDisallow using code marked as @deprecated.TypeScriptlogical
deprecatedDataObjectDeclarationsVuelogical
deprecatedDestroyedLifecycleHooksVuelogical
deprecatedFiltersVuelogical
deprecatedFunctionalTemplatesVuelogical
deprecatedImportsTypeScript(none)
deprecatedThisDefaultPropsVuelogical
descendingSpecificityCSSlogicalStrict
describeCallbackValidityVitestlogical
describePaddingLinesEnforces padding around describe blocks.Vitest(none)
describeTitleReferencesViteststylistic
descriptionPresenceEnforces that the description property is present.PackageJSONlogical
descriptionValidityEnforces that the description property is valid.PackageJSONlogical
destructuringReactstylistic
destructuringConsistencyUse destructured variables over properties for consistency.TypeScriptstylisticStrict
devDependenciesPresenceEnforces that the devDependencies property is present.PackageJSON(none)
devDependenciesValidityEnforces that the devDependencies property is valid.PackageJSONlogical
devEnginesPresenceEnforces that the devEngines property is present.PackageJSON(none)
devEnginesValidityEnforces that the devEngines property is valid.PackageJSONlogical
directExportsVuelogical
directIterationsTypeScriptstylistic
directivePairsTypeScriptlogicalStrict
directiveRequireDescriptionsTypeScriptstylisticStrict
directoriesPresenceEnforces that the directories property is present.PackageJSON(none)
directoriesValidityEnforces that the directories property is valid.PackageJSONlogical
displayNotationsCSSstylistic
disposablesTypeScriptlogical
distractingElementsAstrological
distractingElementsReports distracting elements like <marquee> and <blink>.JSXlogical
disttagsPackageJSON(none)
documentCookiesReports uses of document.cookie which can be error-prone and has security implications.BrowserlogicalStrict
documentDomainsReports uses of document.domain which relaxes same-origin protections.Browserlogical
documentWritesReports uses of document.write() and document.writeln() which block HTML parsing.Browserlogical
dollarLeakageJSX(none)
dollarLeaksJSXlogical
domTraversalsBrowserstylistic
doneCallbacksVitest(none)
dotNotationVuestylistic
doubleSlashCommentValidityCSSlogical
duplicateArgumentsReports functions with duplicate parameter names in their signatures.TypeScriptjavascript
duplicateAttributesVuelogical
duplicateElseIfBlocksSveltelogical
duplicateIfBranchesTypeScriptlogical
duplicateKeysJSONlogical
duplicateLogicalOperandsTypeScriptlogical
duplicateLoopIterablesTypeScriptlogical
duplicateSetValuesTypeScriptlogical
duplicateStylePropertiesSveltelogical
duplicateUseDirectivesSveltelogical
duplicateVElseIfConditionsVuelogical
dynamicDeletesDisallow using the delete operator on computed key expressions.TypeScriptlogical
dynamicImportChunkNamesTypeScript(none)
dynamicRequiresTypeScript(none)
eachBlockKeysSveltelogical
eachForConsistencyVitest(none)
eachLoopsViteststylistic
earlyReturnsTypeScriptstylistic
effectSetStatesReactlogical
elementChildrenValidityReports void DOM elements that have children, which is invalid HTML.JSXlogicalStrict
elementIdUniquenessJSXlogicalStrict
elseDirectivesWithForDirectivesVuelogical
elseDirectiveValidityVuelogical
elseIfChainsTypeScriptstylisticStrict
elseIfDirectiveValidityVuelogical
elseIfDuplicatesReports duplicate conditions in if-else-if chains that make code unreachable.TypeScriptlogical
elseReturnsReports unnecessary else blocks following if statements that always return or throw.TypeScriptstylisticStrict
emitsValidatorReturnsVuelogical
emitValidatorsVuelogical
emptyBlocksCSSlogical
emptyBlocksReports empty block statements that should contain code.TypeScriptstylistic
emptyCommentsCSSlogical
emptyComponentBlocksVuestylistic
emptyDestructuresReports using empty destructuring patterns that destructure no values.TypeScriptlogical
emptyDocumentsReports empty YAML documents that contain only document markers.YAMLlogical
emptyEnumsReports empty enum declarations with no members.TypeScriptlogical
emptyExportsReports empty export statements that don't make a file a module.TypeScriptlogical
emptyFieldsReports empty package.json fields that do not add package metadata.PackageJSONlogical
emptyFilesReports files that contain no meaningful code.TypeScriptstylisticStrict
emptyFunctionsReports empty functions that should contain code or a comment.TypeScriptstylisticStrict
emptyMappingKeysReports empty mapping keys.YAMLlogical
emptyMappingValuesReports empty mapping values.YAMLlogical
emptyModuleAttributesReports empty import/export attributes that serve no purpose.TypeScriptstylistic
emptyObjectTypesReports empty object type literals and empty interfaces that are often used incorrectly.TypeScriptlogical
emptyPatternsVuelogical
emptySequenceEntriesReports empty sequence entries.YAMLlogical
emptySourcesCSSlogical
emptyStaticBlocksReports empty static initialization blocks within class declarations.TypeScriptstylistic
emptyTypeParameterListsReports empty type parameter lists in type aliases and interfaces.TypeScriptstylistic
endTagPresenceVuelogical
enginesPresenceEnforces that the engines property is present.PackageJSON(none)
enginesValidityEnforces that the engines property is valid.PackageJSONlogical
enumInitializersReports enum members without explicit initial values.TypeScript(none)
enumMemberLiteralsRequires all enum members to be literal values.TypeScriptlogicalStrict
enumMixedValuesTypeScriptlogical
enumsTypeScriptstylisticStrict
enumsOrderTypeScript(none)
enumValueConsistencyReports enums that contain both string and number members.TypeScriptlogical
enumValueDuplicatesReports enum members with duplicate values.TypeScriptlogical
environmentVariableDeclarationsNode.jslogical
equalityMatchersViteststylistic
equalityOperatorNegationsReports negated expressions on the left side of equality checks.TypeScript(none)
equalityOperatorsEnforces consistent use of strict equality operators (=== and !==) over loose equality operators (== and !=) for non-nullish comparisons.TypeScriptlogical
errorBoundariesReactlogical
errorIsErrorsTypeScriptstylistic
errorMessagesRequires a message value when creating a built-in error.TypeScriptlogicalStrict
errorPropertyAssignmentsTypeScriptlogical
errorSubclassPropertiesReports incorrect Error subclass definitions that don't follow best practices.TypeScriptlogicalStrict
errorUnnecessaryCaptureStackTracesReports unnecessary Error.captureStackTrace() calls in Error subclass constructors.TypeScriptlogical
escapeSequenceCasingReports escape sequences with lowercase hexadecimal characters.TypeScriptstylisticStrict
evalsReports uses of the eval function.TypeScriptlogical
eventClassesPrefer EventTarget over EventEmitter for cross-platform compatibility.Node.jslogicalStrict
eventHandlerCasingSolidJSlogical
eventListenerCleanupReactlogicalStrict
eventListenerSubscriptionsPrefer addEventListener over assigning to on* event handler properties.BrowserlogicalStrict
eventPrefixesSveltestylisticStrict
eventTriggerExplicitEmitsVuelogical
evolvingVariableTypesReports variables declared without type annotation or initializer.TypeScript(none)
exceptionAssignmentsReports reassigning exception parameters in catch clauses.TypeScriptlogical
exhaustiveDepsReactlogical
expectGroupPaddingLinesEnforces padding around expect groups.Vitest(none)
expectResolvesViteststylistic
expectsOutsideTestsVitestlogicalStrict
expectValidityVitestlogical
explicitAnysReports explicit uses of the any type.TypeScriptlogical
explicitResourceManagementTypeScriptstylistic
explicitSlotsVuelogical
explicitTimerDelaysTypeScriptstylisticStrict
explicitViewportUnitsCSSstylistic
exponentiationOperatorsPrefers the ** operator over Math.pow().TypeScriptstylistic
exportAttributesOrderTypeScript(none)
exportDeclarationsOrderTypeScript(none)
exportDecoratorPositionsTypeScriptstylistic
exportFromImportsReports imports that are re-exported and could use export...from syntax instead.TypeScriptstylistic
exportMutablesReports exporting mutable bindings (let or var).TypeScriptlogical
exportsAssignmentsPrevent assignment to the exports variable in CommonJS modules.Node.jslogical
exportsOrderTypeScriptsorting
exportsPresenceEnforces that the exports property is present.PackageJSONlogical
exportsSubpathsStyleEnforce consistent root exports subpath style in package.json.PackageJSONstylistic
exportsValidityEnforces that the exports property is valid.PackageJSONlogical
exportUniqueNamesReports duplicate export names in a module.TypeScriptjavascript
exposeAfterAwaitsVuelogical
exposeMacrosVuelogical
extraneousClassesReports classes used as static namespaces.TypeScriptlogicalStrict
falsyMatchersVitest(none)
fencedCodeLanguagesReports fenced code blocks without a language specified.MarkdownstylisticStrict
fencedCodeMetaMarkdownstylistic
fetchCleanupReactlogicalStrict
fetchMethodBodiesDisallow providing a body with GET or HEAD fetch requests.TypeScriptlogical
fileExtensionsEnforces consistent YAML file extensions.YAMLstylisticStrict
fileInputAcceptsBrowserlogical
filenamesVitest(none)
filePathsFromImportMetaPrefer import.meta.dirname and import.meta.filename over legacy file path techniques.Node.jsstylisticStrict
fileReadJSONBuffersPrefer reading JSON files as buffers when using JSON.parse for better performance.Node.jsstylisticStrict
filesPresenceEnforces that the files property is present.PackageJSON(none)
filesRedundancyReports package.json files entries that npm already includes.PackageJSONlogical
filesValidityEnforces that the files property is valid.PackageJSONlogical
finallyStatementSafetyReports control flow statements in finally blocks that can override control flow in try/catch blocks.TypeScriptlogical
flatMathMinMaxTypeScriptstylistic
floatingPromisesTypeScriptlogical
fontFamilyFallbacksCSSlogical
fontFamilyNameDuplicatesCSSlogical
fontFamilyNameQuotesCSSstylistic
fontNameDuplicatesCSSlogical
fontUnitRelativityCSSlogicalStrict
fontWeightNotationsCSSstylistic
forBindKeysVuelogical
forDelimiterStylesVuestylistic
forDirectionsReports for loops with counter variables that move in the wrong direction.TypeScriptstylistic
forDirectiveValidityVuelogical
forInArraysReports iterating over an array with a for-in loop.TypeScriptlogical
forInGuardsReports for-in loops without an if statement to filter inherited properties.TypeScript(none)
forMapsSolidJSlogical
forwardRefCallsReact(none)
forwardRefsReactstylisticStrict
fragmentElementsJSXstylistic
frontmatterFieldsMarkdownlogical
functionApplySpreadsPrefer the spread operator over .apply() calls.TypeScriptstylistic
functionAssignmentsReports reassigning variables declared with function declarations.TypeScriptjavascript
functionComponentDefinitionsReactstylistic
functionComponentThisReferencesReactjavascript
functionCurryingRedundancyReports using .apply() or .call() or when the context (this value) provides no benefit.TypeScriptlogical
functionDeclarationStylesReports functions that don't match the configured style (declaration vs expression).TypeScript(none)
functionDefinitionScopeConsistencyTypeScriptstylisticStrict
functionNameCasingCSSstylistic
functionNameMatchesReports function names that don't match the variable or property they're assigned to.TypeScript(none)
functionNewCallsReports using the Function constructor to create functions from strings.TypeScriptlogical
functionsCSS(none)
functionStylesByRoleTypeScriptstylistic
functionTypeDeclarationsTypeScriptstylistic
functionValidityCSSlogical
fundingPresenceEnforces that the funding property is present.PackageJSON(none)
fundingValidityEnforces that the funding property is valid.PackageJSONlogical
gatingReactlogical
generatedEmptyObjectTypesTypeScriptlogicalStrict
generatorFunctionYieldsReports generator functions that do not yield values.TypeScriptlogical
genericFontNamesCSSlogical
getOrInsertComputedsTypeScriptlogical
getterReturnsReports getter functions that do not return values.TypeScriptjavascript
globalAssignmentsReports attempting to assign to read-only global variables such as undefined, NaN, Infinity, Object, etc.TypeScriptjavascript
globalCryptoNode.js(none)
globalMutationsReactlogical
globalNumberConstantsTypeScriptstylistic
globalObjectCallsReports calling global objects like Math, JSON, or Reflect as functions.TypeScriptjavascript
globalThisAliasesReports using window, self, or global instead of globalThis.TypeScriptstylisticStrict
globalTimersNode.js(none)
googleAnalyticsInlineScriptNext.jslogical
googleFontDisplayNext.jslogical
googleFontPreconnectNext.jslogical
gridAreaValidityCSSlogical
groupByMethodsTypeScriptstylistic
gypfilePresenceEnforces that the gypfile property is present.PackageJSON(none)
gypfileValidityEnforces that the gypfile property is valid.PackageJSONlogical
hasChecksTypeScriptstylistic
hashbangsNode.jslogical
headDuplicatesNext.jslogical
headImportsInDocumentsNext.jslogical
headingContentsAstrological
headingContentsReports heading elements without accessible content.JSXlogical
headingDuplicatesMarkdownstylisticStrict
headingEmphasisEquivalentsMarkdownstylisticStrict
headingIncrementsReports heading levels incrementing by more than one.Markdownlogical
headingRootDuplicatesReports multiple H1 headings in the same document.MarkdownlogicalStrict
headingRootPresenceMarkdownlogicalStrict
headingTrailingPunctuationMarkdownstylisticStrict
headNativesNext.jslogical
heritageClausesOrderTypeScriptsorting
hexColorAlphasCSSstylistic
hexColorsCSSstylisticStrict
hexColorStylesCSSstylistic
hexColorValidityReports hex colors with invalid values.CSSlogical
hoistedApiPositionsVitestlogicalStrict
homepagePresenceEnforces that the homepage property is present.PackageJSONlogical
homepageValidityEnforces that the homepage property is valid.PackageJSONlogical
hookDuplicatesVitestlogicalStrict
hookOrdersViteststylisticStrict
hooksBeforeTestCasesEnforces that all lifecycle hooks should come before all test cases.ViteststylisticStrict
htmlCommentSpacingSveltestylisticStrict
htmlDirectiveValidityVuelogical
htmlLangsAstrological
htmlLangsReports <html> elements without a lang prop.JSXlogical
httpsUrlsTypeScriptsecurity
hueDegreeNotationsCSSstylistic
identifierImportExportSpecifiersTypeScriptstylistic
idNamesReactstylisticStrict
ifDirectiveValidityVuelogical
ifElseKeysVuelogical
iframeSandboxesJSXlogicalStrict
iframeSandboxPresenceJSXlogicalStrict
iframeSandboxSafetyJSX(none)
iframeTitlesAstrological
iframeTitlesReports <iframe> elements without a title prop.JSXlogical
imageAltRedundancyAstrological
imageAltTextsReports images without alternative text.Markdownlogical
imageContentsReports images with empty URLs or only empty fragments.Markdownlogical
imageSizesJSXlogical
imgNativesNext.jslogical
immediateMutationsTypeScriptstylistic
immutabilityReactlogical
implicitChildrenReact(none)
implicitCoercionsVuestylistic
implicitGlobalsPrevents implicit global variable declarations in browser scripts.Browserlogical
implicitKeysReact(none)
implicitRefsReact(none)
impliedEvalsReports using string arguments in setTimeout, setInterval, setImmediate, execScript, or the Function constructor.TypeScriptlogical
importantDeclarationsCSSlogicalStrict
importantStylesCSSstylisticStrict
importAssignmentsTypeScriptjavascript
importAttributesOrderTypeScript(none)
importCyclesTypeScriptstylistic
importDeclarationsFirstTypeScript(none)
importDeclarationsOrderTypeScript(none)
importDuplicatesCSSlogical
importDuplicatesTypeScriptlogical
importedNamespaceDynamicAccessesDisallow computed member access on imported namespace identifiers.Performancelogical
importEmptyBlocksReports empty named import blocks.TypeScriptlogical
importExtensionsTypeScript(none)
importFileExtensionsNode.js(none)
importMetaPropertiesNuxtstylistic
importNotationsCSSstylistic
importRuleDuplicatesCSSlogical
importRulePositionsCSSlogical
importSelfTypeScriptlogical
importsInMocksVitest(none)
importsOrderTypeScript(none)
importSpecifiersOrderTypeScript(none)
importTypeSideEffectsReports imports that use inline type qualifiers on all specifiers when a top-level type qualifier should be used instead.TypeScriptlogical
importUnnecessaryPathSegmentsTypeScriptstylistic
impossibleLengthComparisonsTypeScriptlogical
includesOverRepeatedComparisonsTypeScriptstylistic
incompatibleLibrariesReactlogical
indexedObjectTypesReports indexed object types that don't match the configured style.TypeScriptstylistic
infiniteReactivityLoopsSveltelogical
inlineScriptIdNext.jslogical
inlineStylesSveltelogicalStrict
innerHTMLPropsSolidJSlogicalStrict
inputCheckedMutabilityJSXlogical
inspectRunesSveltelogical
instanceOfArraysReports using instanceof Array instead of Array.isArray().TypeScriptlogical
interactiveElementRolesAstrological
interactiveElementRolesReports interactive elements with non-interactive ARIA roles.JSXlogical
interactiveElementsFocusableAstrological
interactiveElementsFocusableReports interactive elements that are not focusable via keyboard.JSXlogical
interfacesOrderTypeScriptsorting
internalModulesTypeScript(none)
intersectionTypesOrderTypeScriptsorting
intervalCleanupReactlogicalStrict
invalidArgumentCountsTypeScriptlogical
invalidCharacterComparisonsTypeScriptlogical
invalidCodeLinesReports cases for invalid code that isn't formatted across lines.Flintlogical
invalidThisTypeScriptjavascript
invalidVoidTypesTypeScriptlogicalStrict
irregularWhitespaceYAMLstylistic
irregularWhitespacesReports irregular whitespace characters that can cause issues with code parsing and display.TypeScriptlogical
isDirectiveValidityVuelogical
isNaNComparisonsReports comparisons with NaN, which should use Number.isNaN() instead.TypeScriptlogical
isolatedFunctionsTypeScriptlogical
iterableConstructorsTypeScriptstylistic
iterableKeysReactlogicalStrict
iterationFallbacksTypeScriptstylistic
iteratorConcatsTypeScriptstylistic
iteratorHelpersTypeScriptstylistic
iteratorToArraysTypeScriptstylistic
iteratorToArraysAtEndTypeScriptstylistic
jsdocAccessTagsTypeScriptstylistic
jsdocAnyTypesTypeScriptlogical
jsdocAsterisksTypeScriptstylisticStrict
jsdocEmptyBlocksTypeScriptstylistic
jsdocEmptyTagsTypeScriptstylistic
jsdocExampleCodeValidityTypeScriptlogical
jsdocFunctionTypesTypeScriptlogical
jsdocImplementsTagsTypeScriptstylistic
jsdocImportTagsTypeScriptstylistic
jsdocInformativeDocsTypeScriptstylisticStrict
jsdocInlineTagEscapesTypeScriptstylistic
jsdocMisleadingBlocksTypeScriptstylisticStrict
jsdocMultilineBlocksTypeScriptstylisticStrict
jsdocNextDescriptionsTypeScriptstylistic
jsdocNextTypesTypeScriptlogical
jsdocParameterDescriptionHyphensTypeScriptstylisticStrict
jsdocParameterNamePresenceTypeScriptstylistic
jsdocParameterNamesTypeScriptstylistic
jsdocPropertyNamePresenceTypeScriptstylistic
jsdocPropertyNamesTypeScriptstylistic
jsdocRedundantTypesTypeScriptstylistic
jsdocRejectsTypeScriptstylistic
jsdocRequiredTagsTypeScriptstylistic
jsdocTagNamesTypeScriptstylisticStrict
jsdocTagsOrderTypeScriptsorting
jsdocTemplateDescriptionsTypeScriptstylistic
jsdocTemplateNamesTypeScriptstylistic
jsdocThrowDescriptionsTypeScriptstylistic
jsdocThrowTypesTypeScriptlogical
jsdocTypeChecksTypeScriptlogical
jsdocTypeScriptEmptyObjectTypesTypeScriptlogical
jsdocTypeScriptFunctionTypesTypeScriptstylistic
jsdocTypeScriptMethodSignatureStylesTypeScriptstylistic
jsdocTypeScriptUnnecessaryTemplateExpressionsTypeScriptstylistic
jsdocTypesSyntaxTypeScriptstylistic
jsdocUnnecessaryReturnsTypeScriptstylistic
jsdocUnnecessaryYieldsTypeScriptstylistic
jsdocValidTypesTypeScriptstylistic
jsdocValuesTypeScriptstylistic
jsdocYieldDescriptionsTypeScriptstylistic
jsdocYieldsTypeScriptstylistic
jsdocYieldTypesTypeScriptlogical
jsonFileReadsNode.jsstylistic
jsonKeysOrderJSONsorting
jsxVariableUsesVuelogical
keyAndSpreadOrderingsJSXstylistic
keyboardEventKeysPrefer KeyboardEvent.key over deprecated properties like keyCode, charCode, and which.Browserlogical
keyDuplicatesReports unnecessary duplicate keys that override previous values.JSONlogical
keyDuplicatesVuelogical
keyDuplicationsReact(none)
keyframeImportantDeclarationsCSSlogical
keyframeSelectorDuplicatesCSSlogical
keyframeSelectorNotationsCSSstylistic
keyframesNamePatternsCSS(none)
keyNormalizationReports object keys that are not normalized using Unicode normalization forms.JSONlogical
keysOrderVuesorting
keyValidityVuelogical
keywordsPresenceEnforces that the keywords property is present.PackageJSON(none)
keywordsValidityEnforces that the keywords property is valid.PackageJSONlogical
kitPagePropNamesSveltelogical
labelAssociatedControlsAstrological
labelAssociatedControlsReports <label> elements without an associated control element.JSXlogical
labelReferencesReports missing label references.Markdownlogical
labelReferenceValidityReports invalid label references with whitespace.Markdownlogical
langValidityAstrological
langValidityReports invalid lang attribute values.JSXlogicalStrict
lateCurrentTargetAccessesBrowserlogical
lateEventControlBrowserlogical
layerNamePatternsCSS(none)
leakedConditionalRenderingsReact(none)
legacyOctalLiteralsJSONlogical
libcPresenceEnforces that the libc property is present.PackageJSON(none)
libcValidityEnforces that the libc property is valid.PackageJSONlogical
licensePresenceEnforces that the license property is present.PackageJSONlogical
licenseTrustPackageJSONlogicalStrict
licenseValidityEnforces that the license property is valid.PackageJSONlogical
lifecyclesAfterAwaitsVuelogical
lightnessNotationsCSSstylistic
linearGradientDirectionsCSSlogical
linearGradientDirectionValidityCSSlogical
linkContentsReports links with empty URLs or only empty fragments.Markdownlogical
linkDescriptionsMarkdownlogicalStrict
linkFragmentsReports link fragments that don't exist in the document.Markdownlogical
literalConstructorWrappersPrefers literal syntax over constructor function calls for primitive values.TypeScriptstylistic
localDependenciesPackageJSONlogical
locationAssignsBrowserstylistic
logicalPropertiesCSSlogicalStrict
loneTemplatesVuelogicalStrict
longhandPropertyRedundancyCSSstylistic
loopAwaitsReports using await expressions inside loops.Performancelogical
loopContinuesTypeScriptstylistic
loopFunctionsReports function declarations and expressions inside loops that reference variables modified by the loop.Performancelogical
loopIterableMutationsTypeScriptlogical
macroVariableNamesVuestylistic
mainPresenceEnforces that the main property is present.PackageJSON(none)
mainValidityEnforces that the main property is valid.PackageJSONlogical
manPresenceEnforces that the man property is present.PackageJSON(none)
manualDomManipulationsSveltelogical
manualEventListenersSveltelogicalStrict
manualMemoizationPreservationsReactlogical
manValidityEnforces that the man property is valid.PackageJSONlogical
mapFromEntriesTypeScriptstylistic
mapsOrderTypeScriptsorting
mathAbsTypeScriptstylistic
mathConstantsTypeScriptstylistic
mathMethodsPrefer modern Math methods over legacy patterns.TypeScriptstylisticStrict
mathRangeTernariesTypeScriptstylistic
meaninglessVoidOperatorsReports using the void operator on expressions that are already void or undefined.TypeScriptlogical
mediaCaptionsAstrological
mediaCaptionsReports media elements without captions.JSXlogical
mediaFeatureNamesCSS(none)
mediaFeatureNameValidityCSSlogical
mediaFeatureNameValuesCSS(none)
mediaFeatureNameValueValidityCSSlogical
mediaFeatureNameVendorPrefixesCSSlogicalStrict
mediaFeatureRangeNotationsCSSstylistic
mediaFeatureUnitsCSS(none)
mediaQueryValidityCSSlogical
mediaSyntaxReversalsReports reversed link and image syntax in Markdown.Markdownstylistic
mediaTypeDeprecationsCSSlogical
memoDirectiveValidityVuelogical
messagePhrasesFlintlogicalStrict
methodSignatureStylesTypeScriptstylistic
minimalTernariesTypeScriptstylistic
misleadingVoidExpressionsRequire expressions of type void to appear in statement position.TypeScriptlogical
mismatchedMapKeysTypeScriptlogical
missingKeysReact(none)
missingLocalResourcesNode.jslogical
missingPlaceholdersReports context.report() calls missing data for message placeholders.Flintlogical
misusedPromisesTypeScriptlogical
mockedFunctionInstancesViteststylisticStrict
mockReturnShorthandsViteststylisticStrict
mockTypeParametersViteststylisticStrict
modelDefinitionValidityVuelogical
modelDirectiveArgumentsVuelogical
modelDirectivesVuestylistic
modelDirectiveValidityVuelogical
moduleAssignmentsNext.jsjavascript
moduleExportImportsTypeScript(none)
modulePresenceEnforces that the module property is present.PackageJSON(none)
modulesOrderTypeScriptsorting
moduleSpecifierListsRequire non-empty specifier lists in import and export statements.TypeScriptlogical
moduleSyntaxDeclarationsTypeScript(none)
moduleValidityEnforces that the module property is valid.PackageJSONlogical
mouseEventKeyEventsAstrological
mouseEventKeyEventsReports mouse events without corresponding keyboard events.JSXlogical
multilineAmbiguitiesReports ambiguous multiline expressions that could be misinterpreted.TypeScriptstylistic
multilineStringsJSONlogical
multipleEmptyLinesYAML(none)
multiplePromiseResolverCallsTypeScriptlogical
mustacheObjectsSveltelogical
namedColorsCSSstylistic
namedDefaultExportsReports anonymous functions and classes as the default export.TypeScriptstylisticStrict
namedDefaultImportsTypeScript(none)
namedDefaultMembersTypeScript(none)
namedDefaultSpecifiersTypeScript(none)
namedExportsTypeScript(none)
namedGridAreaValidityCSSlogical
namePresenceEnforces that the name property is present.PackageJSONlogical
namePropertiesVuestylistic
namespaceDeclarationsReports using legacy namespace declarations.TypeScriptlogical
namespaceImplicitAmbientImportsReports declared namespaces that implicitly export all members.TypeScriptstylisticStrict
namespaceImportsTypeScriptlogicalStrict
namespaceSyntaxJSXlogical
namespaceValiditySolidJSjavascript
nameValidityEnforces that the name property is valid.PackageJSONlogical
nativeObjectExtensionsReports extending the prototype of native JavaScript objects.TypeScriptjavascript
nativePromisesTypeScript(none)
negatedArrayPredicatesTypeScriptstylistic
negatedComparisonsTypeScriptstylistic
negatedConditionsVuestylistic
negatedIfConditionsVuestylistic
negativeIndexLengthMethodsPrefer negative index over .length - index for at, slice, splice, and similar methods.TypeScriptstylisticStrict
negativeZeroComparisonsReports comparisons with -0 that may not behave as expected.TypeScriptlogical
nestedComponentDefinitionsReactlogical
nestedLazyComponentDeclarationsReactlogical
nestedLoopBreaksTypeScriptlogical
nestedStandaloneIfsReports if statements that are the only statement inside an else block or inside another if without an else.TypeScriptstylistic
nestedStyleRuleRedundancyCSSstylistic
nestingAtRuleRequirementsCSS(none)
nestingSelectorScopingRootPresenceCSSlogical
newDefinitionsReports misleading constructor and new definitions in interfaces and classes.TypeScriptlogical
newExpressionsReports standalone new expressions that don't use the constructed object.TypeScriptlogical
newNativeNonConstructorsDisallows using new with global non-constructor functions like Symbol and BigInt.TypeScriptjavascript
nextDocumentOutsidePageNext.jslogical
nextScriptInHeadsNext.jslogical
nextScriptInteractiveOutsideDocumentNext.jslogical
nextTickStylesVuestylistic
nextTickValidityVuelogical
nodeAppendMethodsPrefer modern DOM append/prepend methods over appendChild/insertBefore.BrowserlogicalStrict
nodeBuiltinImportsTypeScript(none)
nodeDatasetAttributesPrefer using element.dataset over getAttribute/setAttribute for data-* attributes.BrowserlogicalStrict
nodeHtmlMethodsBrowserstylistic
nodeModificationMethodsPrefer modern DOM APIs like .replaceWith() and .before() over legacy methods like .replaceChild() and .insertBefore().BrowserlogicalStrict
nodePropertyInChecksDisallows using the in operator to check properties on TypeScript nodes.Flintlogical
nodeProtocolsPrefer the node: protocol prefix for Node.js built-in modules for clarity and consistency.Node.jslogical
nodeQueryMethodsPrefer modern querySelector and querySelectorAll over legacy DOM query methods.BrowserstylisticStrict
nodeRemoveMethodsPrefer the modern node.remove() method over the legacy parentNode.removeChild(node) API.BrowserlogicalStrict
nodeReplaceChildrensBrowserstylistic
nodeTestImportsReports importing from node:test.Vitestlogical
nodeTextContentsPrefer textContent over innerText for DOM nodes.BrowserlogicalStrict
nonInteractiveElementInteractionsAstrological
nonInteractiveElementInteractionsReports non-interactive elements with interactive event handlers.JSXlogical
nonInteractiveElementRolesAstrological
nonInteractiveElementRolesReports non-interactive elements with interactive ARIA roles.JSXlogical
nonInteractiveElementTabIndexesAstrological
nonInteractiveElementTabIndexesReports non-interactive elements with positive or zero tabIndex values.JSXlogical
nonNullableTypeAssertionsReports type assertions that can be replaced with non-null assertions.TypeScriptstylistic
nonNullAssertedNullishCoalescesReports non-null assertions on the left side of nullish coalescing operators.TypeScriptlogicalStrict
nonNullAssertedOptionalChainsReports non-null assertions on optional chain expressions.TypeScriptlogical
nonNullAssertionPlacementReports confusing placement of non-null assertions next to comparison or assignment operators.TypeScriptstylisticStrict
nonNullAssertionsTypeScriptlogicalStrict
nonstandardBuiltinPropertiesTypeScriptlogical
nullishCheckStyleEnforces consistent equality operator usage when comparing with null or undefined.TypeScript(none)
nullishCoalescingOperatorsPrefer nullish coalescing operator (??) over logical OR (||) for nullish values.TypeScriptstylistic
numberCoercionsTypeScriptlogical
numberIsSafeIntegerTypeScriptstylistic
numberLeadingZerosCSSstylistic
numberMethodRangesReports when number method arguments are outside their valid range.TypeScriptlogical
numberStaticMethodsReports using legacy global functions instead of Number static methods.TypeScriptlogicalStrict
numericErasingOperationsReports operations that always result in zero, such as multiplication by zero.TypeScriptlogical
numericLiteralParsingReports parseInt calls with binary, hexadecimal, or octal strings that can be replaced with numeric literals.TypeScriptstylistic
numericPrecisionReports numeric literals that lose precision when converted to JavaScript numbers.TypeScriptlogical
numericSeparatorGroupsReports numeric literals with inconsistent separator grouping.TypeScriptstylisticStrict
numericTrailingZerosCSSstylistic
numericTrailingZerosReports trailing zeros in numeric values.YAMLstylisticStrict
nuxtConfigKeysOrderNuxtsorting
nuxtConfigTestKeysNuxtlogical
objectAssignSpreadsPrefer object spread syntax over Object.assign() when the first argument is an object literal.TypeScriptstylistic
objectCallsPrefer {} object literal notation or Object.create instead of calling or constructing Object.TypeScriptlogical
objectDefinePropertiesTypeScriptstylistic
objectDestructuringDefaultsTypeScriptstylistic
objectEntriesMethodsPrefer Object.fromEntries() over reduce patterns that build objects from key-value pairs.TypeScriptstylisticStrict
objectHasOwnsPrefer Object.hasOwn() over Object.prototype.hasOwnProperty.call() for checking own properties.TypeScriptstylistic
objectIterableMethodsTypeScriptstylistic
objectKeyDuplicatesReports unnecessary duplicate keys that override previous values.TypeScriptjavascript
objectMethodsWithCollectionsTypeScriptlogical
objectProtoReports using the deprecated proto property to access or modify an object's prototype.TypeScriptjavascript
objectPrototypeBuiltInsReports direct calls to Object.prototype methods on object instances.TypeScriptlogical
objectShorthandObject property and method definitions can use shorthand syntax when the key matches the value identifier or when a function expression is assigned.TypeScriptstylistic
objectShorthandPropertyOverridesTypeScriptlogical
objectShorthandsVuestylistic
objectsOrderTypeScriptsorting
objectSpreadUnnecessaryFallbacksReports empty object fallbacks in object spread expressions that have no effect.TypeScriptlogical
objectTypeDefinitionsPrefer interface declarations over type aliases for object types.TypeScriptstylistic
objectTypesOrderTypeScriptsorting
observerApisBrowserlogical
octalEscapesReports using octal escape sequences in string literals.TypeScriptjavascript
olPrefixesMarkdownstylisticStrict
onceDirectiveValidityVuelogical
onDirectiveValidityVuelogical
onEventHyphensVuestylistic
onEventStylesVuestylistic
onExactModifiersVuelogical
onHandlerStylesVuestylistic
operatorAssignmentShorthandPrefer assignment operator shorthand where possible.TypeScriptstylistic
optimizedStyleAttributesSveltelogicalStrict
optionalChainingConsistencyTypeScriptstylistic
optionalChainingOnUndeclaredVariablesTypeScriptlogical
optionalChainOperatorsTypeScriptstylistic
optionalDependenciesPresenceEnforces that the optionalDependencies property is present.PackageJSON(none)
optionalDependenciesValidityEnforces that the optionalDependencies property is valid.PackageJSONlogical
optionalPropDefaultsVuelogical
optionsApiVuestylisticStrict
osPresenceEnforces that the os property is present.PackageJSON(none)
osValidityEnforces that the os property is valid.PackageJSONlogical
overloadSignaturesAdjacentRequire that function overload signatures be consecutive.TypeScriptstylistic
packageCollectionsOrderPackageJSONsorting
packageJsonExportPresencePackageJSONlogical
packageManagerPresenceEnforces that the packageManager property is present.PackageJSON(none)
packageManagerValidityEnforces that the packageManager property is valid.PackageJSONlogical
pageLoadersSveltelogical
pageMetaRuntimeValuesNuxtlogical
parameterPropertyAssignmentTypeScriptlogical
parameterReassignmentsDisallow reassignment of function parameters.TypeScriptlogical
parentRelativeImportsTypeScript(none)
parseIntRadixesReports parseInt calls that are missing or have an invalid radix parameter.TypeScriptlogical
passiveEventsBrowserlogical
path2dsBrowserlogical
peerDependenciesInstallationEnforces that peer dependencies are installed through devDependencies.PackageJSONlogical
peerDependenciesMetaPresenceEnforces that the peerDependenciesMeta property is present.PackageJSON(none)
peerDependenciesMetaRelationshipEnforces that any dependencies declared in peerDependenciesMeta are also defined in the package's peerDependencies.PackageJSONlogical
peerDependenciesMetaValidityEnforces that the peerDependenciesMeta property is valid.PackageJSONlogical
peerDependenciesPresenceEnforces that the peerDependencies property is present.PackageJSON(none)
peerDependenciesValidityEnforces that the peerDependencies property is valid.PackageJSONlogical
plainScalarsPrefer plain style scalars over quoted scalars.YAMLstylisticStrict
pluginRuleOrderingReports Flint plugin rules arrays that are not sorted alphabetically.FlintstylisticStrict
plusOperandsTypeScriptlogical
polyfillDuplicatesNext.jslogical
precisionLossVuelogical
preDirectiveValidityVuelogical
prerenderExportsOutsidePagesAstrological
privateClassFieldsTypeScriptstylistic
privateImportsTypeScriptlogical
privatePackagePropertiesReports package.json properties that do not apply to private packages.PackageJSON(none)
privatePresenceEnforces that the private property is present.PackageJSON(none)
privateValidityEnforces that the private property is valid.PackageJSONlogical
processExitsPrevent direct use of process.exit() for better error handling and testing.Node.jslogical
promiseCallbackCreationsTypeScript(none)
promiseCatchReturnsTypeScript(none)
promiseFunctionAsyncTypeScriptstylistic
promiseMethodSingleArrayArgumentsTypeScriptlogical
promiseMultipleResolutionsTypeScript(none)
promiseParameterValidityTypeScript(none)
promiseRejectErrorsTypeScriptlogical
promiseReturnsTypeScript(none)
promiseReturnWrappersTypeScript(none)
promiseSettleAssertionsViteststylistic
promiseSpecMethodsTypeScript(none)
promiseStaticConstructorsTypeScript(none)
promiseTryTypeScriptstylistic
promiseWithResolversTypeScriptstylistic
propAssignmentsReactlogical
propCommentsVuestylistic
propDestructuresSolidJSlogical
propertiesCSS(none)
propertyAccessNotationReports bracket notation property access when dot notation can be used.TypeScriptstylistic
propertyCasingCSSstylistic
propertyDeprecationsCSSlogical
propertyDuplicatesCSSlogical
propertyLayoutMappingsCSS(none)
propertyOrderEnforces that package properties are declared in a consistent order.PackageJSONsorting
propertyValidityCSSlogical
propertyValidityReactjavascript
propertyVendorPrefixesCSSlogicalStrict
propLimitsVuestylistic
propNameCasingVuestylistic
propNameValidityVuelogical
propRequiredAndDefaultsVuelogicalStrict
propsOrderJSXsorting
propTypeConstructorsVuelogical
propTypesReactjavascript
propTypesVuelogical
proxyTrapBooleanReturnsTypeScriptlogical
pseudoClassesCSS(none)
pseudoClassValidityCSSlogical
pseudoElementsCSS(none)
pseudoElementValidityCSSlogical
publishConfigPresenceEnforces that the publishConfig property is present.PackageJSON(none)
publishConfigRedundancyReports publishConfig.access fields that do not affect unscoped packages.PackageJSONlogical
publishConfigValidityEnforces that the publishConfig property is valid.PackageJSONlogical
pureComponentShouldUpdateDefinitionsJSXlogicalStrict
purityReactlogical
qualifyingTypeSelectorsCSSlogicalStrict
querySelectorValidityBrowserlogical
queueMicrotasksNode.jsstylistic
quotesYAML(none)
reactDomFlushSyncCallsReactlogicalStrict
reactDomHydrateCallsReactlogical
reactDomRenderCallsReactlogical
reactiveReassignmentsSveltelogical
reactivitySolidJSlogical
reactLikeDepsSolidJSjavascript
reactLikePropsSolidJSjavascript
recursionOnlyArgumentsReports function parameters that are only used in recursive calls.TypeScriptlogical
recursiveParametersTypeScriptlogicalStrict
redundantTypeConstituentsReports union and intersection type constituents that are redundant or override other types.TypeScriptlogical
reexportAllsTypeScriptlogicalStrict
referenceLikeUrlsReports resource links/images with URLs that match definition identifiers.Markdownlogical
refNamesReactstylisticStrict
refObjectReactivityLossVuelogical
refOperandsVuelogical
refsReactlogical
refStringsReactlogical
regexAllGlobalFlagsReports matchAll() and replaceAll() calls with regex arguments missing the global flag.TypeScriptlogical
regexAmbiguousInvalidityReports regex patterns that use ambiguous or invalid syntax from Annex B.TypeScriptlogical
regexCharacterClassesReports regex alternations that can be simplified to character classes.TypeScriptstylisticStrict
regexCharacterClassRangesReports character class elements that can be simplified to ranges.TypeScriptstylistic
regexCharacterClassSetOperationsReports lookarounds that can be replaced with character class set operations.TypeScriptstylistic
regexConciseCharacterClassNegationsReports negated character classes that can use shorthand escapes.TypeScriptstylistic
regexContradictoryAssertionsReports elements in regular expressions that contradict assertions.TypeScriptlogical
regexControlCharacterEscapesReports control characters that are not escaped using standard escape sequences.TypeScriptlogical
regexControlCharactersReports control characters in regular expressions.TypeScriptlogical
regexDigitMatchersReports character classes with multiple adjacent characters that could use a range instead.TypeScriptstylisticStrict
regexDollarEscapesReports replacement strings with unescaped $ that should use $$.TypeScriptstylistic
regexDuplicateCharacterClassCharactersReports duplicate characters in regular expression character classes.TypeScriptlogical
regexDuplicateDisjunctionsTypeScriptlogical
regexEmptyAlternativesReports empty alternatives in regular expressions that may indicate a mistake.TypeScriptlogical
regexEmptyCapturingGroupsReports capturing groups that only capture empty strings.TypeScriptlogical
regexEmptyCharacterClassesReports character classes that match no characters.TypeScriptlogical
regexEmptyGroupsReports empty groups in regular expressions.TypeScriptlogical
regexEmptyLazyQuantifiersReports lazy quantifiers at the end of regular expressions.TypeScriptlogical
regexEmptyLookaroundsAssertionsReports empty lookahead and lookbehind assertions in regular expressions.TypeScriptlogical
regexEmptyStringLiteralsReports empty string literals in character classes.TypeScriptlogical
regexEscapeBackspacesReports escape backspace ([\b]) in character classes.TypeScriptstylistic
regexExecutorsReports String.prototype.match calls that can be replaced with RegExp.prototype.exec.TypeScriptstylisticStrict
regexFlagsOrderTypeScriptsorting
regexGraphemeStringLiteralsReports string literals inside character classes with the v flag that contain multiple graphemes.TypeScriptstylisticStrict
regexHexadecimalEscapesReports regex character escapes that can be expressed more consistently using hexadecimal escapes.TypeScriptstylisticStrict
regexIgnoreCaseFlagsReports regex patterns that can be simplified by using the i (ignore case) flag.TypeScriptlogical
regexInvisibleCharactersReports invisible characters in regex patterns that should use escape sequences instead.TypeScriptlogical
regexLetterCasingReports inconsistent letter casing in regex sequences.TypeScriptstylisticStrict
regexListsOrderTypeScriptsorting
regexLiteralsJSONlogical
regexLiteralsUse a regular expression literal when the pattern is static.TypeScriptlogical
regexLookaroundAssertionsReports capturing groups at pattern boundaries that can be replaced with lookaround assertions.TypeScriptstylisticStrict
regexLookaroundQuantifierOptimizationsReports non-constant quantifiers in lookaround assertions that could be simplified.TypeScriptlogical
regexMatchNotationReports inconsistent notations for matching any character in regular expressions.TypeScriptstylisticStrict
regexMisleadingCapturingGroupsReports capturing groups that capture less text than their pattern suggests.TypeScriptlogical
regexMisleadingQuantifiersReports quantifiers whose minimum implies they must match but whose element can match empty.TypeScriptlogical
regexMisleadingUnicodeCharactersReports characters in regex character classes that appear as single visual characters but are made of multiple code points.TypeScriptlogical
regexNamedBackreferencesReports backreferences that do not use the name of their referenced capturing group.TypeScriptstylisticStrict
regexNamedCaptureGroupsReports capturing groups in regular expressions that do not have a name.TypeScript(none)
regexNamedReplacementsReports indexed references in replacement strings that should use named references.TypeScriptstylisticStrict
regexNonStandardFlagsReports non-standard regular expression flags.TypeScriptlogical
regexObscureRangesReports obscure character ranges in regular expressions.TypeScriptlogical
regexOctalEscapesReports octal escape sequences in regular expressions.TypeScriptlogical
regexpEscapesTypeScriptstylistic
regexPlusQuantifiersReports quantifiers {1,} in regular expressions that should use + instead.TypeScriptstylisticStrict
regexPredefinedAssertionsReports regex lookarounds that can be replaced with predefined assertions.TypeScriptstylistic
regexQuantifierOptimizationsTypeScriptlogical
regexQuestionQuantifiersReports quantifiers {0,1} in regular expressions that should use ? instead.TypeScriptstylisticStrict
regexRepeatQuantifiersReports consecutive identical elements in regular expressions that should use quantifiers.TypeScriptstylistic
regexResultArrayGroupsReports indexed access on regex result arrays when named capturing groups should be used.TypeScriptstylisticStrict
regexSetOperationOptimizationsReports set operations in regular expressions that can be simplified.TypeScriptlogical
regexStandaloneBackslashesReports standalone backslashes in regex patterns that look like incomplete escape sequences.TypeScriptlogical
regexStarQuantifiersReports quantifiers {0,} in regular expressions that should use * instead.TypeScriptstylisticStrict
regexSuperLinearBacktrackingReports regular expressions with exponential or polynomial backtracking.TypeScriptlogical
regexSuperLinearMovesReports quantifiers that can cause quadratic regex matching time.TypeScriptlogical
regexTestMethodsReports match() and exec() calls that should use RegExp.prototype.test() for boolean checks.TypeScriptstylistic
regexUnicodeCodepointEscapesReports surrogate pair escapes in regular expressions that can be replaced with Unicode codepoint escapes.TypeScriptstylisticStrict
regexUnicodeEscapesEnforces consistent Unicode escape style in regex patterns by preferring codepoint escapes.TypeScript(none)
regexUnicodeFlagRequire regex patterns to have the unicode ('u') or unicodeSets ('v') flag for proper Unicode character handling.TypeScript(none)
regexUnicodePropertiesReports inconsistent Unicode property names in regular expressions.TypeScriptstylistic
regexUnnecessaryAssertionsReports assertions in regular expressions that always reject.TypeScriptlogical
regexUnnecessaryBackreferencesReports backreferences in regular expressions that will always match empty or fail.TypeScriptlogical
regexUnnecessaryCharacterClassesReports character classes that wrap a single element that does not require brackets.TypeScriptlogical
regexUnnecessaryCharacterRangesReports character class ranges that span only one or two characters.TypeScriptlogical
regexUnnecessaryDisjunctionsReports single-character alternatives in string disjunctions.TypeScriptlogical
regexUnnecessaryDollarReplacementsReports replacement string references to capturing groups that do not exist in the pattern.TypeScriptlogical
regexUnnecessaryEscapesReports unnecessary escape sequences in regular expressions.TypeScriptstylistic
regexUnnecessaryLookaroundAssertionsReports unnecessary nested lookaround assertions in regular expressions.TypeScriptlogical
regexUnnecessaryNestedAssertionsReports trivially nested assertions in regular expressions that can be simplified.TypeScriptlogical
regexUnnecessaryNestedQuantifiersReports trivially nested quantifiers in regular expressions that can be simplified.TypeScriptlogical
regexUnnecessaryNonCapturingGroupsReports non-capturing groups that can be removed without changing the meaning of the regex.TypeScriptstylisticStrict
regexUnnecessaryNumericQuantifiersReports numeric quantifiers like '{n,n}' that can be simplified to '{n}'.TypeScriptlogical
regexUnnecessaryOptionalAssertionsReports assertions inside optional quantifiers that have no effect.TypeScriptlogical
regexUnnecessaryReferentialBackreferencesReports backreferences that may reference a capturing group that was not matched.TypeScriptlogical
regexUnnecessarySetOperandsReports unnecessary operands in regular expression character class set operations.TypeScriptlogical
regexUnusedCapturingGroupsReports capturing groups in regular expressions that are never referenced.TypeScriptlogical
regexUnusedFlagsReports regular expression flags that have no effect on the pattern.TypeScriptlogical
regexUnusedLazyQuantifiersReports lazy quantifiers that have no effect because the quantifier is constant.TypeScriptlogical
regexUnusedQuantifiersReports quantifiers that match exactly once, making them unnecessary.TypeScriptlogical
regexValidityReports invalid regular expressions.TypeScriptlogical
regexWordMatchersReports character classes that match word characters and could use \w or \W instead.TypeScriptstylisticStrict
regexZeroQuantifiersReports quantifiers with a maximum of zero, which are useless.TypeScriptlogical
relativePackageImportsTypeScript(none)
removeEventListenerExpressionsDisallow inline function expressions in removeEventListener calls.Browserlogical
renderedLiteralLeaksJSXlogicalStrict
renderReturnsJSXlogical
renderReturnsVuelogical
renderSetStatesReactlogical
repositoryDirectoryValidityEnforce that repository.directory matches the package.json file directory.PackageJSONlogical
repositoryPresenceEnforces that the repository property is present.PackageJSONlogical
repositoryShorthandEnforces using an object locator for repository.PackageJSONlogical
repositoryValidityEnforces that the repository property is valid.PackageJSONlogical
requireImportsReports CommonJS require() imports in favor of ES module imports.TypeScriptlogical
resizeObserverCleanupReactlogicalStrict
responseJsonMethodsPrefer Response.json() over new Response(JSON.stringify(...)) for JSON responses.TypeScriptstylistic
responseStaticJsonMethodsTypeScriptstylistic
restrictedBindDirectivesVuelogical
restrictedBlocksVuelogical
restrictedCallsAfterAwaitsVuelogical
restrictedClassesVuelogical
restrictedComponentNamesVuelogical
restrictedComponentNamesLegacyVuelogical
restrictedComponentOptionsVuelogical
restrictedComponentPropsReact(none)
restrictedCustomEventsVuelogical
restrictedDomPropsReact(none)
restrictedElementsReact(none)
restrictedGlobalsTypeScript(none)
restrictedHtmlElementsVuelogical
restrictedIdentifiersDisallows specific identifier names in binding positions.TypeScript(none)
restrictedImportPathsTypeScript(none)
restrictedImportsNode.js(none)
restrictedImportsRestricts specified modules from being imported.TypeScript(none)
restrictedMatchersVitest(none)
restrictedOnDirectivesVuelogical
restrictedPropertiesTypeScript(none)
restrictedPropsVuelogical
restrictedPropTypesReact(none)
restrictedStaticAttributesVuelogical
restrictedSyntaxTypeScript(none)
restrictedSyntaxesVuelogical
restrictedTypesTypeScript(none)
restrictedViMethodsVitest(none)
returnAssignmentsReports using assignment expressions in return statements.TypeScriptstylistic
returnAwaitPromisesTypeScriptlogical
returnThisTypesEnforce that this is used when only this type is returned.TypeScriptlogicalStrict
returnTypeSpecificityTypeScriptlogical
returnVoidSafetyTypeScriptlogicalStrict
roleRedundanciesAstrological
roleRedundanciesReports redundant ARIA roles on elements with implicit roles.JSXlogical
roleRequiredAriaPropsAstrological
roleRequiredAriaPropsReports ARIA roles missing their required ARIA properties.JSXlogical
roleSupportedAriaPropsAstrological
roleSupportedAriaPropsReports ARIA properties that are not supported by an element's role.JSXlogical
roleTagsAstrological
roleTagsReports ARIA roles that have semantic HTML element equivalents.JSXlogicalStrict
rollingWorkspaceSpecsPackageJSON(none)
rootIfDirectivesVuelogical
rscFunctionDefinitionsReact(none)
ruleCreationMethodsReports plugin rules created directly with language instead of through RuleCreator.Flintlogical
ruleDescriptionsFlintlogical
rulePresetsFlintlogical
ruleSelectorPropertiesCSS(none)
rulesOfHooksReactlogical
ruleURLsFlintlogical
scopedSelectorsBrowserstylistic
scopePropsAstrological
scopePropsReports scope props on non-th elements.JSXlogical
scriptExportsNode.jslogical
scriptSetupExportsVuelogical
scriptsNameCasingEnforce that names for scripts properties are in kebab case.PackageJSONstylistic
scriptsPresenceEnforces that the scripts property is present.PackageJSON(none)
scriptsValidityEnforces that the scripts property is valid.PackageJSONlogical
scriptSyncsNext.jslogical
scriptUrlsReports javascript: URLs that can act as a form of eval.Browserlogical
scriptUrlsJSXlogical
selectorAttributeNamesCSS(none)
selectorAttributeOperatorsCSS(none)
selectorAttributeQuotesCSSstylistic
selectorClassCountsCSSstylisticStrict
selectorClassPatternsCSS(none)
selectorCombinatorsCSS(none)
selectorConsistencySveltestylisticStrict
selectorDeprecationsCSSlogical
selectorDomNamesBrowserlogical
selectorDuplicatesCSSlogical
selectorIdPatternsCSS(none)
selectorMatchabilityCSSlogical
selectorNestedPatternsCSS(none)
selectorNestingRelativityCSSstylistic
selectorNotNotationsCSSstylistic
selectorPseudoElementColonNotationsCSSstylistic
selectorsCSS(none)
selectorSpecificitiesCSSlogical
selectorTypeCasingCSSstylistic
selectorTypeValidityCSSlogical
selectorValidityCSSlogical
selectorVendorPrefixesCSSlogicalStrict
selfAssignmentsReports self-assignments which have no effect and are likely errors.TypeScriptlogical
selfClosingHtmlElementsSveltestylisticStrict
selfClosingTagsJSXstylistic
semicolonLeakageJSX(none)
separateStaticClassesVuestylistic
sequencesReports using the comma operator in expressions.TypeScriptjavascript
setDirectiveChildContentConflictsAstrological
setHasExistenceChecksTypeScriptstylisticStrict
setHtmlDirectivesReports using Astro's set:html directive, which injects content without escaping.Astrosecurity
setMethodsTypeScriptstylistic
setSizeLengthChecksPrefer Set.size over spreading into an array and accessing .length.TypeScriptstylisticStrict
setsOrderTypeScriptsorting
setterReturnsReports return statements with values inside setters.TypeScriptjavascript
setTextDirectivesAstrological
setupPropsReactivityLossVuelogical
shadowedRestrictedNamesReports variable declarations that shadow JavaScript's restricted names.TypeScriptjavascript
shadowsTypeScriptstylistic
shebangsNode.js(none)
shortArrowMethodsTypeScriptstylistic
shorthandAssignmentRefactorsTypeScriptlogical
shorthandAttributesSveltestylisticStrict
shorthandDirectivesSveltestylisticStrict
shorthandPropertyOverridesCSSlogical
shorthandStylePropertyOverridesSveltelogical
shorthandValueRedundancyCSSstylistic
showDirectiveValidityVuelogical
showWhensSolidJSstylistic
sideEffectsPresenceEnforces that the sideEffects property is present.PackageJSONlogical
sideEffectsValidityEnforces that the sideEffects property is valid.PackageJSONlogical
simpleConditionOrderTypeScriptstylistic
simpleSortComparatorsTypeScriptstylistic
simplifiedConditionsTypeScriptstylistic
singleArrayPredicatesTypeScriptstylistic
singleEventPayloadsVuestylistic
singleObjectDestructuringTypeScriptstylistic
singleStringReplacesTypeScriptstylistic
singleVariableDeclarationsEnforces one variable per declaration statement.TypeScriptlogical
sizeComparisonOperatorsEnforce consistent style for .length and .size checks.TypeScriptstylisticStrict
sliceEndLengthsTypeScriptstylistic
slotArgumentsVuelogicalStrict
slotDirectiveValidityVuelogical
slotNameCasingVuestylistic
slotsAsFunctionsVuelogical
slotStylesVuestylistic
smallerScopesTypeScriptstylistic
snapshotLocalTextContextsVitestlogical
solidImportsSolidJSlogical
sparseArraysJSONlogical
sparseArraysReports array literals with holes (sparse arrays).TypeScriptlogical
sparseArraysVuelogical
specialElementPrefixesSveltelogical
splitLimitsTypeScriptstylistic
spreadAccumulatorsReports spread operations that accumulate values in loops, causing quadratic time complexity.Performancelogical
spreadSyntaxesTypeScriptstylistic
sqliteInterpolationsNode.jssecurity
stateAccessesInSetStatesJSX(none)
statelessComponentsJSXstylistic
stateMutationsReactlogical
staticClassNamesOrderVuesorting
staticComponentsReactlogical
staticElementInteractionsAstrological
staticElementInteractionsReports static elements with event handlers that lack ARIA roles.JSXlogical
staticInlineStylesVuestylistic
staticMemberOnlyClassesReports classes that only contain static members.TypeScriptstylisticStrict
staticMethodClassReferencesTypeScriptstylistic
strictBooleanExpressionsTypeScriptlogical
strictEqualityOperatorsVuelogical
stringCaseMismatchesReports string case method calls compared against literals with mismatched casing.TypeScriptlogical
stringCodePointsReports usage of charCodeAt and fromCharCode instead of their codePoint equivalents.TypeScriptlogicalStrict
stringMappingKeysEnforces mapping keys to be strings.YAMLlogicalStrict
stringMatchAllTypeScriptstylistic
stringPadStartEndTypeScriptstylistic
stringRepeatsTypeScriptstylistic
stringSliceMethodsReports usage of substring instead of slice for string operations.TypeScriptstylisticStrict
stringStartsEndsWithReports regex patterns that can be replaced with endsWith or startsWith.TypeScriptstylistic
stringValidityCSSlogical
structuredCloneMethodsReports JSON.parse(JSON.stringify()) patterns that can use structuredClone.TypeScriptstylisticStrict
styleAttributesVuelogical
styleDirectivesSveltestylisticStrict
styledJsxInDocumentsNext.jslogical
stylePropObjectsReactlogicalStrict
stylePropsTypeReactstylistic
stylePropValiditySolidJSjavascript
subtractionComparisonsTypeScriptstylistic
suggestionMessageIdMatchesFlintlogical
summaryCasingReports changeset summaries that don't start with the configured letter case.Changesetsstylistic
summaryPunctuationReports changeset summaries that don't match the configured ending punctuation.Changesetsstylistic
summaryReadabilityReports changeset summaries that are missing or start with a conventional commit prefix.Changesetslogical
svelteInternalImportsSveltelogical
svelteReactivityClassesSveltelogical
svgTitlesReports <svg> elements without a <title> child element.JSXlogical
switchCaseBreakPositionsTypeScriptstylistic
switchCasesOrderTypeScriptsorting
symbolDescriptionsReports Symbol() calls without description arguments.TypeScriptstylistic
syntaxStringValidityCSSlogical
tabIndexPositiveValuesAstrological
tabIndexPositiveValuesReports positive tabIndex values.JSXlogical
tableColumnCountsReports table rows with column counts that don't match the header.Markdownlogical
targetBlankLinksSveltesecurityStrict
targetBlankSafetyJSX(none)
templateBareStringsVuelogical
templateDepthLimitsVuestylistic
templateExpressionValuesTypeScriptlogical
templateForKeysVuelogical
templateKeysVuelogical
templateLiteralEscapesConsistencyTypeScriptstylistic
templateLiteralsVuelogical
templateRefsVuelogical
templateRootMultiplicityVuelogical
templateRootValidityVuelogical
templateShadowsVuelogicalStrict
templateStringInterpolationsTypeScriptlogical
templateStringsVuestylistic
templateTargetBlanksVuesecurity
templateVForOnChildrenVuelogical
temporalApisTypeScriptstylistic
testBodyExpectationsVitestlogical
testCaseAssertionsViteststylistic
testCaseDuplicatesReports test cases that are identical to previous test cases.Flintlogical
testCaseNameDuplicatesReports test cases that have the same name as a previous test case.Flintlogical
testCaseNonStaticCodeTest case code should be a static string literal.Flintlogical
testCaseOnlyFlagsReports test cases that are marked only: true.Flintlogical
testCasePaddingLinesEnforces padding around test blocks.Vitest(none)
testCasesWithinDescribesReports importing from node:test.ViteststylisticStrict
testConditionalsVitestlogicalStrict
testDefinitionFunctionsVitest(none)
testExportsVitestlogical
testPrefixesViteststylistic
testShorthandsTest cases with only a code property can use string shorthand syntax instead of object literal syntax.Flintstylistic
textareaMustacheChildrenVuelogical
textDirectivesVuelogical
textDirectiveValidityVuelogical
thenCatchSeparationTypeScriptstylistic
thisAliasesReports assigning this to a variable.TypeScriptlogical
thisAssignmentsTypeScriptstylistic
thisBeforeSuperReports using this or super before calling super() in derived class constructors.TypeScriptjavascript
thisInTemplatesVuelogicalStrict
thisOutsideOfClassesTypeScriptlogical
throwErrorsReports throwing values that are not Error objects.TypeScriptlogical
timeoutCleanupReactlogicalStrict
titleInDocumentHeadsNext.jslogical
titleRepeatsVitestlogical
titleValidityVitestlogical
toBeTypeOfsViteststylistic
toContainMatchersViteststylistic
toHaveBeenCalledTimesAssertionsVitest(none)
toHaveLengthMatchersReports equality matchers on .length that could use toHaveLength().Viteststylistic
topLevelAssignmentsInFunctionsTypeScriptlogical
topLevelAwaitsNode.js(none)
topLevelAwaitsReports top-level await expressions in files that export values.TypeScriptstylisticStrict
topLevelBrowserGlobalsSveltelogicalStrict
topLevelPackagePropertiesPackageJSON(none)
topLevelSideEffectsTypeScriptlogical
transitionAllsCSSlogical
transitionTogglesVuelogical
tripleSlashReferencesReports triple-slash reference directives.TypeScriptlogical
tripleSlashReferenceValidityReports invalid triple-slash reference directives.TypeScriptlogical
trueAttributeShorthandsVuestylistic
truthyMatchersVitest(none)
tsCommentsReports problematic TypeScript comment directives or requires descriptions after directives.TypeScriptlogical
tslintCommentsReports TSLint disable/enable comments.TypeScriptstylistic
tupleLabelsTypeScriptstylistic
typeAssertionStylesReports angle-bracket type assertions.TypeScriptstylistic
typeConstituentDuplicatesTypeScriptlogical
typeConstituentsOrderTypeScriptsorting
typedObjectPropsVuelogical
typedRefsVuelogical
typeExportsTypeScriptstylistic
typeImportsReports imports that do not match the configured type import style.TypeScriptlogicalStrict
typeLiteralsLastTypeScriptstylistic
typeofComparisonsReports typeof expressions that compare impossible string literals.TypeScriptjavascript
typePresenceEnforces that the type property is present.PackageJSONlogical
typeSelectorValidityCSSlogical
typesPresenceEnforces that the types property is present.PackageJSON(none)
typeValidityEnforces that the type property is valid.PackageJSONlogical
typosNext.jslogical
typosReactlogical
uint8ArrayBase64sNode.jsstylistic
unaryMinusTypeScriptstylistic
unassignedVariablesReports variables that are declared but never assigned a value.TypeScriptjavascript
unboundMethodsTypeScriptlogical
uncalledMethodsTypeScriptlogical
undeclaredClassMembersTypeScriptlogical
undefinedComponentsVuelogical
undefinedDirectivesVuelogical
undefinedElementsJSXlogical
undefinedInitialValuesTypeScriptstylistic
undefinedPropertiesVuelogical
undefinedTypeofChecksReports typeof undefined checks.TypeScriptstylisticStrict
undefinedVariablesReports using variables that are not defined.TypeScriptjavascript
unescapedEntitiesDisallow unescaped HTML entities in JSX text that may cause rendering issues.JSXstylistic
unicodeBOMsReports files with Unicode Byte Order Marks (BOMs).TypeScriptstylistic
unicodeCodePointEscapesTypeScriptstylistic
unifiedSignaturesTypeScriptlogicalStrict
unionTypesOrderTypeScriptsorting
unitLayoutMappingsCSS(none)
unitsCSS(none)
unitValidityCSSlogical
unknownStyleDirectivePropertiesSveltelogical
unnecessaryArrayFlatMapsTypeScriptstylistic
unnecessaryAsyncExpectFunctionsVitest(none)
unnecessaryBindDirectivesVuelogical
unnecessaryBindsReports unnecessary .bind() calls.TypeScriptlogical
unnecessaryBlocksReports standalone block statements that don't create a meaningful scope.TypeScriptstylistic
unnecessaryBooleanCastsReports unnecessary boolean casts.TypeScriptstylistic
unnecessaryBooleanComparisonsTypeScriptstylistic
unnecessaryCatchesReports catch clauses that only rethrow the caught error without modification.TypeScriptlogical
unnecessaryCollectionArgumentsTypeScriptstylistic
unnecessaryComparisonsReports comparisons that are always true, always false, or can be simplified.TypeScriptlogical
unnecessaryComputedKeysTypeScriptstylistic
unnecessaryConcatenationReports string concatenation using the + operator when both operands are string literals.TypeScriptstylistic
unnecessaryConcatenationsVuelogical
unnecessaryConditionsTypeScriptlogical
unnecessaryConstructorsTypeScriptstylistic
unnecessaryContinuesTypeScriptlogical
unnecessaryEscapesJSONstylistic
unnecessaryEscapesReports unnecessary escape sequences in string literals and template strings.TypeScriptstylistic
unnecessaryFetchOptionsTypeScriptstylistic
unnecessaryFragmentsDisallow unnecessary JSX fragments that wrap a single child or have no children.JSXstylistic
unnecessaryGlobalThisTypeScriptstylistic
unnecessaryIteratorArraysTypeScriptstylistic
unnecessaryLogicalComparisonsTypeScriptlogical
unnecessaryMathClampsReports unnecessary Math.min and Math.max calls with constant arguments or incorrect clamping patterns.TypeScriptlogical
unnecessaryMustachesVuelogical
unnecessaryNestedTernariesTypeScriptstylistic
unnecessaryNumericFractionsReports numeric literals with unnecessary zero fractions or dangling dots.TypeScriptstylistic
unnecessaryParenthesesVuestylistic
unnecessaryQualifiersTypeScriptstylistic
unnecessaryRenamesRenames that don't change the identifier name are unnecessary.TypeScriptstylistic
unnecessaryReturnsTypeScriptstylistic
unnecessarySplicesTypeScriptstylistic
unnecessarySpreadsTypeScriptlogical
unnecessaryStateWrapsSveltelogical
unnecessaryStringTrimsTypeScriptstylistic
unnecessaryTemplateAttributesVuelogical
unnecessaryTemplateExpressionsTypeScriptlogical
unnecessaryTernariesReports ternary expressions that can be simplified to boolean expressions or logical operatorsTypeScriptstylisticStrict
unnecessaryTypeAnnotationsTypeScriptstylistic
unnecessaryTypeArgumentsTypeScriptlogical
unnecessaryTypeAssertionsTypeScriptlogical
unnecessaryTypeConstraintsTypeScriptlogical
unnecessaryTypeConversionsTypeScriptlogical
unnecessaryTypeParametersTypeScriptlogical
unnecessaryUndefinedDefaultsTypeScriptlogical
unnecessaryUseStrictsReports unnecessary "use strict" directives in ES modules and classes.TypeScriptlogical
unpublishedBinsNode.jslogical
unpublishedImportsNode.jslogical
unreachableStatementsTypeScriptjavascript
unreadableForOfExpressionsTypeScriptstylistic
unreadableNewExpressionsTypeScriptstylistic
unreadableObjectDestructuringsTypeScriptstylistic
unresolvedImportsTypeScript(none)
unresolvedNavigationsSveltelogical
unsafeBufferConversionsNode.jslogical
unsafeDeclarationmergingTypeScriptlogical
unsafeDomHtmlBrowsersecurity
unsafeEnumComparisonsTypeScriptlogical
unsafeFunctionTypesTypeScriptlogical
unsafeInlineScriptsAstrosecurity
unsafeLifecycleMethodsJSXlogical
unsafeNegationsReports negating the left operand of in or instanceof relations.TypeScriptjavascript
unsafeOptionalChainsTypeScriptjavascript
unsafePromiseAllSettledValuesTypeScriptlogical
unsafePropertyKeysTypeScriptlogical
unsafeStringReplacementsTypeScriptlogical
unsafeToStringTypeScriptlogical
unsafeTypeAssertionsTypeScriptlogical
unsafeUnaryNegationsTypeScriptlogical
unsupportedFeaturesVuelogical
unsupportedNodeAPIsNode.jslogical
unsupportedSyntaxReactlogical
unusedArrayMethodReturnsTypeScriptlogical
unusedClassComponentMethodsReactlogical
unusedClassNamesSveltelogicalStrict
unusedComponentsVuelogical
unusedCssSelectorsAstrological
unusedEmitDeclarationsVuelogical
unusedExpressionsTypeScriptlogical
unusedImportsTypeScriptlogical
unusedLabelsTypeScriptstylistic
unusedMessageIdsReports message IDs defined in the messages object that are never used in recognized report calls.Flintlogical
unusedModulesTypeScript(none)
unusedPlaceholdersFlintlogical
unusedPrivateClassMembersTypeScriptlogical
unusedPropertiesVuelogical
unusedPropsReact(none)
unusedPropsSveltelogical
unusedPropTypesReactlogical
unusedRefsVuelogical
unusedStateReactlogical
unusedStyleDefineVarsAstrological
unusedSvelteIgnoresSveltelogical
unusedSwitchStatementsTypeScriptlogical
unusedValuesTypeScriptlogical
unusedVariablesTypeScriptlogical
unusedVariablesVuelogical
urlCanParseTypeScriptstylistic
urlHrefsTypeScriptstylistic
urlQuotesCSSstylistic
urlSchemeRelativityCSSlogicalStrict
urlSchemesCSS(none)
urlSearchParametersTypeScriptstylistic
usageBeforeDefinitionTypeScriptjavascript
useContextUsageReact(none)
useFormStateCallsReact(none)
uselessChildrenSnippetsSveltelogical
uselessCoercionsTypeScriptstylistic
uselessCompoundAssignmentsTypeScriptlogical
uselessContinuesTypeScriptstylistic
uselessDefaultAssignmentsTypeScriptlogical
uselessDeleteChecksTypeScriptlogical
uselessLogicalOperandsTypeScriptlogical
uselessMustachesSveltelogical
uselessOverridesTypeScriptlogical
uselessRecursionsTypeScriptlogical
uselessReexportsTypeScriptlogical
uselessTemplateLiteralsTypeScriptstylistic
useMemoReturnsReactlogical
usePrefixesReactstylistic
useStateUsageReactstylistic
useStrictDirectivesTypeScriptjavascript
validEachKeysSveltelogical
validStyleParsingSveltelogicalStrict
valueAtRulesCSSlogical
valueKeywordCasingCSSstylistic
valueKeywordLayoutMappingsCSS(none)
valueSafetyReports JSON values that are unsafe for data interchange.JSONlogical
valueVendorPrefixesCSSlogicalStrict
vaporVuestylisticStrict
varDeclarationsTypeScriptstylistic
variableBlockScopeUsageTypeScriptjavascript
variableDeclarationsOrderTypeScriptsorting
variableDeletionsReports attempting to delete variables with the delete operator.TypeScriptjavascript
variableFunctionPresenceCSSlogical
variableRedeclarationsTypeScriptjavascript
variableUsesJSXlogical
variableUsesSolidJS(none)
versionPresenceEnforces that the version property is present.PackageJSONlogical
versionValidityEnforces that the version property is valid.PackageJSONlogical
vHtmlDirectivesVuelogicalStrict
vIfsWithVForsVuelogical
viNamespaceNamesVitest(none)
vitestGlobalImportingVitest(none)
vitestGlobalImportsViteststylistic
voidElementsWithChildrenReactlogical
voidOperatorReports using the void operator.TypeScriptstylistic
vueCustomBlockParsingErrorsJSONlogical
vueCustomBlockParsingErrorsYAML(none)
vuePackageImportsVuelogical
watchAfterAwaitsVuelogical
watchArrowFunctionsVuelogical
webpackLoaderSyntaxTypeScript(none)
wellKnownSymbolMethodsTypeScriptlogical
whileLoopConditionsTypeScriptstylistic
whileLoopsTypeScriptstylisticStrict
whitespaceValidityCSSlogical
windowMessagingTargetOriginRequires specifying the targetOrigin argument when calling window.postMessage().Browserlogical
withStatementsReports using with statementsTypeScriptjavascript
workspacesPresenceEnforces that the workspaces property is present.PackageJSON(none)
workspacesValidityEnforces that the workspaces property is valid.PackageJSONlogical
wrapperObjectsFlags using new with Boolean, Number, or String, which creates wrapper objects instead of primitives.TypeScriptlogical
wrapperObjectTypesTypeScriptlogical
writableDerivedStoresSveltelogical
xorAsExponentiationTypeScriptlogical
yamlKeysOrderYAML(none)
yamlSequenceValuesOrderYAMLsorting
zeroLengthUnitsCSSstylistic