array-type
Enforce a consistent array type syntax.
class-match-filename
Require class declarations to match the current filename.
comment-spacing
Enforce consistent blank-line spacing after comments.
consistent-empty-lines
Enforce configured empty-line consistency between selected nodes.
consistent-enum-members
Enforce consistent enum member naming/value casing.
consistent-filename
Enforce filename casing consistency.
consistent-import
Enforce consistent import declaration style.
consistent-optional-props
Disallow redundant undefined unions on optional properties.
consistent-source-extension
Require consistent import/export source paths without file extensions.
consistent-symbol-description
Require consistent kebab-case Symbol descriptions.
default-case
Require a default branch in switch statements.
disallow-import
Disallow import/export sources by configured glob patterns.
export-matching-filename-only
Require filename-matching export to be the only export.
match-filename
Require selected declaration names to match filename casing.
max-identifier-blocks
Restrict identifier complexity to at most four casing blocks.
no-assign-mutated-array
Disallow assigning values returned from mutating array methods.
no-at-sign-import
Disallow importing exactly from "@".
no-at-sign-internal-import
Disallow internal alias imports under "@/".
no-chain-coalescence-mixture
Disallow mixing optional chaining and nullish coalescing in one expression.
no-commented-out-code
Disallow comment blocks that appear to contain executable or declaration code.
no-const-enum
Disallow TypeScript const enum declarations.
no-deprecated
Disallow usage of symbols tagged with @deprecated.
no-enum
Disallow TypeScript enum declarations.
no-expression-empty-lines
Disallow blank lines inside expression statements.
no-foreach
Disallow calling forEach on configured collection types.
no-function-declare-after-return
Disallow function declarations that appear after a return statement in the same block scope.
no-implicit-any-catch
Require explicit error parameter typing in Promise rejection callbacks.
no-index-import
Disallow importing directly from ".".
no-internal
Disallow usage of symbols tagged with @internal.
no-internal-modules
Disallow importing nested internal module paths.
no-language-mixing
Disallow mixed-language tokens combining latin and non-latin letters.
no-misused-generics
Disallow generic type parameters that cannot be inferred or that do not enforce a meaningful type relationship.
no-mixed-enums
Disallow enum members that mix numeric and string representations.
no-negated-conditions
Disallow negated conditions.
no-nodejs-modules
Disallow importing Node.js built-ins via the node: protocol.
no-param-reassign
Disallow function parameter reassignment outside the first expression statement.
no-relative-parent-import
Disallow relative parent imports such as ".." and "../*".
no-restricted-syntax
Disallow syntax matched by configured AST selectors.
no-secret
Detect hardcoded secrets in code.
no-self-import
Disallow importing the current file from itself.
no-shadow
Disallow shadowing variables from outer scopes.
no-sibling-import
Disallow sibling-file imports from the current directory.
no-single-line-comment
Disallow // comments and require block comments instead.
no-t
Disallow single-character generic type parameter names.
no-underscore-export
Disallow underscore-prefixed named exports.
no-unnecessary-as-const
Disallow unnecessary as const assertions.
no-unnecessary-break
Disallow unnecessary trailing break statements in switch blocks.
no-unnecessary-initialization
Disallow unnecessary initialization to undefined.
no-unnecessary-template-literal
Disallow template literals that contain no expressions.
no-unused-disable
Disallow eslint-disable comments that do not suppress any diagnostics.
no-use-extend-native
Disallow usage of non-native members on built-in JavaScript objects.
no-useless-generics
Disallow type parameters that do not improve a declaration's type safety.
no-value-tostring
Disallow calling .toString() on values that may not provide meaningful output.
no-vulnerable
Disallow regular expressions that are potentially vulnerable to ReDoS (Regular Expression Denial of Service).
no-writeonly
Disallow setter-only accessors.
object-format
Enforce object literal line format based on property count.
only-export-name
Restrict exports to configured names.
prefer-arrow-function-property
Require arrow-function properties when this is not required.
prefer-const-require
Require assigning require(...) calls to a const variable.
prefer-includes
Prefer .includes() over index-based existence checks.
prefer-interface
Disallow equivalent type aliases when an interface declaration can be used.
prefer-less-than
Disallow greater-than comparisons in favor of less-than comparisons.
prefer-object-has-own
Prefer Object.hasOwn(...) over Object.prototype.hasOwnProperty.call(...).
prefer-only-export
Disallow additional exports alongside a default export.
require-jsdoc
Require JSDoc comments for configured declaration kinds.
require-syntax
Require syntax matched by configured AST selectors.
restrict-identifier-characters
Require identifiers to contain only english characters, digits, underscore, or dollar sign.
sort-array
Enforce alphabetical sorting for literal array elements.
sort-call-signature
Require call signatures to be the first member in interfaces.
sort-class-members
Enforce alphabetical sorting of class members.
sort-construct-signature
Require construct signatures to be the first member in interfaces.
sort-export-specifiers
Enforce alphabetical sorting of named export specifiers.
sort-keys
Enforce alphabetical sorting of object keys.
sort-top-comments
Enforce alphabetical sorting of top-of-file comments.
switch-case-spacing
Enforce consistent spacing and break placement in switch cases.
template-literal-format
Enforce newline-boundary formatting for multiline template literals.
throw-error
Disallow throwing or rejecting values that are not Error-like.
throw-new-error
Require new when throwing error instances.
underscore-internal
Disallow @internal APIs that are not underscore-prefixed.
unused-internal-properties
Disallow object properties that are defined but never read.
uppercase-iife
Disallow unreadable immediately invoked arrow function expressions.
words
Disallow vague or weak wording in comments.