JavaScript checker reference

Checker name Category Description Default severity Enabled by default?
JS.BASE.ACCESSOR.PAIRS Improper Encapsulation Enforce getter and setter pairs in objects and classes 3 False
JS.BASE.ARRAY.BRACKET.NEWLINE Stylistic Issue Enforce linebreaks after opening and before closing array brackets 3 False
JS.BASE.ARRAY.BRACKET.SPACING Stylistic Issue Enforce consistent spacing inside array brackets 3 False
JS.BASE.ARRAY.CALLBACK.RETURN Suspicious Code Practices Enforce 'return' statements in callbacks of array methods 3 False
JS.BASE.ARRAY.ELEMENT.NEWLINE Stylistic Issue Enforce line breaks after each array element 3 False
JS.BASE.ARROW.BODY.STYLE Stylistic Issue Require braces around arrow function bodies 3 False
JS.BASE.ARROW.PARENS Stylistic Issue Require parentheses around arrow function arguments 3 False
JS.BASE.ARROW.SPACING Stylistic Issue Enforce consistent spacing before and after the arrow in arrow functions 3 False
JS.BASE.BLOCK.SCOPED.VAR Suspicious Scoping Enforce the use of variables within the scope they are defined 3 False
JS.BASE.BLOCK.SPACING Stylistic Issue Disallow or enforce spaces inside of blocks after opening block and before closing block 3 False
JS.BASE.BRACE.STYLE Stylistic Issue Enforce consistent brace style for blocks 3 False
JS.BASE.CALLBACK.RETURN Suspicious Code Practices Require 'return' statements after callbacks 3 False
JS.BASE.CAMELCASE Stylistic Issue Enforce camelcase naming convention 3 False
JS.BASE.CAPITALIZED.COMMENTS Stylistic Issue Enforce or disallow capitalization of the first letter of a comment 3 False
JS.BASE.CLASS.METHODS.USE.THIS Improper Encapsulation Enforce that class methods utilize 'this' 3 False
JS.BASE.COMMA.DANGLE Stylistic Issue Require or disallow trailing commas 3 False
JS.BASE.COMMA.SPACING Stylistic Issue Enforce consistent spacing before and after commas 3 False
JS.BASE.COMMA.STYLE Stylistic Issue Enforce consistent comma style 3 False
JS.BASE.COMPLEXITY Code Complexity Enforce a maximum cyclomatic complexity allowed in a program 3 False
JS.BASE.COMPUTED.PROPERTY.SPACING Stylistic Issue Enforce consistent spacing inside computed property brackets 3 False
JS.BASE.CONSISTENT.RETURN Suspicious Code Practices Require 'return' statements to either always or never specify values 3 False
JS.BASE.CONSISTENT.THIS Stylistic Issue Enforce consistent naming when capturing the current execution context 3 False
JS.BASE.CONSTRUCTOR.SUPER Improper Encapsulation Require 'super()' calls in constructors 3 True
JS.BASE.CURLY Stylistic Issue Enforce consistent brace style for all control statements 3 False
JS.BASE.DEFAULT.CASE Control Statements Require 'default' cases in 'switch' statements 3 False
JS.BASE.DEFAULT.CASE.LAST Control Statements Enforce default clauses in switch statements to be last 3 False
JS.BASE.DEFAULT.PARAM.LAST Suspicious Code Practices Enforce default parameters to be last 3 False
JS.BASE.DOT.LOCATION Stylistic Issue Enforce consistent newlines before and after dots 3 False
JS.BASE.DOT.NOTATION Stylistic Issue Enforce dot notation whenever possible 3 False
JS.BASE.EOL.LAST Stylistic Issue Require or disallow newline at the end of files 3 False
JS.BASE.EQEQEQ Unsafe Code Practices Require the use of '===' and '!==' 2 False
JS.BASE.FOR.DIRECTION Control Statements Enforce "for" loop update clause moving the counter in the right direction. 3 True
JS.BASE.FUNC.CALL.SPACING Stylistic Issue Require or disallow spacing between function identifiers and their invocations 3 False
JS.BASE.FUNC.NAME.MATCHING Stylistic Issue Require function names to match the name of the variable or property to which they are assigned 3 False
JS.BASE.FUNC.NAMES Stylistic Issue Require or disallow named 'function' expressions 3 False
JS.BASE.FUNC.STYLE Stylistic Issue Enforce the consistent use of either 'function' declarations or expressions 3 False
JS.BASE.FUNCTION.CALL.ARGUMENT.NEWLINE Stylistic Issue Enforce line breaks between arguments of a function call 3 False
JS.BASE.FUNCTION.PAREN.NEWLINE Stylistic Issue Enforce consistent line breaks inside function parentheses 3 False
JS.BASE.GENERATOR.STAR.SPACING Stylistic Issue Enforce consistent spacing around '*' operators in generator functions 3 False
JS.BASE.GETTER.RETURN Suspicious Encapsulation Enforce 'return' statements in getters 2 True
JS.BASE.GLOBAL.REQUIRE Stylistic Issue Require 'require()' calls to be placed at top-level module scope 3 False
JS.BASE.GROUPED.ACCESSOR.PAIRS Improper Encapsulation Require grouped accessor pairs in object literals and classes 3 False
JS.BASE.GUARD.FOR.IN Suspicious Code Practices Require 'for-in' loops to include an 'if' statement 3 False
JS.BASE.HANDLE.CALLBACK.ERR Suspicious Code Practices Require error handling in callbacks 3 False
JS.BASE.ID.BLACKLIST Banned Code Disallow specified identifiers 3 False
JS.BASE.ID.DENYLIST Stylistic Issue Disallow specified identifiers 3 False
JS.BASE.ID.LENGTH Stylistic Issue Enforce minimum and maximum identifier lengths 3 False
JS.BASE.ID.MATCH Stylistic Issue Require identifiers to match a specified regular expression 3 False
JS.BASE.IMPLICIT.ARROW.LINEBREAK Stylistic Issue Enforce the location of arrow function bodies 3 False
JS.BASE.INDENT Stylistic Issue Enforce consistent indentation 3 False
JS.BASE.INDENT.LEGACY Stylistic Issue Enforce consistent indentation 3 False
JS.BASE.INIT.DECLARATIONS Stylistic Issue Require or disallow initialization in variable declarations 3 False
JS.BASE.JSX.QUOTES Stylistic Issue Enforce the consistent use of either double or single quotes in JSX attributes 3 False
JS.BASE.KEY.SPACING Stylistic Issue Enforce consistent spacing between keys and values in object literal properties 3 False
JS.BASE.KEYWORD.SPACING Stylistic Issue Enforce consistent spacing before and after keywords 3 False
JS.BASE.LINEBREAK.STYLE Stylistic Issue Enforce consistent linebreak style 3 False
JS.BASE.LINE.COMMENT.POSITION Stylistic Issue Enforce position of line comments 3 False
JS.BASE.LINES.AROUND.COMMENT Stylistic Issue Require empty lines around comments 3 False
JS.BASE.LINES.AROUND.DIRECTIVE Stylistic Issue Require or disallow newlines around directives 3 False
JS.BASE.LINES.BETWEEN.CLASS.MEMBERS Stylistic Issue Require or disallow an empty line between class members 3 False
JS.BASE.MAX.CLASSES.PER.FILE Code Complexity Enforce a maximum number of classes per file 3 False
JS.BASE.MAX.DEPTH Stylistic Issue Enforce a maximum depth that blocks can be nested 3 False
JS.BASE.MAX.LEN Stylistic Issue Enforce a maximum line length 3 False
JS.BASE.MAX.LINES Stylistic Issue Enforce a maximum number of lines per file 3 False
JS.BASE.MAX.LINES.PER.FUNCTION Stylistic Issue Enforce a maximum number of lines of code in a function 3 False
JS.BASE.MAX.NESTED.CALLBACKS Stylistic Issue Enforce a maximum depth that callbacks can be nested 3 False
JS.BASE.MAX.PARAMS Stylistic Issue Enforce a maximum number of parameters in function definitions 3 False
JS.BASE.MAX.STATEMENTS Stylistic Issue Enforce a maximum number of statements allowed in function blocks 3 False
JS.BASE.MAX.STATEMENTS.PER.LINE Stylistic Issue Enforce a maximum number of statements allowed per line 3 False
JS.BASE.MULTILINE.COMMENT.STYLE Stylistic Issue Enforce a particular style for multiline comments 3 False
JS.BASE.MULTILINE.TERNARY Stylistic Issue Enforce newlines between operands of ternary expressions 3 False
JS.BASE.NEW.CAP Stylistic Issue Require constructor names to begin with a capital letter 3 False
JS.BASE.NEWLINE.AFTER.VAR Stylistic Issue Require or disallow an empty line after variable declarations 3 False
JS.BASE.NEWLINE.BEFORE.RETURN Stylistic Issue Require an empty line before 'return' statements 3 False
JS.BASE.NEWLINE.PER.CHAINED.CALL Stylistic Issue Require a newline after each call in a method chain 3 False
JS.BASE.NEW.PARENS Stylistic Issue Enforce or disallow parentheses when invoking a constructor with no arguments 3 False
JS.BASE.NO.ALERT Suspicious Code Practices Disallow the use of 'alert', 'confirm', and 'prompt' 3 False
JS.BASE.NO.ARRAY.CONSTRUCTOR Stylistic Issue Disallow 'Array' constructors 3 False
JS.BASE.NO.ASYNC.PROMISE.EXECUTOR Concurrency Disallow using an async function as a Promise executor 3 True
JS.BASE.NO.AWAIT.IN.LOOP Concurrency Disallow 'await' inside of loops 3 False
JS.BASE.NO.BITWISE Stylistic Issue Disallow bitwise operators 3 False
JS.BASE.NO.BUFFER.CONSTRUCTOR Suspicious Code Practices Disallow use of the 'Buffer()' constructor 3 False
JS.BASE.NO.CALLER Performance Issues Disallow the use of 'arguments.caller' or 'arguments.callee' 3 False
JS.BASE.NO.CASE.DECLARATIONS Suspicious Scoping Disallow lexical declarations in case clauses 3 True
JS.BASE.NO.CATCH.SHADOW Unsafe Code Practices Disallow 'catch' clause parameters from shadowing variables in the outer scope 2 False
JS.BASE.NO.CLASS.ASSIGN Unsafe Code Practices Disallow reassigning class members 2 True
JS.BASE.NO.COMPARE.NEG.ZERO Stylistic Numeric Issue Disallow comparing against -0 3 True
JS.BASE.NO.COND.ASSIGN Unsafe Code Practices Disallow assignment operators in conditional expressions 2 True
JS.BASE.NO.CONFUSING.ARROW Stylistic Issue Disallow arrow functions where they could be confused with comparisons 3 False
JS.BASE.NO.CONSOLE Stylistic Issue Disallow the use of 'console' 3 False
JS.BASE.NO.CONSTANT.BINARY.EXPRESSION Unnecessary Code Disallow expressions where the operation doesn't affect the value 3 False
JS.BASE.NO.CONSTANT.CONDITION Stylistic Issue Disallow constant expressions in conditions 3 True
JS.BASE.NO.CONST.ASSIGN Unsafe Code Practices Disallow reassigning 'const' variables 2 True
JS.BASE.NO.CONSTRUCTOR.RETURN Improper Encapsulation Disallow returning value from constructor 3 False
JS.BASE.NO.CONTINUE Stylistic Issue Disallow 'continue' statements 3 False
JS.BASE.NO.CONTROL.REGEX Unsafe Code Practices Disallow control characters in regular expressions 3 True
JS.BASE.NO.DEBUGGER Suspicious Code Practices Disallow the use of 'debugger' 3 True
JS.BASE.NO.DELETE.VAR Unsafe Code Practices Disallow deleting variables 2 True
JS.BASE.NO.DIV.REGEX Stylistic Issue Disallow division operators explicitly at the beginning of regular expressions 3 False
JS.BASE.NO.DUPE.ARGS Suspicious Code Practices Disallow duplicate arguments in 'function' definitions 3 True
JS.BASE.NO.DUPE.CLASS.MEMBERS Improper Encapsulation Disallow duplicate class members 3 True
JS.BASE.NO.DUPE.ELSE.IF Unreachable Code Disallow duplicate conditions in if-else-if chains 3 True
JS.BASE.NO.DUPE.KEYS Suspicious Code Practices Disallow duplicate keys in object literals 3 True
JS.BASE.NO.DUPLICATE.CASE Unreachable Code Disallow duplicate case labels 3 True
JS.BASE.NO.DUPLICATE.IMPORTS Suspicious Code Practices Disallow duplicate module imports 3 False
JS.BASE.NO.ELSE.RETURN Control Statements Disallow 'else' blocks after 'return' statements in 'if' statements 3 False
JS.BASE.NO.EMPTY Stylistic Issue Disallow empty block statements 3 True
JS.BASE.NO.EMPTY.CHARACTER.CLASS Suspicious Code Practices Disallow empty character classes in regular expressions 3 True
JS.BASE.NO.EMPTY.FUNCTION Stylistic Issue Disallow empty functions 3 False
JS.BASE.NO.EMPTY.PATTERN Suspicious Code Practices Disallow empty destructuring patterns 3 True
JS.BASE.NO.EQ.NULL Possible Runtime Failures Disallow 'null' comparisons without type-checking operators 3 False
JS.BASE.NO.EVAL Process and Path Injection Disallow the use of 'eval()' 1 False
JS.BASE.NO.EX.ASSIGN Suspicious Code Practices Disallow reassigning exceptions in 'catch' clauses 3 True
JS.BASE.NO.EXTEND.NATIVE Suspicious Code Practices Disallow extending native types 3 False
JS.BASE.NO.EXTRA.BIND Unsafe Code Practices Disallow unnecessary calls to '.bind()' 2 False
JS.BASE.NO.EXTRA.BOOLEAN.CAST Suspicious Code Practices Disallow unnecessary boolean casts 3 True
JS.BASE.NO.EXTRA.LABEL Control Statements Disallow unnecessary labels 3 False
JS.BASE.NO.EXTRA.PARENS Stylistic Issue Disallow unnecessary parentheses 3 False
JS.BASE.NO.EXTRA.SEMI Stylistic Issue Disallow unnecessary semicolons 3 True
JS.BASE.NO.FALLTHROUGH Control Statements Disallow fallthrough of 'case' statements 3 True
JS.BASE.NO.FLOATING.DECIMAL Stylistic Numeric Issue Disallow leading or trailing decimal points in numeric literals 3 False
JS.BASE.NO.FUNC.ASSIGN Suspicious Code Practices Disallow reassigning 'function' declarations 3 True
JS.BASE.NO.GLOBAL.ASSIGN Unsafe Code Practices Disallow assignments to native objects or read-only global variables 2 True
JS.BASE.NO.IMPLICIT.COERCION Suspicious Code Practices Disallow shorthand type conversions 3 False
JS.BASE.NO.IMPLICIT.GLOBALS Unsafe Global Disallow declarations in the global scope 2 False
JS.BASE.NO.IMPLIED.EVAL Process and Path Injection Disallow the use of 'eval()'-like methods 1 False
JS.BASE.NO.IMPORT.ASSIGN Unsafe Code Practices Disallow assigning to imported bindings 2 True
JS.BASE.NO.INLINE.COMMENTS Stylistic Issue Disallow inline comments after code 3 False
JS.BASE.NO.INNER.DECLARATIONS Stylistic Issue Disallow variable or 'function' declarations in nested blocks 3 True
JS.BASE.NO.INVALID.REGEXP Unsafe Code Practices Disallow invalid regular expression strings in 'RegExp' constructors 2 True
JS.BASE.NO.INVALID.THIS Possible Runtime Failures Disallow 'this' keywords outside of classes or class-like objects 2 False
JS.BASE.NO.IRREGULAR.WHITESPACE Suspicious Code Practices Disallow irregular whitespace 3 True
JS.BASE.NO.ITERATOR Possible Runtime Failures Disallow the use of the '__iterator__' property 3 False
JS.BASE.NO.LABELS Control Statements Disallow labeled statements 3 False
JS.BASE.NO.LABEL.VAR Control Statements Disallow labels that share a name with a variable 3 False
JS.BASE.NO.LONE.BLOCKS Suspicious Code Practices Disallow unnecessary nested blocks 3 False
JS.BASE.NO.LONELY.IF Stylistic Issue Disallow 'if' statements as the only statement in 'else' blocks 3 False
JS.BASE.NO.LOOP.FUNC Possible Runtime Failures Disallow function declarations that contain unsafe references inside loop statements 3 False
JS.BASE.NO.LOSS.OF.PRECISION Suspicious Code Practices Disallow literal numbers that lose precision 3 False
JS.BASE.NO.MAGIC.NUMBERS Stylistic Issue Disallow magic numbers 3 False
JS.BASE.NO.MISLEADING.CHARACTER.CLASS Suspicious Code Practices Disallow characters which are made with multiple code points in character class syntax 3 True
JS.BASE.NO.MIXED.OPERATORS Stylistic Issue Disallow mixed binary operators 3 False
JS.BASE.NO.MIXED.REQUIRES Stylistic Issue Disallow 'require' calls to be mixed with regular variable declarations 3 False
JS.BASE.NO.MIXED.SPACES.AND.TABS Stylistic Issue Disallow mixed spaces and tabs for indentation 3 True
JS.BASE.NO.MULTI.ASSIGN Stylistic Issue Disallow use of chained assignment expressions 3 False
JS.BASE.NO.MULTIPLE.EMPTY.LINES Stylistic Issue Disallow multiple empty lines 3 False
JS.BASE.NO.MULTI.SPACES Stylistic Issue Disallow multiple spaces 3 False
JS.BASE.NO.MULTI.STR Stylistic Issue Disallow multiline strings 3 False
JS.BASE.NO.NATIVE.REASSIGN Unsafe Code Practices Disallow assignments to native objects or read-only global variables 2 False
JS.BASE.NONBLOCK.STATEMENT.BODY.POSITION Stylistic Issue Enforce the location of single-line statements 3 False
JS.BASE.NO.NEGATED.CONDITION Stylistic Issue Disallow negated conditions 3 False
JS.BASE.NO.NEGATED.IN.LHS Suspicious Code Practices Disallow negating the left operand in 'in' expressions 3 False
JS.BASE.NO.NESTED.TERNARY Stylistic Issue Disallow nested ternary expressions 3 False
JS.BASE.NO.NEW Ignored Return Values Disallow 'new' operators outside of assignments or comparisons 3 False
JS.BASE.NO.NEW.FUNC Process and Path Injection Disallow 'new' operators with the 'Function' object 2 False
JS.BASE.NO.NEW.OBJECT Stylistic Issue Disallow 'Object' constructors 3 False
JS.BASE.NO.NEW.REQUIRE Suspicious Code Practices Disallow 'new' operators with calls to 'require' 3 False
JS.BASE.NO.NEW.SYMBOL Suspicious Code Practices Disallow 'new' operators with the 'Symbol' object 3 True
JS.BASE.NO.NEW.WRAPPERS Stylistic Issue Disallow 'new' operators with the 'String', 'Number', and 'Boolean' objects 3 False
JS.BASE.NO.NONOCTAL.DECIMAL.ESCAPE Suspicious Code Practices Disallow '\8' and '\9' escape sequences in string literals 3 False
JS.BASE.NO.OBJ.CALLS Suspicious Code Practices Disallow calling global object properties as functions 3 True
JS.BASE.NO.OCTAL Suspicious Code Practices Disallow octal literals 3 True
JS.BASE.NO.OCTAL.ESCAPE Suspicious Code Practices Disallow octal escape sequences in string literals 3 False
JS.BASE.NO.PARAM.REASSIGN Suspicious Code Practices Disallow reassigning 'function' parameters 3 False
JS.BASE.NO.PATH.CONCAT Suspicious Code Practices Disallow string concatenation with '__dirname' and '__filename' 3 False
JS.BASE.NO.PLUSPLUS Stylistic Issue Disallow the unary operators '++' and '--' 3 False
JS.BASE.NO.PROCESS.ENV Suspicious Code Practices Disallow the use of 'process.env' 3 False
JS.BASE.NO.PROCESS.EXIT Suspicious Code Practices Disallow the use of 'process.exit()' 3 False
JS.BASE.NO.PROMISE.EXECUTOR.RETURN Unsafe Code Practices Disallow returning values from Promise executor functions 2 False
JS.BASE.NO.PROTO Possible Runtime Failures Disallow the use of the '__proto__' property 3 False
JS.BASE.NO.PROTOTYPE.BUILTINS Suspicious Code Practices Disallow calling some 'Object.prototype' methods directly on objects 3 True
JS.BASE.NO.REDECLARE Suspicious Code Practices Disallow variable redeclaration 3 True
JS.BASE.NO.REGEX.SPACES Stylistic Issue Disallow multiple spaces in regular expressions 3 True
JS.BASE.NO.RESTRICTED.EXPORTS Banned Code Disallow specified names in exports 2 False
JS.BASE.NO.RESTRICTED.GLOBALS Unsafe Global Disallow specified global variables 2 False
JS.BASE.NO.RESTRICTED.IMPORTS Banned Code Disallow specified modules when loaded by 'import' 2 False
JS.BASE.NO.RESTRICTED.MODULES Banned Code Disallow specified modules when loaded by 'require' 2 False
JS.BASE.NO.RESTRICTED.PROPERTIES Banned Code Disallow certain properties on certain objects 2 False
JS.BASE.NO.RESTRICTED.SYNTAX Stylistic Issue Disallow specified syntax 3 False
JS.BASE.NO.RETURN.ASSIGN Stylistic Issue Disallow assignment operators in 'return' statements 3 False
JS.BASE.NO.RETURN.AWAIT Performance Issues Disallow unnecessary 'return await' 3 False
JS.BASE.NO.SCRIPT.URL Process and Path Injection Disallow 'javascript:' urls 2 False
JS.BASE.NO.SELF.ASSIGN Suspicious Code Practices Disallow assignments where both sides are exactly the same 3 True
JS.BASE.NO.SELF.COMPARE Unnecessary Code Disallow comparisons where both sides are exactly the same 2 False
JS.BASE.NO.SEQUENCES Stylistic Issue Disallow comma operators 3 False
JS.BASE.NO.SETTER.RETURN Suspicious Encapsulation Disallow returning values from setters 3 True
JS.BASE.NO.SHADOW Possible Runtime Failures Disallow variable declarations from shadowing variables declared in the outer scope 3 False
JS.BASE.NO.SHADOW.RESTRICTED.NAMES Possible Runtime Failures Disallow identifiers from shadowing restricted names 2 True
JS.BASE.NO.SPACED.FUNC Stylistic Issue Disallow spacing between function identifiers and their applications (deprecated) 3 False
JS.BASE.NO.SPARSE.ARRAYS Possible Runtime Failures Disallow sparse arrays 3 True
JS.BASE.NO.SYNC Concurrency Disallow synchronous methods 3 False
JS.BASE.NO.TABS Stylistic Issue Disallow all tabs 3 False
JS.BASE.NO.TEMPLATE.CURLY.IN.STRING Suspicious Code Practices Disallow template literal placeholder syntax in regular strings 3 False
JS.BASE.NO.TERNARY Stylistic Issue Disallow ternary operators 3 False
JS.BASE.NO.THIS.BEFORE.SUPER Improper Encapsulation Disallow 'this'/'super' before calling 'super()' in constructors 3 True
JS.BASE.NO.THROW.LITERAL Suspicious Code Practices Disallow throwing literals as exceptions 3 False
JS.BASE.NO.TRAILING.SPACES Stylistic Issue Disallow trailing whitespace at the end of lines 3 False
JS.BASE.NO.UNDEF Possible Runtime Failures Disallow the use of undeclared variables unless mentioned in '/*global */' comments 2 True
JS.BASE.NO.UNDEFINED Possible Runtime Failures Disallow the use of 'undefined' as an identifier 2 False
JS.BASE.NO.UNDEF.INIT Stylistic Issue Disallow initializing variables to 'undefined' 3 False
JS.BASE.NO.UNDERSCORE.DANGLE Stylistic Issue Disallow dangling underscores in identifiers 3 False
JS.BASE.NO.UNEXPECTED.MULTILINE Stylistic Issue Disallow confusing multiline expressions 3 True
JS.BASE.NO.UNMODIFIED.LOOP.CONDITION Control Statements Disallow unmodified loop conditions 2 False
JS.BASE.NO.UNNEEDED.TERNARY Stylistic Issue Disallow ternary operators when simpler alternatives exist 3 False
JS.BASE.NO.UNREACHABLE Unreachable Code Disallow unreachable code after 'return', 'throw', 'continue', and 'break' statements 2 True
JS.BASE.NO.UNREACHABLE.LOOP Unreachable Code Disallow loops with a body that allows only one iteration 3 False
JS.BASE.NO.UNSAFE.FINALLY Control Statements Disallow control flow statements in 'finally' blocks 3 True
JS.BASE.NO.UNSAFE.NEGATION Suspicious Code Practices Disallow negating the left operand of relational operators 3 True
JS.BASE.NO.UNSAFE.OPTIONAL.CHAINING Possible Runtime Failures Disallow use of optional chaining in contexts where the 'undefined' value is not allowed 3 False
JS.BASE.NO.UNUSED.EXPRESSIONS Unused Local Variables Disallow unused expressions 3 False
JS.BASE.NO.UNUSED.LABELS Control Statements Disallow unused labels 3 True
JS.BASE.NO.UNUSED.PRIVATE.CLASS.MEMBERS Unused Local Variables Disallow unused private class members 3 True
JS.BASE.NO.UNUSED.VARS Unused Local Variables Disallow unused variables 3 True
JS.BASE.NO.USE.BEFORE.DEFINE Unsafe Code Practices Disallow the use of variables before they are defined 2 False
JS.BASE.NO.USELESS.BACKREFERENCE Suspicious Code Practices Disallow useless backreferences in regular expressions 3 False
JS.BASE.NO.USELESS.CALL Suspicious Code Practices Disallow unnecessary calls to '.call()' and '.apply()' 3 False
JS.BASE.NO.USELESS.CATCH Control Statements Disallow unnecessary 'catch' clauses 3 True
JS.BASE.NO.USELESS.COMPUTED.KEY Stylistic Issue Disallow unnecessary computed property keys in objects and classes 3 False
JS.BASE.NO.USELESS.CONCAT Suspicious Code Practices Disallow unnecessary concatenation of literals or template literals 3 False
JS.BASE.NO.USELESS.CONSTRUCTOR Improper Encapsulation Disallow unnecessary constructors 3 False
JS.BASE.NO.USELESS.ESCAPE Suspicious Code Practices Disallow unnecessary escape characters 3 True
JS.BASE.NO.USELESS.RENAME Suspicious Code Practices Disallow renaming import, export, and destructured assignments to the same name 3 False
JS.BASE.NO.USELESS.RETURN Control Statements Disallow redundant return statements 3 False
JS.BASE.NO.VAR Suspicious Code Practices Require 'let' or 'const' instead of 'var' 3 False
JS.BASE.NO.VOID Suspicious Code Practices Disallow 'void' operators 3 False
JS.BASE.NO.WARNING.COMMENTS Stylistic Issue Disallow specified warning terms in comments 3 False
JS.BASE.NO.WHITESPACE.BEFORE.PROPERTY Stylistic Issue Disallow whitespace before properties 3 False
JS.BASE.NO.WITH Stylistic Issue Disallow 'with' statements 3 True
JS.BASE.OBJECT.CURLY.NEWLINE Stylistic Issue Enforce consistent line breaks after opening and before closing braces 3 False
JS.BASE.OBJECT.CURLY.SPACING Stylistic Issue Enforce consistent spacing inside braces 3 False
JS.BASE.OBJECT.PROPERTY.NEWLINE Stylistic Issue Enforce placing object properties on separate lines 3 False
JS.BASE.OBJECT.SHORTHAND Stylistic Issue Require or disallow method and property shorthand syntax for object literals 3 False
JS.BASE.ONE.VAR Stylistic Issue Enforce variables to be declared either together or separately in functions 3 False
JS.BASE.ONE.VAR.DECLARATION.PER.LINE Stylistic Issue Require or disallow newlines around variable declarations 3 False
JS.BASE.OPERATOR.ASSIGNMENT Stylistic Issue Require or disallow assignment operator shorthand where possible 3 False
JS.BASE.OPERATOR.LINEBREAK Stylistic Issue Enforce consistent linebreak style for operators 3 False
JS.BASE.PADDED.BLOCKS Stylistic Issue Require or disallow padding within blocks 3 False
JS.BASE.PADDING.LINE.BETWEEN.STATEMENTS Stylistic Issue Require or disallow padding lines between statements 3 False
JS.BASE.PREFER.ARROW.CALLBACK Stylistic Issue Require using arrow functions for callbacks 3 False
JS.BASE.PREFER.CONST Suspicious Code Practices Require 'const' declarations for variables that are never reassigned after declared 3 False
JS.BASE.PREFER.DESTRUCTURING Stylistic Issue Require destructuring from arrays and/or objects 3 False
JS.BASE.PREFER.EXPONENTIATION.OPERATOR Stylistic Issue Disallow the use of 'Math.pow' in favor of the '**' operator 3 False
JS.BASE.PREFER.NAMED.CAPTURE.GROUP Stylistic Issue Enforce using named capture group in regular expression 3 False
JS.BASE.PREFER.NUMERIC.LITERALS Stylistic Issue Disallow 'parseInt()' and 'Number.parseInt()' in favor of binary, octal, and hexadecimal literals 3 False
JS.BASE.PREFER.OBJECT.HAS.OWN Stylistic Issue Disallow use of `Object.prototype.hasOwnProperty.call()` and prefer use of `Object.hasOwn()` 3 False
JS.BASE.PREFER.OBJECT.SPREAD Stylistic Issue Disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead. 3 False
JS.BASE.PREFER.PROMISE.REJECT.ERRORS Stylistic Issue Require using Error objects as Promise rejection reasons 3 False
JS.BASE.PREFER.REFLECT Suspicious Code Practices Require 'Reflect' methods where applicable 3 False
JS.BASE.PREFER.REGEX.LITERALS Stylistic Issue Disallow use of the 'RegExp' constructor in favor of regular expression literals 3 False
JS.BASE.PREFER.REST.PARAMS Stylistic Issue Require rest parameters instead of 'arguments' 3 False
JS.BASE.PREFER.SPREAD Suspicious Code Practices Require spread operators instead of '.apply()' 3 False
JS.BASE.PREFER.TEMPLATE Stylistic Issue Require template literals instead of string concatenation 3 False
JS.BASE.QUOTE.PROPS Stylistic Issue Require quotes around object literal property names 3 False
JS.BASE.QUOTES Stylistic Issue Enforce the consistent use of either backticks, double, or single quotes 3 False
JS.BASE.RADIX Suspicious Code Practices Enforce the consistent use of the radix argument when using 'parseInt()' 3 False
JS.BASE.REQUIRE.ATOMIC.UPDATES Control Statements Disallow assignments that can lead to race conditions due to usage of 'await' or 'yield' 2 False
JS.BASE.REQUIRE.AWAIT Concurrency Disallow async functions which have no 'await' expression 3 False
JS.BASE.REQUIRE.JSDOC Documentation Require JSDoc comments 3 False
JS.BASE.REQUIRE.UNICODE.REGEXP Suspicious Code Practices Enforce the use of 'u' flag on RegExp 3 False
JS.BASE.REQUIRE.YIELD Suspicious Code Practices Require generator functions to contain 'yield' 3 True
JS.BASE.REST.SPREAD.SPACING Stylistic Issue Enforce spacing between rest and spread operators and their expressions 3 False
JS.BASE.SEMI Stylistic Issue Require or disallow semicolons instead of ASI 3 False
JS.BASE.SEMI.SPACING Stylistic Issue Enforce consistent spacing before and after semicolons 3 False
JS.BASE.SEMI.STYLE Stylistic Issue Enforce location of semicolons 3 False
JS.BASE.SORT.IMPORTS Stylistic Issue Enforce sorted import declarations within modules 3 False
JS.BASE.SORT.KEYS Stylistic Issue Require object keys to be sorted 3 False
JS.BASE.SORT.VARS Stylistic Issue Require variables within the same declaration block to be sorted 3 False
JS.BASE.SPACE.BEFORE.BLOCKS Stylistic Issue Enforce consistent spacing before blocks 3 False
JS.BASE.SPACE.BEFORE.FUNCTION.PAREN Stylistic Issue Enforce consistent spacing before 'function' definition opening parenthesis 3 False
JS.BASE.SPACED.COMMENT Stylistic Issue Enforce consistent spacing after the '//' or '/*' in a comment 3 False
JS.BASE.SPACE.INFIX.OPS Stylistic Issue Require spacing around infix operators 3 False
JS.BASE.SPACE.IN.PARENS Stylistic Issue Enforce consistent spacing inside parentheses 3 False
JS.BASE.SPACE.UNARY.OPS Stylistic Issue Enforce consistent spacing before or after unary operators 3 False
JS.BASE.STRICT Strict Mode Require or disallow strict mode directives 2 False
JS.BASE.SWITCH.COLON.SPACING Stylistic Issue Enforce spacing around colons of switch statements 3 False
JS.BASE.SYMBOL.DESCRIPTION Maintainability Issues Require symbol descriptions 3 False
JS.BASE.TEMPLATE.CURLY.SPACING Stylistic Issue Require or disallow spacing around embedded expressions of template strings 3 False
JS.BASE.TEMPLATE.TAG.SPACING Stylistic Issue Require or disallow spacing between template tags and their literals 3 False
JS.BASE.UNICODE.BOM Stylistic Issue Require or disallow Unicode byte order mark (BOM) 3 False
JS.BASE.USE.ISNAN Stylistic Issue Require calls to 'isNaN()' when checking for 'NaN' 3 True
JS.BASE.VALID.JSDOC Documentation Enforce valid JSDoc comments 3 False
JS.BASE.VALID.TYPEOF Possible Runtime Failures Enforce comparing 'typeof' expressions against valid strings 2 True
JS.BASE.VARS.ON.TOP Stylistic Issue Require 'var' declarations be placed at the top of their containing scope 3 False
JS.BASE.WRAP.IIFE Suspicious Code Practices Require parentheses around immediate 'function' invocations 3 False
JS.BASE.WRAP.REGEX Stylistic Issue Require parenthesis around regex literals 3 False
JS.BASE.YIELD.STAR.SPACING Stylistic Issue Require or disallow spacing around the '*' in 'yield*' expressions 3 False
JS.BASE.YODA Stylistic Issue Require or disallow "Yoda" conditions 3 False