5 "displayName": "Possible Problems",
6 "description": "These rules relate to possible logic errors in code:",
9 "name": "array-callback-return",
10 "description": "Enforce `return` statements in callbacks of array methods",
13 "hasSuggestions": false
16 "name": "constructor-super",
17 "description": "Require `super()` calls in constructors",
20 "hasSuggestions": false
23 "name": "for-direction",
24 "description": "Enforce \"for\" loop update clause moving the counter in the right direction.",
27 "hasSuggestions": false
30 "name": "getter-return",
31 "description": "Enforce `return` statements in getters",
34 "hasSuggestions": false
37 "name": "no-async-promise-executor",
38 "description": "Disallow using an async function as a Promise executor",
41 "hasSuggestions": false
44 "name": "no-await-in-loop",
45 "description": "Disallow `await` inside of loops",
48 "hasSuggestions": false
51 "name": "no-class-assign",
52 "description": "Disallow reassigning class members",
55 "hasSuggestions": false
58 "name": "no-compare-neg-zero",
59 "description": "Disallow comparing against -0",
62 "hasSuggestions": false
65 "name": "no-cond-assign",
66 "description": "Disallow assignment operators in conditional expressions",
69 "hasSuggestions": false
72 "name": "no-const-assign",
73 "description": "Disallow reassigning `const` variables",
76 "hasSuggestions": false
79 "name": "no-constant-binary-expression",
80 "description": "Disallow expressions where the operation doesn't affect the value",
83 "hasSuggestions": false
86 "name": "no-constant-condition",
87 "description": "Disallow constant expressions in conditions",
90 "hasSuggestions": false
93 "name": "no-constructor-return",
94 "description": "Disallow returning value from constructor",
97 "hasSuggestions": false
100 "name": "no-control-regex",
101 "description": "Disallow control characters in regular expressions",
104 "hasSuggestions": false
107 "name": "no-debugger",
108 "description": "Disallow the use of `debugger`",
111 "hasSuggestions": false
114 "name": "no-dupe-args",
115 "description": "Disallow duplicate arguments in `function` definitions",
118 "hasSuggestions": false
121 "name": "no-dupe-class-members",
122 "description": "Disallow duplicate class members",
125 "hasSuggestions": false
128 "name": "no-dupe-else-if",
129 "description": "Disallow duplicate conditions in if-else-if chains",
132 "hasSuggestions": false
135 "name": "no-dupe-keys",
136 "description": "Disallow duplicate keys in object literals",
139 "hasSuggestions": false
142 "name": "no-duplicate-case",
143 "description": "Disallow duplicate case labels",
146 "hasSuggestions": false
149 "name": "no-duplicate-imports",
150 "description": "Disallow duplicate module imports",
151 "recommended": false,
153 "hasSuggestions": false
156 "name": "no-empty-character-class",
157 "description": "Disallow empty character classes in regular expressions",
160 "hasSuggestions": false
163 "name": "no-empty-pattern",
164 "description": "Disallow empty destructuring patterns",
167 "hasSuggestions": false
170 "name": "no-ex-assign",
171 "description": "Disallow reassigning exceptions in `catch` clauses",
174 "hasSuggestions": false
177 "name": "no-fallthrough",
178 "description": "Disallow fallthrough of `case` statements",
181 "hasSuggestions": false
184 "name": "no-func-assign",
185 "description": "Disallow reassigning `function` declarations",
188 "hasSuggestions": false
191 "name": "no-import-assign",
192 "description": "Disallow assigning to imported bindings",
195 "hasSuggestions": false
198 "name": "no-inner-declarations",
199 "description": "Disallow variable or `function` declarations in nested blocks",
202 "hasSuggestions": false
205 "name": "no-invalid-regexp",
206 "description": "Disallow invalid regular expression strings in `RegExp` constructors",
209 "hasSuggestions": false
212 "name": "no-irregular-whitespace",
213 "description": "Disallow irregular whitespace",
216 "hasSuggestions": false
219 "name": "no-loss-of-precision",
220 "description": "Disallow literal numbers that lose precision",
223 "hasSuggestions": false
226 "name": "no-misleading-character-class",
227 "description": "Disallow characters which are made with multiple code points in character class syntax",
230 "hasSuggestions": true
233 "name": "no-new-symbol",
234 "description": "Disallow `new` operators with the `Symbol` object",
237 "hasSuggestions": false
240 "name": "no-obj-calls",
241 "description": "Disallow calling global object properties as functions",
244 "hasSuggestions": false
247 "name": "no-promise-executor-return",
248 "description": "Disallow returning values from Promise executor functions",
249 "recommended": false,
251 "hasSuggestions": false
254 "name": "no-prototype-builtins",
255 "description": "Disallow calling some `Object.prototype` methods directly on objects",
258 "hasSuggestions": false
261 "name": "no-self-assign",
262 "description": "Disallow assignments where both sides are exactly the same",
265 "hasSuggestions": false
268 "name": "no-self-compare",
269 "description": "Disallow comparisons where both sides are exactly the same",
270 "recommended": false,
272 "hasSuggestions": false
275 "name": "no-setter-return",
276 "description": "Disallow returning values from setters",
279 "hasSuggestions": false
282 "name": "no-sparse-arrays",
283 "description": "Disallow sparse arrays",
286 "hasSuggestions": false
289 "name": "no-template-curly-in-string",
290 "description": "Disallow template literal placeholder syntax in regular strings",
291 "recommended": false,
293 "hasSuggestions": false
296 "name": "no-this-before-super",
297 "description": "Disallow `this`/`super` before calling `super()` in constructors",
300 "hasSuggestions": false
304 "description": "Disallow the use of undeclared variables unless mentioned in `/*global */` comments",
307 "hasSuggestions": false
310 "name": "no-unexpected-multiline",
311 "description": "Disallow confusing multiline expressions",
314 "hasSuggestions": false
317 "name": "no-unmodified-loop-condition",
318 "description": "Disallow unmodified loop conditions",
319 "recommended": false,
321 "hasSuggestions": false
324 "name": "no-unreachable",
325 "description": "Disallow unreachable code after `return`, `throw`, `continue`, and `break` statements",
328 "hasSuggestions": false
331 "name": "no-unreachable-loop",
332 "description": "Disallow loops with a body that allows only one iteration",
333 "recommended": false,
335 "hasSuggestions": false
338 "name": "no-unsafe-finally",
339 "description": "Disallow control flow statements in `finally` blocks",
342 "hasSuggestions": false
345 "name": "no-unsafe-negation",
346 "description": "Disallow negating the left operand of relational operators",
349 "hasSuggestions": true
352 "name": "no-unsafe-optional-chaining",
353 "description": "Disallow use of optional chaining in contexts where the `undefined` value is not allowed",
356 "hasSuggestions": false
359 "name": "no-unused-private-class-members",
360 "description": "Disallow unused private class members",
361 "recommended": false,
363 "hasSuggestions": false
366 "name": "no-unused-vars",
367 "description": "Disallow unused variables",
370 "hasSuggestions": false
373 "name": "no-use-before-define",
374 "description": "Disallow the use of variables before they are defined",
375 "recommended": false,
377 "hasSuggestions": false
380 "name": "no-useless-backreference",
381 "description": "Disallow useless backreferences in regular expressions",
384 "hasSuggestions": false
387 "name": "require-atomic-updates",
388 "description": "Disallow assignments that can lead to race conditions due to usage of `await` or `yield`",
389 "recommended": false,
391 "hasSuggestions": false
395 "description": "Require calls to `isNaN()` when checking for `NaN`",
398 "hasSuggestions": false
401 "name": "valid-typeof",
402 "description": "Enforce comparing `typeof` expressions against valid strings",
405 "hasSuggestions": true
410 "name": "suggestion",
411 "displayName": "Suggestions",
412 "description": "These rules suggest alternate ways of doing things:",
415 "name": "accessor-pairs",
416 "description": "Enforce getter and setter pairs in objects and classes",
417 "recommended": false,
419 "hasSuggestions": false
422 "name": "arrow-body-style",
423 "description": "Require braces around arrow function bodies",
424 "recommended": false,
426 "hasSuggestions": false
429 "name": "block-scoped-var",
430 "description": "Enforce the use of variables within the scope they are defined",
431 "recommended": false,
433 "hasSuggestions": false
437 "description": "Enforce camelcase naming convention",
438 "recommended": false,
440 "hasSuggestions": false
443 "name": "capitalized-comments",
444 "description": "Enforce or disallow capitalization of the first letter of a comment",
445 "recommended": false,
447 "hasSuggestions": false
450 "name": "class-methods-use-this",
451 "description": "Enforce that class methods utilize `this`",
452 "recommended": false,
454 "hasSuggestions": false
457 "name": "complexity",
458 "description": "Enforce a maximum cyclomatic complexity allowed in a program",
459 "recommended": false,
461 "hasSuggestions": false
464 "name": "consistent-return",
465 "description": "Require `return` statements to either always or never specify values",
466 "recommended": false,
468 "hasSuggestions": false
471 "name": "consistent-this",
472 "description": "Enforce consistent naming when capturing the current execution context",
473 "recommended": false,
475 "hasSuggestions": false
479 "description": "Enforce consistent brace style for all control statements",
480 "recommended": false,
482 "hasSuggestions": false
485 "name": "default-case",
486 "description": "Require `default` cases in `switch` statements",
487 "recommended": false,
489 "hasSuggestions": false
492 "name": "default-case-last",
493 "description": "Enforce default clauses in switch statements to be last",
494 "recommended": false,
496 "hasSuggestions": false
499 "name": "default-param-last",
500 "description": "Enforce default parameters to be last",
501 "recommended": false,
503 "hasSuggestions": false
506 "name": "dot-notation",
507 "description": "Enforce dot notation whenever possible",
508 "recommended": false,
510 "hasSuggestions": false
514 "description": "Require the use of `===` and `!==`",
515 "recommended": false,
517 "hasSuggestions": false
520 "name": "func-name-matching",
521 "description": "Require function names to match the name of the variable or property to which they are assigned",
522 "recommended": false,
524 "hasSuggestions": false
527 "name": "func-names",
528 "description": "Require or disallow named `function` expressions",
529 "recommended": false,
531 "hasSuggestions": false
534 "name": "func-style",
535 "description": "Enforce the consistent use of either `function` declarations or expressions",
536 "recommended": false,
538 "hasSuggestions": false
541 "name": "grouped-accessor-pairs",
542 "description": "Require grouped accessor pairs in object literals and classes",
543 "recommended": false,
545 "hasSuggestions": false
548 "name": "guard-for-in",
549 "description": "Require `for-in` loops to include an `if` statement",
550 "recommended": false,
552 "hasSuggestions": false
555 "name": "id-denylist",
556 "description": "Disallow specified identifiers",
557 "recommended": false,
559 "hasSuggestions": false
563 "description": "Enforce minimum and maximum identifier lengths",
564 "recommended": false,
566 "hasSuggestions": false
570 "description": "Require identifiers to match a specified regular expression",
571 "recommended": false,
573 "hasSuggestions": false
576 "name": "init-declarations",
577 "description": "Require or disallow initialization in variable declarations",
578 "recommended": false,
580 "hasSuggestions": false
583 "name": "max-classes-per-file",
584 "description": "Enforce a maximum number of classes per file",
585 "recommended": false,
587 "hasSuggestions": false
591 "description": "Enforce a maximum depth that blocks can be nested",
592 "recommended": false,
594 "hasSuggestions": false
598 "description": "Enforce a maximum number of lines per file",
599 "recommended": false,
601 "hasSuggestions": false
604 "name": "max-lines-per-function",
605 "description": "Enforce a maximum number of lines of code in a function",
606 "recommended": false,
608 "hasSuggestions": false
611 "name": "max-nested-callbacks",
612 "description": "Enforce a maximum depth that callbacks can be nested",
613 "recommended": false,
615 "hasSuggestions": false
618 "name": "max-params",
619 "description": "Enforce a maximum number of parameters in function definitions",
620 "recommended": false,
622 "hasSuggestions": false
625 "name": "max-statements",
626 "description": "Enforce a maximum number of statements allowed in function blocks",
627 "recommended": false,
629 "hasSuggestions": false
632 "name": "multiline-comment-style",
633 "description": "Enforce a particular style for multiline comments",
634 "recommended": false,
636 "hasSuggestions": false
640 "description": "Require constructor names to begin with a capital letter",
641 "recommended": false,
643 "hasSuggestions": false
647 "description": "Disallow the use of `alert`, `confirm`, and `prompt`",
648 "recommended": false,
650 "hasSuggestions": false
653 "name": "no-array-constructor",
654 "description": "Disallow `Array` constructors",
655 "recommended": false,
657 "hasSuggestions": false
660 "name": "no-bitwise",
661 "description": "Disallow bitwise operators",
662 "recommended": false,
664 "hasSuggestions": false
668 "description": "Disallow the use of `arguments.caller` or `arguments.callee`",
669 "recommended": false,
671 "hasSuggestions": false
674 "name": "no-case-declarations",
675 "description": "Disallow lexical declarations in case clauses",
678 "hasSuggestions": false
681 "name": "no-confusing-arrow",
682 "description": "Disallow arrow functions where they could be confused with comparisons",
683 "recommended": false,
685 "hasSuggestions": false
688 "name": "no-console",
689 "description": "Disallow the use of `console`",
690 "recommended": false,
692 "hasSuggestions": false
695 "name": "no-continue",
696 "description": "Disallow `continue` statements",
697 "recommended": false,
699 "hasSuggestions": false
702 "name": "no-delete-var",
703 "description": "Disallow deleting variables",
706 "hasSuggestions": false
709 "name": "no-div-regex",
710 "description": "Disallow division operators explicitly at the beginning of regular expressions",
711 "recommended": false,
713 "hasSuggestions": false
716 "name": "no-else-return",
717 "description": "Disallow `else` blocks after `return` statements in `if` statements",
718 "recommended": false,
720 "hasSuggestions": false
724 "description": "Disallow empty block statements",
727 "hasSuggestions": false
730 "name": "no-empty-function",
731 "description": "Disallow empty functions",
732 "recommended": false,
734 "hasSuggestions": false
737 "name": "no-eq-null",
738 "description": "Disallow `null` comparisons without type-checking operators",
739 "recommended": false,
741 "hasSuggestions": false
745 "description": "Disallow the use of `eval()`",
746 "recommended": false,
748 "hasSuggestions": false
751 "name": "no-extend-native",
752 "description": "Disallow extending native types",
753 "recommended": false,
755 "hasSuggestions": false
758 "name": "no-extra-bind",
759 "description": "Disallow unnecessary calls to `.bind()`",
760 "recommended": false,
762 "hasSuggestions": false
765 "name": "no-extra-boolean-cast",
766 "description": "Disallow unnecessary boolean casts",
769 "hasSuggestions": false
772 "name": "no-extra-label",
773 "description": "Disallow unnecessary labels",
774 "recommended": false,
776 "hasSuggestions": false
779 "name": "no-extra-semi",
780 "description": "Disallow unnecessary semicolons",
783 "hasSuggestions": false
786 "name": "no-floating-decimal",
787 "description": "Disallow leading or trailing decimal points in numeric literals",
788 "recommended": false,
790 "hasSuggestions": false
793 "name": "no-global-assign",
794 "description": "Disallow assignments to native objects or read-only global variables",
797 "hasSuggestions": false
800 "name": "no-implicit-coercion",
801 "description": "Disallow shorthand type conversions",
802 "recommended": false,
804 "hasSuggestions": false
807 "name": "no-implicit-globals",
808 "description": "Disallow declarations in the global scope",
809 "recommended": false,
811 "hasSuggestions": false
814 "name": "no-implied-eval",
815 "description": "Disallow the use of `eval()`-like methods",
816 "recommended": false,
818 "hasSuggestions": false
821 "name": "no-inline-comments",
822 "description": "Disallow inline comments after code",
823 "recommended": false,
825 "hasSuggestions": false
828 "name": "no-invalid-this",
829 "description": "Disallow use of `this` in contexts where the value of `this` is `undefined`",
830 "recommended": false,
832 "hasSuggestions": false
835 "name": "no-iterator",
836 "description": "Disallow the use of the `__iterator__` property",
837 "recommended": false,
839 "hasSuggestions": false
842 "name": "no-label-var",
843 "description": "Disallow labels that share a name with a variable",
844 "recommended": false,
846 "hasSuggestions": false
850 "description": "Disallow labeled statements",
851 "recommended": false,
853 "hasSuggestions": false
856 "name": "no-lone-blocks",
857 "description": "Disallow unnecessary nested blocks",
858 "recommended": false,
860 "hasSuggestions": false
863 "name": "no-lonely-if",
864 "description": "Disallow `if` statements as the only statement in `else` blocks",
865 "recommended": false,
867 "hasSuggestions": false
870 "name": "no-loop-func",
871 "description": "Disallow function declarations that contain unsafe references inside loop statements",
872 "recommended": false,
874 "hasSuggestions": false
877 "name": "no-magic-numbers",
878 "description": "Disallow magic numbers",
879 "recommended": false,
881 "hasSuggestions": false
884 "name": "no-mixed-operators",
885 "description": "Disallow mixed binary operators",
886 "recommended": false,
888 "hasSuggestions": false
891 "name": "no-multi-assign",
892 "description": "Disallow use of chained assignment expressions",
893 "recommended": false,
895 "hasSuggestions": false
898 "name": "no-multi-str",
899 "description": "Disallow multiline strings",
900 "recommended": false,
902 "hasSuggestions": false
905 "name": "no-negated-condition",
906 "description": "Disallow negated conditions",
907 "recommended": false,
909 "hasSuggestions": false
912 "name": "no-nested-ternary",
913 "description": "Disallow nested ternary expressions",
914 "recommended": false,
916 "hasSuggestions": false
920 "description": "Disallow `new` operators outside of assignments or comparisons",
921 "recommended": false,
923 "hasSuggestions": false
926 "name": "no-new-func",
927 "description": "Disallow `new` operators with the `Function` object",
928 "recommended": false,
930 "hasSuggestions": false
933 "name": "no-new-object",
934 "description": "Disallow `Object` constructors",
935 "recommended": false,
937 "hasSuggestions": false
940 "name": "no-new-wrappers",
941 "description": "Disallow `new` operators with the `String`, `Number`, and `Boolean` objects",
942 "recommended": false,
944 "hasSuggestions": false
947 "name": "no-nonoctal-decimal-escape",
948 "description": "Disallow `\\8` and `\\9` escape sequences in string literals",
951 "hasSuggestions": true
955 "description": "Disallow octal literals",
958 "hasSuggestions": false
961 "name": "no-octal-escape",
962 "description": "Disallow octal escape sequences in string literals",
963 "recommended": false,
965 "hasSuggestions": false
968 "name": "no-param-reassign",
969 "description": "Disallow reassigning `function` parameters",
970 "recommended": false,
972 "hasSuggestions": false
975 "name": "no-plusplus",
976 "description": "Disallow the unary operators `++` and `--`",
977 "recommended": false,
979 "hasSuggestions": false
983 "description": "Disallow the use of the `__proto__` property",
984 "recommended": false,
986 "hasSuggestions": false
989 "name": "no-redeclare",
990 "description": "Disallow variable redeclaration",
993 "hasSuggestions": false
996 "name": "no-regex-spaces",
997 "description": "Disallow multiple spaces in regular expressions",
1000 "hasSuggestions": false
1003 "name": "no-restricted-exports",
1004 "description": "Disallow specified names in exports",
1005 "recommended": false,
1007 "hasSuggestions": false
1010 "name": "no-restricted-globals",
1011 "description": "Disallow specified global variables",
1012 "recommended": false,
1014 "hasSuggestions": false
1017 "name": "no-restricted-imports",
1018 "description": "Disallow specified modules when loaded by `import`",
1019 "recommended": false,
1021 "hasSuggestions": false
1024 "name": "no-restricted-properties",
1025 "description": "Disallow certain properties on certain objects",
1026 "recommended": false,
1028 "hasSuggestions": false
1031 "name": "no-restricted-syntax",
1032 "description": "Disallow specified syntax",
1033 "recommended": false,
1035 "hasSuggestions": false
1038 "name": "no-return-assign",
1039 "description": "Disallow assignment operators in `return` statements",
1040 "recommended": false,
1042 "hasSuggestions": false
1045 "name": "no-return-await",
1046 "description": "Disallow unnecessary `return await`",
1047 "recommended": false,
1049 "hasSuggestions": false
1052 "name": "no-script-url",
1053 "description": "Disallow `javascript:` urls",
1054 "recommended": false,
1056 "hasSuggestions": false
1059 "name": "no-sequences",
1060 "description": "Disallow comma operators",
1061 "recommended": false,
1063 "hasSuggestions": false
1066 "name": "no-shadow",
1067 "description": "Disallow variable declarations from shadowing variables declared in the outer scope",
1068 "recommended": false,
1070 "hasSuggestions": false
1073 "name": "no-shadow-restricted-names",
1074 "description": "Disallow identifiers from shadowing restricted names",
1075 "recommended": true,
1077 "hasSuggestions": false
1080 "name": "no-ternary",
1081 "description": "Disallow ternary operators",
1082 "recommended": false,
1084 "hasSuggestions": false
1087 "name": "no-throw-literal",
1088 "description": "Disallow throwing literals as exceptions",
1089 "recommended": false,
1091 "hasSuggestions": false
1094 "name": "no-undef-init",
1095 "description": "Disallow initializing variables to `undefined`",
1096 "recommended": false,
1098 "hasSuggestions": false
1101 "name": "no-undefined",
1102 "description": "Disallow the use of `undefined` as an identifier",
1103 "recommended": false,
1105 "hasSuggestions": false
1108 "name": "no-underscore-dangle",
1109 "description": "Disallow dangling underscores in identifiers",
1110 "recommended": false,
1112 "hasSuggestions": false
1115 "name": "no-unneeded-ternary",
1116 "description": "Disallow ternary operators when simpler alternatives exist",
1117 "recommended": false,
1119 "hasSuggestions": false
1122 "name": "no-unused-expressions",
1123 "description": "Disallow unused expressions",
1124 "recommended": false,
1126 "hasSuggestions": false
1129 "name": "no-unused-labels",
1130 "description": "Disallow unused labels",
1131 "recommended": true,
1133 "hasSuggestions": false
1136 "name": "no-useless-call",
1137 "description": "Disallow unnecessary calls to `.call()` and `.apply()`",
1138 "recommended": false,
1140 "hasSuggestions": false
1143 "name": "no-useless-catch",
1144 "description": "Disallow unnecessary `catch` clauses",
1145 "recommended": true,
1147 "hasSuggestions": false
1150 "name": "no-useless-computed-key",
1151 "description": "Disallow unnecessary computed property keys in objects and classes",
1152 "recommended": false,
1154 "hasSuggestions": false
1157 "name": "no-useless-concat",
1158 "description": "Disallow unnecessary concatenation of literals or template literals",
1159 "recommended": false,
1161 "hasSuggestions": false
1164 "name": "no-useless-constructor",
1165 "description": "Disallow unnecessary constructors",
1166 "recommended": false,
1168 "hasSuggestions": false
1171 "name": "no-useless-escape",
1172 "description": "Disallow unnecessary escape characters",
1173 "recommended": true,
1175 "hasSuggestions": true
1178 "name": "no-useless-rename",
1179 "description": "Disallow renaming import, export, and destructured assignments to the same name",
1180 "recommended": false,
1182 "hasSuggestions": false
1185 "name": "no-useless-return",
1186 "description": "Disallow redundant return statements",
1187 "recommended": false,
1189 "hasSuggestions": false
1193 "description": "Require `let` or `const` instead of `var`",
1194 "recommended": false,
1196 "hasSuggestions": false
1200 "description": "Disallow `void` operators",
1201 "recommended": false,
1203 "hasSuggestions": false
1206 "name": "no-warning-comments",
1207 "description": "Disallow specified warning terms in comments",
1208 "recommended": false,
1210 "hasSuggestions": false
1214 "description": "Disallow `with` statements",
1215 "recommended": true,
1217 "hasSuggestions": false
1220 "name": "object-shorthand",
1221 "description": "Require or disallow method and property shorthand syntax for object literals",
1222 "recommended": false,
1224 "hasSuggestions": false
1228 "description": "Enforce variables to be declared either together or separately in functions",
1229 "recommended": false,
1231 "hasSuggestions": false
1234 "name": "one-var-declaration-per-line",
1235 "description": "Require or disallow newlines around variable declarations",
1236 "recommended": false,
1238 "hasSuggestions": false
1241 "name": "operator-assignment",
1242 "description": "Require or disallow assignment operator shorthand where possible",
1243 "recommended": false,
1245 "hasSuggestions": false
1248 "name": "prefer-arrow-callback",
1249 "description": "Require using arrow functions for callbacks",
1250 "recommended": false,
1252 "hasSuggestions": false
1255 "name": "prefer-const",
1256 "description": "Require `const` declarations for variables that are never reassigned after declared",
1257 "recommended": false,
1259 "hasSuggestions": false
1262 "name": "prefer-destructuring",
1263 "description": "Require destructuring from arrays and/or objects",
1264 "recommended": false,
1266 "hasSuggestions": false
1269 "name": "prefer-exponentiation-operator",
1270 "description": "Disallow the use of `Math.pow` in favor of the `**` operator",
1271 "recommended": false,
1273 "hasSuggestions": false
1276 "name": "prefer-named-capture-group",
1277 "description": "Enforce using named capture group in regular expression",
1278 "recommended": false,
1280 "hasSuggestions": false
1283 "name": "prefer-numeric-literals",
1284 "description": "Disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals",
1285 "recommended": false,
1287 "hasSuggestions": false
1290 "name": "prefer-object-has-own",
1291 "description": "Disallow use of `Object.prototype.hasOwnProperty.call()` and prefer use of `Object.hasOwn()`",
1292 "recommended": false,
1294 "hasSuggestions": false
1297 "name": "prefer-object-spread",
1298 "description": "Disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead.",
1299 "recommended": false,
1301 "hasSuggestions": false
1304 "name": "prefer-promise-reject-errors",
1305 "description": "Require using Error objects as Promise rejection reasons",
1306 "recommended": false,
1308 "hasSuggestions": false
1311 "name": "prefer-regex-literals",
1312 "description": "Disallow use of the `RegExp` constructor in favor of regular expression literals",
1313 "recommended": false,
1315 "hasSuggestions": true
1318 "name": "prefer-rest-params",
1319 "description": "Require rest parameters instead of `arguments`",
1320 "recommended": false,
1322 "hasSuggestions": false
1325 "name": "prefer-spread",
1326 "description": "Require spread operators instead of `.apply()`",
1327 "recommended": false,
1329 "hasSuggestions": false
1332 "name": "prefer-template",
1333 "description": "Require template literals instead of string concatenation",
1334 "recommended": false,
1336 "hasSuggestions": false
1339 "name": "quote-props",
1340 "description": "Require quotes around object literal property names",
1341 "recommended": false,
1343 "hasSuggestions": false
1347 "description": "Enforce the consistent use of the radix argument when using `parseInt()`",
1348 "recommended": false,
1350 "hasSuggestions": true
1353 "name": "require-await",
1354 "description": "Disallow async functions which have no `await` expression",
1355 "recommended": false,
1357 "hasSuggestions": false
1360 "name": "require-unicode-regexp",
1361 "description": "Enforce the use of `u` flag on RegExp",
1362 "recommended": false,
1364 "hasSuggestions": false
1367 "name": "require-yield",
1368 "description": "Require generator functions to contain `yield`",
1369 "recommended": true,
1371 "hasSuggestions": false
1374 "name": "sort-imports",
1375 "description": "Enforce sorted import declarations within modules",
1376 "recommended": false,
1378 "hasSuggestions": false
1381 "name": "sort-keys",
1382 "description": "Require object keys to be sorted",
1383 "recommended": false,
1385 "hasSuggestions": false
1388 "name": "sort-vars",
1389 "description": "Require variables within the same declaration block to be sorted",
1390 "recommended": false,
1392 "hasSuggestions": false
1395 "name": "spaced-comment",
1396 "description": "Enforce consistent spacing after the `//` or `/*` in a comment",
1397 "recommended": false,
1399 "hasSuggestions": false
1403 "description": "Require or disallow strict mode directives",
1404 "recommended": false,
1406 "hasSuggestions": false
1409 "name": "symbol-description",
1410 "description": "Require symbol descriptions",
1411 "recommended": false,
1413 "hasSuggestions": false
1416 "name": "vars-on-top",
1417 "description": "Require `var` declarations be placed at the top of their containing scope",
1418 "recommended": false,
1420 "hasSuggestions": false
1424 "description": "Require or disallow \"Yoda\" conditions",
1425 "recommended": false,
1427 "hasSuggestions": false
1433 "displayName": "Layout & Formatting",
1434 "description": "These rules care about how the code looks rather than how it executes:",
1437 "name": "array-bracket-newline",
1438 "description": "Enforce linebreaks after opening and before closing array brackets",
1439 "recommended": false,
1441 "hasSuggestions": false
1444 "name": "array-bracket-spacing",
1445 "description": "Enforce consistent spacing inside array brackets",
1446 "recommended": false,
1448 "hasSuggestions": false
1451 "name": "array-element-newline",
1452 "description": "Enforce line breaks after each array element",
1453 "recommended": false,
1455 "hasSuggestions": false
1458 "name": "arrow-parens",
1459 "description": "Require parentheses around arrow function arguments",
1460 "recommended": false,
1462 "hasSuggestions": false
1465 "name": "arrow-spacing",
1466 "description": "Enforce consistent spacing before and after the arrow in arrow functions",
1467 "recommended": false,
1469 "hasSuggestions": false
1472 "name": "block-spacing",
1473 "description": "Disallow or enforce spaces inside of blocks after opening block and before closing block",
1474 "recommended": false,
1476 "hasSuggestions": false
1479 "name": "brace-style",
1480 "description": "Enforce consistent brace style for blocks",
1481 "recommended": false,
1483 "hasSuggestions": false
1486 "name": "comma-dangle",
1487 "description": "Require or disallow trailing commas",
1488 "recommended": false,
1490 "hasSuggestions": false
1493 "name": "comma-spacing",
1494 "description": "Enforce consistent spacing before and after commas",
1495 "recommended": false,
1497 "hasSuggestions": false
1500 "name": "comma-style",
1501 "description": "Enforce consistent comma style",
1502 "recommended": false,
1504 "hasSuggestions": false
1507 "name": "computed-property-spacing",
1508 "description": "Enforce consistent spacing inside computed property brackets",
1509 "recommended": false,
1511 "hasSuggestions": false
1514 "name": "dot-location",
1515 "description": "Enforce consistent newlines before and after dots",
1516 "recommended": false,
1518 "hasSuggestions": false
1522 "description": "Require or disallow newline at the end of files",
1523 "recommended": false,
1525 "hasSuggestions": false
1528 "name": "func-call-spacing",
1529 "description": "Require or disallow spacing between function identifiers and their invocations",
1530 "recommended": false,
1532 "hasSuggestions": false
1535 "name": "function-call-argument-newline",
1536 "description": "Enforce line breaks between arguments of a function call",
1537 "recommended": false,
1539 "hasSuggestions": false
1542 "name": "function-paren-newline",
1543 "description": "Enforce consistent line breaks inside function parentheses",
1544 "recommended": false,
1546 "hasSuggestions": false
1549 "name": "generator-star-spacing",
1550 "description": "Enforce consistent spacing around `*` operators in generator functions",
1551 "recommended": false,
1553 "hasSuggestions": false
1556 "name": "implicit-arrow-linebreak",
1557 "description": "Enforce the location of arrow function bodies",
1558 "recommended": false,
1560 "hasSuggestions": false
1564 "description": "Enforce consistent indentation",
1565 "recommended": false,
1567 "hasSuggestions": false
1570 "name": "jsx-quotes",
1571 "description": "Enforce the consistent use of either double or single quotes in JSX attributes",
1572 "recommended": false,
1574 "hasSuggestions": false
1577 "name": "key-spacing",
1578 "description": "Enforce consistent spacing between keys and values in object literal properties",
1579 "recommended": false,
1581 "hasSuggestions": false
1584 "name": "keyword-spacing",
1585 "description": "Enforce consistent spacing before and after keywords",
1586 "recommended": false,
1588 "hasSuggestions": false
1591 "name": "line-comment-position",
1592 "description": "Enforce position of line comments",
1593 "recommended": false,
1595 "hasSuggestions": false
1598 "name": "linebreak-style",
1599 "description": "Enforce consistent linebreak style",
1600 "recommended": false,
1602 "hasSuggestions": false
1605 "name": "lines-around-comment",
1606 "description": "Require empty lines around comments",
1607 "recommended": false,
1609 "hasSuggestions": false
1612 "name": "lines-between-class-members",
1613 "description": "Require or disallow an empty line between class members",
1614 "recommended": false,
1616 "hasSuggestions": false
1620 "description": "Enforce a maximum line length",
1621 "recommended": false,
1623 "hasSuggestions": false
1626 "name": "max-statements-per-line",
1627 "description": "Enforce a maximum number of statements allowed per line",
1628 "recommended": false,
1630 "hasSuggestions": false
1633 "name": "multiline-ternary",
1634 "description": "Enforce newlines between operands of ternary expressions",
1635 "recommended": false,
1637 "hasSuggestions": false
1640 "name": "new-parens",
1641 "description": "Enforce or disallow parentheses when invoking a constructor with no arguments",
1642 "recommended": false,
1644 "hasSuggestions": false
1647 "name": "newline-per-chained-call",
1648 "description": "Require a newline after each call in a method chain",
1649 "recommended": false,
1651 "hasSuggestions": false
1654 "name": "no-extra-parens",
1655 "description": "Disallow unnecessary parentheses",
1656 "recommended": false,
1658 "hasSuggestions": false
1661 "name": "no-mixed-spaces-and-tabs",
1662 "description": "Disallow mixed spaces and tabs for indentation",
1663 "recommended": true,
1665 "hasSuggestions": false
1668 "name": "no-multi-spaces",
1669 "description": "Disallow multiple spaces",
1670 "recommended": false,
1672 "hasSuggestions": false
1675 "name": "no-multiple-empty-lines",
1676 "description": "Disallow multiple empty lines",
1677 "recommended": false,
1679 "hasSuggestions": false
1683 "description": "Disallow all tabs",
1684 "recommended": false,
1686 "hasSuggestions": false
1689 "name": "no-trailing-spaces",
1690 "description": "Disallow trailing whitespace at the end of lines",
1691 "recommended": false,
1693 "hasSuggestions": false
1696 "name": "no-whitespace-before-property",
1697 "description": "Disallow whitespace before properties",
1698 "recommended": false,
1700 "hasSuggestions": false
1703 "name": "nonblock-statement-body-position",
1704 "description": "Enforce the location of single-line statements",
1705 "recommended": false,
1707 "hasSuggestions": false
1710 "name": "object-curly-newline",
1711 "description": "Enforce consistent line breaks after opening and before closing braces",
1712 "recommended": false,
1714 "hasSuggestions": false
1717 "name": "object-curly-spacing",
1718 "description": "Enforce consistent spacing inside braces",
1719 "recommended": false,
1721 "hasSuggestions": false
1724 "name": "object-property-newline",
1725 "description": "Enforce placing object properties on separate lines",
1726 "recommended": false,
1728 "hasSuggestions": false
1731 "name": "operator-linebreak",
1732 "description": "Enforce consistent linebreak style for operators",
1733 "recommended": false,
1735 "hasSuggestions": false
1738 "name": "padded-blocks",
1739 "description": "Require or disallow padding within blocks",
1740 "recommended": false,
1742 "hasSuggestions": false
1745 "name": "padding-line-between-statements",
1746 "description": "Require or disallow padding lines between statements",
1747 "recommended": false,
1749 "hasSuggestions": false
1753 "description": "Enforce the consistent use of either backticks, double, or single quotes",
1754 "recommended": false,
1756 "hasSuggestions": false
1759 "name": "rest-spread-spacing",
1760 "description": "Enforce spacing between rest and spread operators and their expressions",
1761 "recommended": false,
1763 "hasSuggestions": false
1767 "description": "Require or disallow semicolons instead of ASI",
1768 "recommended": false,
1770 "hasSuggestions": false
1773 "name": "semi-spacing",
1774 "description": "Enforce consistent spacing before and after semicolons",
1775 "recommended": false,
1777 "hasSuggestions": false
1780 "name": "semi-style",
1781 "description": "Enforce location of semicolons",
1782 "recommended": false,
1784 "hasSuggestions": false
1787 "name": "space-before-blocks",
1788 "description": "Enforce consistent spacing before blocks",
1789 "recommended": false,
1791 "hasSuggestions": false
1794 "name": "space-before-function-paren",
1795 "description": "Enforce consistent spacing before `function` definition opening parenthesis",
1796 "recommended": false,
1798 "hasSuggestions": false
1801 "name": "space-in-parens",
1802 "description": "Enforce consistent spacing inside parentheses",
1803 "recommended": false,
1805 "hasSuggestions": false
1808 "name": "space-infix-ops",
1809 "description": "Require spacing around infix operators",
1810 "recommended": false,
1812 "hasSuggestions": false
1815 "name": "space-unary-ops",
1816 "description": "Enforce consistent spacing before or after unary operators",
1817 "recommended": false,
1819 "hasSuggestions": false
1822 "name": "switch-colon-spacing",
1823 "description": "Enforce spacing around colons of switch statements",
1824 "recommended": false,
1826 "hasSuggestions": false
1829 "name": "template-curly-spacing",
1830 "description": "Require or disallow spacing around embedded expressions of template strings",
1831 "recommended": false,
1833 "hasSuggestions": false
1836 "name": "template-tag-spacing",
1837 "description": "Require or disallow spacing between template tags and their literals",
1838 "recommended": false,
1840 "hasSuggestions": false
1843 "name": "unicode-bom",
1844 "description": "Require or disallow Unicode byte order mark (BOM)",
1845 "recommended": false,
1847 "hasSuggestions": false
1850 "name": "wrap-iife",
1851 "description": "Require parentheses around immediate `function` invocations",
1852 "recommended": false,
1854 "hasSuggestions": false
1857 "name": "wrap-regex",
1858 "description": "Require parenthesis around regex literals",
1859 "recommended": false,
1861 "hasSuggestions": false
1864 "name": "yield-star-spacing",
1865 "description": "Require or disallow spacing around the `*` in `yield*` expressions",
1866 "recommended": false,
1868 "hasSuggestions": false
1874 "name": "Deprecated",
1875 "description": "These rules have been deprecated in accordance with the <a href=\"/docs/user-guide/rule-deprecation\">deprecation policy</a>, and replaced by newer rules:",
1878 "name": "callback-return",
1882 "name": "global-require",
1886 "name": "handle-callback-err",
1890 "name": "id-blacklist",
1896 "name": "indent-legacy",
1902 "name": "lines-around-directive",
1904 "padding-line-between-statements"
1908 "name": "newline-after-var",
1910 "padding-line-between-statements"
1914 "name": "newline-before-return",
1916 "padding-line-between-statements"
1920 "name": "no-buffer-constructor",
1924 "name": "no-catch-shadow",
1930 "name": "no-mixed-requires",
1934 "name": "no-native-reassign",
1940 "name": "no-negated-in-lhs",
1942 "no-unsafe-negation"
1946 "name": "no-new-require",
1950 "name": "no-path-concat",
1954 "name": "no-process-env",
1958 "name": "no-process-exit",
1962 "name": "no-restricted-modules",
1966 "name": "no-spaced-func",
1976 "name": "prefer-reflect",
1980 "name": "require-jsdoc",
1984 "name": "valid-jsdoc",
1991 "description": "These rules from older versions of ESLint (before the <a href=\"/docs/user-guide/rule-deprecation\">deprecation policy</a> existed) have been replaced by newer rules:",
1994 "removed": "generator-star",
1996 "generator-star-spacing"
2000 "removed": "global-strict",
2006 "removed": "no-arrow-condition",
2008 "no-confusing-arrow",
2009 "no-constant-condition"
2013 "removed": "no-comma-dangle",
2019 "removed": "no-empty-class",
2021 "no-empty-character-class"
2025 "removed": "no-empty-label",
2031 "removed": "no-extra-strict",
2037 "removed": "no-reserved-keys",
2043 "removed": "no-space-before-semi",
2049 "removed": "no-wrap-func",
2055 "removed": "space-after-function-name",
2057 "space-before-function-paren"
2061 "removed": "space-after-keywords",
2067 "removed": "space-before-function-parentheses",
2069 "space-before-function-paren"
2073 "removed": "space-before-keywords",
2079 "removed": "space-in-brackets",
2081 "object-curly-spacing",
2082 "array-bracket-spacing"
2086 "removed": "space-return-throw-case",
2092 "removed": "space-unary-word-ops",
2098 "removed": "spaced-line-comment",