@wildpastry/eslint-config 1.5.9 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/.eslintrc +357 -308
  2. package/README.md +10 -2
  3. package/index.js +316 -261
  4. package/package.json +3 -2
package/.eslintrc CHANGED
@@ -6,319 +6,368 @@
6
6
  {
7
7
  "root": true,
8
8
 
9
- "ignorePatterns": ["cypress/*", "*.html"],
9
+ "ignorePatterns": "*.html",
10
10
 
11
- "overrides": [
12
- {
13
- "extends": [
14
- "eslint:recommended",
15
- "plugin:@typescript-eslint/recommended",
16
- "plugin:@typescript-eslint/recommended-requiring-type-checking"
17
- ],
11
+ "env": {
12
+ "browser": true,
13
+ "node": true,
14
+ "es6": true
15
+ },
18
16
 
19
- "env": {
20
- "browser": true,
21
- "node": true,
22
- "es6": true
23
- },
17
+ "settings": {
18
+ "react": {
19
+ "createClass": "createReactClass",
20
+ "pragma": "React",
21
+ "version": "detect"
22
+ }
23
+ },
24
24
 
25
- "settings": {
26
- "react": {
27
- "createClass": "createReactClass",
28
- "pragma": "React",
29
- "version": "detect"
30
- }
31
- },
32
-
33
- "plugins": ["react"],
25
+ "parser": "@typescript-eslint/parser",
34
26
 
35
- "files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
27
+ "plugins": ["@typescript-eslint", "react", "prettier"],
36
28
 
37
- "ecmaFeatures": {
38
- "arrowFunctions": true,
39
- "binaryLiterals": true,
40
- "blockBindings": true,
41
- "classes": true,
42
- "defaultParams": true,
43
- "destructuring": true,
44
- "forOf": true,
45
- "generators": true,
46
- "modules": true,
47
- "objectLiteralComputedProperties": true,
48
- "objectLiteralDuplicateProperties": true,
49
- "objectLiteralShorthandMethods": true,
50
- "objectLiteralShorthandProperties": true,
51
- "octalLiterals": true,
52
- "regexUFlag": true,
53
- "regexYFlag": true,
54
- "spread": true,
55
- "superInFunctions": true,
56
- "templateStrings": true,
57
- "unicodeCodePointEscapes": true,
58
- "globalReturn": true,
59
- "jsx": true
60
- },
29
+ "parserOptions": {
30
+ "ecmaFeatures": {
31
+ "arrowFunctions": true,
32
+ "binaryLiterals": true,
33
+ "blockBindings": true,
34
+ "classes": true,
35
+ "defaultParams": true,
36
+ "destructuring": true,
37
+ "forOf": true,
38
+ "generators": true,
39
+ "modules": true,
40
+ "objectLiteralComputedProperties": true,
41
+ "objectLiteralDuplicateProperties": true,
42
+ "objectLiteralShorthandMethods": true,
43
+ "objectLiteralShorthandProperties": true,
44
+ "octalLiterals": true,
45
+ "regexUFlag": true,
46
+ "regexYFlag": true,
47
+ "spread": true,
48
+ "superInFunctions": true,
49
+ "templateStrings": true,
50
+ "unicodeCodePointEscapes": true,
51
+ "globalReturn": true,
52
+ "jsx": true
53
+ },
54
+ "requireConfigFile": false,
55
+ "sourceType": "module"
56
+ },
61
57
 
62
- "rules": {
63
- "no-inferrable-types": 0, // disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean // DONE - OFF
64
- "no-unsafe-assignment": 0, // disallow assigning a value with type any to variables and properties // DONE - OFF
65
- "no-unsafe-member-access": 0, //disallow member access on a value with type any // DONE - OFF
66
- "array-callback-return": 0, // enforce `return` statements in callbacks of array methods // DONE - OFF
67
- "no-await-in-loop": 0, // disallow `await` inside of loops // DONE - OFF
68
- "no-constructor-return": 0, // disallow returning value from constructor // DONE - OFF
69
- "no-duplicate-imports": 1, // disallow duplicate module imports // DONE
70
- "no-promise-executor-return": 0, // disallow returning values from Promise executor functions // DONE - OFF
71
- "no-self-compare": 1, // disallow comparisons where both sides are exactly the same // DONE
72
- "no-template-curly-in-string": 0, // disallow template literal placeholder syntax in regular strings // DONE - OFF
73
- "no-unmodified-loop-condition": 1, // disallow unmodified loop conditions // DONE
74
- "no-unreachable-loop": 1, // disallow loops with a body that allows only one iteration // DONE
75
- "no-use-before-define": 0, // disallow the use of variables before they are defined // DONE - OFF
76
- "require-atomic-updates": 1, // disallow assignments that can lead to race conditions due to usage of `await` or `yield` // DONE
77
- "accessor-pairs": 0, // enforce getter and setter pairs in objects and classes // DONE - OFF
78
- "arrow-body-style": 0, // require braces around arrow function bodies // DONE - OFF
79
- "block-scoped-var": 1, // enforce the use of variables within the scope they are defined // DONE
80
- "camelcase": 1, // enforce camelcase naming convention // DONE
81
- "capitalized-comments": 1, // enforce or disallow capitalization of the first letter of a comment // DONE
82
- "class-methods-use-this": 0, // enforce that class methods utilize `this` // DONE - OFF
83
- "complexity": 0, // enforce a maximum cyclomatic complexity allowed in a program // DONE - OFF
84
- "consistent-return": 1, // require `return` statements to either always or never specify values // DONE
85
- "consistent-this": 1, // enforce consistent naming when capturing the current execution context // DONE
86
- "curly": 1, // enforce consistent brace style for all control statements // DONE
87
- "default-case": 1, // require `default` cases in `switch` statements // DONE
88
- "default-case-last": 1, // enforce default clauses in switch statements to be last // DONE
89
- "default-param-last": 0, // enforce default parameters to be last // DONE - OFF
90
- "dot-notation": 1, // enforce dot notation whenever possible // DONE
91
- "eqeqeq": 1, // require the use of `===` and `!==` // DONE
92
- "func-name-matching": 1, // require function names to match the name of the variable or property to which they are assigned // DONE
93
- "func-names": 1, // require or disallow named `function` expressions // DONE
94
- "func-style": 0, // enforce the consistent use of either `function` declarations or expressions // DONE - OFF
95
- "grouped-accessor-pairs": 1, // require grouped accessor pairs in object literals and classes // DONE
96
- "guard-for-in": 1, // require `for-in` loops to include an `if` statement // DONE
97
- "id-denylist": 1, // disallow specified identifiers // DONE
98
- "id-length": 0, // enforce minimum and maximum identifier lengths // DONE - OFF
99
- "id-match": 1, // require identifiers to match a specified regular expression // DONE
100
- "init-declarations": 0, // require or disallow initialization in variable declarations // DONE - OFF
101
- "max-classes-per-file": 1, // enforce a maximum number of classes per file // DONE
102
- "max-depth": [1, 3], // enforce a maximum depth that blocks can be nested // DONE
103
- "max-lines": [1, { "max": 600, "skipBlankLines": true }], // enforce a maximum number of lines per file // DONE - CUSTOMISED
104
- "max-lines-per-function": [1, { "max": 300 }], // enforce a maximum number of lines of code in a function // DONE - CUSTOMISED
105
- "max-nested-callbacks": 1, // enforce a maximum depth that callbacks can be nested // DONE
106
- "max-params": [1, { "max": 7 }], // enforce a maximum number of parameters in function definitions // DONE - CUSTOMISED
107
- "max-statements": [1, { "max": 20 }], // enforce a maximum number of statements allowed in function blocks // DONE - CUSTOMISED
108
- "multiline-comment-style": 1, // enforce a particular style for multiline comments // DONE
109
- "new-cap": 0, // require constructor names to begin with a capital letter // DONE - OFF
110
- "no-alert": 1, // disallow the use of `alert`, `confirm`, and `prompt` // DONE
111
- "no-array-constructor": 1, // disallow `Array` constructors // DONE
112
- "no-bitwise": 1, // disallow bitwise operators // DONE
113
- "no-caller": 1, // disallow the use of `arguments.caller` or `arguments.callee` // DONE
114
- "no-case-declarations": 1, // disallow lexical declarations in case clauses // DONE
115
- "no-confusing-arrow": 1, // disallow arrow functions where they could be confused with comparisons // DONE
116
- "no-console": 1, // disallow the use of `console` // DONE
117
- "no-continue": 1, // disallow `continue` statements // DONE
118
- "no-delete-var": 1, // disallow deleting variables // DONE
119
- "no-div-regex": 1, // disallow division operators explicitly at the beginning of regular expressions // DONE
120
- "no-else-return": 1, // disallow `else` blocks after `return` statements in `if` statements // DONE
121
- "no-empty": 1, // disallow empty block statements // DONE
122
- "no-empty-function": [1, { "allow": ["constructors"] }], // disallow empty functions // DONE - CUSTOMISED
123
- "no-eq-null": 1, // disallow `null` comparisons without type-checking operators // DONE
124
- "no-eval": 1, // disallow the use of `eval()` // DONE
125
- "no-extend-native": 1, // disallow extending native types // DONE
126
- "no-extra-bind": 1, // disallow unnecessary calls to `.bind()` // DONE
127
- "no-extra-boolean-cast": 1, // disallow unnecessary boolean casts // DONE
128
- "no-extra-label": 1, // disallow unnecessary labels // DONE
129
- "no-extra-semi": 1, // disallow unnecessary semicolons // DONE
130
- "no-floating-decimal": 1, // disallow leading or trailing decimal points in numeric literals // DONE
131
- "no-global-assign": 1, // disallow assignments to native objects or read-only global variables // DONE
132
- "no-implicit-coercion": 1, // disallow shorthand type conversions // DONE
133
- "no-implicit-globals": 1, // disallow declarations in the global scope // DONE
134
- "no-implied-eval": 1, // disallow the use of `eval()`-like methods // DONE
135
- "no-inline-comments": 1, // disallow inline comments after code // DONE
136
- "no-invalid-this": 1, // disallow `this` keywords outside of classes or class-like objects // DONE
137
- "no-iterator": 1, // disallow the use of the `__iterator__` property // DONE
138
- "no-label-var": 1, // disallow labels that share a name with a variable // DONE
139
- "no-labels": 1, // disallow labeled statements // DONE
140
- "no-lone-blocks": 1, // disallow unnecessary nested blocks // DONE
141
- "no-lonely-if": 1, // disallow `if` statements as the only statement in `else` blocks // DONE
142
- "no-loop-func": 1, // disallow function declarations that contain unsafe references inside loop statements // DONE
143
- "no-magic-numbers": 0, // disallow magic numbers // Comment, this rule seems to be hard to satisfy. // DONE - OFF
144
- "no-mixed-operators": 1, // disallow mixed binary operators // DONE
145
- "no-multi-assign": 1, // disallow use of chained assignment expressions // DONE
146
- "no-multi-str": 1, // disallow multiline strings // DONE
147
- "no-negated-condition": 1, // disallow negated conditions // DONE
148
- "no-nested-ternary": 1, // disallow nested ternary expressions // DONE
149
- "no-new": 1, // disallow `new` operators outside of assignments or comparisons // DONE
150
- "no-new-func": 1, // disallow `new` operators with the `Function` object // DONE
151
- "no-new-object": 1, // disallow `Object` constructors // DONE
152
- "no-new-wrappers": 1, // disallow `new` operators with the `String`, `Number`, and `Boolean` objects // DONE
153
- "no-nonoctal-decimal-escape": 1, // disallow `\8` and `\9` escape sequences in string literals // DONE
154
- "no-octal": 1, // disallow octal literals // DONE
155
- "no-octal-escape": 1, // disallow octal escape sequences in string literals // DONE
156
- "no-param-reassign": 1, // disallow reassigning `function` parameters // DONE
157
- "no-plusplus": 0, // disallow the unary operators `++` and `--` // DONE - OFF
158
- "no-proto": 1, // disallow the use of the `__proto__` property // DONE
159
- "no-redeclare": 1, // disallow variable redeclaration // DONE
160
- "no-regex-spaces": 1, // disallow multiple spaces in regular expressions // DONE
161
- "no-restricted-exports": 1, // disallow specified names in exports // DONE
162
- "no-restricted-globals": 1, // disallow specified global variables // DONE
163
- "no-restricted-imports": 1, // disallow specified modules when loaded by `import` // DONE
164
- "no-restricted-properties": 1, // disallow certain properties on certain objects // DONE
165
- "no-restricted-syntax": 1, // disallow specified syntax // DONE
166
- "no-return-assign": 1, // disallow assignment operators in `return` statements // DONE
167
- "no-return-await": 1, // disallow unnecessary `return await` // DONE
168
- "no-script-url": 1, // disallow `javascript:` urls // DONE
169
- "no-sequences": 1, // disallow comma operators // DONE
170
- "no-shadow": 0, // disallow variable declarations from shadowing variables declared in the outer scope // DONE - OFF
171
- "no-shadow-restricted-names": 1, // disallow identifiers from shadowing restricted names // DONE
172
- "no-ternary": 0, // disallow ternary operators // DONE - OFF
173
- "no-throw-literal": 1, // disallow throwing literals as exceptions // DONE
174
- "no-undef-init": 1, // disallow initializing variables to `undefined` // DONE
175
- "no-undefined": 0, // disallow the use of `undefined` as an identifier // DONE - OFF
176
- "no-underscore-dangle": 0, // disallow dangling underscores in identifiers // DONE - OFF
177
- "no-unneeded-ternary": 0, // disallow ternary operators when simpler alternatives exist // DONE - OFF
178
- "no-unused-expressions": 0, // disallow unused expressions // DONE - OFF
179
- "no-unused-labels": 1, // disallow unused labels // DONE
180
- "no-useless-call": 1, // disallow unnecessary calls to `.call()` and `.apply()` // DONE
181
- "no-useless-catch": 1, // disallow unnecessary `catch` clauses // DONE
182
- "no-useless-computed-key": 1, // disallow unnecessary computed property keys in objects and classes // DONE
183
- "no-useless-concat": 1, // disallow unnecessary concatenation of literals or template literals // DONE
184
- "no-useless-constructor": 0, // disallow unnecessary constructors // DONE - OFF
185
- "no-useless-escape": 1, // disallow unnecessary escape characters // DONE
186
- "no-useless-rename": 1, // disallow renaming import, export, and destructured assignments to the same name // DONE
187
- "no-useless-return": 1, // disallow redundant return statements // DONE
188
- "no-var": 1, // require `let` or `const` instead of `var` // DONE
189
- "no-void": [1, { "allowAsStatement": true }], // disallow `void` operators // DONE - CUSTOMISED
190
- "no-warning-comments": 1, // disallow specified warning terms in comments // DONE
191
- "no-with": 1, // disallow `with` statements // DONE
192
- "object-shorthand": 0, // require or disallow method and property shorthand syntax for object literals // DONE - OFF
193
- "one-var": 0, // enforce variables to be declared either together or separately in functions // DONE - OFF
194
- "one-var-declaration-per-line": 1, // require or disallow newlines around variable declarations // DONE
195
- "operator-assignment": 1, // require or disallow assignment operator shorthand where possible // DONE
196
- "prefer-arrow-callback": 1, // require using arrow functions for callbacks // DONE
197
- "prefer-const": 1, // require `const` declarations for variables that are never reassigned after declared // DONE
198
- "prefer-destructuring": 0, // require destructuring from arrays and/or objects // DONE - OFF
199
- "prefer-exponentiation-operator": 1, // disallow the use of `Math.pow` in favor of the `**` operator // DONE
200
- "prefer-named-capture-group": 1, // enforce using named capture group in regular expression // DONE
201
- "prefer-numeric-literals": 1, // disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals // DONE
202
- "prefer-object-spread": 1, // disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead. // DONE
203
- "prefer-promise-reject-errors": 1, // require using Error objects as Promise rejection reasons // DONE
204
- "prefer-regex-literals": 1, // disallow use of the `RegExp` constructor in favor of regular expression literals // DONE
205
- "prefer-rest-params": 1, // require rest parameters instead of `arguments` // DONE
206
- "prefer-spread": 1, // require spread operators instead of `.apply()` // DONE
207
- "prefer-template": 1, // require template literals instead of string concatenation // DONE
208
- "radix": 1, // enforce the consistent use of the radix argument when using `parseInt()` // DONE
209
- "require-await": 1, // disallow async functions which have no `await` expression // DONE
210
- "require-unicode-regexp": 1, // enforce the use of `u` flag on RegExp // DONE
211
- "require-yield": 1, // require generator functions to contain `yield` // DONE
212
- "sort-imports": 1, // enforce sorted import declarations within modules // DONE
213
- "sort-keys": 0, // require object keys to be sorted // DONE - OFF
214
- "sort-vars": 1, // require variables within the same declaration block to be sorted // DONE
215
- "spaced-comment": 1, // enforce consistent spacing after the `//` or `/*` in a comment // DONE
216
- "strict": 0, // require or disallow strict mode directives // DONE - OFF
217
- "symbol-description": 1, // require symbol descriptions // DONE
218
- "vars-on-top": 1, // require `var` declarations be placed at the top of their containing scope // DONE
219
- "yoda": 1, // require or disallow "Yoda" conditions // DONE
220
- "array-bracket-newline": 1, // enforce linebreaks after opening and before closing array brackets // DONE
221
- "array-element-newline": 0, // enforce line breaks after each array element // DONE - OFF
222
- "arrow-parens": 1, // require parentheses around arrow function arguments // DONE
223
- "arrow-spacing": 1, // enforce consistent spacing before and after the arrow in arrow functions // DONE
224
- "block-spacing": 1, // disallow or enforce spaces inside of blocks after opening block and before closing block // DONE
225
- "brace-style": 1, // enforce consistent brace style for blocks // DONE
226
- "comma-dangle": 1, // require or disallow trailing commas // DONE
227
- "comma-spacing": 1, // enforce consistent spacing before and after commas // DONE
228
- "comma-style": 1, // enforce consistent comma style // DONE
229
- "computed-property-spacing": 1, // enforce consistent spacing inside computed property brackets // DONE
230
- "dot-location": 0, // enforce consistent newlines before and after dots // DONE - OFF
231
- "eol-last": 1, // require or disallow newline at the end of files // DONE
232
- "func-call-spacing": 1, // require or disallow spacing between function identifiers and their invocations // DONE
233
- "function-call-argument-newline": [1, "consistent"], // enforce line breaks between arguments of a function call // DONE - CUSTOMISED
234
- "function-paren-newline": [1, "multiline-arguments"], // enforce consistent line breaks inside function parentheses // DONE - CUSTOMISED
235
- "generator-star-spacing": 1, // enforce consistent spacing around `*` operators in generator functions // DONE
236
- "implicit-arrow-linebreak": 1, // enforce the location of arrow function bodies // DONE
237
- "indent": [1, 2], // enforce consistent indentation. second value is number of spaces // DONE
238
- "jsx-quotes": [1, "prefer-single"], // enforce the consistent use of either double or single quotes in JSX attributes // DONE - CUSTOMISED
239
- "key-spacing": [1, { "beforeColon": false }], // enforce consistent spacing between keys and values in object literal properties // DONE - CUSTOMISED
240
- "line-comment-position": 1, // enforce position of line comments // DONE
241
- "linebreak-style": 0, // enforce consistent linebreak style // OFF
242
- "lines-around-comment": 1, // require empty lines around comments // DONE
243
- "lines-between-class-members": 0, // require or disallow an empty line between class members // DONE - OFF
244
- "max-len": [1, { "code": 140, "ignoreUrls": true, "ignorePattern": "^import .*" }], // enforce a maximum line length // DONE - CUSTOMISED
245
- "max-statements-per-line": 1, // enforce a maximum number of statements allowed per line // DONE
246
- "multiline-ternary": 0, // enforce newlines between operands of ternary expressions // DONE - OFF
247
- "new-parens": 1, // enforce or disallow parentheses when invoking a constructor with no arguments // DONE
248
- "newline-per-chained-call": 1, // require a newline after each call in a method chain // DONE
249
- "no-extra-parens": 0, // disallow unnecessary parentheses // DONE - OFF
250
- "no-mixed-spaces-and-tabs": 1, // disallow mixed spaces and tabs for indentation // DONE
251
- "no-multi-spaces": 1, // disallow multiple spaces // DONE
252
- "no-multiple-empty-lines": 1, // disallow multiple empty lines // DONE
253
- "no-tabs": 1, // disallow all tabs // DONE
254
- "no-trailing-spaces": 1, // disallow trailing whitespace at the end of lines // DONE
255
- "no-whitespace-before-property": 1, // disallow whitespace before properties // DONE
256
- "nonblock-statement-body-position": 1, // enforce the location of single-line statements // DONE
257
- "object-curly-newline": 1, // enforce consistent line breaks after opening and before closing braces // DONE
258
- "object-curly-spacing": [0, "always"], // enforce consistent spacing inside braces // DONE - OFF
259
- "object-property-newline": 0, // enforce placing object properties on separate lines // DONE - OFF
260
- "operator-linebreak": 1, // enforce consistent linebreak style for operators // DONE
261
- "padded-blocks": 0, // require or disallow padding within blocks // DONE - OFF
262
- "padding-line-between-statements": 1, // require or disallow padding lines between statements // DONE
263
- "quotes": [1, "single"], // enforce the consistent use of either backticks, double, or single quotes // DONE
264
- "rest-spread-spacing": 1, // enforce spacing between rest and spread operators and their expressions // DONE
265
- "semi": [1, "always"], // require or disallow semicolons instead of ASI // DONE
266
- "semi-spacing": 1, // enforce consistent spacing before and after semicolons // DONE
267
- "semi-style": 1, // enforce location of semicolons // DONE
268
- "space-before-blocks": 1, // enforce consistent spacing before blocks // DONE
269
- "space-before-function-paren": 0, // enforce consistent spacing before `function` definition opening parenthesis // DONE - OFF
270
- "space-in-parens": 1, // enforce consistent spacing inside parentheses // DONE
271
- "space-infix-ops": 1, // require spacing around infix operators // DONE
272
- "space-unary-ops": 1, // enforce consistent spacing before or after unary operators // DONE
273
- "switch-colon-spacing": 1, // enforce spacing around colons of switch statements // DONE
274
- "template-curly-spacing": 1, // require or disallow spacing around embedded expressions of template strings // DONE
275
- "template-tag-spacing": 1, // require or disallow spacing between template tags and their literals // DONE
276
- "unicode-bom": 1, // require or disallow Unicode byte order mark (BOM) // DONE
277
- "wrap-iife": 1, // require parentheses around immediate `function` invocations // DONE
278
- "wrap-regex": 1, // require parenthesis around regex literals // DONE
279
- "yield-star-spacing": 1, // require or disallow spacing around the `*` in `yield*` expressions // DONE
280
- "no-cond-assign": 1, // disallow assignment in conditional expressions // DONE
281
- "no-constant-condition": 1, // disallow use of constant expressions in conditions // DONE
282
- "no-control-regex": 1, // disallow control characters in regular expressions // DONE
283
- "no-debugger": 0, // disallow use of debugger // DONE - OFF
284
- "no-dupe-args": 1, // disallow duplicate arguments in functions // DONE
285
- "no-dupe-keys": 1, // disallow duplicate keys when creating object literals // DONE
286
- "no-duplicate-case": 1, // disallow a duplicate case label // DONE
287
- "no-ex-assign": 1, // disallow assigning to the exception in a catch block // DONE
288
- "no-func-assign": 1, // disallow overwriting functions written as function declarations // DONE
289
- "no-inner-declarations": 1, // disallow function or variable declarations in nested blocks // DONE
290
- "no-invalid-regexp": 1, // disallow invalid regular expression strings in the RegExp constructor // DONE
291
- "no-irregular-whitespace": 1, // disallow irregular whitespace outside of strings and comments // DONE
292
- "no-negated-in-lhs": 1, // disallow negation of the left operand of an in expression // DONE
293
- "no-obj-calls": 1, // disallow the use of object properties of the global object (Math and JSON) as functions // DONE
294
- "quote-props": [1, "as-needed"], // require quotes around object literal property names // DONE - CUSTOMISED
295
- "no-sparse-arrays": 1, // disallow sparse arrays // DONE
296
- "no-unreachable": 1, // disallow unreachable statements after a return, throw, continue, or break statement // DONE
297
- "use-isnan": 1, // disallow comparisons with the value NaN // DONE
298
- "valid-jsdoc": 1, // ensure JSDoc comments are valid // DONE
299
- "valid-typeof": 1, // ensure that the results of typeof are compared against a valid string // DONE
300
- "no-catch-shadow": 1, // disallow the catch clause parameter name being the same as a variable in the outer scope // DONE
301
- "no-unused-vars": 1, // disallow declaration of variables that are not used in the code // DONE
302
- "newline-after-var": 0, // allow/disallow an empty newline after var statement // DONE - OFF
303
- "no-spaced-func": 1, // disallow space between function identifier and application // DONE
304
- "keyword-spacing": [1, { "before": true }], // enforce consistent spacing before and after keywords // DONE - CUSTOMISED
305
- "array-bracket-spacing": [0, "always"], // enforces consistent spacing inside array brackets // DONE - CUSTOMISED
306
- "@typescript-eslint/no-unused-vars": ["warning", { "argsIgnorePattern": "^_" }], // DONE - CUSTOMISED
58
+ "rules": {
59
+ // Code
60
+ "no-inferrable-types": 0, // disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean // DONE - OFF
61
+ "no-unsafe-assignment": 0, // disallow assigning a value with type any to variables and properties // DONE - OFF
62
+ "no-unsafe-member-access": 0, //disallow member access on a value with type any // DONE - OFF
63
+ "array-callback-return": 0, // enforce `return` statements in callbacks of array methods // DONE - OFF
64
+ "no-await-in-loop": 0, // disallow `await` inside of loops // DONE - OFF
65
+ "no-constructor-return": 0, // disallow returning value from constructor // DONE - OFF
66
+ "no-duplicate-imports": 1, // disallow duplicate module imports // DONE
67
+ "no-promise-executor-return": 0, // disallow returning values from Promise executor functions // DONE - OFF
68
+ "no-self-compare": 1, // disallow comparisons where both sides are exactly the same // DONE
69
+ "no-template-curly-in-string": 0, // disallow template literal placeholder syntax in regular strings // DONE - OFF
70
+ "no-unmodified-loop-condition": 1, // disallow unmodified loop conditions // DONE
71
+ "no-unreachable-loop": 1, // disallow loops with a body that allows only one iteration // DONE
72
+ "no-use-before-define": 0, // disallow the use of variables before they are defined // DONE - OFF
73
+ "require-atomic-updates": 1, // disallow assignments that can lead to race conditions due to usage of `await` or `yield` // DONE
74
+ "accessor-pairs": 0, // enforce getter and setter pairs in objects and classes // DONE - OFF
75
+ "arrow-body-style": 0, // require braces around arrow function bodies // DONE - OFF
76
+ "block-scoped-var": 1, // enforce the use of variables within the scope they are defined // DONE
77
+ "camelcase": 1, // enforce camelcase naming convention // DONE
78
+ "capitalized-comments": 1, // enforce or disallow capitalization of the first letter of a comment // DONE
79
+ "class-methods-use-this": 0, // enforce that class methods utilize `this` // DONE - OFF
80
+ "complexity": 0, // enforce a maximum cyclomatic complexity allowed in a program // DONE - OFF
81
+ "consistent-return": 1, // require `return` statements to either always or never specify values // DONE
82
+ "consistent-this": 1, // enforce consistent naming when capturing the current execution context // DONE
83
+ "default-case": 1, // require `default` cases in `switch` statements // DONE
84
+ "default-case-last": 1, // enforce default clauses in switch statements to be last // DONE
85
+ "default-param-last": 0, // enforce default parameters to be last // DONE - OFF
86
+ "dot-notation": 1, // enforce dot notation whenever possible // DONE
87
+ "eqeqeq": 1, // require the use of `===` and `!==` // DONE
88
+ "func-name-matching": 1, // require function names to match the name of the variable or property to which they are assigned // DONE
89
+ "func-names": 1, // require or disallow named `function` expressions // DONE
90
+ "func-style": 0, // enforce the consistent use of either `function` declarations or expressions // DONE - OFF
91
+ "grouped-accessor-pairs": 1, // require grouped accessor pairs in object literals and classes // DONE
92
+ "guard-for-in": 1, // require `for-in` loops to include an `if` statement // DONE
93
+ "id-denylist": 1, // disallow specified identifiers // DONE
94
+ "id-length": 0, // enforce minimum and maximum identifier lengths // DONE - OFF
95
+ "id-match": 1, // require identifiers to match a specified regular expression // DONE
96
+ "init-declarations": 0, // require or disallow initialization in variable declarations // DONE - OFF
97
+ "max-classes-per-file": 1, // enforce a maximum number of classes per file // DONE
98
+ "max-depth": [1, 3], // enforce a maximum depth that blocks can be nested // DONE
99
+ "max-lines": [1, { "max": 800, "skipBlankLines": true }], // enforce a maximum number of lines per file // DONE - CUSTOMISED
100
+ "max-lines-per-function": [1, { "max": 200 }], // enforce a maximum number of lines of code in a function // DONE - CUSTOMISED
101
+ "max-nested-callbacks": 1, // enforce a maximum depth that callbacks can be nested // DONE
102
+ "max-params": [1, { "max": 7 }], // enforce a maximum number of parameters in function definitions // DONE - CUSTOMISED
103
+ "max-statements": [1, { "max": 20 }], // enforce a maximum number of statements allowed in function blocks // DONE - CUSTOMISED
104
+ "multiline-comment-style": 1, // enforce a particular style for multiline comments // DONE
105
+ "new-cap": 0, // require constructor names to begin with a capital letter // DONE - OFF
106
+ "no-alert": 1, // disallow the use of `alert`, `confirm`, and `prompt` // DONE
107
+ "no-array-constructor": 1, // disallow `Array` constructors // DONE
108
+ "no-bitwise": 1, // disallow bitwise operators // DONE
109
+ "no-caller": 1, // disallow the use of `arguments.caller` or `arguments.callee` // DONE
110
+ "no-case-declarations": 1, // disallow lexical declarations in case clauses // DONE
111
+ "no-console": 1, // disallow the use of `console` // DONE
112
+ "no-continue": 1, // disallow `continue` statements // DONE
113
+ "no-delete-var": 1, // disallow deleting variables // DONE
114
+ "no-div-regex": 1, // disallow division operators explicitly at the beginning of regular expressions // DONE
115
+ "no-else-return": 1, // disallow `else` blocks after `return` statements in `if` statements // DONE
116
+ "no-empty": 1, // disallow empty block statements // DONE
117
+ "no-empty-function": [1, { "allow": ["constructors"] }], // disallow empty functions // DONE - CUSTOMISED
118
+ "no-eq-null": 1, // disallow `null` comparisons without type-checking operators // DONE
119
+ "no-eval": 1, // disallow the use of `eval()` // DONE
120
+ "no-extend-native": 1, // disallow extending native types // DONE
121
+ "no-extra-bind": 1, // disallow unnecessary calls to `.bind()` // DONE
122
+ "no-extra-boolean-cast": 1, // disallow unnecessary boolean casts // DONE
123
+ "no-extra-label": 1, // disallow unnecessary labels // DONE
124
+ "no-global-assign": 1, // disallow assignments to native objects or read-only global variables // DONE
125
+ "no-implicit-coercion": 1, // disallow shorthand type conversions // DONE
126
+ "no-implicit-globals": 1, // disallow declarations in the global scope // DONE
127
+ "no-implied-eval": 1, // disallow the use of `eval()`-like methods // DONE
128
+ "no-inline-comments": 1, // disallow inline comments after code // DONE
129
+ "no-invalid-this": 1, // disallow `this` keywords outside of classes or class-like objects // DONE
130
+ "no-iterator": 1, // disallow the use of the `__iterator__` property // DONE
131
+ "no-label-var": 1, // disallow labels that share a name with a variable // DONE
132
+ "no-labels": 1, // disallow labeled statements // DONE
133
+ "no-lone-blocks": 1, // disallow unnecessary nested blocks // DONE
134
+ "no-lonely-if": 1, // disallow `if` statements as the only statement in `else` blocks // DONE
135
+ "no-loop-func": 1, // disallow function declarations that contain unsafe references inside loop statements // DONE
136
+ "no-magic-numbers": 0, // disallow magic numbers // Comment, this rule seems to be hard to satisfy. // DONE - OFF
137
+ "no-multi-assign": 1, // disallow use of chained assignment expressions // DONE
138
+ "no-multi-str": 1, // disallow multiline strings // DONE
139
+ "no-negated-condition": 1, // disallow negated conditions // DONE
140
+ "no-nested-ternary": 1, // disallow nested ternary expressions // DONE
141
+ "no-new": 1, // disallow `new` operators outside of assignments or comparisons // DONE
142
+ "no-new-func": 1, // disallow `new` operators with the `Function` object // DONE
143
+ "no-new-object": 1, // disallow `Object` constructors // DONE
144
+ "no-new-wrappers": 1, // disallow `new` operators with the `String`, `Number`, and `Boolean` objects // DONE
145
+ "no-nonoctal-decimal-escape": 1, // disallow `\8` and `\9` escape sequences in string literals // DONE
146
+ "no-octal": 1, // disallow octal literals // DONE
147
+ "no-octal-escape": 1, // disallow octal escape sequences in string literals // DONE
148
+ "no-param-reassign": 1, // disallow reassigning `function` parameters // DONE
149
+ "no-plusplus": 0, // disallow the unary operators `++` and `--` // DONE - OFF
150
+ "no-proto": 1, // disallow the use of the `__proto__` property // DONE
151
+ "no-redeclare": 1, // disallow variable redeclaration // DONE
152
+ "no-regex-spaces": 1, // disallow multiple spaces in regular expressions // DONE
153
+ "no-restricted-exports": 1, // disallow specified names in exports // DONE
154
+ "no-restricted-globals": 1, // disallow specified global variables // DONE
155
+ "no-restricted-imports": 1, // disallow specified modules when loaded by `import` // DONE
156
+ "no-restricted-properties": 1, // disallow certain properties on certain objects // DONE
157
+ "no-restricted-syntax": 1, // disallow specified syntax // DONE
158
+ "no-return-assign": 1, // disallow assignment operators in `return` statements // DONE
159
+ "no-return-await": 1, // disallow unnecessary `return await` // DONE
160
+ "no-script-url": 1, // disallow `javascript:` urls // DONE
161
+ "no-sequences": 1, // disallow comma operators // DONE
162
+ "no-shadow": 0, // disallow variable declarations from shadowing variables declared in the outer scope // DONE - OFF
163
+ "no-shadow-restricted-names": 1, // disallow identifiers from shadowing restricted names // DONE
164
+ "no-ternary": 0, // disallow ternary operators // DONE - OFF
165
+ "no-throw-literal": 1, // disallow throwing literals as exceptions // DONE
166
+ "no-undef-init": 1, // disallow initializing variables to `undefined` // DONE
167
+ "no-undefined": 0, // disallow the use of `undefined` as an identifier // DONE - OFF
168
+ "no-underscore-dangle": 0, // disallow dangling underscores in identifiers // DONE - OFF
169
+ "no-unneeded-ternary": 0, // disallow ternary operators when simpler alternatives exist // DONE - OFF
170
+ "no-unused-expressions": 0, // disallow unused expressions // DONE - OFF
171
+ "no-unused-labels": 1, // disallow unused labels // DONE
172
+ "no-useless-call": 1, // disallow unnecessary calls to `.call()` and `.apply()` // DONE
173
+ "no-useless-catch": 1, // disallow unnecessary `catch` clauses // DONE
174
+ "no-useless-computed-key": 1, // disallow unnecessary computed property keys in objects and classes // DONE
175
+ "no-useless-concat": 1, // disallow unnecessary concatenation of literals or template literals // DONE
176
+ "no-useless-constructor": 0, // disallow unnecessary constructors // DONE - OFF
177
+ "no-useless-escape": 1, // disallow unnecessary escape characters // DONE
178
+ "no-useless-rename": 1, // disallow renaming import, export, and destructured assignments to the same name // DONE
179
+ "no-useless-return": 1, // disallow redundant return statements // DONE
180
+ "no-var": 1, // require `let` or `const` instead of `var` // DONE
181
+ "no-void": [1, { "allowAsStatement": true }], // disallow `void` operators // DONE - CUSTOMISED
182
+ "no-warning-comments": 1, // disallow specified warning terms in comments // DONE
183
+ "no-with": 1, // disallow `with` statements // DONE
184
+ "object-shorthand": 0, // require or disallow method and property shorthand syntax for object literals // DONE - OFF
185
+ "one-var": 0, // enforce variables to be declared either together or separately in functions // DONE - OFF
186
+ "operator-assignment": 1, // require or disallow assignment operator shorthand where possible // DONE
187
+ "prefer-arrow-callback": 1, // require using arrow functions for callbacks // DONE
188
+ "prefer-const": 1, // require `const` declarations for variables that are never reassigned after declared // DONE
189
+ "prefer-destructuring": 0, // require destructuring from arrays and/or objects // DONE - OFF
190
+ "prefer-exponentiation-operator": 1, // disallow the use of `Math.pow` in favor of the `**` operator // DONE
191
+ "prefer-named-capture-group": 1, // enforce using named capture group in regular expression // DONE
192
+ "prefer-numeric-literals": 1, // disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals // DONE
193
+ "prefer-object-spread": 1, // disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead. // DONE
194
+ "prefer-promise-reject-errors": 1, // require using Error objects as Promise rejection reasons // DONE
195
+ "prefer-regex-literals": 1, // disallow use of the `RegExp` constructor in favor of regular expression literals // DONE
196
+ "prefer-rest-params": 1, // require rest parameters instead of `arguments` // DONE
197
+ "prefer-spread": 1, // require spread operators instead of `.apply()` // DONE
198
+ "prefer-template": 1, // require template literals instead of string concatenation // DONE
199
+ "radix": 1, // enforce the consistent use of the radix argument when using `parseInt()` // DONE
200
+ "require-await": 1, // disallow async functions which have no `await` expression // DONE
201
+ "require-unicode-regexp": 1, // enforce the use of `u` flag on RegExp // DONE
202
+ "require-yield": 1, // require generator functions to contain `yield` // DONE
203
+ "sort-imports": 1, // enforce sorted import declarations within modules // DONE
204
+ "sort-keys": 0, // require object keys to be sorted // DONE - OFF
205
+ "sort-vars": 1, // require variables within the same declaration block to be sorted // DONE
206
+ "spaced-comment": 1, // enforce consistent spacing after the `//` or `/*` in a comment // DONE
207
+ "strict": 0, // require or disallow strict mode directives // DONE - OFF
208
+ "symbol-description": 1, // require symbol descriptions // DONE
209
+ "vars-on-top": 1, // require `var` declarations be placed at the top of their containing scope // DONE
210
+ "yoda": 1, // require or disallow "Yoda" conditions // DONE
307
211
 
308
- // React specific
309
- "react/display-name": 0, // prevent missing displayName in a React component definition // DONE - OFF
310
- "react/jsx-no-undef": 1, // disallow undeclared variables in JSX // DONE
311
- "react/jsx-sort-props": 0, // enforce props alphabetical sorting // DONE - OFF
312
- "react/jsx-uses-react": 1, // prevent React to be incorrectly marked as unused // DONE
313
- "react/jsx-uses-vars": 1, // prevent variables used in JSX to be incorrectly marked as unused // DONE
314
- "react/no-did-mount-set-state": 1, // prevent usage of setState in componentDidMount // DONE
315
- "react/no-did-update-set-state": 1, // prevent usage of setState in componentDidUpdate // DONE
316
- "react/no-multi-comp": 0, // prevent multiple component definition per file // DONE - OFF
317
- "react/no-unknown-property": 1, // prevent usage of unknown DOM property // DONE
318
- "react/prop-types": 1, // prevent missing props validation in a React component definition // DONE
319
- "react/react-in-jsx-scope": 0, // prevent missing React when using JSX // DONE - OFF
320
- "react/self-closing-comp": 1 // prevent extra closing tags for components without children // DONE
321
- }
322
- }
323
- ]
212
+ // Top level formatting (These rules are turned off in eslint because they are still being applied using [prettier/prettier])
213
+ "curly": 0, // enforce consistent brace style for all control statements // DONE - OFF
214
+ "lines-around-comment": 0, // require empty lines around comments // DONE - OFF
215
+ "no-confusing-arrow": 0, // disallowarrow functions where they could be confused with comparisons // DONE - OFF
216
+ "no-mixed-operators": 0, // disallow mixed binary operators // DONE - OFF
217
+ "no-tabs": 0, // disallow all tabs // DONE - OFF
218
+ "no-unexpected-multiline": 0, // disallow confusing multiline expressions // DONE - OFF
219
+ "quotes": 0, // enforce the consistent use of either backticks, double, or single quotes // DONE - OFF
220
+
221
+ // Formatting (These rules are turned off in eslint because they are still being applied using [prettier/prettier])
222
+ "array-bracket-newline": 0, // enforce linebreaks after opening and before closing array brackets // DONE - OFF
223
+ "array-element-newline": 0, // enforce line breaks after each array element // DONE - OFF
224
+ "arrow-parens": 0, // require parentheses around arrow function arguments // DONE - OFF
225
+ "arrow-spacing": 0, // enforce consistent spacing before and after the arrow in arrow functions // DONE - OFF
226
+ "block-spacing": 0, // disallow or enforce spaces inside of blocks after opening block and before closing block // DONE - OFF
227
+ "brace-style": 0, // enforce consistent brace style for blocks // DONE - OFF
228
+ "comma-dangle": 0, // require or disallow trailing commas // DONE - OFF
229
+ "comma-spacing": 0, // enforce consistent spacing before and after commas // DONE - OFF
230
+ "comma-style": 0, // enforce consistent comma style // DONE - OFF
231
+ "computed-property-spacing": 0, // enforce consistent spacing inside computed property brackets // DONE - OFF
232
+ "dot-location": 0, // enforce consistent newlines before and after dots // DONE - OFF
233
+ "eol-last": 0, // require or disallow newline at the end of files // DONE - OFF
234
+ "func-call-spacing": 0, // require or disallow spacing between function identifiers and their invocations // DONE - OFF
235
+ "function-call-argument-newline": 0, // enforce line breaks between arguments of a function call // DONE - OFF
236
+ "function-paren-newline": 0, // enforce consistent line breaks inside function parentheses // DONE - OFF
237
+ "generator-star": 0, // enforce consistent spacing around `*` operators in generator functions // DONE - OFF
238
+ "generator-star-spacing": 0, // enforce consistent spacing around `*` operators in generator functions // DONE - OFF
239
+ "implicit-arrow-linebreak": 0, // enforce the location of arrow function bodies // DONE - OFF
240
+ "indent": 0, // enforce consistent indentation. second value is number of spaces // DONE - OFF
241
+ "jsx-quotes": 0, // enforce the consistent use of either double or single quotes in JSX attributes // DONE - OFF
242
+ "key-spacing": 0, // enforce consistent spacing between keys and values in object literal properties // DONE - OFF
243
+ "keyword-spacing": 0, // This rule enforces consistent spacing around keywords and keyword-like tokens // DONE - OFF
244
+ "linebreak-style": 0, // enforce consistent linebreak style // OFF - OFF
245
+ "multiline-ternary": 0, // enforce newlines between operands of ternary expressions // DONE - OFF
246
+ "newline-per-chained-call": 0, // require a newline after each call in a method chain // DONE - OFF
247
+ "new-parens": 0, // enforce or disallow parentheses when invoking a constructor with no arguments // DONE - OFF
248
+ "no-arrow-condition": 0, // disallows arrow functions where test conditions are expected // DONE - OFF
249
+ "no-comma-dangle": 0, // disallows trailing commas in object and array literals // DONE - OFF
250
+ "no-extra-parens": 0, // disallow unnecessary parentheses // DONE - OFF
251
+ "no-extra-semi": 1, // disallow unnecessary semicolons // DONE - OFF
252
+ "no-floating-decimal": 0, // disallow leading or trailing decimal points in numeric literals // DONE - OFF
253
+ "no-mixed-spaces-and-tabs": 0, // disallow mixed spaces and tabs for indentation // DONE - OFF
254
+ "no-multi-spaces": 0, // disallow multiple spaces // DONE - OFF
255
+ "no-multiple-empty-lines": 0, // disallow multiple empty lines // DONE - OFF
256
+ "no-reserved-keys": 0, // disallows unquoted reserved words as property names in object literals // DONE - OFF
257
+ "no-space-before-semi": 0, // disallows spaces before semicolons // DONE - OFF
258
+ "no-trailing-spaces": 0, // disallow trailing whitespace at the end of lines // DONE - OFF
259
+ "no-whitespace-before-property": 0, // disallow whitespace before properties // DONE - OFF
260
+ "no-wrap-func": 0, // disallows unnecessary parentheses around function expressions // DONE - OFF
261
+ "nonblock-statement-body-position": 0, // enforce the location of single-line statements // DONE - OFF
262
+ "object-curly-newline": 0, // enforce consistent line breaks after opening and before closing braces // DONE - OFF
263
+ "object-curly-spacing": 0, // enforce consistent spacing inside braces // DONE - OFF
264
+ "object-property-newline": 0, // enforce placing object properties on separate lines // DONE - OFF
265
+ "one-var-declaration-per-line": 0, // require or disallow newlines around variable declarations // DONE - OFF
266
+ "operator-linebreak": 0, // enforce consistent linebreak style for operators // DONE - OFF
267
+ "padded-blocks": 0, // require or disallow padding within blocks // DONE - OFF
268
+ "quote-props": 0, // require quotes around object literal property names // DONE - OFF
269
+ "rest-spread-spacing": 0, // enforce spacing between rest and spread operators and their expressions // DONE - OFF
270
+ "semi": 0, // require or disallow semicolons instead of ASI // DONE - OFF
271
+ "semi-spacing": 0, // enforce consistent spacing before and after semicolons // DONE - OFF
272
+ "semi-style": 0, // enforce location of semicolons // DONE - OFF
273
+ "space-after-function-name": 0, // enforces consistent spacing after name in function definitions // DONE - OFF
274
+ "space-after-keywords": 0, // enforces consistent spacing after keywords // DONE - OFF
275
+ "space-before-blocks": 0, // enforce consistent spacing before blocks // DONE - OFF
276
+ "space-before-function-paren": 0, // enforce consistent spacing before `function` definition opening parenthesis // DONE - OFF
277
+ "space-before-keywords": 0, // enforces consistent spacing before keywords // DONE - OFF
278
+ "space-in-brackets": 0, // enforces consistent spacing inside braces of object literals and brackets of array literals // DONE - OFF
279
+ "space-in-parens": 0, // enforce consistent spacing inside parentheses // DONE - OFF
280
+ "space-infix-ops": 0, // require spacing around infix operators // DONE - OFF
281
+ "space-return-throw-case": 0, // requires spaces after return, throw, and case keywords // DONE - OFF
282
+ "space-unary-ops": 0, // enforce consistent spacing before or after unary operators // DONE - OFF
283
+ "switch-colon-spacing": 0, // enforce spacing around colons of switch statements // DONE - OFF
284
+ "template-curly-spacing": 0, // require or disallow spacing around embedded expressions of template strings // DONE - OFF
285
+ "template-tag-spacing": 0, // require or disallow spacing between template tags and their literals // DONE - OFF
286
+ "unicode-bom": 0, // require or disallow Unicode byte order mark (BOM) // DONE - OFF
287
+ "wrap-iife": 0, // require parentheses around immediate `function` invocations // DONE - OFF
288
+ "wrap-regex": 0, // require parenthesis around regex literals // DONE - OFF
289
+ "yield-star-spacing": 0, // require or disallow spacing around the `*` in `yield*` expressions // DONE - OFF
290
+
291
+ // Other
292
+ "line-comment-position": 1, // enforce position of line comments // DONE
293
+ "lines-between-class-members": 0, // require or disallow an empty line between class members // DONE - OFF
294
+ "max-len": [1, { "code": 80, "ignoreUrls": true, "ignorePattern": "^import .*" }], // enforce a maximum line length // DONE - CUSTOMISED
295
+ "max-statements-per-line": 1, // enforce a maximum number of statements allowed per line // DONE
296
+ "padding-line-between-statements": 1, // require or disallow padding lines between statements // DONE
297
+ "no-cond-assign": 1, // disallow assignment in conditional expressions // DONE
298
+ "no-constant-condition": 1, // disallow use of constant expressions in conditions // DONE
299
+ "no-control-regex": 1, // disallow control characters in regular expressions // DONE
300
+ "no-debugger": 0, // disallow use of debugger // DONE - OFF
301
+ "no-dupe-args": 1, // disallow duplicate arguments in functions // DONE
302
+ "no-dupe-keys": 1, // disallow duplicate keys when creating object literals // DONE
303
+ "no-duplicate-case": 1, // disallow a duplicate case label // DONE
304
+ "no-ex-assign": 1, // disallow assigning to the exception in a catch block // DONE
305
+ "no-func-assign": 1, // disallow overwriting functions written as function declarations // DONE
306
+ "no-inner-declarations": 1, // disallow function or variable declarations in nested blocks // DONE
307
+ "no-invalid-regexp": 1, // disallow invalid regular expression strings in the RegExp constructor // DONE
308
+ "no-irregular-whitespace": 1, // disallow irregular whitespace outside of strings and comments // DONE
309
+ "no-negated-in-lhs": 1, // disallow negation of the left operand of an in expression // DONE
310
+ "no-obj-calls": 1, // disallow the use of object properties of the global object (Math and JSON) as functions // DONE
311
+ "no-sparse-arrays": 1, // disallow sparse arrays // DONE
312
+ "no-unreachable": 1, // disallow unreachable statements after a return, throw, continue, or break statement // DONE
313
+ "use-isnan": 1, // disallow comparisons with the value NaN // DONE
314
+ "valid-jsdoc": 1, // ensure JSDoc comments are valid // DONE
315
+ "valid-typeof": 1, // ensure that the results of typeof are compared against a valid string // DONE
316
+ "no-catch-shadow": 1, // disallow the catch clause parameter name being the same as a variable in the outer scope // DONE
317
+ "no-unused-vars": 1, // disallow declaration of variables that are not used in the code // DONE
318
+ "newline-after-var": 0, // allow/disallow an empty newline after var statement // DONE - OFF
319
+ "no-spaced-func": 1, // disallow space between function identifier and application // DONE
320
+ "array-bracket-spacing": [0, "always"], // enforces consistent spacing inside array brackets // DONE - CUSTOMISED
321
+
322
+ // @Typescript specific
323
+ "@typescript-eslint/no-unused-vars": [1, { "argsIgnorePattern": "^_" }], // DONE - CUSTOMISED
324
+ "@typescript-eslint/brace-style": 0, // DONE - OFF
325
+ "@typescript-eslint/comma-dangle": 0, // DONE - OFF
326
+ "@typescript-eslint/comma-spacing": 0, // DONE - OFF
327
+ "@typescript-eslint/func-call-spacing": 0, // DONE - OFF
328
+ "@typescript-eslint/indent": 0, // DONE - OFF
329
+ "@typescript-eslint/keyword-spacing": 0, // DONE - OFF
330
+ "@typescript-eslint/member-delimiter-style": 0, // DONE - OFF
331
+ "@typescript-eslint/no-extra-parens": 0, // DONE - OFF
332
+ "@typescript-eslint/no-extra-semi": 0, // DONE - OFF
333
+ "@typescript-eslint/object-curly-spacing": 0, // DONE - OFF
334
+ "@typescript-eslint/semi": 0, // DONE - OFF
335
+ "@typescript-eslint/space-before-blocks": 0, // DONE - OFF
336
+ "@typescript-eslint/space-before-function-paren": 0, // DONE - OFF
337
+ "@typescript-eslint/space-infix-ops": 0, // DONE - OFF
338
+ "@typescript-eslint/type-annotation-spacing": 0, // DONE - OFF
339
+ "@typescript-eslint/quotes": 0, // DONE - OFF
340
+
341
+ // React specific
342
+ "react/display-name": 0, // prevent missing displayName in a React component definition // DONE - OFF
343
+ "react/jsx-no-undef": 1, // disallow undeclared variables in JSX // DONE
344
+ "react/jsx-sort-props": 0, // enforce props alphabetical sorting // DONE - OFF
345
+ "react/jsx-uses-react": 1, // prevent React to be incorrectly marked as unused // DONE
346
+ "react/jsx-uses-vars": 1, // prevent variables used in JSX to be incorrectly marked as unused // DONE
347
+ "react/no-did-mount-set-state": 1, // prevent usage of setState in componentDidMount // DONE
348
+ "react/no-did-update-set-state": 1, // prevent usage of setState in componentDidUpdate // DONE
349
+ "react/no-multi-comp": 0, // prevent multiple component definition per file // DONE - OFF
350
+ "react/no-unknown-property": 1, // prevent usage of unknown DOM property // DONE
351
+ "react/prop-types": 1, // prevent missing props validation in a React component definition // DONE
352
+ "react/react-in-jsx-scope": 0, // prevent missing React when using JSX // DONE - OFF
353
+ "react/self-closing-comp": 1, // prevent extra closing tags for components without children // DONE
354
+ "react/jsx-child-element-spacing": 0, // // DONE - OFF
355
+ "react/jsx-closing-bracket-location": 0, // // DONE - OFF
356
+ "react/jsx-closing-tag-location": 0, // // DONE - OFF
357
+ "react/jsx-curly-newline": 0, // // DONE - OFF
358
+ "react/jsx-curly-spacing": 0, // // DONE - OFF
359
+ "react/jsx-equals-spacing": 0, // // DONE - OFF
360
+ "react/jsx-first-prop-new-line": 0, // // DONE - OFF
361
+ "react/jsx-indent": 0, // // DONE - OFF
362
+ "react/jsx-indent-props": 0, // // DONE - OFF
363
+ "react/jsx-max-props-per-line": 0, // // DONE - OFF
364
+ "react/jsx-newline": 0, // // DONE - OFF
365
+ "react/jsx-one-expression-per-line": 0, // // DONE - OFF
366
+ "react/jsx-props-no-multi-spaces": 0, // // DONE - OFF
367
+ "react/jsx-tag-spacing": 0, // // DONE - OFF
368
+ "react/jsx-wrap-multilines": 0, // // DONE - OFF
369
+
370
+ // Prettier specific
371
+ "prettier/prettier": 1
372
+ }
324
373
  }