Skip to content

Flint's Rules

Flint will provide a comprehensive set of rules for all languages common to most typical web development projects. Rules are grouped into plugins that you can opt into as you choose.

Plugins are grouped into two categories:

  • Core Plugins: These come as part of the flint package on npm. They’re applicable to any project using the language they lint for.
  • Focused Plugins: These are for specific areas of projects or code styles. They come in separate npm packages under @flint.fyi/.

These come as part of the flint package on npm. They’re applicable to any project using the language they lint for.

  • JSON Rules for linting .json files containing arbitrary data in the JavaScript Object Notation (JSON) format.
  • Markdown Rules for linting .md files containing Markdown, the lightweight markup language.
  • PackageJSON Rules for linting Node.js package.json manifest files in repositories and workspaces.
  • TypeScript (and JavaScript) Rules for linting JavaScript and TypeScript code, including the latest and greatest powerful typed linting rules.
  • YAML Rules for linting .yaml/.yml files containing arbitrary data in the Yet Another Markup Language (YAML) format.

These are for specific areas of projects or code styles. They come in separate npm packages under @flint.fyi/.

  • Browser Rules for code that runs in browsers and other environments with DOM (Document Object Model) elements.
  • CSpell Rules that detect misspelling typos in source files using the general-purpose code-optimized "CSpell" spell-checker.
  • Flint Rules for writing third-party Flint plugins and custom rules. Meta!
  • JSX Rules for code that describes UI with the "JSX" markup language, commonly in .jsx and/or .tsx files.
  • Node.js Rules for code that runs in Node.js and other server runtimes that include Node.js-like APIs.
  • Performance Rules for specialized code designed specifically to be run in performance-critical "hot paths".
  • Sorting Rules that automatically sort any and all possible aspects of code alphabetically, such as imports and properties.

These tables contain all the rules considered for inclusion in Flint. That includes every non-deprecated rule provided by >=1 popular linter.

These rules will be implemented as a part of Flint. Each is equivalent to at least one existing rule in another linter.

Implemented: 142 of 596 (23.8%)
Flint RulePluginPreset
accessKeysDisallow the use of the accessKey / accesskey attribute on JSX elements.JSXLogical
accessorThisRecursionTypeScriptLogical (Strict)
alertsReports uses of the global alert/confirm/prompt dialog APIs.BrowserLogical
altTextsReports elements that require alt text but are missing it.JSXLogical
anchorAmbiguousTextReports anchor elements with ambiguous text that doesn't describe the link destination.JSXLogical (Strict)
anchorContentReports anchor elements without accessible content.JSXLogical
anchorValidityReports invalid usage of anchor elements.JSXLogical
anyArgumentsTypeScriptLogical
anyAssignmentsTypeScriptLogical
anyCallsTypeScriptLogical
anyMemberAccessTypeScriptLogical
anyReturnsReports returning a value with type any from a function.TypeScriptLogical
argumentsTypeScriptLogical
ariaActiveDescendantTabIndexReports elements with aria-activedescendant without tabIndex.JSXLogical
ariaHiddenFocusablesReports elements with aria-hidden='true' that are focusable.JSXLogical (Strict)
ariaPropsReports invalid ARIA properties.JSXLogical
ariaPropTypesReports ARIA properties with invalid value types.JSXLogical
ariaRoleValidityReports invalid or abstract ARIA roles.JSXLogical
ariaUnsupportedElementsReports ARIA attributes on elements that don't support them.JSXLogical
arrayCallbackReturnsTypeScriptUntyped
arrayConstructorsTypeScriptLogical
arrayDeleteUnnecessaryCountsTypeScriptStylistic
arrayElementDeletionsTypeScriptLogical
arrayEmptyCallbackSlotsTypeScriptLogical
arrayExistenceChecksConsistencyTypeScriptStylistic
arrayFilteredFindsTypeScriptStylistic (Strict)
arrayFindsTypeScriptStylistic
arrayFlatMapMethodsTypeScriptStylistic (Strict)
arrayFlatMethodsTypeScriptStylistic (Strict)
arrayFlatUnnecessaryDepthsTypeScriptStylistic
arrayIncludesTypeScriptStylistic
arrayIncludesMethodsTypeScriptStylistic (Strict)
arrayIndexOfMethodsTypeScriptStylistic (Strict)
arrayLoopsTypeScriptStylistic
arrayMapIdentitiesTypeScriptLogical
arrayMutableReversesTypeScriptStylistic
arrayMutableSortsTypeScriptStylistic
arraySliceUnnecessaryEndTypeScriptStylistic
arraySomeMethodsTypeScriptStylistic (Strict)
arrayTernarySpreadingConsistencyTypeScriptStylistic
arrayTypesTypeScriptStylistic
arrayUnnecessaryLengthChecksTypeScriptLogical
asConstAssertionsTypeScriptStylistic
assertStrictPrefer strict assertion mode from Node.js for better error messages and behavior.NodeLogical
assertStylesPrefer assert.ok() over assert() for explicit intent and better readability.NodeStylistic
assignmentOperatorShorthandsTypeScriptStylistic
asyncFunctionAwaitsTypeScriptLogical
asyncPromiseExecutorsReports using async functions as Promise executor functions.TypeScriptLogical
asyncUnnecessaryPromiseWrappersTypeScriptLogical
atAccessesTypeScriptStylistic (Strict)
authorPresencePackageJSONNone
authorValidityPackageJSONLogical
autocompleteEnsure the autocomplete attribute is correct and suitable for the form field.JSXLogical
autoFocusPropsReports autoFocus props that are not set to false.JSXLogical
awaitInsidePromiseMethodsTypeScriptLogical (Strict)
awaitThenableTypeScriptLogical
bareUrlsReports bare URLs that should be formatted as autolinks or links.MarkdownStylistic (Strict)
binValidityPackageJSONLogical
blobReadingMethodsPrefer direct Blob reading methods over wrapping in Response for simpler code.NodeStylistic
blockMappingsYAMLStylistic
blockquoteBlankLineMultiplesMarkdownStylistic (Strict)
blockSequencesYAMLStylistic
booleanValuesPrefer shorthand boolean attributes over explicit {true} values in JSX.JSXStylistic
bracedStatementsDisallow unnecessary JSX curly braces around literals and JSX elements.JSXStylistic
bufferAllocatorsPrefer modern Buffer allocation methods over the deprecated Buffer constructor.NodeLogical
bugsPresencePackageJSONNone
builtinCoercionsTypeScriptStylistic (Strict)
builtinConstructorNewsTypeScriptStylistic
bundleDependenciesPresencePackageJSONNone
bundleDependenciesValidityPackageJSONLogical
buttonTypesReports button elements without an explicit type attribute.JSXlogical
caseDeclarationsReports lexical declarations in case clauses without wrapping them in blocks.TypeScriptUntyped
caseDuplicatesReports switch statements with duplicate case clause test expressions.TypeScriptLogical
caseFallthroughsTypeScriptLogical
catchCallbackTypesTypeScriptLogical
caughtErrorCausesTypeScriptLogical (Strict)
caughtVariableNamesTypeScriptStylistic (Strict)
chainedAssignmentsReports using chained assignment expressions (e.g., a = b = c).TypeScriptStylistic
charAtComparisonsTypeScriptLogical
childrenPropsReports usage of the children prop.JSXStylistic
classAssignmentsReports reassigning class declarations.TypeScriptUntyped
classesSortingStylistic
classFieldDeclarationsTypeScriptUntyped
classListTogglesPrefer using classList.toggle() over conditional classList.add() and classList.remove().BrowserStylistic
classLiteralPropertiesTypeScriptStylistic
classMemberDuplicatesTypeScriptUntyped
classMethodsThisTypeScriptStylistic (Strict)
clickEventKeyEventsReports onClick without keyboard event handlers.JSXLogical
codeSpacesMarkdownStylistic
combinedPushesTypeScriptStylistic (Strict)
commentTextNodesReports JSX text nodes that contain comment syntax but are rendered as text.JSXLogical
configValidityPackageJSONLogical
consecutiveNonNullAssertionsReports unnecessary extra non-null assertions.TypeScriptStylistic
consoleCallsTypeScriptNone
consoleSpacesNodeStylistic (Strict)
constantAssignmentsReports attempting to reassign variables declared with const.TypeScriptUntyped
constructorReturnsReports returning values from constructor functions.TypeScriptUntyped
constructorSupersTypeScriptUntyped
constVariablesTypeScriptLogical
cpuValidityPackageJSONLogical
dateConstructorClonesTypeScriptLogical
dateNowTimestampsTypeScriptLogical (Strict)
debuggerStatementsReports using debugger statements.TypeScriptLogical
decoratorsSortingStylistic
defaultCaseLastReports switch statements where the default clause is not last.TypeScriptLogical
defaultParameterLastTypeScriptUntyped
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
dependenciesPresencePackageJSONNone
dependenciesValidityPackageJSONLogical
dependencyRangesPackageJSONNone
dependencyUniquenessPackageJSONLogical
deprecatedTypeScriptLogical
descriptionPresencePackageJSONLogical
descriptionValidityPackageJSONLogical
destructuringConsistencyTypeScriptStylistic (Strict)
devDependenciesPresencePackageJSONNone
devDependenciesValidityPackageJSONLogical
directivePairsTypeScriptLogical (Strict)
directiveRequireDescriptionsTypeScriptStylistic (Strict)
directoriesValidityPackageJSONLogical
distractingElementsReports distracting elements like <marquee> and <blink>.JSXLogical
documentCookiesReports uses of document.cookie which can be error-prone and has security implications.BrowserLogical (Strict)
duplicateArgumentsReports functions with duplicate parameter names in their signatures.TypeScriptUntyped
dynamicDeletesTypeScriptLogical
elementChildrenValidityReports void DOM elements that have children, which is invalid HTML.JSXLogical (Strict)
elseIfDuplicatesReports duplicate conditions in if-else-if chains that make code unreachable.TypeScriptLogical
elseReturnsTypeScriptStylistic (Strict)
emptyBlocksReports empty block statements that should contain code.TypeScriptStylistic
emptyDestructuresReports using empty destructuring patterns that destructure no values.TypeScriptLogical
emptyDocumentsYAMLLogical
emptyEnumsTypeScriptLogical
emptyExportsTypeScriptLogical
emptyFieldsPackageJSONLogical
emptyFilesTypeScriptStylistic (Strict)
emptyFunctionsTypeScriptStylistic (Strict)
emptyMappingKeysReports empty mapping keys.YAMLLogical
emptyMappingValuesYAMLLogical
emptyModuleAttributesTypeScriptStylistic
emptyObjectTypesTypeScriptLogical
emptySequenceEntriesYAMLLogical
emptyStaticBlocksReports empty static initialization blocks within class declarations.TypeScriptStylistic
emptyTypeParameterListsTypeScriptStylistic
enginesPresencePackageJSONNone
enumMemberLiteralsTypeScriptLogical
enumMixedValuesTypeScriptLogical
enumValueConsistencyTypeScriptLogical
enumValueDuplicatesTypeScriptLogical
equalityOperatorsTypeScriptLogical
errorMessagesTypeScriptLogical (Strict)
errorSubclassPropertiesTypeScriptLogical (Strict)
errorUnnecessaryCaptureStackTracesTypeScriptLogical
escapeSequenceCasingTypeScriptStylistic (Strict)
evalsTypeScriptLogical
eventClassesPrefer EventTarget over EventEmitter for cross-platform compatibility.NodeLogical (Strict)
eventListenerSubscriptionsPrefer addEventListener over assigning to on* event handler properties.BrowserLogical (Strict)
exceptionAssignmentsReports reassigning exception parameters in catch clauses.TypeScriptLogical
explicitAnysTypeScriptLogical
exponentiationOperatorsTypeScriptStylistic
exportFromImportsTypeScriptStylistic
exportMutablesTypeScriptLogical
exportsSortingStylistic
exportsAssignmentsPrevent assignment to the exports variable in CommonJS modules.NodeLogical
exportsValidityPackageJSONLogical
extraneousClassesTypeScriptLogical (Strict)
fencedCodeLanguagesReports fenced code blocks without a language specified.MarkdownStylistic (Strict)
fetchMethodBodiesTypeScriptLogical
fileExtensionsYAMLStylistic (Strict)
filePathsFromImportMetaNodeStylistic (Strict)
fileReadJSONBuffersNodeStylistic (Strict)
filesPresencePackageJSONNone
filesRedundancyPackageJSONLogical
filesValidityPackageJSONLogical
floatingPromisesTypeScriptLogical
forDirectionsReports for loops with counter variables that move in the wrong direction.TypeScriptStylistic
forInArraysReports iterating over an array with a for-in loop.TypeScriptLogical
functionAssignmentsReports reassigning variables declared with function declarations.TypeScriptUntyped
functionCallSpreadsTypeScriptStylistic
functionDefinitionScopeConsistencyTypeScriptStylistic (Strict)
functionNewCallsReports using the Function constructor to create functions from strings.TypeScriptLogical
functionTypeDeclarationsTypeScriptStylistic
generatorFunctionYieldsReports generator functions that do not yield values.TypeScriptLogical
genericConstructorCallsTypeScriptStylistic
getterReturnsTypeScriptUntyped
getterSetterPairedTypesTypeScriptLogical
globalAssignmentsReports attempting to assign to read-only global variables such as undefined, NaN, Infinity, Object, etc.TypeScriptUntyped
globalObjectCallsReports calling global objects like Math, JSON, or Reflect as functions.TypeScriptUntyped
globalThisAliasesTypeScriptStylistic (Strict)
groupedAccessorPairsTypeScriptStylistic
hashbangsNodeLogical
headingContentsReports heading elements without accessible content.JSXLogical
headingDuplicatesMarkdownStylistic (Strict)
headingEmphasisEquivalentsMarkdownStylistic (Strict)
headingIncrementsReports heading levels incrementing by more than one.MarkdownLogical
headingRootDuplicatesReports multiple H1 headings in the same document.MarkdownLogical (Strict)
headingRootPresenceMarkdownLogical (Strict)
headingTrailingPunctuationMarkdownStylistic (Strict)
heritageClausesSortingStylistic
homepageValidityPackageJSONLogical
htmlLangsReports <html> elements without a lang prop.JSXLogical
iframeTitlesReports <iframe> elements without a title prop.JSXLogical
imageAltTextsReports images without alternative text.MarkdownLogical
imageContentsReports images with empty URLs or only empty fragments.MarkdownLogical
implicitGlobalsPrevents implicit global variable declarations in browser scripts.BrowserLogical
impliedEvalsTypeScriptLogical
importAssignmentsTypeScriptUntyped
importCyclesTypeScriptStylistic
importedNamespaceDynamicAccessesDisallow computed member access on imported namespace identifiers.PerformanceLogical
importEmptyBlocksTypeScriptLogical
importExtraneousDependenciesTypeScriptLogical (Strict)
importFileExtensionsNodeNone
importSelfTypeScriptStylistic
importTypeSideEffectsTypeScriptNone
importUnnecessaryPathSegmentsTypeScriptStylistic
indexedObjectTypesTypeScriptStylistic
instanceOfArraysTypeScriptLogical
interactiveElementRolesReports interactive elements with non-interactive ARIA roles.JSXLogical
interactiveElementsFocusableReports interactive elements that are not focusable via keyboard.JSXLogical
interfacesSortingStylistic
intersectionTypesSortingStylistic
invalidCodeLinesReports cases for invalid code that isn't formatted across lines.FlintLogical
invalidThisTypeScriptUntyped
invalidVoidTypesTypeScriptLogical (Strict)
irregularWhitespaceYAMLStylistic
isNaNComparisonsTypeScriptLogical
jsdocAccessTagsTypeScriptStylistic
jsdocAsterisksTypeScriptStylistic (Strict)
jsdocEmptyBlocksTypeScriptStylistic
jsdocEmptyTagsTypeScriptStylistic
jsdocImplementsTagsTypeScriptStylistic
jsdocInformativeDocsTypeScriptStylistic (Strict)
jsdocMisleadingBlocksTypeScriptStylistic (Strict)
jsdocMultilineBlocksTypeScriptStylistic (Strict)
jsdocParameterDescriptionHyphensTypeScriptStylistic (Strict)
jsdocParameterNamesTypeScriptStylistic
jsdocPropertyNamesTypeScriptStylistic
jsdocRedundantTypesTypeScriptStylistic
jsdocTagNamesTypeScriptStylistic (Strict)
jsdocTagsSortingStylistic
jsdocTemplateNamesTypeScriptStylistic
jsdocTypesSyntaxTypeScriptStylistic
jsdocUnnecessaryReturnsTypeScriptStylistic
jsdocUnnecessaryYieldsTypeScriptStylistic
jsdocValidTypesTypeScriptStylistic
jsdocValuesTypeScriptStylistic
jsdocYieldsTypeScriptStylistic
jsonKeysSortingStylistic
jsxPropsSortingStylistic
keyboardEventKeysPrefer KeyboardEvent.key over deprecated properties like keyCode, charCode, and which.BrowserLogical
keyDuplicatesReports unnecessary duplicate keys that override previous values.JSONLogical
keyNormalizationReports object keys that are not normalized using Unicode normalization forms.JSONLogical
keywordsPresencePackageJSONNone
keywordsValidityPackageJSONLogical
labelAssociatedControlsReports <label> elements without an associated control element.JSXLogical
labelReferencesReports missing label references.MarkdownLogical
labelReferenceValidityReports invalid label references with whitespace.MarkdownLogical
langValidityReports invalid lang attribute values.JSXLogical (Strict)
licenseRequiredPackageJSONLogical
licenseValidityPackageJSONLogical
linkContentsReports links with empty URLs or only empty fragments.MarkdownLogical
linkDescriptionsMarkdownLogical (Strict)
linkFragmentsMarkdownLogical
literalConstructorWrappersTypeScriptStylistic
loopAwaitsReports using await expressions inside loops.PerformanceLogical
loopFunctionsReports function declarations and expressions inside loops that reference variables modified by the loop.PerformanceLogical
mainValidityPackageJSONLogical
manValidityPackageJSONLogical
mapsSortingStylistic
mathMethodsTypeScriptStylistic (Strict)
meaninglessVoidOperatorsTypeScriptLogical
mediaCaptionsReports media elements without captions.JSXLogical
mediaSyntaxReversalsReports reversed link and image syntax in Markdown.MarkdownStylistic
messagePhrasesFlintLogical (Strict)
misleadingVoidExpressionsTypeScriptLogical
missingPlaceholdersFlintLogical
misusedPromisesTypeScriptLogical
modulesSortingStylistic
moduleSpecifierListsTypeScriptLogical
mouseEventKeyEventsReports mouse events without corresponding keyboard events.JSXLogical
multilineAmbiguitiesTypeScriptStylistic
namedDefaultExportsTypeScriptStylistic (Strict)
namePresencePackageJSONLogical
namespaceDeclarationsReports using legacy namespace declarations.TypeScriptLogical
namespaceImplicitAmbientImportsTypeScriptStylistic (Strict)
namespaceKeywordsTypeScriptStylistic
nameValidityPackageJSONLogical
nativeObjectExtensionsTypeScriptUntyped
negativeIndexLengthMethodsTypeScriptStylistic (Strict)
negativeZeroComparisonsReports comparisons with -0 that may not behave as expected.TypeScriptLogical
nestedStandaloneIfsTypeScriptStylistic
newDefinitionsTypeScriptLogical
newExpressionsReports standalone new expressions that don't use the constructed object.TypeScriptLogical
newNativeNonConstructorsDisallows using new with global non-constructor functions like Symbol and BigInt.TypeScriptUntyped
nodeAppendMethodsPrefer modern DOM append/prepend methods over appendChild/insertBefore.BrowserLogical (Strict)
nodeDatasetAttributesPrefer using element.dataset over getAttribute/setAttribute for data-* attributes.BrowserLogical (Strict)
nodeModificationMethodsPrefer modern DOM APIs like .replaceWith() and .before() over legacy methods like .replaceChild() and .insertBefore().BrowserLogical (Strict)
nodePropertyInChecksFlintLogical
nodeProtocolsNodeLogical
nodeQueryMethodsPrefer modern querySelector and querySelectorAll over legacy DOM query methods.BrowserStylistic (Strict)
nodeRemoveMethodsPrefer the modern node.remove() method over the legacy parentNode.removeChild(node) API.BrowserLogical (Strict)
nodeTextContentsPrefer textContent over innerText for DOM nodes.BrowserLogical (Strict)
nonInteractiveElementInteractionsReports non-interactive elements with interactive event handlers.JSXLogical
nonInteractiveElementRolesReports non-interactive elements with interactive ARIA roles.JSXLogical
nonInteractiveElementTabIndexesReports non-interactive elements with positive or zero tabIndex values.JSXLogical
nonNullableTypeAssertionsTypeScriptStylistic
nonNullAssertedNullishCoalescesTypeScriptLogical (Strict)
nonNullAssertedOptionalChainsTypeScriptLogical
nonNullAssertionPlacementTypeScriptStylistic (Strict)
nonNullAssertionsTypeScriptLogical (Strict)
nonOctalDecimalEscapesReports non-octal decimal escape sequences (\8 and \9) in string literals.TypeScriptLogical
nullishCoalescingOperatorsTypeScriptStylistic
numberMethodRangesTypeScriptLogical
numberStaticMethodsTypeScriptStylistic (Strict)
numericErasingOperationsTypeScriptLogical
numericLiteralCasingTypeScriptStylistic (Strict)
numericLiteralParsingReports parseInt calls with binary, hexadecimal, or octal strings that can be replaced with numeric literals.TypeScriptStylistic
numericPrecisionTypeScriptLogical
numericSeparatorGroupsTypeScriptStylistic (Strict)
numericTrailingZerosYAMLStylistic (Strict)
objectAssignSpreadsTypeScriptStylistic
objectCallsTypeScriptLogical
objectEntriesMethodsTypeScriptStylistic (Strict)
objectHasOwnsTypeScriptStylistic
objectKeyDuplicatesTypeScriptLogical
objectProtoReports using the deprecated proto property to access or modify an object's prototype.TypeScriptUntyped
objectPrototypeBuiltInsTypeScriptLogical
objectsSortingStylistic
objectShorthandTypeScriptStylistic
objectSpreadUnnecessaryFallbacksTypeScriptLogical
objectTypeDefinitionsTypeScriptStylistic
objectTypesSortingStylistic
octalEscapesReports using octal escape sequences in string literals.TypeScriptUntyped
octalNumbersReports using legacy octal numeric literals.TypeScriptUntyped
olPrefixesMarkdownStylistic (Strict)
operatorAssignmentShorthandTypeScriptStylistic
optionalChainOperatorsTypeScriptStylistic
optionalDependenciesPresencePackageJSONNone
optionalDependenciesValidityPackageJSONLogical
osValidityPackageJSONLogical
overloadSignaturesAdjacentTypeScriptStylistic
packageCollectionsSortingStylistic
parameterPropertyAssignmentTypeScriptLogical
parameterReassignmentsTypeScriptStylistic (Strict)
parseIntRadixesTypeScriptLogical
peerDependenciesPresencePackageJSONNone
peerDependenciesValidityPackageJSONLogical
plainScalarsYAMLStylistic (Strict)
plusOperandsTypeScriptLogical
privateValidityPackageJSONLogical
processExistsNodeLogical
promiseExecutorReturnsTypeScriptLogical
promiseFinallyReturnsTypeScriptLogical
promiseFunctionAsyncTypeScriptStylistic
promiseMethodSingleArrayArgumentsTypeScriptLogical
promiseRejectErrorsTypeScriptLogical
propDuplicatesDisallow duplicate props in JSX elements.JSXLogical
propertyAccessNotationTypeScriptStylistic
propertyOrderingPackageJSONLogical
publishConfigValidityPackageJSONLogical
recursionOnlyArgumentsTypeScriptLogical
reduceTypeParametersTypeScriptLogical (Strict)
redundantTypeConstituentsTypeScriptLogical
referenceLikeUrlsMarkdownLogical
regexAllGlobalFlagsTypeScriptLogical
regexAmbiguousInvalidityTypeScriptLogical
regexCharacterClassesTypeScriptStylistic (Strict)
regexCharacterClassRangesTypeScriptStylistic
regexCharacterClassSetOperationsTypeScriptStylistic
regexConciseCharacterClassNegationsTypeScriptStylistic
regexContradictoryAssertionsTypeScriptLogical
regexControlCharacterEscapesTypeScriptLogical
regexControlCharactersTypeScriptLogical
regexDigitMatchersTypeScriptStylistic (Strict)
regexDollarEscapesTypeScriptStylistic
regexDuplicateCharacterClassCharactersTypeScriptLogical
regexDuplicateDisjunctionsTypeScriptLogical
regexEmptyAlternativesTypeScriptLogical
regexEmptyCapturingGroupsTypeScriptLogical
regexEmptyCharacterClassesTypeScriptLogical
regexEmptyGroupsTypeScriptLogical
regexEmptyLazyQuantifiersTypeScriptLogical
regexEmptyLookaroundsAssertionsTypeScriptLogical
regexEmptyStringLiteralsTypeScriptLogical
regexEscapeBackspacesTypeScriptLogical
regexExecutorsTypeScriptStylistic (Strict)
regexFlagsSortingStylistic
regexGraphemeStringLiteralsTypeScriptLogical (Strict)
regexHexadecimalEscapesTypeScriptStylistic (Strict)
regexIgnoreCaseFlagsTypeScriptLogical
regexInvisibleCharactersTypeScriptLogical
regexLegacyFeaturesTypeScriptLogical
regexLetterCasingTypeScriptStylistic (Strict)
regexListsSortingStylistic
regexLiteralsTypeScriptLogical
regexLookaroundAssertionsTypeScriptStylistic (Strict)
regexLookaroundQuantifierOptimizationsTypeScriptLogical
regexMatchNotationTypeScriptStylistic (Strict)
regexMisleadingCapturingGroupsTypeScriptLogical
regexMisleadingQuantifiersTypeScriptLogical
regexMisleadingUnicodeCharactersTypeScriptLogical
regexNamedBackreferencesTypeScriptStylistic (Strict)
regexNamedCaptureGroupsTypeScriptLogical
regexNamedReplacementsTypeScriptStylistic (Strict)
regexNonStandardFlagsTypeScriptLogical
regexObscureRangesTypeScriptLogical
regexOctalEscapesTypeScriptLogical
regexPlusQuantifiersTypeScriptStylistic (Strict)
regexPredefinedAssertionsTypeScriptStylistic
regexQuantifierOptimizationsTypeScriptLogical
regexQuestionQuantifiersTypeScriptStylistic (Strict)
regexRepeatQuantifiersTypeScriptStylistic
regexResultArrayGroupsTypeScriptStylistic (Strict)
regexSetOperationOptimizationsTypeScriptLogical
regexStandaloneBackslashesTypeScriptLogical
regexStarQuantifiersTypeScriptStylistic (Strict)
regexSuperLinearBacktrackingTypeScriptLogical
regexSuperLinearMovesTypeScriptLogical
regexTestMethodsTypeScriptStylistic
regexUnicodeCodepointEscapesTypeScriptStylistic (Strict)
regexUnicodeEscapesTypeScriptStylistic
regexUnicodeFlagTypeScriptNone
regexUnicodePropertiesTypeScriptStylistic
regexUnnecessaryAssertionsTypeScriptLogical
regexUnnecessaryBackreferencesTypeScriptLogical
regexUnnecessaryCharacterClassesTypeScriptLogical
regexUnnecessaryCharacterRangesTypeScriptLogical
regexUnnecessaryDisjunctionsTypeScriptLogical
regexUnnecessaryDollarReplacementsTypeScriptLogical
regexUnnecessaryEscapesTypeScriptStylistic
regexUnnecessaryLookaroundAssertionsTypeScriptLogical
regexUnnecessaryNestedAssertionsTypeScriptLogical
regexUnnecessaryNestedQuantifiersTypeScriptLogical
regexUnnecessaryNonCapturingGroupsTypeScriptStylistic (Strict)
regexUnnecessaryNumericQuantifiersTypeScriptLogical
regexUnnecessaryOptionalAssertionsTypeScriptLogical
regexUnnecessaryReferentialBackreferencesTypeScriptLogical
regexUnnecessarySetOperandsTypeScriptLogical
regexUnusedCapturingGroupsTypeScriptLogical
regexUnusedFlagsTypeScriptLogical
regexUnusedLazyQuantifiersTypeScriptLogical
regexUnusedQuantifiersTypeScriptLogical
regexValidityTypeScriptLogical
regexWordMatchersTypeScriptStylistic (Strict)
regexZeroQuantifiersTypeScriptLogical
removeEventListenerExpressionsDisallow inline function expressions in removeEventListener calls.BrowserLogical
repositoryDirectoryValidityPackageJSONLogical
repositoryShorthandPackageJSONLogical
repositoryValidityPackageJSONLogical
requireImportsTypeScriptLogical
responseMethodsTypeScriptStylistic
restrictedGlobalsTypeScriptNone
restrictedIdentifiersTypeScriptNone
restrictedImportsTypeScriptNone
restrictedPropertiesTypeScriptNone
restrictedSyntaxTypeScriptNone
restrictedTypesTypeScriptNone
returnAssignmentsReports using assignment expressions in return statements.TypeScriptStylistic
returnAwaitPromisesTypeScriptLogical
returnThisTypesTypeScriptLogical (Strict)
roleRedundanciesReports redundant ARIA roles on elements with implicit roles.JSXLogical
roleRequiredAriaPropsReports ARIA roles missing their required ARIA properties.JSXLogical
roleSupportedAriaPropsReports ARIA properties that are not supported by an element's role.JSXLogical
roleTagsReports ARIA roles that have semantic HTML element equivalents.JSXLogical (Strict)
ruleDescriptionsFlintLogical
rulePresetsFlintLogical
ruleURLsFlintLogical
scopePropsReports scope props on non-th elements.JSXLogical
scriptsValidityPackageJSONLogical
scriptUrlsReports javascript: URLs that can act as a form of eval.BrowserLogical
selfAssignmentsReports self-assignments which have no effect and are likely errors.TypeScriptLogical
selfComparisonsReports comparing a value to itself.TypeScriptLogical (Strict)
sequencesReports using the comma operator in expressions.TypeScriptUntyped
setHasExistenceChecksTypeScriptStylistic (Strict)
setsSortingStylistic
setSizeLengthChecksTypeScriptStylistic (Strict)
setterReturnsTypeScriptUntyped
shadowedRestrictedNamesReports variable declarations that shadow JavaScript's restricted names.TypeScriptUntyped
shadowsTypeScriptStylistic
singleVariableDeclarationsTypeScriptLogical
sizeComparisonOperatorsTypeScriptStylistic (Strict)
sparseArraysReports array literals with holes (sparse arrays).TypeScriptLogical
spellingRuns the CSpell spell checker on any source code file.CSpellLogical
spreadAccumulatorsReports spread operations that accumulate values in loops, causing quadratic time complexity.PerformanceLogical
staticElementInteractionsReports static elements with event handlers that lack ARIA roles.JSXLogical
staticMemberOnlyClassesTypeScriptStylistic (Strict)
stringCaseMismatchesTypeScriptLogical
stringCodePointsTypeScriptLogical (Strict)
stringMappingKeysYAMLLogical (Strict)
stringSliceMethodsTypeScriptStylistic (Strict)
stringStartsEndsWithTypeScriptStylistic
stringTrimMethodsTypeScriptStylistic (Strict)
structuredCloneMethodsTypeScriptStylistic (Strict)
svgTitlesReports <svg> elements without a <title> child element.JSXLogical
switchCasesSortingStylistic
symbolDescriptionsReports Symbol() calls without description arguments.TypeScriptStylistic
tabIndexPositiveValuesReports positive tabIndex values.JSXLogical
tableColumnCountsMarkdownLogical
templateExpressionValuesTypeScriptLogical
testCaseDuplicatesReports test cases that are identical to previous test cases.FlintLogical
testCaseOnliesFlintLogical
testShorthandsFlintStylistic
thisBeforeSuperTypeScriptUntyped
throwErrorsTypeScriptLogical
topLevelAwaitsTypeScriptStylistic (Strict)
tripleSlashReferencesTypeScriptLogical
tripleSlashReferenceValidityTypeScriptLogical
tsCommentsTypeScriptLogical
tslintCommentsTypeScriptStylistic
typeAssertionsTypeScriptStylistic
typeConstituentDuplicatesTypeScriptLogical
typeExportsTypeScriptStylistic
typeImportsTypeScriptStylistic
typeofComparisonsReports typeof expressions that compare impossible string literals.TypeScriptUntyped
typePresencePackageJSONLogical
typeRequiredPackageJSONLogical
typesPresencePackageJSONNone
typeValidityPackageJSONLogical
unassignedVariablesReports variables that are declared but never assigned a value.TypeScriptUntyped
unboundMethodsTypeScriptLogical
undefinedInitialValuesTypeScriptStylistic
undefinedTypeofChecksTypeScriptStylistic (Strict)
undefinedVariablesReports using variables that are not defined.TypeScriptUntyped
unescapedEntitiesDisallow unescaped HTML entities in JSX text that may cause rendering issues.JSXStylistic
unicodeBOMsReports files with Unicode Byte Order Marks (BOMs).TypeScriptStylistic
unifiedSignaturesTypeScriptLogical (Strict)
unionTypesSortingStylistic
unnecessaryBindTypeScriptLogical
unnecessaryBlocksReports standalone block statements that don't create a meaningful scope.TypeScriptStylistic
unnecessaryBooleanCastsTypeScriptStylistic
unnecessaryCatchesReports catch clauses that only rethrow the caught error without modification.TypeScriptLogical
unnecessaryComparisonsTypeScriptLogical
unnecessaryComputedKeysTypeScriptStylistic
unnecessaryConcatenationReports string concatenation using the + operator when both operands are string literals.TypeScriptStylistic
unnecessaryConditionsTypeScriptLogical
unnecessaryConstructorsTypeScriptStylistic
unnecessaryContinuesTypeScriptLogical
unnecessaryEscapesTypeScriptStylistic
unnecessaryFragmentsDisallow unnecessary JSX fragments that wrap a single child or have no children.JSXStylistic
unnecessaryFunctionCurriesTypeScriptLogical
unnecessaryLogicalComparisonsTypeScriptLogical
unnecessaryMathClampsTypeScriptLogical
unnecessaryNumericFractionsTypeScriptLogical
unnecessaryRenamesTypeScriptStylistic
unnecessaryReturnsTypeScriptStylistic
unnecessarySpreadsTypeScriptLogical
unnecessaryTemplateExpressionsTypeScriptLogical
unnecessaryTernariesTypeScriptStylistic (Strict)
unnecessaryTypeAnnotationsTypeScriptStylistic
unnecessaryTypeArgumentsTypeScriptLogical
unnecessaryTypeAssertionsTypeScriptLogical
unnecessaryTypeConstraintsTypeScriptLogical
unnecessaryTypeConversionsTypeScriptLogical
unnecessaryTypeParametersTypeScriptLogical
unnecessaryUndefinedDefaultsTypeScriptLogical
unnecessaryUseStrictsTypeScriptLogical
unpublishedBinsNodeLogical
unpublishedImportsNodeLogical
unreachableStatementsTypeScriptUntyped
unsafeDeclarationmergingTypeScriptLogical
unsafeEnumComparisonsTypeScriptLogical
unsafeFinallyStatementsTypeScriptLogical
unsafeFunctionTypesTypeScriptLogical
unsafeNegationsReports negating the left operand of in or instanceof relations.TypeScriptUntyped
unsafeOptionalChainsTypeScriptUntyped
unsafeToStringTypeScriptLogical
unsafeUnaryNegationsTypeScriptLogical
unsupportedGlobalsNodeLogical
unsupportedNodeAPIsNodeLogical
unsupportedSyntaxNodeLogical
unusedExpressionsTypeScriptLogical
unusedLabelsTypeScriptStylistic
unusedMessageIdsFlintLogical
unusedPlaceholdersFlintLogical
unusedPrivateClassMembersTypeScriptLogical
unusedSwitchStatementsTypeScriptLogical
unusedValuesTypeScriptLogical
unusedVariablesTypeScriptLogical
usageBeforeDefinitionTypeScriptUntyped
useStrictDirectivesTypeScriptUntyped
valueSafetyReports JSON values that are unsafe for data interchange.JSONLogical
varDeclarationsTypeScriptStylistic
variableBlockScopeUsageTypeScriptUntyped
variableDeclarationsSortingStylistic
variableDeletionsReports attempting to delete variables with the delete operator.TypeScriptUntyped
variableRedeclarationsTypeScriptUntyped
versionPresencePackageJSONLogical
versionValidityPackageJSONLogical
voidOperatorReports using the void operator.TypeScriptStylistic
windowMessagingTargetOriginRequires specifying the targetOrigin argument when calling window.postMessage().BrowserLogical
withStatementsTypeScriptLogical
workspacesValidityPackageJSONLogical
wrapperObjectTypesTypeScriptLogical
yamlKeysSortingStylistic
yamlSequenceValuesSortingStylistic

These rules will not be implemented as a part of Flint. They are all too opinionated and/or too niche to be kept in the Flint project. They’re free to be implemented as a community third-party Flint plugin.

Total count: 322
Flint RulePluginNotes
abbreviationsTypeScript
aboutSchemaDescriptionsFlint
aboutSchemasFlint
aboutSuggestionsFlint
aboutTypesFlint
accessorPairsTypeScript
argumentsArrayMethodsTypeScript
argumentsPropertiesTypeScript
arrayDestructuringSparsityTypeScript
arrayElementsSortingJSON
arrayFlatDepthMagicNumbersTypeScript
arrayJoinSeparatorsTypeScript
arrayMethodThisArgumentsTypeScript
arrayReducersTypeScript
arraySortCompareArgumentTypeScript
arrowBodyBracesTypeScript
arrowCallbacksTypeScript
asciiCharactersDeno
assignmentOperationRefactorsTypeScript
asyncAwaitStatementsTypeScript
atomicUpdatesTypeScript
awaitMemberAccessesTypeScript
barrelFilesTypeScript
bigintLiteralsJSONGenerally handled by parsers.
binaryExpressionsJSONGenerally handled by parsers.
binaryNumericLiteralsJSONGenerally handled by parsers.
bitwiseOperatorLogicTypeScript
bitwiseOperatorsTypeScript
blankLineMultiplesMarkdownFormatting rule
blockquoteSpacesMarkdownFormatting rule
blockStatementsTypeScriptSuperseded by prettier-plugin-curly
booleanLiteralParameterCommentsTypeScript
builtinPrototypeMethodAccessesTypeScript
callbackErrorHandlingNode
callbackErrorLiteralsNode
callbackReturnsNode
capitalizedConstructorsTypeScript
codeblockBlankLinesMarkdownFormatting rule
codeBlockStylesMarkdownFormatting rule
codeFenceStylesMarkdownFormatting rule
commandOutputsMarkdownOverly opinionated
commentCapitalizationTypeScript
commentsJSONGenerally handled by parsers.
commentWarningsTypeScript
comparisonSequencesTypeScriptHandled by TypeScript / otherwise is stylistic
conditionalAssignmentsTypeScriptSuperseded by unnecessaryConditions
conditionNegationsTypeScript
conditionOrderingTypeScript
consistentReturnsTypeScript
constantBinaryExpressionsTypeScriptSuperseded by unnecessaryConditions
constantConditionsTypeScriptSuperseded by unnecessaryConditions
constEnumsTypeScript
continuesTypeScript
defaultCasesTypeScript
defaultImportRenamesTypeScript
defaultParameterReassignmentsTypeScript
deprecatedAPIsNodeSuperseded by deprecated
deprecatedContextMethodsFlint
deprecatedMessagePlaceholdersFlint
deprecatedMessageStringsFlint
deprecatedReplacedByFlint
deprecatedReportAPIsFlint
deprecatedRuleFunctionsFlint
deprecatedSchemaDefaultsFlint
deprecatedTextReplacementsFlint
destructuringTypeScript
directiveDisableSelectorsTypeScriptCore requires explicit disables
directiveDuplicateDisablesTypeScriptCore detects duplicate disables
directiveMisleadingEnablesTypeScriptCore requires explicit enables
directiveRestrictedDisablesTypeScript
directiveSelectorsTypeScriptHandled by Flint core
directiveUnknownRulesTypeScriptHandled by Flint core
directiveUnlimitedDisablesTypeScriptCore requires explicit disables
directiveUnusedTypeScriptHandled by Flint core
directiveUnusedDisablesTypeScriptCore detects unused disables
directiveUnusedEnablesTypeScriptCore detects unused enables
duplicateSpreadsJSX
emphasisMarkerSpacingMarkdown
emphasisSpacesMarkdownFormatting rule
emphasisStylesMarkdownFormatting rule
endingTernaryIfElsesTypeScript
enumInitializersTypeScript
equalityOperatorNegationsTypeScript
evolvingVariableTypesTypeScript
exportDefaultTypeScript
exportGroupsTypeScript
exportLastTypeScript
exportsStyleNodeCJS-specific
exportUniqueNamesTypeScript
externalHttpImportsTypeScript
extraneousImportsNodeSuperseded by Knip
extraneousRequiresNodeSuperseded by Knip
filenameCasingTypeScript
fileTrailingNewlinesMarkdownFormatting rule
fixerReturnsFlint
floatingDecimalsJSONGenerally handled by parsers.
forInGuardsTypeScript
functionDeclarationStylesTypeScript
functionNameMatchesTypeScript
functionNamesTypeScript
functionReturnTypesTypeScript
globalBufferNode
globalConsoleNode
globalProcessNode
globalTextDecoderNode
globalTextEncoderNode
globalURLNode
globalURLSearchParamsNode
hardTabsMarkdownFormatting rule
headingBlankLinesMarkdownFormatting rule
headingClosingSpaceMultiplesMarkdownFormatting rule
headingClosingSpaceMultiplesMarkdownFormatting rule
headingClosingSpacesMarkdownFormatting rule
headingIndentsMarkdownFormatting rule
headingMissingSpacesMarkdownFormatting rule
headingPresenceMarkdownOverly opinionated
headingSpacesMarkdownI intend to write a Prettier plugin.
headingStylesMarkdownFormatting rule
hexadecimalNumericLiteralsJSONGenerally handled by parsers.
hexEscapesTypeScript
hrStylesMarkdownFormatting rule
htmlMarkdown
identifierEscapeSequencesJSONGenerally handled by parsers.
identifierMatchesTypeScript
identifierNumbersJSONGenerally handled by parsers.
iifeReadabilityTypeScript
imageAltRedundancyJSX
implicitCoercionsTypeScript
importAbsolutePathsTypeScript
importAssertionsTypeScriptGenerally handled by parsers.
importDefaultsTypeScriptHandled by TypeScript
importDuplicatesTypeScript
importFirstTypeScript
importMaximumDependenciesTypeScript
importNameMatchesTypeScript
importNamespacePropertiesTypeScriptHandled by TypeScript
importNamespacesTypeScript
importsSortingTypeScript
infinityJSONGenerally handled by parsers.
inlineCommentsTypeScript
innerDeclarationsTypeScript
iterableKeysJSX
iteratorMethodFunctionReferencesTypeScript
jsdocAlignmentTypeScriptI intend to write a Prettier plugin.
jsdocBlankBlockDescriptionsTypeScript
jsdocConvertToJSDocCommentsTypeScript
jsdocDefaultsTypeScript
jsdocDefinedTypesTypeScript
jsdocDescriptionCompleteSentencesTypeScript
jsdocDescriptionsTypeScript
jsdocExamplesTypeScript
jsdocFileOverviewsTypeScript
jsdocImportsAsDependenciesTypeScript
jsdocIndentationTypeScriptI intend to write a Prettier plugin.
jsdocLineAlignmentTypeScriptI intend to write a Prettier plugin.
jsdocMatchDescriptionsTypeScript
jsdocMatchNamesTypeScript
jsdocMissingSyntaxTypeScript
jsdocParameterDescriptionsTypeScript
jsdocParametersTypeScript
jsdocParameterTypesTypeScript
jsdocPropertiesTypeScript
jsdocPropertyDescriptionsTypeScript
jsdocPropertyTypesTypeScript
jsdocRequiredTypeScript
jsdocReturnDescriptionsTypeScript
jsdocReturnsTypeScript
jsdocReturnTypesTypeScript
jsdocTagLinesTypeScript
jsdocTemplatesTypeScript
jsdocTextEscapingTypeScript
jsdocThrowsTypeScript
jsonImportAttributesTypeScript
keyCasingJSON
keyContentsJSON
labelsTypeScript
labelVariableNamesTypeScript
liIndentsMarkdownFormatting rule
lineLengthsMarkdownFormatting rule
linkBlankLinesMarkdownFormatting rule
linkImageStylesMarkdownFormatting rule
linkSpacesMarkdown
listMarkerSpacesMarkdownFormatting rule
listStylesMarkdownFormatting rule
loopConditionConstantsTypeScript
magicNumbersTypeScript
mappedObjectSpreadsPerformance
mappingKeyCasingYAML
mathRangeTernariesTypeScript
mathTruncationOperatorsTypeScript
maximumClassesPerFileTypeScript
maximumComplexityTypeScript
maximumDepthTypeScript
maximumIdentifierLengthsTypeScript
maximumLinesPerFileTypeScript
maximumLinesPerFunctionTypeScript
maximumNestedCallbacksTypeScript
maximumParametersTypeScript
maximumStatementsTypeScript
memberAccessibilityTypeScript
messageIdMismatchesFlint
misleadingSemicolonsJSX
misleadingShorthandAssignmentsTypeScript
misleadingThenPropertiesTypeScript
missingImportsNode
missingRequiresNode
mixedRequiresNodeSuperseded by ESM and ordering rules
moduleBoundaryTypesTypeScript
moduleFormatsTypeScript
moduleImportStylesTypeScript
multilineStringsTypeScript
multipleElseIfSwitchesTypeScript
namingConventionsTypeScript
nanJSONGenerally handled by parsers.
newRequiresNode
nodeGlobalsDeno
nullComparisonsTypeScript
nullsTypeScript
numberKeyLiteralsTypeScript
numbersJSONGenerally handled by parsers.
numberToFixedDigitsTypeScript
numericConstantApproximationsTypeScript
numericSeparatorsJSONGenerally handled by parsers.
objectDefaultParametersTypeScript
objectLiteralComparisonsTypeScript
octalEscapeSequencesJSONGenerally handled by parsers.
octalLiteralsJSONGenerally handled by parsers.
octalNumericLiteralsJSONGenerally handled by parsers.
optionalChainExpressionsTypeScript
optionDefaultsFlint
parameterPropertiesTypeScript
parenthesesJSONGenerally handled by parsers.
pathConcatenationsNode
plusOperatorsJSONGenerally handled by parsers.
plusPlusOperatorsTypeScript
prefixedClassLikesTypeScript
processEnvsNode
processExitThrowsNode
promiseAlwaysReturnTypeScriptSuperseded by no-floating-promises
promiseArgumentCountsTypeScript
promiseAwaitableCallbacksTypeScript
promiseAwaitableThensTypeScript
promiseCallbackFunctionsNode
promiseCatchableThensTypeScript
promiseCatchOrReturnTypeScriptSuperseded by no-floating-promises
promiseErrorFirstCallbacksTypeScriptSuperseded by no-floating-promises
promiseNestingTypeScript
promiseNewsTypeScript
promiseNewStaticsTypeScript
promiseNonSpecMethodsTypeScriptSuperseded by no-floating-promises
promiseParameterNamesTypeScript
promisesDNSNode
promisesFSNode
properNamesMarkdownSuperseded by cspell
propertyOrderingFlint
prototypeIteratorsTypeScript
readonlyClassPropertiesTypeScript
reflectAppliesTypeScript
regexConcisenessTypeScriptSuperseded by other regex cleanliness rules
regexConsecutiveSpacesTypeScript
regexDivisionStartsTypeScript
regexTopLevelDeclarationsTypeScript
regexUnicodeSetsFlagTypeScript
restrictedDirectivesTypeScript
restrictedExportsTypeScript
restrictedJSDocsTypeScript
restrictedRequiresNode
restSpreadPropertiesTypeScript
ruleAboutChangersFlint
shoutyConstantsTypeScript
slowTypesTypeScript
strictModeTypeScript
stringConcatenationTemplatesTypeScript
stringContentsTypeScript
stringRawEscapesTypeScript
stringReplaceAllRegexSearchesTypeScript
stringStartsEndsWithMethodsTypeScript
stringTemplateCurliesTypeScript
strongStylesMarkdownFormatting rule
switchCaseBracesTypeScript
switchExhaustivenessTypeScript
syncFunctionAwaitsTypeScriptGenerally handled by parsers.
syncFunctionInAsyncFunctionsDeno
synchronousMethodsNode
tableBlankLinesMarkdownFormatting rule
tableColumnStylesMarkdownFormatting rule
tablePipeStylesMarkdownFormatting rule
templateIndentsTypeScript
templateLiteralsJSONGenerally handled by parsers.
ternaryNestingTypeScript
ternaryOperatorsTypeScript
testNamesFlint
testOutputNullsFlint
testOutputsFlint
testPropertyOrdersFlint
textEncodingCasesTypeScript
thisAliasesTypeScript
thisInStaticTypeScript
todoExpirationsTypeScript
topLevelInteroperabilityJSON
topLevelRequiresNodeCJS-specific
trailingSpacesMarkdownFormatting rule
typeChecksTypeErrorsTypeScript
ulIndentsMarkdownFormatting rule
unassignedImportsTypeScript
undefinedJSONGenerally handled by parsers.
undefinedNamesTypeScript
underscoreNamesTypeScript
unicodeCodepointEscapesJSONGenerally handled by parsers.
unnecessaryLabelsTypeScript
unnecessaryPolyfillsTypeScriptSuperseded by the e18e initiative
unnecessaryStringRawsTypeScript
unnecessaryTokenRangesFlint
unpublishedRequiresNode
unreachableLoopsTypeScript
unusedCatchBindingsTypeScriptSuperseded by unusedVariables
unusedObjectPropertiesTypeScript
urlRelativityTypeScript
variableDeclarationInitializationsTypeScript
variableDeclarationSortingTypeScript
variablesOnTopTypeScript
verbatimModuleSyntaxTypeScript
Made with ❤️‍🔥 in Boston by Josh Goldberg and contributors.