@lwc/lwc-platform/no-aura |
3 |
Recommended, LWC, ErrorProne, JavaScript |
disallow usage of "$A" |
@lwc/lwc-platform/no-aura-libs |
3 |
Recommended, LWC, ErrorProne, JavaScript |
disallow import of Aura libraries |
@lwc/lwc-platform/no-community-import |
3 |
Recommended, LWC, ErrorProne, JavaScript |
disallow import of Community-only properties |
@lwc/lwc-platform/no-create-context-provider |
3 |
Recommended, LWC, BestPractices, JavaScript |
disallow import of "createContextProvider" from "lwc" |
@lwc/lwc-platform/no-deprecated-module-import |
3 |
Recommended, LWC, BestPractices, JavaScript |
disallow importing deprecated modules |
@lwc/lwc-platform/no-dynamic-import-identifier |
3 |
Recommended, LWC, BestPractices, JavaScript |
disallow dynamic import with an identifier import(id), import("stringLiteral" + id) |
@lwc/lwc-platform/no-inline-disable |
3 |
Recommended, LWC, BestPractices, JavaScript |
disallow inline disablement of ESLint rule |
@lwc/lwc-platform/no-interop |
3 |
Recommended, LWC, BestPractices, JavaScript |
disallow import of "aura" |
@lwc/lwc-platform/no-interop-create |
3 |
Recommended, LWC, BestPractices, JavaScript |
disallow import of "createComponent" from "aura" |
@lwc/lwc-platform/no-interop-dispatch |
3 |
Recommended, LWC, BestPractices, JavaScript |
disallow import of "dispatchGlobalEvent" from "aura" |
@lwc/lwc-platform/no-interop-execute |
3 |
Recommended, LWC, BestPractices, JavaScript |
disallow import of "executeGlobalController" from "aura" |
@lwc/lwc-platform/no-interop-execute-controller-with-client-def |
3 |
Recommended, LWC, BestPractices, JavaScript |
disallow import of "executeControllerWithClientSideActionDef" from "aura" |
@lwc/lwc-platform/no-interop-execute-privileged |
3 |
Recommended, LWC, BestPractices, JavaScript |
disallow import of "unstable_executeGlobalControllerPrivileged" from "aura" |
@lwc/lwc-platform/no-interop-execute-raw-response |
3 |
Recommended, LWC, BestPractices, JavaScript |
disallow import of "executeGlobalControllerRawResponse" from "aura" |
@lwc/lwc-platform/no-interop-execute-with-callback |
3 |
Recommended, LWC, BestPractices, JavaScript |
disallow import of "executeGlobalControllerWithCallback" from "aura" |
@lwc/lwc-platform/no-interop-get-event |
3 |
Recommended, LWC, BestPractices, JavaScript |
disallow import of "getEventDef" from "aura" |
@lwc/lwc-platform/no-interop-get-module |
3 |
Recommended, LWC, BestPractices, JavaScript |
disallow import of "getModule" from "aura" |
@lwc/lwc-platform/no-interop-is-external-definition |
3 |
Recommended, LWC, BestPractices, JavaScript |
disallow import of "isExternalDefinition" from "aura" |
@lwc/lwc-platform/no-interop-load-definitions |
3 |
Recommended, LWC, BestPractices, JavaScript |
disallow import of "unstable_loadComponentDefs" from "aura" |
@lwc/lwc-platform/no-interop-module-instrumentation |
3 |
Recommended, LWC, BestPractices, JavaScript |
disallow import of "aura-instrumentation" |
@lwc/lwc-platform/no-interop-module-storage |
3 |
Recommended, LWC, BestPractices, JavaScript |
disallow import of "aura-storage" |
@lwc/lwc-platform/no-interop-register |
3 |
Recommended, LWC, BestPractices, JavaScript |
disallow import of "registerModule" from "aura" |
@lwc/lwc-platform/no-interop-render |
3 |
Recommended, LWC, BestPractices, JavaScript |
disallow import of "renderComponent" from "aura" |
@lwc/lwc-platform/no-interop-sanitize |
3 |
Recommended, LWC, BestPractices, JavaScript |
disallow import of "sanitizeDOM" from "aura" |
@lwc/lwc-platform/no-lds-aura-controller-method |
3 |
Recommended, LWC, BestPractices, JavaScript |
disallow import of "UnstableAuraControllerMethod" from "force/ldsAuraControllerMethod" |
@lwc/lwc-platform/no-process-env |
3 |
Recommended, LWC, BestPractices, JavaScript |
restrict usage of the "process" global object |
@lwc/lwc-platform/no-restricted-namespaces |
3 |
Recommended, LWC, ErrorProne, JavaScript |
disallow import or export from restricted namespaces |
@lwc/lwc-platform/no-site-import |
3 |
Recommended, LWC, ErrorProne, JavaScript |
disallow import of Site-only properties |
@lwc/lwc-platform/no-wire-service |
3 |
Recommended, LWC, ErrorProne, JavaScript |
disallow import of "wire-service" |
@lwc/lwc-platform/valid-dynamic-import-hint |
3 |
Recommended, LWC, BestPractices, JavaScript |
validate hint comment in a dynamic import statement |
@lwc/lwc/newer-version-available |
3 |
Recommended, LWC, BestPractices, JavaScript, Fixable |
suggest newer versions of module imports when available |
@lwc/lwc/no-api-reassignments |
3 |
Recommended, LWC, BestPractices, JavaScript |
prevent public property reassignments |
@lwc/lwc/no-async-operation |
3 |
Recommended, LWC, BestPractices, JavaScript |
restrict usage of async operations |
@lwc/lwc/no-attributes-during-construction |
3 |
Recommended, LWC, ErrorProne, JavaScript |
no attributes during construction |
@lwc/lwc/no-deprecated |
3 |
Recommended, LWC, BestPractices, JavaScript |
disallow usage of deprecated LWC APIs |
@lwc/lwc/no-disallowed-lwc-imports |
3 |
Recommended, LWC, BestPractices, JavaScript |
restrict unexpected imports from the lwc package |
@lwc/lwc/no-document-query |
3 |
Recommended, LWC, ErrorProne, JavaScript |
disallow DOM query at the document level. |
@lwc/lwc/no-inner-html |
2 |
Recommended, LWC, Security, JavaScript |
disallow usage of "innerHtml" |
@lwc/lwc/no-leading-uppercase-api-name |
3 |
Recommended, LWC, ErrorProne, JavaScript |
disallow public property to start with an upper case character |
@lwc/lwc/no-template-children |
3 |
Recommended, LWC, ErrorProne, JavaScript |
prevent accessing the immediate children of this.template |
@lwc/lwc/no-unexpected-wire-adapter-usages |
3 |
Recommended, LWC, BestPractices, JavaScript |
restrict unexpected wire adapter usages |
@lwc/lwc/no-unknown-wire-adapters |
3 |
Recommended, LWC, BestPractices, JavaScript |
restrict usage of unknown wire adapters |
@lwc/lwc/prefer-custom-event |
3 |
Recommended, LWC, BestPractices, JavaScript |
suggest usage of "CustomEvent" over "Event" constructor |
@lwc/lwc/valid-api |
3 |
Recommended, LWC, ErrorProne, JavaScript |
validate api decorator usage |
@lwc/lwc/valid-graphql-wire-adapter-callback-parameters |
3 |
Recommended, LWC, ErrorProne, JavaScript |
validate graphql error callback parameter |
@lwc/lwc/valid-track |
3 |
Recommended, LWC, ErrorProne, JavaScript |
validate track decorator usage |
@lwc/lwc/valid-wire |
3 |
Recommended, LWC, ErrorProne, JavaScript |
validate wire decorator usage |
@salesforce-ux/slds/enforce-bem-usage |
4 |
Recommended, SLDS, BestPractices, HTML, Fixable |
Replace BEM double-dash syntax in class names with single underscore syntax |
@salesforce-ux/slds/enforce-component-hook-naming-convention |
4 |
Recommended, SLDS, CodeStyle, CSS, Fixable |
Replace component styling hooks that use a deprecated naming convention. |
@salesforce-ux/slds/enforce-sds-to-slds-hooks |
4 |
Recommended, SLDS, Design, CSS, Fixable |
Convert your existing --sds styling hooks to --slds styling hooks. See lightningdesignsystem.com for more info. |
@salesforce-ux/slds/lwc-token-to-slds-hook |
3 |
Recommended, SLDS, ErrorProne, CSS, Fixable |
Replace the deprecated --lwc tokens with the latest --slds tokens. See lightningdesignsystem.com for more info. |
@salesforce-ux/slds/modal-close-button-issue |
3 |
Recommended, SLDS, ErrorProne, HTML, Fixable |
Update component attributes or CSS classes for the modal close button to comply with the modal component blueprint |
@salesforce-ux/slds/no-deprecated-classes-slds2 |
3 |
Recommended, SLDS, ErrorProne, HTML |
Replace classes that aren't available with SLDS 2 classes. See lightningdesignsystem.com for more info. |
@salesforce-ux/slds/no-hardcoded-values-slds2 |
4 |
Recommended, SLDS, Design, CSS, Fixable |
Replace static values with SLDS 2 styling hooks. For more information, look up design tokens on lightningdesignsystem.com. |
@salesforce-ux/slds/no-slds-class-overrides |
4 |
Recommended, SLDS, BestPractices, CSS |
Create new custom CSS classes instead of overriding SLDS selectors. For more information, see the Lightning Web Components Developer Guide. |
@salesforce-ux/slds/no-slds-namespace-for-custom-hooks |
4 |
Recommended, SLDS, BestPractices, CSS |
To differentiate custom styling hooks from SLDS styling hooks, create custom styling hooks in your namespace. |
@salesforce-ux/slds/no-slds-private-var |
3 |
Recommended, SLDS, ErrorProne, CSS, Fixable |
Some SLDS styling hooks are private and reserved only for internal Salesforce use. Private SLDS styling hooks have prefixes --_slds- and --slds-s-. For more information, look up private CSS in lightningdesignsystem.com. |
@salesforce-ux/slds/no-slds-var-without-fallback |
3 |
Recommended, SLDS, ErrorProne, CSS, Fixable |
Add fallback values to SLDS styling hooks. The fallback values are used in Salesforce environments where styling hooks are unavailable. |
@salesforce-ux/slds/no-sldshook-fallback-for-lwctoken |
4 |
Recommended, SLDS, BestPractices, CSS |
Avoid using --slds styling hooks as fallback values for --lwc tokens. |
@salesforce-ux/slds/no-unsupported-hooks-slds2 |
3 |
Recommended, SLDS, ErrorProne, CSS |
Replace deprecated --slds styling hooks. See lightningdesignsystem.com for more info. |
@salesforce-ux/slds/reduce-annotations |
4 |
Recommended, SLDS, BestPractices, CSS |
Remove your annotations and update your code. |
@salesforce/lightning/valid-apex-method-invocation |
3 |
Recommended, LWC, ErrorProne, JavaScript |
enforce invoking Apex methods with the right arguments |
@typescript-eslint/adjacent-overload-signatures |
3 |
BestPractices, TypeScript |
Require that function overload signatures be consecutive |
@typescript-eslint/array-type |
3 |
BestPractices, TypeScript, Fixable |
Require consistently using either T[] or Array<T> for arrays |
@typescript-eslint/await-thenable |
2 |
ErrorProne, TypeScript |
Disallow awaiting a value that is not a Thenable |
@typescript-eslint/ban-ts-comment |
2 |
Recommended, ErrorProne, TypeScript |
Disallow @ts-<directive> comments or require descriptions after directives |
@typescript-eslint/ban-tslint-comment |
3 |
BestPractices, TypeScript, Fixable |
Disallow // tslint:<rule-flag> comments |
@typescript-eslint/class-literal-property-style |
2 |
ErrorProne, TypeScript |
Enforce that literals on classes are exposed in a consistent style |
@typescript-eslint/class-methods-use-this |
3 |
BestPractices, TypeScript |
Enforce that class methods utilize this |
@typescript-eslint/consistent-generic-constructors |
3 |
BestPractices, TypeScript, Fixable |
Enforce specifying generic type arguments on type annotation or constructor name of a constructor call |
@typescript-eslint/consistent-indexed-object-style |
3 |
BestPractices, TypeScript, Fixable |
Require or disallow the Record type |
@typescript-eslint/consistent-return |
3 |
BestPractices, TypeScript |
Require return statements to either always or never specify values |
@typescript-eslint/consistent-type-assertions |
3 |
BestPractices, TypeScript, Fixable |
Enforce consistent usage of type assertions |
@typescript-eslint/consistent-type-definitions |
3 |
BestPractices, TypeScript, Fixable |
Enforce type definitions to consistently use either interface or type |
@typescript-eslint/consistent-type-exports |
3 |
BestPractices, TypeScript, Fixable |
Enforce consistent usage of type exports |
@typescript-eslint/consistent-type-imports |
3 |
BestPractices, TypeScript, Fixable |
Enforce consistent usage of type imports |
@typescript-eslint/default-param-last |
3 |
BestPractices, TypeScript |
Enforce default parameters to be last |
@typescript-eslint/dot-notation |
3 |
BestPractices, TypeScript, Fixable |
Enforce dot notation whenever possible |
@typescript-eslint/explicit-function-return-type |
2 |
ErrorProne, TypeScript |
Require explicit return types on functions and class methods |
@typescript-eslint/explicit-member-accessibility |
2 |
ErrorProne, TypeScript, Fixable |
Require explicit accessibility modifiers on class properties and methods |
@typescript-eslint/explicit-module-boundary-types |
2 |
ErrorProne, TypeScript |
Require explicit return and argument types on exported functions' and classes' public class methods |
@typescript-eslint/init-declarations |
3 |
BestPractices, TypeScript |
Require or disallow initialization in variable declarations |
@typescript-eslint/max-params |
3 |
BestPractices, TypeScript |
Enforce a maximum number of parameters in function definitions |
@typescript-eslint/member-ordering |
3 |
BestPractices, TypeScript |
Require a consistent member declaration order |
@typescript-eslint/method-signature-style |
3 |
BestPractices, TypeScript, Fixable |
Enforce using a particular method signature syntax |
@typescript-eslint/naming-convention |
3 |
BestPractices, TypeScript |
Enforce naming conventions for everything across a codebase |
@typescript-eslint/no-array-constructor |
3 |
Recommended, BestPractices, TypeScript, Fixable |
Disallow generic Array constructors |
@typescript-eslint/no-array-delete |
2 |
ErrorProne, TypeScript |
Disallow using the delete operator on array values |
@typescript-eslint/no-base-to-string |
3 |
BestPractices, TypeScript |
Require .toString() and .toLocaleString() to only be called on objects which provide useful information when stringified |
@typescript-eslint/no-confusing-non-null-assertion |
2 |
ErrorProne, TypeScript |
Disallow non-null assertion in locations that may be confusing |
@typescript-eslint/no-confusing-void-expression |
2 |
ErrorProne, TypeScript, Fixable |
Require expressions of type void to appear in statement position |
@typescript-eslint/no-deprecated |
2 |
ErrorProne, TypeScript |
Disallow using code marked as @deprecated |
@typescript-eslint/no-dupe-class-members |
2 |
ErrorProne, TypeScript |
Disallow duplicate class members |
@typescript-eslint/no-duplicate-enum-values |
2 |
Recommended, ErrorProne, TypeScript |
Disallow duplicate enum member values |
@typescript-eslint/no-duplicate-type-constituents |
3 |
BestPractices, TypeScript, Fixable |
Disallow duplicate constituents of union or intersection types |
@typescript-eslint/no-dynamic-delete |
3 |
BestPractices, TypeScript |
Disallow using the delete operator on computed key expressions |
@typescript-eslint/no-empty-function |
3 |
BestPractices, TypeScript |
Disallow empty functions |
@typescript-eslint/no-empty-object-type |
3 |
Recommended, BestPractices, TypeScript |
Disallow accidentally using the "empty object" type |
@typescript-eslint/no-explicit-any |
3 |
Recommended, BestPractices, TypeScript, Fixable |
Disallow the any type |
@typescript-eslint/no-extra-non-null-assertion |
2 |
Recommended, ErrorProne, TypeScript, Fixable |
Disallow extra non-null assertions |
@typescript-eslint/no-extraneous-class |
3 |
BestPractices, TypeScript |
Disallow classes used as namespaces |
@typescript-eslint/no-floating-promises |
2 |
ErrorProne, TypeScript |
Require Promise-like statements to be handled appropriately |
@typescript-eslint/no-for-in-array |
2 |
ErrorProne, TypeScript |
Disallow iterating over an array with a for-in loop |
@typescript-eslint/no-implied-eval |
3 |
BestPractices, TypeScript |
Disallow the use of eval()-like functions |
@typescript-eslint/no-import-type-side-effects |
2 |
ErrorProne, TypeScript, Fixable |
Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers |
@typescript-eslint/no-inferrable-types |
3 |
BestPractices, TypeScript, Fixable |
Disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean |
@typescript-eslint/no-invalid-this |
3 |
BestPractices, TypeScript |
Disallow this keywords outside of classes or class-like objects |
@typescript-eslint/no-invalid-void-type |
2 |
ErrorProne, TypeScript |
Disallow void type outside of generic or return types |
@typescript-eslint/no-magic-numbers |
3 |
BestPractices, TypeScript |
Disallow magic numbers |
@typescript-eslint/no-meaningless-void-operator |
3 |
BestPractices, TypeScript, Fixable |
Disallow the void operator except when used to discard a value |
@typescript-eslint/no-misused-new |
2 |
Recommended, ErrorProne, TypeScript |
Enforce valid definition of new and constructor |
@typescript-eslint/no-misused-promises |
2 |
ErrorProne, TypeScript |
Disallow Promises in places not designed to handle them |
@typescript-eslint/no-misused-spread |
2 |
ErrorProne, TypeScript |
Disallow using the spread operator when it might cause unexpected behavior |
@typescript-eslint/no-mixed-enums |
2 |
ErrorProne, TypeScript |
Disallow enums from having both number and string members |
@typescript-eslint/no-namespace |
3 |
Recommended, BestPractices, TypeScript |
Disallow TypeScript namespaces |
@typescript-eslint/no-non-null-asserted-nullish-coalescing |
2 |
ErrorProne, TypeScript |
Disallow non-null assertions in the left operand of a nullish coalescing operator |
@typescript-eslint/no-non-null-asserted-optional-chain |
2 |
Recommended, ErrorProne, TypeScript |
Disallow non-null assertions after an optional chain expression |
@typescript-eslint/no-non-null-assertion |
2 |
ErrorProne, TypeScript |
Disallow non-null assertions using the ! postfix operator |
@typescript-eslint/no-redeclare |
3 |
BestPractices, TypeScript |
Disallow variable redeclaration |
@typescript-eslint/no-redundant-type-constituents |
3 |
BestPractices, TypeScript |
Disallow members of unions and intersections that do nothing or override type information |
@typescript-eslint/no-require-imports |
2 |
Recommended, ErrorProne, TypeScript |
Disallow invocation of require() |
@typescript-eslint/no-restricted-types |
3 |
BestPractices, TypeScript, Fixable |
Disallow certain types |
@typescript-eslint/no-shadow |
3 |
BestPractices, TypeScript |
Disallow variable declarations from shadowing variables declared in the outer scope |
@typescript-eslint/no-this-alias |
3 |
Recommended, BestPractices, TypeScript |
Disallow aliasing this |
@typescript-eslint/no-unnecessary-boolean-literal-compare |
3 |
BestPractices, TypeScript, Fixable |
Disallow unnecessary equality comparisons against boolean literals |
@typescript-eslint/no-unnecessary-condition |
3 |
BestPractices, TypeScript |
Disallow conditionals where the type is always truthy or always falsy |
@typescript-eslint/no-unnecessary-parameter-property-assignment |
3 |
BestPractices, TypeScript |
Disallow unnecessary assignment of constructor property parameter |
@typescript-eslint/no-unnecessary-qualifier |
3 |
BestPractices, TypeScript, Fixable |
Disallow unnecessary namespace qualifiers |
@typescript-eslint/no-unnecessary-template-expression |
3 |
BestPractices, TypeScript, Fixable |
Disallow unnecessary template expressions |
@typescript-eslint/no-unnecessary-type-arguments |
3 |
BestPractices, TypeScript, Fixable |
Disallow type arguments that are equal to the default |
@typescript-eslint/no-unnecessary-type-assertion |
3 |
BestPractices, TypeScript, Fixable |
Disallow type assertions that do not change the type of an expression |
@typescript-eslint/no-unnecessary-type-constraint |
3 |
Recommended, BestPractices, TypeScript |
Disallow unnecessary constraints on generic types |
@typescript-eslint/no-unnecessary-type-conversion |
3 |
BestPractices, TypeScript |
Disallow conversion idioms when they do not change the type or value of the expression |
@typescript-eslint/no-unnecessary-type-parameters |
2 |
ErrorProne, TypeScript |
Disallow type parameters that aren't used multiple times |
@typescript-eslint/no-unsafe-argument |
2 |
ErrorProne, TypeScript |
Disallow calling a function with a value with type any |
@typescript-eslint/no-unsafe-assignment |
2 |
ErrorProne, TypeScript |
Disallow assigning a value with type any to variables and properties |
@typescript-eslint/no-unsafe-call |
2 |
ErrorProne, TypeScript |
Disallow calling a value with type any |
@typescript-eslint/no-unsafe-declaration-merging |
2 |
Recommended, ErrorProne, TypeScript |
Disallow unsafe declaration merging |
@typescript-eslint/no-unsafe-enum-comparison |
3 |
BestPractices, TypeScript |
Disallow comparing an enum value with a non-enum value |
@typescript-eslint/no-unsafe-function-type |
2 |
Recommended, ErrorProne, TypeScript |
Disallow using the unsafe built-in Function type |
@typescript-eslint/no-unsafe-member-access |
2 |
ErrorProne, TypeScript |
Disallow member access on a value with type any |
@typescript-eslint/no-unsafe-return |
2 |
ErrorProne, TypeScript |
Disallow returning a value with type any from a function |
@typescript-eslint/no-unsafe-type-assertion |
2 |
ErrorProne, TypeScript |
Disallow type assertions that narrow a type |
@typescript-eslint/no-unsafe-unary-minus |
2 |
ErrorProne, TypeScript |
Require unary negation to take a number |
@typescript-eslint/no-unused-expressions |
3 |
Recommended, BestPractices, TypeScript |
Disallow unused expressions |
@typescript-eslint/no-unused-private-class-members |
2 |
ErrorProne, TypeScript |
Disallow unused private class members |
@typescript-eslint/no-unused-vars |
2 |
Recommended, ErrorProne, TypeScript, Fixable |
Disallow unused variables |
@typescript-eslint/no-use-before-define |
2 |
ErrorProne, TypeScript |
Disallow the use of variables before they are defined |
@typescript-eslint/no-useless-constructor |
2 |
ErrorProne, TypeScript |
Disallow unnecessary constructors |
@typescript-eslint/no-useless-default-assignment |
3 |
BestPractices, TypeScript, Fixable |
Disallow default values that will never be used |
@typescript-eslint/no-useless-empty-export |
3 |
BestPractices, TypeScript, Fixable |
Disallow empty exports that don't change anything in a module file |
@typescript-eslint/no-wrapper-object-types |
2 |
Recommended, ErrorProne, TypeScript, Fixable |
Disallow using confusing built-in primitive class wrappers |
@typescript-eslint/non-nullable-type-assertion-style |
3 |
BestPractices, TypeScript, Fixable |
Enforce non-null assertions over explicit type assertions |
@typescript-eslint/only-throw-error |
2 |
ErrorProne, TypeScript |
Disallow throwing non-Error values as exceptions |
@typescript-eslint/parameter-properties |
2 |
ErrorProne, TypeScript |
Require or disallow parameter properties in class constructors |
@typescript-eslint/prefer-as-const |
3 |
Recommended, BestPractices, TypeScript, Fixable |
Enforce the use of as const over literal type |
@typescript-eslint/prefer-destructuring |
3 |
BestPractices, TypeScript, Fixable |
Require destructuring from arrays and/or objects |
@typescript-eslint/prefer-enum-initializers |
3 |
BestPractices, TypeScript |
Require each enum member value to be explicitly initialized |
@typescript-eslint/prefer-find |
3 |
BestPractices, TypeScript |
Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result |
@typescript-eslint/prefer-for-of |
3 |
BestPractices, TypeScript |
Enforce the use of for-of loop over the standard for loop where possible |
@typescript-eslint/prefer-function-type |
3 |
BestPractices, TypeScript, Fixable |
Enforce using function types instead of interfaces with call signatures |
@typescript-eslint/prefer-includes |
3 |
BestPractices, TypeScript, Fixable |
Enforce includes method over indexOf method |
@typescript-eslint/prefer-literal-enum-member |
3 |
BestPractices, TypeScript |
Require all enum members to be literal values |
@typescript-eslint/prefer-namespace-keyword |
3 |
Recommended, BestPractices, TypeScript, Fixable |
Require using namespace keyword over module keyword to declare custom TypeScript modules |
@typescript-eslint/prefer-nullish-coalescing |
3 |
BestPractices, TypeScript |
Enforce using the nullish coalescing operator instead of logical assignments or chaining |
@typescript-eslint/prefer-optional-chain |
3 |
BestPractices, TypeScript, Fixable |
Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects |
@typescript-eslint/prefer-promise-reject-errors |
3 |
BestPractices, TypeScript |
Require using Error objects as Promise rejection reasons |
@typescript-eslint/prefer-readonly |
3 |
BestPractices, TypeScript, Fixable |
Require private members to be marked as readonly if they're never modified outside of the constructor |
@typescript-eslint/prefer-readonly-parameter-types |
3 |
BestPractices, TypeScript |
Require function parameters to be typed as readonly to prevent accidental mutation of inputs |
@typescript-eslint/prefer-reduce-type-parameter |
2 |
ErrorProne, TypeScript, Fixable |
Enforce using type parameter when calling Array#reduce instead of using a type assertion |
@typescript-eslint/prefer-regexp-exec |
3 |
BestPractices, TypeScript, Fixable |
Enforce RegExp#exec over String#match if no global flag is provided |
@typescript-eslint/prefer-return-this-type |
3 |
BestPractices, TypeScript, Fixable |
Enforce that this is used when only this type is returned |
@typescript-eslint/prefer-string-starts-ends-with |
3 |
BestPractices, TypeScript, Fixable |
Enforce using String#startsWith and String#endsWith over other equivalent methods of checking substrings |
@typescript-eslint/promise-function-async |
3 |
BestPractices, TypeScript, Fixable |
Require any function or method that returns a Promise to be marked async |
@typescript-eslint/related-getter-setter-pairs |
2 |
ErrorProne, TypeScript |
Enforce that get() types should be assignable to their equivalent set() type |
@typescript-eslint/require-array-sort-compare |
2 |
ErrorProne, TypeScript |
Require Array#sort and Array#toSorted calls to always provide a compareFunction |
@typescript-eslint/require-await |
3 |
BestPractices, TypeScript |
Disallow async functions which do not return promises and have no await expression |
@typescript-eslint/restrict-plus-operands |
2 |
ErrorProne, TypeScript |
Require both operands of addition to be the same type and be bigint, number, or string |
@typescript-eslint/restrict-template-expressions |
2 |
ErrorProne, TypeScript |
Enforce template literal expressions to be of string type |
@typescript-eslint/return-await |
2 |
ErrorProne, TypeScript, Fixable |
Enforce consistent awaiting of returned promises |
@typescript-eslint/strict-boolean-expressions |
3 |
BestPractices, TypeScript |
Disallow certain types in boolean expressions |
@typescript-eslint/strict-void-return |
2 |
ErrorProne, TypeScript |
Disallow passing a value-returning function in a position accepting a void function |
@typescript-eslint/switch-exhaustiveness-check |
3 |
BestPractices, TypeScript |
Require switch-case statements to be exhaustive |
@typescript-eslint/triple-slash-reference |
3 |
Recommended, BestPractices, TypeScript |
Disallow certain triple slash directives in favor of ES6-style import declarations |
@typescript-eslint/unbound-method |
2 |
ErrorProne, TypeScript |
Enforce unbound methods are called with their expected scope |
@typescript-eslint/unified-signatures |
3 |
BestPractices, TypeScript |
Disallow two overloads that could be unified into one with a union or an optional/rest parameter |
@typescript-eslint/use-unknown-in-catch-callback-variable |
3 |
BestPractices, TypeScript |
Enforce typing arguments in Promise rejection callbacks as unknown |
accessor-pairs |
3 |
BestPractices, JavaScript, TypeScript |
Enforce getter and setter pairs in objects and classes |
array-callback-return |
2 |
ErrorProne, JavaScript, TypeScript |
Enforce return statements in callbacks of array methods |
arrow-body-style |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Require braces around arrow function bodies |
block-scoped-var |
3 |
BestPractices, JavaScript, TypeScript |
Enforce the use of variables within the scope they are defined |
camelcase |
3 |
BestPractices, JavaScript, TypeScript |
Enforce camelcase naming convention |
capitalized-comments |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Enforce or disallow capitalization of the first letter of a comment |
class-methods-use-this |
3 |
BestPractices, JavaScript |
Enforce that class methods utilize this |
complexity |
3 |
BestPractices, JavaScript, TypeScript |
Enforce a maximum cyclomatic complexity allowed in a program |
consistent-return |
3 |
BestPractices, JavaScript |
Require return statements to either always or never specify values |
consistent-this |
3 |
BestPractices, JavaScript, TypeScript |
Enforce consistent naming when capturing the current execution context |
constructor-super |
2 |
Recommended, ErrorProne, JavaScript |
Require super() calls in constructors |
curly |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Enforce consistent brace style for all control statements |
default-case |
3 |
BestPractices, JavaScript, TypeScript |
Require default cases in switch statements |
default-case-last |
3 |
BestPractices, JavaScript, TypeScript |
Enforce default clauses in switch statements to be last |
default-param-last |
3 |
BestPractices, JavaScript |
Enforce default parameters to be last |
dot-notation |
3 |
BestPractices, JavaScript, Fixable |
Enforce dot notation whenever possible |
eqeqeq |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Require the use of === and !== |
for-direction |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Enforce for loop update clause moving the counter in the right direction |
func-name-matching |
3 |
BestPractices, JavaScript, TypeScript |
Require function names to match the name of the variable or property to which they are assigned |
func-names |
3 |
BestPractices, JavaScript, TypeScript |
Require or disallow named function expressions |
func-style |
3 |
BestPractices, JavaScript, TypeScript |
Enforce the consistent use of either function declarations or expressions assigned to variables |
getter-return |
2 |
Recommended, ErrorProne, JavaScript |
Enforce return statements in getters |
grouped-accessor-pairs |
3 |
BestPractices, JavaScript, TypeScript |
Require grouped accessor pairs in object literals and classes |
guard-for-in |
3 |
BestPractices, JavaScript, TypeScript |
Require for-in loops to include an if statement |
id-denylist |
3 |
BestPractices, JavaScript, TypeScript |
Disallow specified identifiers |
id-length |
3 |
BestPractices, JavaScript, TypeScript |
Enforce minimum and maximum identifier lengths |
id-match |
3 |
BestPractices, JavaScript, TypeScript |
Require identifiers to match a specified regular expression |
import/default |
2 |
Recommended, LWC, ErrorProne, JavaScript |
Ensure a default export is present, given a default import. |
import/export |
2 |
Recommended, LWC, ErrorProne, JavaScript |
Forbid any invalid exports, i.e. re-export of the same name. |
import/named |
2 |
Recommended, LWC, ErrorProne, JavaScript |
Ensure named imports correspond to a named export in the remote file. |
import/namespace |
2 |
Recommended, LWC, ErrorProne, JavaScript |
Ensure imported namespaces contain dereferenced properties as they are dereferenced. |
init-declarations |
3 |
BestPractices, JavaScript |
Require or disallow initialization in variable declarations |
jest/expect-expect |
5 |
Recommended, LWC, BestPractices, JavaScript |
Enforce assertion to be made in a test body |
jest/no-alias-methods |
3 |
Recommended, LWC, BestPractices, JavaScript, Fixable |
Disallow alias methods |
jest/no-commented-out-tests |
5 |
Recommended, LWC, BestPractices, JavaScript |
Disallow commented out tests |
jest/no-conditional-expect |
2 |
Recommended, LWC, ErrorProne, JavaScript |
Disallow calling expect conditionally |
jest/no-disabled-tests |
5 |
Recommended, LWC, BestPractices, JavaScript |
Disallow disabled tests |
jest/no-done-callback |
3 |
Recommended, LWC, BestPractices, JavaScript |
Disallow using a callback in asynchronous tests and hooks |
jest/no-export |
3 |
Recommended, LWC, BestPractices, JavaScript |
Disallow using exports in files containing tests |
jest/no-focused-tests |
3 |
Recommended, LWC, BestPractices, JavaScript |
Disallow focused tests |
jest/no-identical-title |
3 |
Recommended, LWC, BestPractices, JavaScript |
Disallow identical titles |
jest/no-interpolation-in-snapshots |
2 |
Recommended, LWC, ErrorProne, JavaScript |
Disallow string interpolation inside snapshots |
jest/no-jasmine-globals |
3 |
Recommended, LWC, BestPractices, JavaScript, Fixable |
Disallow Jasmine globals |
jest/no-mocks-import |
2 |
Recommended, LWC, ErrorProne, JavaScript |
Disallow manually importing from __mocks__ |
jest/no-standalone-expect |
3 |
Recommended, LWC, BestPractices, JavaScript |
Disallow using expect outside of it or test blocks |
jest/no-test-prefixes |
3 |
Recommended, LWC, BestPractices, JavaScript, Fixable |
Require using .only and .skip over f and x |
jest/valid-describe-callback |
2 |
Recommended, LWC, ErrorProne, JavaScript |
Enforce valid describe() callback |
jest/valid-expect |
3 |
Recommended, LWC, BestPractices, JavaScript, Fixable |
Enforce valid expect() usage |
jest/valid-expect-in-promise |
3 |
Recommended, LWC, BestPractices, JavaScript |
Require promises that have expectations in their chain to be valid |
jest/valid-title |
3 |
Recommended, LWC, BestPractices, JavaScript, Fixable |
Enforce valid titles |
jsx-a11y/alt-text |
2 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce all elements that require alternative text have meaningful information to relay back to end user. |
jsx-a11y/anchor-has-content |
3 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce all anchors to contain accessible content. |
jsx-a11y/anchor-is-valid |
2 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce all anchors are valid, navigable elements. |
jsx-a11y/aria-activedescendant-has-tabindex |
3 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce elements with aria-activedescendant are tabbable. |
jsx-a11y/aria-props |
3 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce all aria-* props are valid. |
jsx-a11y/aria-proptypes |
3 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce ARIA state and property values are valid. |
jsx-a11y/aria-role |
3 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce that elements with ARIA roles must use a valid, non-abstract ARIA role. |
jsx-a11y/aria-unsupported-elements |
3 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes. |
jsx-a11y/autocomplete-valid |
3 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce that autocomplete attributes are used correctly. |
jsx-a11y/click-events-have-key-events |
2 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce a clickable non-interactive element has at least one keyboard event listener. |
jsx-a11y/heading-has-content |
2 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce heading (h1, h2, etc) elements contain accessible content. |
jsx-a11y/html-has-lang |
3 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce <html> element has lang prop. |
jsx-a11y/iframe-has-title |
3 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce iframe elements have a title attribute. |
jsx-a11y/img-redundant-alt |
2 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce <img> alt prop does not contain the word "image", "picture", or "photo". |
jsx-a11y/interactive-supports-focus |
3 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce that elements with interactive handlers like onClick must be focusable. |
jsx-a11y/label-has-associated-control |
3 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce that a label tag has a text label and an associated control. |
jsx-a11y/media-has-caption |
2 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforces that <audio> and <video> elements must have a <track> for captions. |
jsx-a11y/mouse-events-have-key-events |
2 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce that onMouseOver/onMouseOut are accompanied by onFocus/onBlur for keyboard-only users. |
jsx-a11y/no-access-key |
2 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce that the accessKey prop is not used on any element to avoid complications with keyboard commands used by a screen reader. |
jsx-a11y/no-autofocus |
2 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce autoFocus prop is not used. |
jsx-a11y/no-distracting-elements |
2 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce distracting elements are not used. |
jsx-a11y/no-interactive-element-to-noninteractive-role |
3 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Interactive elements should not be assigned non-interactive roles. |
jsx-a11y/no-noninteractive-element-interactions |
3 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Non-interactive elements should not be assigned mouse or keyboard event listeners. |
jsx-a11y/no-noninteractive-element-to-interactive-role |
3 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Non-interactive elements should not be assigned interactive roles. |
jsx-a11y/no-noninteractive-tabindex |
3 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
tabIndex should only be declared on interactive elements. |
jsx-a11y/no-redundant-roles |
3 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce explicit role property is not the same as implicit/default role property on element. |
jsx-a11y/no-static-element-interactions |
3 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce that non-interactive, visible elements (such as <div>) that have click handlers use the role attribute. |
jsx-a11y/role-has-required-aria-props |
3 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce that elements with ARIA roles must have all required attributes for that role. |
jsx-a11y/role-supports-aria-props |
3 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce that elements with explicit or implicit roles defined contain only aria-* properties supported by that role. |
jsx-a11y/scope |
3 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce scope prop is only used on <th> elements. |
jsx-a11y/tabindex-no-positive |
2 |
Recommended, A11y, React, BestPractices, JavaScript, TypeScript |
Enforce tabIndex value is not greater than zero. |
logical-assignment-operators |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Require or disallow logical assignment operator shorthand |
max-classes-per-file |
3 |
BestPractices, JavaScript, TypeScript |
Enforce a maximum number of classes per file |
max-depth |
3 |
BestPractices, JavaScript, TypeScript |
Enforce a maximum depth that blocks can be nested |
max-lines |
3 |
BestPractices, JavaScript, TypeScript |
Enforce a maximum number of lines per file |
max-lines-per-function |
3 |
BestPractices, JavaScript, TypeScript |
Enforce a maximum number of lines of code in a function |
max-nested-callbacks |
3 |
BestPractices, JavaScript, TypeScript |
Enforce a maximum depth that callbacks can be nested |
max-params |
3 |
BestPractices, JavaScript |
Enforce a maximum number of parameters in function definitions |
max-statements |
3 |
BestPractices, JavaScript, TypeScript |
Enforce a maximum number of statements allowed in function blocks |
new-cap |
3 |
BestPractices, JavaScript, TypeScript |
Require constructor names to begin with a capital letter |
no-alert |
3 |
BestPractices, JavaScript, TypeScript |
Disallow the use of alert, confirm, and prompt |
no-array-constructor |
3 |
BestPractices, JavaScript, Fixable |
Disallow Array constructors |
no-async-promise-executor |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow using an async function as a Promise executor |
no-await-in-loop |
2 |
ErrorProne, JavaScript, TypeScript |
Disallow await inside of loops |
no-bitwise |
3 |
BestPractices, JavaScript, TypeScript |
Disallow bitwise operators |
no-caller |
3 |
BestPractices, JavaScript, TypeScript |
Disallow the use of arguments.caller or arguments.callee |
no-case-declarations |
3 |
Recommended, BestPractices, JavaScript, TypeScript |
Disallow lexical declarations in case clauses |
no-class-assign |
2 |
Recommended, ErrorProne, JavaScript |
Disallow reassigning class members |
no-compare-neg-zero |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow comparing against -0 |
no-cond-assign |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow assignment operators in conditional expressions |
no-console |
3 |
BestPractices, JavaScript, TypeScript |
Disallow the use of console |
no-const-assign |
2 |
Recommended, ErrorProne, JavaScript |
Disallow reassigning const, using, and await using variables |
no-constant-binary-expression |
2 |
ErrorProne, JavaScript, TypeScript |
Disallow expressions where the operation doesn't affect the value |
no-constant-condition |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow constant expressions in conditions |
no-constructor-return |
2 |
ErrorProne, JavaScript, TypeScript |
Disallow returning value from constructor |
no-continue |
3 |
BestPractices, JavaScript, TypeScript |
Disallow continue statements |
no-control-regex |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow control characters in regular expressions |
no-debugger |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow the use of debugger |
no-delete-var |
3 |
Recommended, BestPractices, JavaScript, TypeScript |
Disallow deleting variables |
no-div-regex |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Disallow equal signs explicitly at the beginning of regular expressions |
no-dupe-args |
2 |
Recommended, ErrorProne, JavaScript |
Disallow duplicate arguments in function definitions |
no-dupe-class-members |
2 |
Recommended, ErrorProne, JavaScript |
Disallow duplicate class members |
no-dupe-else-if |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow duplicate conditions in if-else-if chains |
no-dupe-keys |
2 |
Recommended, ErrorProne, JavaScript |
Disallow duplicate keys in object literals |
no-duplicate-case |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow duplicate case labels |
no-duplicate-imports |
2 |
ErrorProne, JavaScript, TypeScript |
Disallow duplicate module imports |
no-else-return |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Disallow else blocks after return statements in if statements |
no-empty |
3 |
Recommended, BestPractices, JavaScript, TypeScript |
Disallow empty block statements |
no-empty-character-class |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow empty character classes in regular expressions |
no-empty-function |
3 |
BestPractices, JavaScript |
Disallow empty functions |
no-empty-pattern |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow empty destructuring patterns |
no-empty-static-block |
3 |
BestPractices, JavaScript, TypeScript |
Disallow empty static blocks |
no-eq-null |
3 |
BestPractices, JavaScript, TypeScript |
Disallow null comparisons without type-checking operators |
no-eval |
3 |
BestPractices, JavaScript, TypeScript |
Disallow the use of eval() |
no-ex-assign |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow reassigning exceptions in catch clauses |
no-extend-native |
3 |
BestPractices, JavaScript, TypeScript |
Disallow extending native types |
no-extra-bind |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Disallow unnecessary calls to .bind() |
no-extra-boolean-cast |
3 |
Recommended, BestPractices, JavaScript, TypeScript, Fixable |
Disallow unnecessary boolean casts |
no-extra-label |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Disallow unnecessary labels |
no-fallthrough |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow fallthrough of case statements |
no-func-assign |
2 |
Recommended, ErrorProne, JavaScript |
Disallow reassigning function declarations |
no-global-assign |
3 |
Recommended, BestPractices, JavaScript, TypeScript |
Disallow assignments to native objects or read-only global variables |
no-implicit-coercion |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Disallow shorthand type conversions |
no-implicit-globals |
3 |
BestPractices, JavaScript, TypeScript |
Disallow declarations in the global scope |
no-implied-eval |
3 |
BestPractices, JavaScript |
Disallow the use of eval()-like methods |
no-import-assign |
2 |
Recommended, ErrorProne, JavaScript |
Disallow assigning to imported bindings |
no-inline-comments |
3 |
BestPractices, JavaScript, TypeScript |
Disallow inline comments after code |
no-inner-declarations |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow variable or function declarations in nested blocks |
no-invalid-regexp |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow invalid regular expression strings in RegExp constructors |
no-invalid-this |
3 |
BestPractices, JavaScript |
Disallow use of this in contexts where the value of this is undefined |
no-irregular-whitespace |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow irregular whitespace |
no-iterator |
3 |
BestPractices, JavaScript, TypeScript |
Disallow the use of the __iterator__ property |
no-label-var |
3 |
BestPractices, JavaScript, TypeScript |
Disallow labels that share a name with a variable |
no-labels |
3 |
BestPractices, JavaScript, TypeScript |
Disallow labeled statements |
no-lone-blocks |
3 |
BestPractices, JavaScript, TypeScript |
Disallow unnecessary nested blocks |
no-lonely-if |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Disallow if statements as the only statement in else blocks |
no-loop-func |
3 |
BestPractices, JavaScript |
Disallow function declarations that contain unsafe references inside loop statements |
no-loss-of-precision |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow literal numbers that lose precision |
no-magic-numbers |
3 |
BestPractices, JavaScript |
Disallow magic numbers |
no-misleading-character-class |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow characters which are made with multiple code points in character class syntax |
no-multi-assign |
3 |
BestPractices, JavaScript, TypeScript |
Disallow use of chained assignment expressions |
no-multi-str |
3 |
BestPractices, JavaScript, TypeScript |
Disallow multiline strings |
no-negated-condition |
3 |
BestPractices, JavaScript, TypeScript |
Disallow negated conditions |
no-nested-ternary |
3 |
BestPractices, JavaScript, TypeScript |
Disallow nested ternary expressions |
no-new |
3 |
BestPractices, JavaScript, TypeScript |
Disallow new operators outside of assignments or comparisons |
no-new-func |
3 |
BestPractices, JavaScript, TypeScript |
Disallow new operators with the Function object |
no-new-native-nonconstructor |
2 |
ErrorProne, JavaScript |
Disallow new operators with global non-constructor functions |
no-new-wrappers |
3 |
BestPractices, JavaScript, TypeScript |
Disallow new operators with the String, Number, and Boolean objects |
no-nonoctal-decimal-escape |
3 |
Recommended, BestPractices, JavaScript, TypeScript |
Disallow \8 and \9 escape sequences in string literals |
no-obj-calls |
2 |
Recommended, ErrorProne, JavaScript |
Disallow calling global object properties as functions |
no-object-constructor |
3 |
BestPractices, JavaScript, TypeScript |
Disallow calls to the Object constructor without an argument |
no-octal |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow octal literals |
no-octal-escape |
3 |
BestPractices, JavaScript, TypeScript |
Disallow octal escape sequences in string literals |
no-param-reassign |
3 |
BestPractices, JavaScript, TypeScript |
Disallow reassigning function parameters |
no-plusplus |
3 |
BestPractices, JavaScript, TypeScript |
Disallow the unary operators ++ and -- |
no-promise-executor-return |
2 |
ErrorProne, JavaScript, TypeScript |
Disallow returning values from Promise executor functions |
no-proto |
3 |
BestPractices, JavaScript, TypeScript |
Disallow the use of the __proto__ property |
no-prototype-builtins |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow calling some Object.prototype methods directly on objects |
no-redeclare |
3 |
Recommended, BestPractices, JavaScript |
Disallow variable redeclaration |
no-regex-spaces |
3 |
Recommended, BestPractices, JavaScript, TypeScript, Fixable |
Disallow multiple spaces in regular expressions |
no-restricted-exports |
3 |
BestPractices, JavaScript, TypeScript |
Disallow specified names in exports |
no-restricted-globals |
3 |
BestPractices, JavaScript, TypeScript |
Disallow specified global variables |
no-restricted-imports |
3 |
BestPractices, JavaScript |
Disallow specified modules when loaded by import |
no-restricted-properties |
3 |
BestPractices, JavaScript, TypeScript |
Disallow certain properties on certain objects |
no-restricted-syntax |
3 |
BestPractices, JavaScript, TypeScript |
Disallow specified syntax |
no-return-assign |
3 |
BestPractices, JavaScript, TypeScript |
Disallow assignment operators in return statements |
no-script-url |
3 |
BestPractices, JavaScript, TypeScript |
Disallow javascript: URLs |
no-self-assign |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow assignments where both sides are exactly the same |
no-self-compare |
2 |
ErrorProne, JavaScript, TypeScript |
Disallow comparisons where both sides are exactly the same |
no-sequences |
3 |
BestPractices, JavaScript, TypeScript |
Disallow comma operators |
no-setter-return |
2 |
Recommended, ErrorProne, JavaScript |
Disallow returning values from setters |
no-shadow |
3 |
BestPractices, JavaScript |
Disallow variable declarations from shadowing variables declared in the outer scope |
no-shadow-restricted-names |
3 |
Recommended, BestPractices, JavaScript, TypeScript |
Disallow identifiers from shadowing restricted names |
no-sparse-arrays |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow sparse arrays |
no-template-curly-in-string |
2 |
ErrorProne, JavaScript, TypeScript |
Disallow template literal placeholder syntax in regular strings |
no-ternary |
3 |
BestPractices, JavaScript, TypeScript |
Disallow ternary operators |
no-this-before-super |
2 |
Recommended, ErrorProne, JavaScript |
Disallow this/super before calling super() in constructors |
no-throw-literal |
3 |
BestPractices, JavaScript |
Disallow throwing literals as exceptions |
no-unassigned-vars |
2 |
ErrorProne, JavaScript, TypeScript |
Disallow let or var variables that are read but never assigned |
no-undef |
2 |
Recommended, ErrorProne, JavaScript |
Disallow the use of undeclared variables unless mentioned in /*global */ comments |
no-undef-init |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Disallow initializing variables to undefined |
no-undefined |
3 |
BestPractices, JavaScript, TypeScript |
Disallow the use of undefined as an identifier |
no-underscore-dangle |
3 |
BestPractices, JavaScript, TypeScript |
Disallow dangling underscores in identifiers |
no-unexpected-multiline |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow confusing multiline expressions |
no-unmodified-loop-condition |
2 |
ErrorProne, JavaScript, TypeScript |
Disallow unmodified loop conditions |
no-unneeded-ternary |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Disallow ternary operators when simpler alternatives exist |
no-unreachable |
2 |
Recommended, ErrorProne, JavaScript |
Disallow unreachable code after return, throw, continue, and break statements |
no-unreachable-loop |
2 |
ErrorProne, JavaScript, TypeScript |
Disallow loops with a body that allows only one iteration |
no-unsafe-finally |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow control flow statements in finally blocks |
no-unsafe-negation |
2 |
Recommended, ErrorProne, JavaScript |
Disallow negating the left operand of relational operators |
no-unsafe-optional-chaining |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow use of optional chaining in contexts where the undefined value is not allowed |
no-unused-expressions |
3 |
BestPractices, JavaScript |
Disallow unused expressions |
no-unused-labels |
3 |
Recommended, BestPractices, JavaScript, TypeScript, Fixable |
Disallow unused labels |
no-unused-private-class-members |
2 |
ErrorProne, JavaScript, TypeScript |
Disallow unused private class members |
no-unused-vars |
2 |
Recommended, ErrorProne, JavaScript |
Disallow unused variables |
no-use-before-define |
2 |
ErrorProne, JavaScript |
Disallow the use of variables before they are defined |
no-useless-assignment |
2 |
ErrorProne, JavaScript, TypeScript |
Disallow variable assignments when the value is not used |
no-useless-backreference |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Disallow useless backreferences in regular expressions |
no-useless-call |
3 |
BestPractices, JavaScript, TypeScript |
Disallow unnecessary calls to .call() and .apply() |
no-useless-catch |
3 |
Recommended, BestPractices, JavaScript, TypeScript |
Disallow unnecessary catch clauses |
no-useless-computed-key |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Disallow unnecessary computed property keys in objects and classes |
no-useless-concat |
3 |
BestPractices, JavaScript, TypeScript |
Disallow unnecessary concatenation of literals or template literals |
no-useless-constructor |
3 |
BestPractices, JavaScript |
Disallow unnecessary constructors |
no-useless-escape |
3 |
Recommended, BestPractices, JavaScript, TypeScript |
Disallow unnecessary escape characters |
no-useless-rename |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Disallow renaming import, export, and destructured assignments to the same name |
no-useless-return |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Disallow redundant return statements |
no-var |
3 |
Recommended, BestPractices, JavaScript, TypeScript, Fixable |
Require let or const instead of var |
no-void |
3 |
BestPractices, JavaScript, TypeScript |
Disallow void operators |
no-warning-comments |
3 |
BestPractices, JavaScript, TypeScript |
Disallow specified warning terms in comments |
no-with |
3 |
Recommended, BestPractices, JavaScript |
Disallow with statements |
object-shorthand |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Require or disallow method and property shorthand syntax for object literals |
one-var |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Enforce variables to be declared either together or separately in functions |
operator-assignment |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Require or disallow assignment operator shorthand where possible |
prefer-arrow-callback |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Require using arrow functions for callbacks |
prefer-const |
3 |
Recommended, BestPractices, JavaScript, TypeScript, Fixable |
Require const declarations for variables that are never reassigned after declared |
prefer-destructuring |
3 |
BestPractices, JavaScript, Fixable |
Require destructuring from arrays and/or objects |
prefer-exponentiation-operator |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Disallow the use of Math.pow in favor of the ** operator |
prefer-named-capture-group |
3 |
BestPractices, JavaScript, TypeScript |
Enforce using named capture group in regular expression |
prefer-numeric-literals |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals |
prefer-object-has-own |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Disallow use of Object.prototype.hasOwnProperty.call() and prefer use of Object.hasOwn() |
prefer-object-spread |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead |
prefer-promise-reject-errors |
3 |
BestPractices, JavaScript |
Require using Error objects as Promise rejection reasons |
prefer-regex-literals |
3 |
BestPractices, JavaScript, TypeScript |
Disallow use of the RegExp constructor in favor of regular expression literals |
prefer-rest-params |
3 |
Recommended, BestPractices, JavaScript, TypeScript |
Require rest parameters instead of arguments |
prefer-spread |
3 |
Recommended, BestPractices, JavaScript, TypeScript |
Require spread operators instead of .apply() |
prefer-template |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Require template literals instead of string concatenation |
preserve-caught-error |
4 |
BestPractices, JavaScript, TypeScript |
Disallow losing originally caught error when re-throwing custom errors |
radix |
3 |
BestPractices, JavaScript, TypeScript |
Enforce the consistent use of the radix argument when using parseInt() |
react-hooks/exhaustive-deps |
3 |
Recommended, React, Design, JavaScript, TypeScript, Fixable |
verifies the list of dependencies for Hooks like useEffect and similar |
react-hooks/rules-of-hooks |
2 |
Recommended, React, Design, JavaScript, TypeScript |
enforces the Rules of Hooks |
react/boolean-prop-naming |
4 |
React, CodeStyle, JavaScript, TypeScript |
Enforces consistent naming for boolean props |
react/button-has-type |
3 |
React, ErrorProne, JavaScript, TypeScript |
Disallow usage of button elements without an explicit type attribute |
react/checked-requires-onchange-or-readonly |
3 |
React, BestPractices, JavaScript, TypeScript |
Enforce using onChange or readonly attribute when checked is used |
react/default-props-match-prop-types |
3 |
React, ErrorProne, JavaScript, TypeScript |
Enforce all defaultProps have a corresponding non-required PropType |
react/destructuring-assignment |
4 |
React, CodeStyle, JavaScript, TypeScript, Fixable |
Enforce consistent usage of destructuring assignment of props, state, and context |
react/display-name |
3 |
Recommended, React, BestPractices, JavaScript, TypeScript |
Disallow missing displayName in a React component definition |
react/forbid-component-props |
3 |
React, ErrorProne, JavaScript, TypeScript |
Disallow certain props on components |
react/forbid-dom-props |
3 |
React, BestPractices, JavaScript, TypeScript |
Disallow certain props on DOM Nodes |
react/forbid-elements |
4 |
React, CodeStyle, JavaScript, TypeScript |
Disallow certain elements |
react/forbid-foreign-prop-types |
3 |
React, ErrorProne, JavaScript, TypeScript |
Disallow using another component's propTypes |
react/forbid-prop-types |
4 |
React, CodeStyle, JavaScript, TypeScript |
Disallow certain propTypes |
react/forward-ref-uses-ref |
4 |
React, ErrorProne, JavaScript, TypeScript |
Require all forwardRef components include a ref parameter |
react/function-component-definition |
4 |
React, CodeStyle, JavaScript, TypeScript, Fixable |
Enforce a specific function type for function components |
react/hook-use-state |
3 |
React, ErrorProne, JavaScript, TypeScript |
Ensure destructuring and symmetric naming of useState hook value and setter variables |
react/iframe-missing-sandbox |
2 |
React, Security, JavaScript, TypeScript |
Enforce sandbox attribute on iframe elements |
react/jsx-boolean-value |
4 |
React, CodeStyle, JavaScript, TypeScript, Fixable |
Enforce boolean attributes notation in JSX |
react/jsx-child-element-spacing |
4 |
React, ErrorProne, JavaScript, TypeScript |
Enforce or disallow spaces inside of curly braces in JSX attributes and expressions |
react/jsx-closing-bracket-location |
4 |
React, CodeStyle, JavaScript, TypeScript, Fixable |
Enforce closing bracket location in JSX |
react/jsx-closing-tag-location |
4 |
React, CodeStyle, JavaScript, TypeScript, Fixable |
Enforce closing tag location for multiline JSX |
react/jsx-curly-brace-presence |
4 |
React, CodeStyle, JavaScript, TypeScript, Fixable |
Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes |
react/jsx-curly-newline |
4 |
React, CodeStyle, JavaScript, TypeScript, Fixable |
Enforce consistent linebreaks in curly braces in JSX attributes and expressions |
react/jsx-curly-spacing |
4 |
React, CodeStyle, JavaScript, TypeScript, Fixable |
Enforce or disallow spaces inside of curly braces in JSX attributes and expressions |
react/jsx-equals-spacing |
4 |
React, CodeStyle, JavaScript, TypeScript, Fixable |
Enforce or disallow spaces around equal signs in JSX attributes |
react/jsx-filename-extension |
3 |
React, BestPractices, JavaScript, TypeScript |
Disallow file extensions that may contain JSX |
react/jsx-first-prop-new-line |
4 |
React, CodeStyle, JavaScript, TypeScript, Fixable |
Enforce proper position of the first property in JSX |
react/jsx-fragments |
4 |
React, CodeStyle, JavaScript, TypeScript, Fixable |
Enforce shorthand or standard form for React fragments |
react/jsx-handler-names |
4 |
React, CodeStyle, JavaScript, TypeScript |
Enforce event handler naming conventions in JSX |
react/jsx-indent |
4 |
React, CodeStyle, JavaScript, TypeScript, Fixable |
Enforce JSX indentation |
react/jsx-indent-props |
4 |
React, CodeStyle, JavaScript, TypeScript, Fixable |
Enforce props indentation in JSX |
react/jsx-key |
3 |
Recommended, React, BestPractices, JavaScript, TypeScript |
Disallow missing key props in iterators/collection literals |
react/jsx-max-depth |
2 |
React, Design, JavaScript, TypeScript |
Enforce JSX maximum depth |
react/jsx-max-props-per-line |
4 |
React, CodeStyle, JavaScript, TypeScript, Fixable |
Enforce maximum of props on a single line in JSX |
react/jsx-newline |
4 |
React, CodeStyle, JavaScript, TypeScript, Fixable |
Require or prevent a new line after jsx elements and expressions. |
react/jsx-no-bind |
3 |
React, Performance, JavaScript, TypeScript |
Disallow .bind() or arrow functions in JSX props |
react/jsx-no-comment-textnodes |
3 |
Recommended, React, ErrorProne, JavaScript, TypeScript |
Disallow comments from being inserted as text nodes |
react/jsx-no-constructed-context-values |
2 |
React, Performance, JavaScript, TypeScript |
Disallows JSX context provider values from taking values that will cause needless rerenders |
react/jsx-no-duplicate-props |
2 |
Recommended, React, ErrorProne, JavaScript, TypeScript |
Disallow duplicate properties in JSX |
react/jsx-no-leaked-render |
3 |
React, ErrorProne, JavaScript, TypeScript, Fixable |
Disallow problematic leaked values from being rendered |
react/jsx-no-literals |
4 |
React, CodeStyle, JavaScript, TypeScript |
Disallow usage of string literals in JSX |
react/jsx-no-script-url |
2 |
React, Security, JavaScript, TypeScript |
Disallow usage of javascript: URLs |
react/jsx-no-target-blank |
2 |
Recommended, React, Security, JavaScript, TypeScript, Fixable |
Disallow target="_blank" attribute without rel="noreferrer" |
react/jsx-no-undef |
3 |
Recommended, React, ErrorProne, JavaScript, TypeScript |
Disallow undeclared variables in JSX |
react/jsx-no-useless-fragment |
4 |
React, Design, JavaScript, TypeScript, Fixable |
Disallow unnecessary fragments |
react/jsx-one-expression-per-line |
4 |
React, CodeStyle, JavaScript, TypeScript, Fixable |
Require one JSX element per line |
react/jsx-pascal-case |
4 |
React, CodeStyle, JavaScript, TypeScript |
Enforce PascalCase for user-defined JSX components |
react/jsx-props-no-multi-spaces |
4 |
React, CodeStyle, JavaScript, TypeScript, Fixable |
Disallow multiple spaces between inline JSX props |
react/jsx-props-no-spread-multi |
3 |
React, Performance, JavaScript, TypeScript |
Disallow JSX prop spreading the same identifier multiple times |
react/jsx-props-no-spreading |
4 |
React, CodeStyle, JavaScript, TypeScript |
Disallow JSX prop spreading |
react/jsx-sort-props |
4 |
React, CodeStyle, JavaScript, TypeScript, Fixable |
Enforce props alphabetical sorting |
react/jsx-tag-spacing |
4 |
React, CodeStyle, JavaScript, TypeScript, Fixable |
Enforce whitespace in and around the JSX opening and closing brackets |
react/jsx-uses-vars |
4 |
Recommended, React, BestPractices, JavaScript, TypeScript |
Disallow variables used in JSX to be incorrectly marked as unused |
react/jsx-wrap-multilines |
4 |
React, CodeStyle, JavaScript, TypeScript, Fixable |
Disallow missing parentheses around multiline JSX |
react/no-access-state-in-setstate |
3 |
React, ErrorProne, JavaScript, TypeScript |
Disallow when this.state is accessed within setState |
react/no-adjacent-inline-elements |
4 |
React, CodeStyle, JavaScript, TypeScript |
Disallow adjacent inline elements not separated by whitespace. |
react/no-array-index-key |
3 |
React, Performance, JavaScript, TypeScript |
Disallow usage of Array index in keys |
react/no-arrow-function-lifecycle |
3 |
React, Design, JavaScript, TypeScript, Fixable |
Lifecycle methods should be methods on the prototype, not class fields |
react/no-children-prop |
3 |
Recommended, React, BestPractices, JavaScript, TypeScript |
Disallow passing of children as props |
react/no-danger |
2 |
React, Security, JavaScript, TypeScript |
Disallow usage of dangerous JSX properties |
react/no-danger-with-children |
2 |
Recommended, React, Security, JavaScript, TypeScript |
Disallow when a DOM element is using both children and dangerouslySetInnerHTML |
react/no-deprecated |
4 |
Recommended, React, Design, JavaScript, TypeScript |
Disallow usage of deprecated methods |
react/no-did-mount-set-state |
3 |
React, Performance, JavaScript, TypeScript |
Disallow usage of setState in componentDidMount |
react/no-did-update-set-state |
3 |
React, Performance, JavaScript, TypeScript |
Disallow usage of setState in componentDidUpdate |
react/no-direct-mutation-state |
2 |
Recommended, React, ErrorProne, JavaScript, TypeScript |
Disallow direct mutation of this.state |
react/no-find-dom-node |
2 |
Recommended, React, BestPractices, JavaScript, TypeScript |
Disallow usage of findDOMNode |
react/no-invalid-html-attribute |
4 |
React, ErrorProne, JavaScript, TypeScript |
Disallow usage of invalid attributes |
react/no-is-mounted |
2 |
Recommended, React, BestPractices, JavaScript, TypeScript |
Disallow usage of isMounted |
react/no-multi-comp |
4 |
React, BestPractices, JavaScript, TypeScript |
Disallow multiple component definition per file |
react/no-namespace |
2 |
React, ErrorProne, JavaScript, TypeScript |
Enforce that namespaces are not used in React elements |
react/no-object-type-as-default-prop |
3 |
React, Performance, JavaScript, TypeScript |
Disallow usage of referential-type variables as default param in functional component |
react/no-redundant-should-component-update |
4 |
React, BestPractices, JavaScript, TypeScript |
Disallow usage of shouldComponentUpdate when extending React.PureComponent |
react/no-render-return-value |
3 |
Recommended, React, BestPractices, JavaScript, TypeScript |
Disallow usage of the return value of ReactDOM.render |
react/no-set-state |
4 |
React, Design, JavaScript, TypeScript |
Disallow usage of setState |
react/no-string-refs |
4 |
Recommended, React, BestPractices, JavaScript, TypeScript |
Disallow using string references |
react/no-this-in-sfc |
3 |
React, ErrorProne, JavaScript, TypeScript |
Disallow this from being used in stateless functional components |
react/no-typos |
3 |
React, ErrorProne, JavaScript, TypeScript |
Disallow common typos |
react/no-unescaped-entities |
3 |
Recommended, React, ErrorProne, JavaScript, TypeScript |
Disallow unescaped HTML entities from appearing in markup |
react/no-unknown-property |
3 |
Recommended, React, ErrorProne, JavaScript, TypeScript, Fixable |
Disallow usage of unknown DOM property |
react/no-unsafe |
3 |
React, ErrorProne, JavaScript, TypeScript |
Disallow usage of unsafe lifecycle methods |
react/no-unstable-nested-components |
4 |
React, ErrorProne, JavaScript, TypeScript |
Disallow creating unstable components inside components |
react/no-unused-class-component-methods |
4 |
React, Design, JavaScript, TypeScript |
Disallow declaring unused methods of component class |
react/no-unused-prop-types |
4 |
React, Design, JavaScript, TypeScript |
Disallow definitions of unused propTypes |
react/no-unused-state |
4 |
React, Design, JavaScript, TypeScript |
Disallow definitions of unused state |
react/no-will-update-set-state |
3 |
React, Design, JavaScript, TypeScript |
Disallow usage of setState in componentWillUpdate |
react/prefer-es6-class |
3 |
React, BestPractices, JavaScript, TypeScript |
Enforce ES5 or ES6 class for React Components |
react/prefer-exact-props |
3 |
React, ErrorProne, JavaScript, TypeScript |
Prefer exact proptype definitions |
react/prefer-read-only-props |
3 |
React, BestPractices, JavaScript, TypeScript, Fixable |
Enforce that props are read-only |
react/prefer-stateless-function |
4 |
React, BestPractices, JavaScript, TypeScript |
Enforce stateless components to be written as a pure function |
react/prop-types |
3 |
Recommended, React, BestPractices, JavaScript, TypeScript |
Disallow missing props validation in a React component definition |
react/require-default-props |
3 |
React, Design, JavaScript, TypeScript |
Enforce a defaultProps definition for every prop that is not a required prop |
react/require-optimization |
3 |
React, Performance, JavaScript, TypeScript |
Enforce React components to have a shouldComponentUpdate method |
react/require-render-return |
2 |
Recommended, React, ErrorProne, JavaScript, TypeScript |
Enforce ES5 or ES6 class for returning value in render function |
react/self-closing-comp |
4 |
React, CodeStyle, JavaScript, TypeScript, Fixable |
Disallow extra closing tags for components without children |
react/sort-comp |
4 |
React, CodeStyle, JavaScript, TypeScript |
Enforce component methods order |
react/sort-default-props |
4 |
React, CodeStyle, JavaScript, TypeScript |
Enforce defaultProps declarations alphabetical sorting |
react/sort-prop-types |
4 |
React, CodeStyle, JavaScript, TypeScript, Fixable |
Enforce propTypes declarations alphabetical sorting |
react/state-in-constructor |
4 |
React, CodeStyle, JavaScript, TypeScript |
Enforce class component state initialization style |
react/static-property-placement |
4 |
React, Design, JavaScript, TypeScript |
Enforces where React component static properties should be positioned. |
react/style-prop-object |
4 |
React, BestPractices, JavaScript, TypeScript |
Enforce style prop value is an object |
react/void-dom-elements-no-children |
3 |
React, ErrorProne, JavaScript, TypeScript |
Disallow void DOM elements (e.g. <img />, <br />) from receiving children |
require-atomic-updates |
2 |
ErrorProne, JavaScript, TypeScript |
Disallow assignments that can lead to race conditions due to usage of await or yield |
require-await |
3 |
BestPractices, JavaScript |
Disallow async functions which have no await expression |
require-unicode-regexp |
3 |
BestPractices, JavaScript, TypeScript |
Enforce the use of u or v flag on regular expressions |
require-yield |
3 |
Recommended, BestPractices, JavaScript, TypeScript |
Require generator functions to contain yield |
sort-imports |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Enforce sorted import declarations within modules |
sort-keys |
3 |
BestPractices, JavaScript, TypeScript |
Require object keys to be sorted |
sort-vars |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Require variables within the same declaration block to be sorted |
strict |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Require or disallow strict mode directives |
symbol-description |
3 |
BestPractices, JavaScript, TypeScript |
Require symbol descriptions |
unicode-bom |
4 |
CodeStyle, JavaScript, TypeScript, Fixable |
Require or disallow Unicode byte order mark (BOM) |
use-isnan |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Require calls to isNaN() when checking for NaN |
valid-typeof |
2 |
Recommended, ErrorProne, JavaScript, TypeScript |
Enforce comparing typeof expressions against valid strings |
vars-on-top |
3 |
BestPractices, JavaScript, TypeScript |
Require var declarations be placed at the top of their containing scope |
yoda |
3 |
BestPractices, JavaScript, TypeScript, Fixable |
Require or disallow "Yoda" conditions |