| @typescript-eslint/no-type-alias Disallow type aliases |
| callback-return |
| global-require |
| handle-callback-err |
| id-blacklist Replaced by id-denylist |
| jest/no-if |
| no-buffer-constructor |
| no-mixed-requires |
| no-new-object Replaced by no-object-constructor |
| no-new-require |
| no-path-concat |
| no-process-env |
| no-process-exit |
| no-restricted-modules |
| no-return-await |
| no-sync |
| react/jsx-sort-default-props Enforce defaultProps declarations alphabetical sorting |
| Rule | Status | Configuration |
|---|---|---|
| playwright/expect-expect Enforce assertion to be made in a test body | off | - |
| playwright/max-expects Enforces a maximum number assertion calls in a test body | off | - |
| playwright/max-nested-describe Enforces a maximum depth to nested describe calls | error | {
"max": 2
} |
| playwright/missing-playwright-await Enforce Playwright APIs to be awaited | error | - |
| playwright/no-commented-out-tests Disallow commented out tests | off | - |
| playwright/no-conditional-expect Disallow calling `expect` conditionally | warn | - |
| playwright/no-conditional-in-test Disallow conditional logic in tests | off | - |
| playwright/no-duplicate-hooks Disallow duplicate setup and teardown hooks | warn | - |
| playwright/no-element-handle Disallow usage of element handles | error | - |
| playwright/no-eval Disallow usage of `page.$eval()` and `page.$$eval()` | error | - |
| playwright/no-focused-test Disallow usage of `.only` annotation | warn | - |
| playwright/no-force-option Disallow usage of the `{ force: true }` option | warn | - |
| playwright/no-get-by-title Disallow using `getByTitle()` | warn | - |
| playwright/no-hooks Disallow setup and teardown hooks | off | - |
| playwright/no-nested-step Disallow nested `test.step()` methods | warn | - |
| playwright/no-networkidle Disallow usage of the `networkidle` option | warn | - |
| playwright/no-nth-methods Disallow usage of `first()`, `last()`, and `nth()` methods | off | - |
| playwright/no-page-pause Disallow using `page.pause()` | error | - |
| playwright/no-raw-locators Disallow using raw locators | off | - |
| playwright/no-restricted-matchers Disallow specific matchers & modifiers | off | - |
| playwright/no-skipped-test Disallow usage of the `.skip` annotation | off | - |
| playwright/no-standalone-expect Disallow using expect outside of `test` blocks | error | - |
| playwright/no-unsafe-references Prevent unsafe variable references in `page.evaluate()` | warn | - |
| playwright/no-useless-await Disallow unnecessary `await`s for Playwright methods | error | - |
| playwright/no-useless-not Disallow usage of `not` matchers when a specific matcher exists | warn | - |
| playwright/no-wait-for-selector Disallow usage of `page.waitForSelector()` | warn | - |
| playwright/no-wait-for-timeout Disallow usage of `page.waitForTimeout()` | error | - |
| playwright/prefer-comparison-matcher Suggest using the built-in comparison matchers | off | - |
| playwright/prefer-equality-matcher Suggest using the built-in equality matchers | off | - |
| playwright/prefer-hooks-in-order Prefer having hooks in a consistent order | off | - |
| playwright/prefer-hooks-on-top Suggest having hooks before any test cases | warn | - |
| playwright/prefer-lowercase-title Enforce lowercase test names | off | - |
| playwright/prefer-strict-equal Suggest using `toStrictEqual()` | warn | - |
| playwright/prefer-to-be Suggest using `toBe()` | off | - |
| playwright/prefer-to-contain Suggest using `toContain()` | warn | - |
| playwright/prefer-to-have-count Suggest using `toHaveCount()` | warn | - |
| playwright/prefer-to-have-length Suggest using `toHaveLength()` | warn | - |
| playwright/prefer-web-first-assertions Suggest using web first assertions | error | - |
| playwright/require-hook Require setup and teardown code to be within a hook | off | - |
| playwright/require-to-throw-message Require a message for `toThrow()` | off | - |
| playwright/require-top-level-describe Require test cases and hooks to be inside a `test.describe` block | off | - |
| playwright/valid-describe-callback Enforce valid `describe()` callback | error | - |
| playwright/valid-expect-in-promise Require promises that have expectations in their chain to be valid | error | - |
| playwright/valid-expect Enforce valid `expect()` usage | warn | - |
| playwright/valid-title Enforce valid titles | off | - |
| react/boolean-prop-naming Enforces consistent naming for boolean props | off | - |
| react/button-has-type Disallow usage of `button` elements without an explicit `type` attribute | warn | - |
| react/default-props-match-prop-types Enforce all defaultProps have a corresponding non-required PropType | warn | - |
| react/destructuring-assignment Enforce consistent usage of destructuring assignment of props, state, and context | off | - |
| react/display-name Disallow missing displayName in a React component definition | off | - |
| react/forbid-component-props Disallow certain props on components | off | - |
| react/forbid-dom-props Disallow certain props on DOM Nodes | off | - |
| react/forbid-elements Disallow certain elements | off | - |
| react/forbid-foreign-prop-types Disallow using another component's propTypes | off | - |
| react/forbid-prop-types Disallow certain propTypes | off | - |
| react/function-component-definition Enforce a specific function type for function components | off | - |
| react/jsx-curly-newline Enforce consistent linebreaks in curly braces in JSX attributes and expressions | warn | - |
| react/jsx-no-script-url Disallow usage of `javascript:` URLs | error | - |
| react/jsx-no-useless-fragment Disallow unnecessary fragments | warn | {
"allowExpressions": true
} |
| react/jsx-props-no-spreading Disallow JSX prop spreading | off | - |
| react/no-access-state-in-setstate Disallow when this.state is accessed within setState | warn | - |
| react/no-adjacent-inline-elements Disallow adjacent inline elements not separated by whitespace. | warn | - |
| react/no-array-index-key Disallow usage of Array index in keys | warn | - |
| react/no-children-prop Disallow passing of children as props | error | - |
| react/no-danger Disallow usage of dangerous JSX properties | off | - |
| react/no-danger-with-children Disallow when a DOM element is using both children and dangerouslySetInnerHTML | error | - |
| react/no-deprecated Disallow usage of deprecated methods | warn | - |
| react/no-did-mount-set-state Disallow usage of setState in componentDidMount | warn | - |
| react/no-did-update-set-state Disallow usage of setState in componentDidUpdate | warn | - |
| react/no-direct-mutation-state Disallow direct mutation of this.state | warn | - |
| react/no-find-dom-node Disallow usage of findDOMNode | error | - |
| react/no-is-mounted Disallow usage of isMounted | error | - |
| react/no-multi-comp Disallow multiple component definition per file | warn | {
"ignoreStateless": true
} |
| react/no-redundant-should-component-update Disallow usage of shouldComponentUpdate when extending React.PureComponent | off | - |
| react/no-render-return-value Disallow usage of the return value of ReactDOM.render | error | - |
| react/no-set-state Disallow usage of setState | off | - |
| react/no-string-refs Disallow using string references | error | - |
| react/no-this-in-sfc Disallow `this` from being used in stateless functional components | error | - |
| react/no-typos Disallow common typos | error | - |
| react/no-unescaped-entities Disallow unescaped HTML entities from appearing in markup | error | - |
| react/no-unknown-property Disallow usage of unknown DOM property | off | - |
| react/no-unsafe Disallow usage of unsafe lifecycle methods | off | - |
| react/no-unused-prop-types Disallow definitions of unused propTypes | warn | - |
| react/no-unused-state Disallow definitions of unused state | warn | - |
| react/no-will-update-set-state Disallow usage of setState in componentWillUpdate | error | - |
| react/prefer-es6-class Enforce ES5 or ES6 class for React Components | warn | - |
| react/prefer-read-only-props Enforce that props are read-only | off | - |
| react/prefer-stateless-function Enforce stateless components to be written as a pure function | warn | {
"ignorePureComponents": true
} |
| react/prop-types Disallow missing props validation in a React component definition | warn | {
"ignore": [
"children",
"params"
]
} |
| react/react-in-jsx-scope Disallow missing React when using JSX | error | - |
| react/require-default-props Enforce a defaultProps definition for every prop that is not a required prop | off | - |
| react/require-optimization Enforce React components to have a shouldComponentUpdate method | off | - |
| react/require-render-return Enforce ES5 or ES6 class for returning value in render function | error | - |
| react/self-closing-comp Disallow extra closing tags for components without children | warn | - |
| react/sort-comp Enforce component methods order | warn | {
"order": [
"static-variables",
"static-methods",
"instance-variables",
"lifecycle",
"everything-else",
"render"
],
"groups": {
"lifecycle": [
"displayName",
"propTypes",
"contextTypes",
"childContextTypes",
"mixins",
"statics",
"defaultProps",
"getDefaultProps",
"state",
"getInitialState",
"constructor",
"getChildContext",
"getDerivedStateFromProps",
"componentWillMount",
"UNSAFE_componentWillMount",
"componentDidMount",
"componentWillReceiveProps",
"UNSAFE_componentWillReceiveProps",
"shouldComponentUpdate",
"componentWillUpdate",
"UNSAFE_componentWillUpdate",
"getSnapshotBeforeUpdate",
"componentDidUpdate",
"componentDidCatch",
"componentWillUnmount"
]
}
} |
| react/sort-prop-types Enforce propTypes declarations alphabetical sorting | off | - |
| react/state-in-constructor Enforce class component state initialization style | off | - |
| react/style-prop-object Enforce style prop value is an object | off | - |
| react/void-dom-elements-no-children Disallow void DOM elements (e.g. ` `) from receiving children | off | - |
| react/jsx-boolean-value Enforce boolean attributes notation in JSX | warn | "always" |
| react/jsx-child-element-spacing Enforce or disallow spaces inside of curly braces in JSX attributes and expressions | off | - |
| react/jsx-closing-bracket-location Enforce closing bracket location in JSX | warn | "tag-aligned" |
| react/jsx-closing-tag-location Enforce closing tag location for multiline JSX | warn | - |
| react/jsx-curly-brace-presence Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes | warn | {
"props": "never",
"children": "never"
} |
| react/jsx-curly-spacing Enforce or disallow spaces inside of curly braces in JSX attributes and expressions | warn | "never" |
| react/jsx-equals-spacing Enforce or disallow spaces around equal signs in JSX attributes | warn | "never" |
| react/jsx-filename-extension Disallow file extensions that may contain JSX | error | {
"extensions": [
".js",
".jsx",
".tsx",
".mdx"
]
} |
| react/jsx-first-prop-new-line Enforce proper position of the first property in JSX | off | - |
| react/jsx-fragments Enforce shorthand or standard form for React fragments | warn | "element" |
| react/jsx-handler-names Enforce event handler naming conventions in JSX | warn | - |
| react/jsx-indent Enforce JSX indentation | warn | 4 |
| react/jsx-indent-props Enforce props indentation in JSX | off | - |
| react/jsx-key Disallow missing `key` props in iterators/collection literals | error | - |
| react/jsx-max-depth Enforce JSX maximum depth | warn | {
"max": 13
} |
| react/jsx-one-expression-per-line Require one JSX element per line | off | - |
| react/jsx-max-props-per-line Enforce maximum of props on a single line in JSX | warn | {
"maximum": 1,
"when": "multiline"
} |
| react/jsx-no-bind Disallow `.bind()` or arrow functions in JSX props | warn | {
"ignoreRefs": true,
"ignoreDOMComponents": false,
"allowArrowFunctions": false,
"allowBind": false,
"allowFunctions": false
} |
| react/jsx-no-comment-textnodes Disallow comments from being inserted as text nodes | error | - |
| react/jsx-no-duplicate-props Disallow duplicate properties in JSX | warn | - |
| react/jsx-no-literals Disallow usage of string literals in JSX | off | - |
| react/jsx-no-target-blank Disallow `target="_blank"` attribute without `rel="noreferrer"` | off | - |
| react/jsx-no-undef Disallow undeclared variables in JSX | error | - |
| react/jsx-pascal-case Enforce PascalCase for user-defined JSX components | warn | - |
| react/jsx-props-no-multi-spaces Disallow multiple spaces between inline JSX props | warn | - |
| react/jsx-sort-default-props Enforce defaultProps declarations alphabetical sorting | off | - |
| react/jsx-sort-props Enforce props alphabetical sorting | off | - |
| react/jsx-tag-spacing Enforce whitespace in and around the JSX opening and closing brackets | warn | {
"closingSlash": "never",
"beforeSelfClosing": "never",
"afterOpening": "never",
"beforeClosing": "never"
} |
| react/jsx-uses-react Disallow React to be incorrectly marked as unused | error | - |
| react/jsx-uses-vars Disallow variables used in JSX to be incorrectly marked as unused | error | - |
| react/jsx-wrap-multilines Disallow missing parentheses around multiline JSX | warn | - |
| react/static-property-placement Enforces where React component static properties should be positioned. | warn | - |
| react-hooks/rules-of-hooks | error | - |
| react-hooks/exhaustive-deps | error | - |
| react/prefer-exact-props Prefer exact proptype definitions | off | - |
| react/no-unstable-nested-components Disallow creating unstable components inside components | error | {
"allowAsProps": true
} |
| react/no-namespace Enforce that namespaces are not used in React elements | error | - |
| react/no-arrow-function-lifecycle Lifecycle methods should be methods on the prototype, not class fields | warn | - |
| react/jsx-no-leaked-render Disallow problematic leaked values from being rendered | error | {
"validStrategies": [
"ternary"
]
} |
| react/jsx-no-constructed-context-values Disallows JSX context provider values from taking values that will cause needless rerenders | error | - |
| react/iframe-missing-sandbox Enforce sandbox attribute on iframe elements | error | - |
| @typescript-eslint/brace-style | off | - |
| camelcase Enforce camelcase naming convention | off | - |
| @typescript-eslint/comma-spacing | warn | - |
| default-param-last Enforce default parameters to be last | off | - |
| @typescript-eslint/default-param-last Enforce default parameters to be last | error | - |
| @typescript-eslint/explicit-function-return-type Require explicit return types on functions and class methods | off | - |
| @typescript-eslint/explicit-member-accessibility Require explicit accessibility modifiers on class properties and methods | off | - |
| @typescript-eslint/explicit-module-boundary-types Require explicit return and argument types on exported functions' and classes' public class methods | off | - |
| func-call-spacing | off | - |
| @typescript-eslint/func-call-spacing | warn | - |
| indent | off | 4 |
| @typescript-eslint/indent | warn | 4 |
| @typescript-eslint/member-delimiter-style | warn | - |
| @typescript-eslint/member-naming | off | - |
| @typescript-eslint/member-ordering Require a consistent member declaration order | off | - |
| @typescript-eslint/naming-convention Enforce naming conventions for everything across a codebase | off | - |
| no-array-constructor Disallow Array constructors | off | - |
| @typescript-eslint/no-array-constructor Disallow generic Array constructors | error | - |
| no-dupe-class-members Disallow duplicate class members | off | - |
| @typescript-eslint/no-dupe-class-members Disallow duplicate class members | error | - |
| @typescript-eslint/no-dynamic-delete Disallow using the delete operator on computed key expressions | off | - |
| no-empty-function Disallow empty functions | off | - |
| @typescript-eslint/no-empty-function Disallow empty functions | warn | - |
| @typescript-eslint/no-explicit-any Disallow the any type | warn | {
"ignoreRestArgs": true
} |
| @typescript-eslint/no-extra-non-null-assertion Disallow extra non-null assertions | warn | - |
| @typescript-eslint/no-extra-parens | off | - |
| no-extra-semi | off | - |
| @typescript-eslint/no-extra-semi | warn | - |
| @typescript-eslint/no-extraneous-class Disallow classes used as namespaces | off | - |
| @typescript-eslint/no-magic-numbers Disallow magic numbers | off | - |
| @typescript-eslint/no-misused-new Enforce valid definition of new and constructor | error | - |
| @typescript-eslint/no-non-null-asserted-optional-chain Disallow non-null assertions after an optional chain expression | warn | - |
| @typescript-eslint/no-non-null-assertion Disallow non-null assertions using the ! postfix operator | off | - |
| @typescript-eslint/no-parameter-properties | off | - |
| @typescript-eslint/no-require-imports Disallow invocation of require() | warn | - |
| @typescript-eslint/no-this-alias Disallow aliasing this | warn | - |
| no-unused-expressions Disallow unused expressions | off | - |
| @typescript-eslint/no-unused-expressions Disallow unused expressions | warn | {
"allowTernary": true,
"allowShortCircuit": false,
"allowTaggedTemplates": false,
"enforceForJSX": false
} |
| no-unused-vars Disallow unused variables | off | {
"ignoreRestSiblings": true
} |
| @typescript-eslint/no-unused-vars Disallow unused variables | warn | {
"ignoreRestSiblings": true
} |
| @typescript-eslint/no-use-before-define Disallow the use of variables before they are defined | warn | {
"functions": false,
"classes": false,
"enums": true,
"variables": true,
"typedefs": false
} |
| no-useless-constructor Disallow unnecessary constructors | off | - |
| @typescript-eslint/no-useless-constructor Disallow unnecessary constructors | warn | - |
| @typescript-eslint/no-var-requires Disallow require statements except in import statements | off | - |
| @typescript-eslint/prefer-function-type Enforce using function types instead of interfaces with call signatures | off | - |
| quotes | off | "single" |
| @typescript-eslint/quotes | warn | "single" |
| @typescript-eslint/require-array-sort-compare Require Array#sort and Array#toSorted calls to always provide a compareFunction | off | - |
| semi | off | "always" |
| @typescript-eslint/semi | warn | "always" |
| space-before-function-paren | off | {
"anonymous": "always",
"named": "never"
} |
| @typescript-eslint/space-before-function-paren | warn | {
"anonymous": "always",
"named": "never"
} |
| @typescript-eslint/strict-boolean-expressions Disallow certain types in boolean expressions | off | - |
| @typescript-eslint/switch-exhaustiveness-check Require switch-case statements to be exhaustive | off | - |
| no-redeclare Disallow variable redeclaration | off | - |
| @typescript-eslint/no-redeclare Disallow variable redeclaration | error | - |
| no-shadow Disallow variable declarations from shadowing variables declared in the outer scope | off | {
"ignoreOnInitialization": true,
"builtinGlobals": false,
"hoist": "functions"
} |
| @typescript-eslint/no-shadow Disallow variable declarations from shadowing variables declared in the outer scope | warn | {
"ignoreOnInitialization": true
} |
| @typescript-eslint/array-type Require consistently using either T[] or Array<T> for arrays | warn | {
"default": "array-simple"
} |
| @typescript-eslint/adjacent-overload-signatures Require that function overload signatures be consecutive | warn | - |
| @typescript-eslint/await-thenable Disallow awaiting a value that is not a Thenable | off | - |
| @typescript-eslint/ban-ts-comment Disallow @ts-<directive> comments or require descriptions after directives | warn | - |
| @typescript-eslint/ban-types | warn | {
"extendDefaults": true,
"types": {
"object": false
}
} |
| @typescript-eslint/consistent-type-assertions Enforce consistent usage of type assertions | warn | {
"assertionStyle": "as"
} |
| @typescript-eslint/consistent-type-definitions Enforce type definitions to consistently use either interface or type | off | - |
| @typescript-eslint/generic-type-naming | off | - |
| @typescript-eslint/interface-name-prefix | off | - |
| @typescript-eslint/no-empty-interface Disallow the declaration of empty interfaces | off | - |
| @typescript-eslint/no-floating-promises Require Promise-like statements to be handled appropriately | off | - |
| @typescript-eslint/no-for-in-array Disallow iterating over an array with a for-in loop | error | - |
| @typescript-eslint/no-implied-eval Disallow the use of eval()-like methods | error | - |
| @typescript-eslint/no-inferrable-types Disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean | warn | {
"ignoreParameters": true,
"ignoreProperties": true
} |
| @typescript-eslint/no-misused-promises Disallow Promises in places not designed to handle them | error | {
"checksVoidReturn": false
} |
| @typescript-eslint/no-namespace Disallow TypeScript namespaces | off | - |
| no-throw-literal Disallow throwing literals as exceptions | off | - |
| @typescript-eslint/no-throw-literal | warn | - |
| @typescript-eslint/no-type-alias Disallow type aliases | off | - |
| @typescript-eslint/no-unnecessary-boolean-literal-compare Disallow unnecessary equality comparisons against boolean literals | off | - |
| @typescript-eslint/no-unnecessary-condition Disallow conditionals where the type is always truthy or always falsy | off | - |
| @typescript-eslint/no-unnecessary-qualifier Disallow unnecessary namespace qualifiers | warn | - |
| @typescript-eslint/no-unnecessary-type-arguments Disallow type arguments that are equal to the default | warn | - |
| @typescript-eslint/no-unnecessary-type-assertion Disallow type assertions that do not change the type of an expression | off | - |
| @typescript-eslint/no-unused-vars-experimental | off | - |
| @typescript-eslint/prefer-as-const Enforce the use of as const over literal type | warn | - |
| @typescript-eslint/prefer-for-of Enforce the use of for-of loop over the standard for loop where possible | warn | - |
| @typescript-eslint/prefer-includes Enforce includes method over indexOf method | warn | - |
| @typescript-eslint/prefer-namespace-keyword Require using namespace keyword over module keyword to declare custom TypeScript modules | error | - |
| @typescript-eslint/prefer-nullish-coalescing Enforce using the nullish coalescing operator instead of logical assignments or chaining | off | - |
| @typescript-eslint/prefer-optional-chain Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects | warn | - |
| @typescript-eslint/prefer-readonly Require private members to be marked as readonly if they're never modified outside of the constructor | off | - |
| @typescript-eslint/prefer-regexp-exec Enforce RegExp#exec over String#match if no global flag is provided | off | - |
| @typescript-eslint/prefer-string-starts-ends-with Enforce using String#startsWith and String#endsWith over other equivalent methods of checking substrings | warn | - |
| @typescript-eslint/promise-function-async Require any function or method that returns a Promise to be marked async | off | - |
| @typescript-eslint/require-await Disallow async functions which do not return promises and have no await expression | error | - |
| @typescript-eslint/restrict-plus-operands Require both operands of addition to be the same type and be bigint, number, or string | off | - |
| @typescript-eslint/restrict-template-expressions Enforce template literal expressions to be of string type | off | - |
| no-return-await | off | - |
| @typescript-eslint/return-await Enforce consistent awaiting of returned promises | off | - |
| @typescript-eslint/triple-slash-reference Disallow certain triple slash directives in favor of ES6-style import declarations | error | - |
| @typescript-eslint/type-annotation-spacing | warn | - |
| @typescript-eslint/typedef Require type annotations in certain places | warn | {
"arrayDestructuring": false,
"arrowParameter": false,
"memberVariableDeclaration": false,
"objectDestructuring": false,
"parameter": true,
"propertyDeclaration": true,
"variableDeclaration": false
} |
| @typescript-eslint/unbound-method Enforce unbound methods are called with their expected scope | off | - |
| @typescript-eslint/unified-signatures Disallow two overloads that could be unified into one with a union or an optional/rest parameter | off | - |
| @typescript-eslint/prefer-ts-expect-error Enforce using @ts-expect-error over @ts-ignore | warn | - |
| no-undef Disallow the use of undeclared variables unless mentioned in /*global */ comments | off | - |
| @typescript-eslint/no-duplicate-type-constituents Disallow duplicate constituents of union or intersection types | warn | - |
| @typescript-eslint/consistent-type-imports Enforce consistent usage of type imports | warn | {
"prefer": "type-imports",
"fixStyle": "inline-type-imports",
"disallowTypeAnnotations": false
} |
| jest/consistent-test-it Enforce `test` and `it` usage conventions | error | {
"fn": "test",
"withinDescribe": "it"
} |
| jest/expect-expect Enforce assertion to be made in a test body | off | - |
| jest/prefer-lowercase-title Enforce lowercase test names | warn | {
"ignore": [
"describe"
],
"ignoreTopLevelDescribe": false
} |
| jest/no-alias-methods Disallow alias methods | off | - |
| jest/no-commented-out-tests Disallow commented out tests | error | - |
| jest/no-conditional-expect Disallow calling `expect` conditionally | warn | - |
| jest/no-deprecated-functions Disallow use of deprecated functions | off | - |
| jest/no-disabled-tests Disallow disabled tests | warn | - |
| jest/no-done-callback Disallow using a callback in asynchronous tests and hooks | off | - |
| jest/no-duplicate-hooks Disallow duplicate setup and teardown hooks | error | - |
| jest/no-export Disallow using `exports` in files containing tests | error | - |
| jest/no-focused-tests Disallow focused tests | warn | - |
| jest/no-hooks Disallow setup and teardown hooks | off | - |
| jest/no-identical-title Disallow identical titles | error | - |
| jest/no-if | warn | - |
| jest/no-interpolation-in-snapshots Disallow string interpolation inside snapshots | off | - |
| jest/no-jasmine-globals Disallow Jasmine globals | error | - |
| jest/no-large-snapshots Disallow large snapshots | off | - |
| jest/no-mocks-import Disallow manually importing from `__mocks__` | error | - |
| jest/no-restricted-matchers Disallow specific matchers & modifiers | warn | {
"toBeTruthy": "Avoid `toBeTruthy`",
"toBeFalsy": "Avoid `toBeFalsy`"
} |
| jest/no-standalone-expect Disallow using `expect` outside of `it` or `test` blocks | error | - |
| jest/no-test-prefixes Require using `.only` and `.skip` over `f` and `x` | warn | - |
| jest/no-test-return-statement Disallow explicitly returning from tests | off | - |
| jest/prefer-called-with Suggest using `toBeCalledWith()` or `toHaveBeenCalledWith()` | off | - |
| jest/prefer-expect-assertions Suggest using `expect.assertions()` OR `expect.hasAssertions()` | off | - |
| jest/prefer-hooks-on-top Suggest having hooks before any test cases | warn | - |
| jest/prefer-spy-on Suggest using `jest.spyOn()` | off | - |
| jest/prefer-strict-equal Suggest using `toStrictEqual()` | off | - |
| jest/prefer-to-be Suggest using `toBe()` for primitive literals | warn | - |
| jest/prefer-to-contain Suggest using `toContain()` | warn | - |
| jest/prefer-to-have-length Suggest using `toHaveLength()` | warn | - |
| jest/prefer-todo Suggest using `test.todo` | warn | - |
| jest/require-to-throw-message Require a message for `toThrow()` | off | - |
| jest/require-top-level-describe Require test cases and hooks to be inside a `describe` block | warn | - |
| jest/unbound-method Enforce unbound methods are called with their expected scope | off | - |
| jest/valid-describe-callback Enforce valid `describe()` callback | error | - |
| jest/valid-expect Enforce valid `expect()` usage | error | - |
| jest/valid-expect-in-promise Require promises that have expectations in their chain to be valid | error | - |
| jest/valid-title Enforce valid titles | warn | - |
| init-declarations Require or disallow initialization in variable declarations | off | - |
| no-delete-var Disallow deleting variables | off | - |
| no-label-var Disallow labels that share a name with a variable | off | - |
| no-restricted-globals Disallow specified global variables | off | - |
| no-shadow-restricted-names Disallow identifiers from shadowing restricted names | error | - |
| no-undef-init Disallow initializing variables to undefined | off | - |
| no-undefined Disallow the use of undefined as an identifier | off | - |
| no-use-before-define Disallow the use of variables before they are defined | off | - |
| array-bracket-newline | off | - |
| array-bracket-spacing | warn | - |
| array-element-newline | off | - |
| block-spacing | warn | - |
| brace-style | off | - |
| capitalized-comments Enforce or disallow capitalization of the first letter of a comment | off | - |
| comma-dangle | warn | {
"arrays": "always-multiline",
"objects": "always-multiline",
"imports": "always-multiline",
"exports": "always-multiline",
"functions": "always-multiline"
} |
| comma-spacing | warn | - |
| comma-style | warn | - |
| computed-property-spacing | warn | - |
| consistent-this Enforce consistent naming when capturing the current execution context | off | - |
| eol-last | warn | - |
| func-name-matching Require function names to match the name of the variable or property to which they are assigned | warn | - |
| func-names Require or disallow named function expressions | warn | - |
| func-style Enforce the consistent use of either function declarations or expressions assigned to variables | off | - |
| function-call-argument-newline | warn | "consistent" |
| function-paren-newline | off | - |
| grouped-accessor-pairs Require grouped accessor pairs in object literals and classes | warn | - |
| id-blacklist Replaced by id-denylist | off | - |
| id-length Enforce minimum and maximum identifier lengths | off | - |
| id-match Require identifiers to match a specified regular expression | off | - |
| implicit-arrow-linebreak | off | - |
| jsx-quotes | warn | "prefer-double" |
| key-spacing | warn | - |
| keyword-spacing | warn | - |
| line-comment-position | off | - |
| linebreak-style | off | - |
| lines-around-comment | off | - |
| lines-between-class-members | warn | "always" |
| max-depth Enforce a maximum depth that blocks can be nested | off | - |
| max-len | warn | 140 |
| max-lines Enforce a maximum number of lines per file | off | - |
| max-nested-callbacks Enforce a maximum depth that callbacks can be nested | off | - |
| max-params Enforce a maximum number of parameters in function definitions | off | - |
| max-statements Enforce a maximum number of statements allowed in function blocks | off | - |
| max-statements-per-line | off | - |
| multiline-comment-style | off | - |
| multiline-ternary | off | - |
| new-cap Require constructor names to begin with a capital letter | off | - |
| new-parens | off | - |
| newline-per-chained-call | warn | {
"ignoreChainWithDepth": 3
} |
| no-bitwise Disallow bitwise operators | off | - |
| no-continue Disallow continue statements | off | - |
| no-inline-comments Disallow inline comments after code | off | - |
| no-lonely-if Disallow if statements as the only statement in else blocks | error | - |
| no-mixed-operators | off | - |
| no-mixed-spaces-and-tabs | warn | - |
| no-multi-assign Disallow use of chained assignment expressions | off | - |
| no-multiple-empty-lines | warn | {
"max": 1
} |
| no-negated-condition Disallow negated conditions | warn | - |
| no-nested-ternary Disallow nested ternary expressions | warn | - |
| no-new-object Replaced by no-object-constructor | error | - |
| no-plusplus Disallow the unary operators ++ and -- | off | - |
| no-restricted-syntax Disallow specified syntax | off | - |
| no-tabs | warn | - |
| no-ternary Disallow ternary operators | off | - |
| no-trailing-spaces | warn | - |
| no-underscore-dangle Disallow dangling underscores in identifiers | off | - |
| no-unneeded-ternary Disallow ternary operators when simpler alternatives exist | warn | - |
| no-whitespace-before-property | warn | - |
| nonblock-statement-body-position | off | - |
| object-curly-newline | off | - |
| object-curly-spacing | warn | "always" |
| object-property-newline | off | - |
| one-var Enforce variables to be declared either together or separately in functions | warn | {
"var": "always",
"let": "never",
"const": "never"
} |
| one-var-declaration-per-line | off | - |
| operator-assignment Require or disallow assignment operator shorthand where possible | off | - |
| operator-linebreak | off | - |
| padded-blocks | warn | {
"blocks": "never",
"classes": "always",
"switches": "never"
} |
| padding-line-between-statements | off | - |
| prefer-exponentiation-operator Disallow the use of Math.pow in favor of the ** operator | off | - |
| quote-props | warn | "as-needed" |
| semi-spacing | warn | - |
| semi-style | off | - |
| sort-keys Require object keys to be sorted | off | - |
| sort-vars Require variables within the same declaration block to be sorted | off | - |
| space-before-blocks | warn | - |
| space-in-parens | warn | - |
| space-infix-ops | off | - |
| space-unary-ops | off | - |
| spaced-comment | off | - |
| switch-colon-spacing | off | - |
| template-tag-spacing | warn | - |
| unicode-bom Require or disallow Unicode byte order mark (BOM) | off | - |
| wrap-regex | off | - |
| callback-return | off | - |
| global-require | off | - |
| handle-callback-err | off | - |
| no-buffer-constructor | error | - |
| no-mixed-requires | off | - |
| no-new-require | error | - |
| no-path-concat | error | - |
| no-process-env | off | - |
| no-process-exit | off | - |
| no-restricted-modules | off | - |
| no-sync | off | - |
| arrow-body-style Require braces around arrow function bodies | warn | "as-needed" |
| arrow-parens | off | - |
| arrow-spacing | warn | - |
| constructor-super Require super() calls in constructors | error | - |
| generator-star-spacing | off | - |
| no-class-assign Disallow reassigning class members | error | - |
| no-confusing-arrow | off | - |
| no-const-assign Disallow reassigning const variables | error | - |
| no-duplicate-imports Disallow duplicate module imports | error | - |
| no-new-symbol Replaced by no-new-native-nonconstructor | error | - |
| no-restricted-exports Disallow specified names in exports | off | - |
| no-restricted-imports Disallow specified modules when loaded by import | off | - |
| no-this-before-super Disallow this/super before calling super() in constructors | error | - |
| no-useless-computed-key Disallow unnecessary computed property keys in objects and classes | off | - |
| no-useless-rename Disallow renaming import, export, and destructured assignments to the same name | warn | - |
| no-var Require let or const instead of var | off | - |
| object-shorthand Require or disallow method and property shorthand syntax for object literals | warn | "always" |
| prefer-arrow-callback Require using arrow functions for callbacks | warn | - |
| prefer-const Require const declarations for variables that are never reassigned after declared | warn | - |
| prefer-destructuring Require destructuring from arrays and/or objects | warn | {
"VariableDeclarator": {
"array": false,
"object": true
}
} |
| prefer-numeric-literals Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals | off | - |
| prefer-rest-params Require rest parameters instead of arguments | warn | - |
| prefer-spread Require spread operators instead of .apply() | warn | - |
| prefer-template Require template literals instead of string concatenation | warn | - |
| require-yield Require generator functions to contain yield | off | - |
| rest-spread-spacing | warn | - |
| sort-imports Enforce sorted import declarations within modules | off | - |
| symbol-description Require symbol descriptions | off | - |
| template-curly-spacing | warn | - |
| yield-star-spacing | off | - |
| prefer-object-has-own Disallow use of Object.prototype.hasOwnProperty.call() and prefer use of Object.hasOwn() | warn | - |
| for-direction Enforce “for” loop update clause moving the counter in the right direction | error | - |
| getter-return Enforce return statements in getters | error | {
"allowImplicit": true
} |
| no-await-in-loop Disallow await inside of loops | warn | - |
| no-compare-neg-zero Disallow comparing against -0 | error | - |
| no-cond-assign Disallow assignment operators in conditional expressions | error | - |
| no-console Disallow the use of console | warn | - |
| no-constant-condition Disallow constant expressions in conditions | off | - |
| no-control-regex Disallow control characters in regular expressions | off | - |
| no-debugger Disallow the use of debugger | warn | - |
| no-dupe-args Disallow duplicate arguments in function definitions | error | - |
| no-dupe-else-if Disallow duplicate conditions in if-else-if chains | error | - |
| no-dupe-keys Disallow duplicate keys in object literals | error | - |
| no-duplicate-case Disallow duplicate case labels | error | - |
| no-empty Disallow empty block statements | warn | {
"allowEmptyCatch": true
} |
| no-empty-character-class Disallow empty character classes in regular expressions | warn | - |
| no-ex-assign Disallow reassigning exceptions in catch clauses | error | - |
| no-extra-boolean-cast Disallow unnecessary boolean casts | warn | - |
| no-extra-parens | off | - |
| no-func-assign Disallow reassigning function declarations | error | - |
| no-import-assign Disallow assigning to imported bindings | error | - |
| no-inner-declarations Disallow variable or function declarations in nested blocks | error | - |
| no-invalid-regexp Disallow invalid regular expression strings in RegExp constructors | warn | - |
| no-irregular-whitespace Disallow irregular whitespace | warn | {
"skipStrings": true,
"skipComments": false,
"skipTemplates": false,
"skipRegExps": false,
"skipJSXText": false
} |
| no-loss-of-precision Disallow literal numbers that lose precision | error | - |
| no-misleading-character-class Disallow characters which are made with multiple code points in character class syntax | error | - |
| no-obj-calls Disallow calling global object properties as functions | error | - |
| no-promise-executor-return Disallow returning values from Promise executor functions | off | - |
| no-prototype-builtins Disallow calling some Object.prototype methods directly on objects | off | - |
| no-regex-spaces Disallow multiple spaces in regular expressions | off | - |
| no-setter-return Disallow returning values from setters | error | - |
| no-sparse-arrays Disallow sparse arrays | warn | - |
| no-template-curly-in-string Disallow template literal placeholder syntax in regular strings | error | - |
| no-unexpected-multiline Disallow confusing multiline expressions | warn | - |
| no-unreachable Disallow unreachable code after return, throw, continue, and break statements | warn | - |
| no-unsafe-finally Disallow control flow statements in finally blocks | off | - |
| no-unsafe-negation Disallow negating the left operand of relational operators | error | - |
| no-unsafe-optional-chaining Disallow use of optional chaining in contexts where the undefined value is not allowed | error | - |
| no-useless-backreference Disallow useless backreferences in regular expressions | warn | - |
| require-atomic-updates Disallow assignments that can lead to race conditions due to usage of await or yield | warn | - |
| require-unicode-regexp Enforce the use of u or v flag on RegExp | off | - |
| use-isnan Require calls to isNaN() when checking for NaN | error | - |
| valid-typeof Enforce comparing typeof expressions against valid strings | error | - |
| no-unused-private-class-members Disallow unused private class members | warn | - |
| no-constant-binary-expression Disallow expressions where the operation doesn’t affect the value | error | - |
| accessor-pairs Enforce getter and setter pairs in objects and classes | error | - |
| array-callback-return Enforce return statements in callbacks of array methods | error | - |
| block-scoped-var Enforce the use of variables within the scope they are defined | off | - |
| class-methods-use-this Enforce that class methods utilize this | off | - |
| complexity Enforce a maximum cyclomatic complexity allowed in a program | off | - |
| consistent-return Require return statements to either always or never specify values | off | - |
| curly Enforce consistent brace style for all control statements | warn | - |
| default-case Require default cases in switch statements | off | - |
| default-case-last Enforce default clauses in switch statements to be last | off | - |
| dot-location | warn | "property" |
| dot-notation Enforce dot notation whenever possible | off | - |
| eqeqeq Require the use of === and !== | warn | - |
| guard-for-in Require for-in loops to include an if statement | warn | - |
| max-classes-per-file Enforce a maximum number of classes per file | off | - |
| max-lines-per-function Enforce a maximum number of lines of code in a function | off | - |
| no-alert Disallow the use of alert, confirm, and prompt | off | - |
| no-async-promise-executor Disallow using an async function as a Promise executor | off | - |
| no-caller Disallow the use of arguments.caller or arguments.callee | error | - |
| no-case-declarations Disallow lexical declarations in case clauses | off | - |
| no-constructor-return Disallow returning value from constructor | warn | - |
| no-div-regex Disallow equal signs explicitly at the beginning of regular expressions | off | - |
| no-else-return Disallow else blocks after return statements in if statements | off | - |
| no-empty-pattern Disallow empty destructuring patterns | warn | - |
| no-eq-null Disallow null comparisons without type-checking operators | off | - |
| no-eval Disallow the use of eval() | error | - |
| no-extend-native Disallow extending native types | error | - |
| no-extra-bind Disallow unnecessary calls to .bind() | warn | - |
| no-extra-label Disallow unnecessary labels | off | - |
| no-fallthrough Disallow fallthrough of case statements | off | - |
| no-floating-decimal | warn | - |
| no-global-assign Disallow assignments to native objects or read-only global variables | error | - |
| no-implicit-coercion Disallow shorthand type conversions | off | - |
| no-implicit-globals Disallow declarations in the global scope | off | - |
| no-implied-eval Disallow the use of eval()-like methods | error | - |
| no-invalid-this Disallow use of this in contexts where the value of this is undefined | off | - |
| no-iterator Disallow the use of the __iterator__ property | error | - |
| no-labels Disallow labeled statements | error | - |
| no-lone-blocks Disallow unnecessary nested blocks | error | - |
| no-loop-func Disallow function declarations that contain unsafe references inside loop statements | error | - |
| no-magic-numbers Disallow magic numbers | off | - |
| no-multi-spaces | warn | - |
| no-multi-str Disallow multiline strings | off | - |
| no-new Disallow new operators outside of assignments or comparisons | off | - |
| no-new-func Disallow new operators with the Function object | error | - |
| no-new-wrappers Disallow new operators with the String, Number, and Boolean objects | error | - |
| no-nonoctal-decimal-escape Disallow \8 and \9 escape sequences in string literals | warn | - |
| no-octal Disallow octal literals | off | - |
| no-octal-escape Disallow octal escape sequences in string literals | off | - |
| no-param-reassign Disallow reassigning function parameters | warn | - |
| no-proto Disallow the use of the __proto__ property | error | - |
| no-restricted-properties Disallow certain properties on certain objects | off | - |
| no-return-assign Disallow assignment operators in return statements | off | - |
| no-script-url Disallow javascript: urls | error | - |
| no-self-assign Disallow assignments where both sides are exactly the same | warn | - |
| no-self-compare Disallow comparisons where both sides are exactly the same | error | - |
| no-sequences Disallow comma operators | off | - |
| no-unmodified-loop-condition Disallow unmodified loop conditions | off | - |
| no-unreachable-loop Disallow loops with a body that allows only one iteration | error | - |
| no-unused-labels Disallow unused labels | off | - |
| no-useless-call Disallow unnecessary calls to .call() and .apply() | warn | - |
| no-useless-catch Disallow unnecessary catch clauses | warn | - |
| no-useless-concat Disallow unnecessary concatenation of literals or template literals | warn | - |
| no-useless-escape Disallow unnecessary escape characters | warn | - |
| no-useless-return Disallow redundant return statements | warn | - |
| no-void Disallow void operators | off | - |
| no-warning-comments Disallow specified warning terms in comments | off | - |
| no-with Disallow with statements | error | - |
| prefer-object-spread Disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead | off | - |
| prefer-named-capture-group Enforce using named capture group in regular expression | off | - |
| prefer-promise-reject-errors Require using Error objects as Promise rejection reasons | off | - |
| prefer-regex-literals Disallow use of the RegExp constructor in favor of regular expression literals | warn | - |
| radix Enforce the consistent use of the radix argument when using parseInt() | off | - |
| require-await Disallow async functions which have no await expression | off | - |
| vars-on-top Require var declarations be placed at the top of their containing scope | warn | - |
| wrap-iife | warn | - |
| yoda Require or disallow “Yoda” conditions | warn | - |
| @typescript-eslint/ban-tslint-comment Disallow // tslint:<rule-flag> comments |
| @typescript-eslint/block-spacing |
| @typescript-eslint/class-literal-property-style Enforce that literals on classes are exposed in a consistent style |
| @typescript-eslint/class-methods-use-this Enforce that class methods utilize this |
| @typescript-eslint/comma-dangle |
| @typescript-eslint/consistent-generic-constructors Enforce specifying generic type arguments on type annotation or constructor name of a constructor call |
| @typescript-eslint/consistent-indexed-object-style Require or disallow the Record type |
| @typescript-eslint/consistent-type-exports Enforce consistent usage of type exports |
| @typescript-eslint/dot-notation Enforce dot notation whenever possible |
| @typescript-eslint/init-declarations Require or disallow initialization in variable declarations |
| @typescript-eslint/key-spacing |
| @typescript-eslint/keyword-spacing |
| @typescript-eslint/lines-around-comment |
| @typescript-eslint/lines-between-class-members |
| @typescript-eslint/max-params Enforce a maximum number of parameters in function definitions |
| @typescript-eslint/method-signature-style Enforce using a particular method signature syntax |
| @typescript-eslint/no-base-to-string Require .toString() to only be called on objects which provide useful information when stringified |
| @typescript-eslint/no-confusing-non-null-assertion Disallow non-null assertion in locations that may be confusing |
| @typescript-eslint/no-confusing-void-expression Require expressions of type void to appear in statement position |
| @typescript-eslint/no-duplicate-enum-values Disallow duplicate enum member values |
| @typescript-eslint/no-import-type-side-effects Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers |
| @typescript-eslint/no-invalid-this Disallow this keywords outside of classes or class-like objects |
| @typescript-eslint/no-invalid-void-type Disallow void type outside of generic or return types |
| @typescript-eslint/no-loop-func Disallow function declarations that contain unsafe references inside loop statements |
| @typescript-eslint/no-loss-of-precision Disallow literal numbers that lose precision |
| @typescript-eslint/no-meaningless-void-operator Disallow the void operator except when used to discard a value |
| @typescript-eslint/no-mixed-enums Disallow enums from having both number and string members |
| @typescript-eslint/no-non-null-asserted-nullish-coalescing Disallow non-null assertions in the left operand of a nullish coalescing operator |
| @typescript-eslint/no-redundant-type-constituents Disallow members of unions and intersections that do nothing or override type information |
| @typescript-eslint/no-restricted-imports Disallow specified modules when loaded by import |
| @typescript-eslint/no-unnecessary-type-constraint Disallow unnecessary constraints on generic types |
| @typescript-eslint/no-unsafe-argument Disallow calling a function with a value with type any |
| @typescript-eslint/no-unsafe-assignment Disallow assigning a value with type any to variables and properties |
| @typescript-eslint/no-unsafe-call Disallow calling a value with type any |
| @typescript-eslint/no-unsafe-declaration-merging Disallow unsafe declaration merging |
| @typescript-eslint/no-unsafe-enum-comparison Disallow comparing an enum value with a non-enum value |
| @typescript-eslint/no-unsafe-member-access Disallow member access on a value with type any |
| @typescript-eslint/no-unsafe-return Disallow returning a value with type any from a function |
| @typescript-eslint/no-useless-empty-export Disallow empty exports that don't change anything in a module file |
| @typescript-eslint/non-nullable-type-assertion-style Enforce non-null assertions over explicit type casts |
| @typescript-eslint/object-curly-spacing |
| @typescript-eslint/padding-line-between-statements |
| @typescript-eslint/parameter-properties Require or disallow parameter properties in class constructors |
| @typescript-eslint/prefer-destructuring Require destructuring from arrays and/or objects |
| @typescript-eslint/prefer-enum-initializers Require each enum member value to be explicitly initialized |
| @typescript-eslint/prefer-literal-enum-member Require all enum members to be literal values |
| @typescript-eslint/prefer-readonly-parameter-types Require function parameters to be typed as readonly to prevent accidental mutation of inputs |
| @typescript-eslint/prefer-reduce-type-parameter Enforce using type parameter when calling Array#reduce instead of casting |
| @typescript-eslint/prefer-return-this-type Enforce that this is used when only this type is returned |
| @typescript-eslint/sort-type-constituents Enforce constituents of a type union/intersection to be sorted alphabetically |
| @typescript-eslint/space-before-blocks |
| @typescript-eslint/space-infix-ops |
| id-denylist Disallow specified identifiers |
| jest/max-expects Enforces a maximum number assertion calls in a test body |
| jest/max-nested-describe Enforces a maximum depth to nested describe calls |
| jest/no-conditional-in-test Disallow conditional logic in tests |
| jest/no-confusing-set-timeout Disallow confusing usages of jest.setTimeout |
| jest/no-restricted-jest-methods Disallow specific `jest.` methods |
| jest/no-untyped-mock-factory Disallow using `jest.mock()` factories without an explicit type parameter |
| jest/prefer-comparison-matcher Suggest using the built-in comparison matchers |
| jest/prefer-each Prefer using `.each` rather than manual loops |
| jest/prefer-equality-matcher Suggest using the built-in equality matchers |
| jest/prefer-expect-resolves Prefer `await expect(...).resolves` over `expect(await ...)` syntax |
| jest/prefer-hooks-in-order Prefer having hooks in a consistent order |
| jest/prefer-mock-promise-shorthand Prefer mock resolved/rejected shorthands for promises |
| jest/prefer-snapshot-hint Prefer including a hint with external snapshots |
| jest/require-hook Require setup and teardown code to be within a hook |
| logical-assignment-operators Require or disallow logical assignment operator shorthand |
| no-empty-static-block Disallow empty static blocks |
| no-new-native-nonconstructor Disallow new operators with global non-constructor functions |
| no-object-constructor Disallow calls to the Object constructor without an argument |
| playwright/require-soft-assertions Require assertions to use `expect.soft()` |
| react/hook-use-state Ensure destructuring and symmetric naming of useState hook value and setter variables |
| react/jsx-newline Require or prevent a new line after jsx elements and expressions. |
| react/no-invalid-html-attribute Disallow usage of invalid attributes |
| react/no-object-type-as-default-prop Disallow usage of referential-type variables as default param in functional component |
| react/no-unused-class-component-methods Disallow declaring unused methods of component class |
| react/sort-default-props Enforce defaultProps declarations alphabetical sorting |
| strict Require or disallow strict mode directives |