1{
2  "parserOptions": {
3    // Required for certain syntax usages
4    "ecmaVersion": 2017
5  },
6  "plugins": [
7    "promise"
8  ],
9  "extends": "eslint:recommended",
10  "rules": {
11    // Removed rule "disallow the use of console" from recommended eslint rules
12    "no-console": "off",
13
14    // Removed rule "disallow multiple spaces in regular expressions" from recommended eslint rules
15    "no-regex-spaces": "off",
16
17    // Removed rule "disallow the use of debugger" from recommended eslint rules
18    "no-debugger": "off",
19
20    // Removed rule "disallow unused variables" from recommended eslint rules
21    "no-unused-vars": "off",
22
23    // Removed rule "disallow mixed spaces and tabs for indentation" from recommended eslint rules
24    "no-mixed-spaces-and-tabs": "off",
25
26    // Removed rule "disallow the use of undeclared variables unless mentioned in /*global */ comments" from recommended eslint rules
27    "no-undef": "off",
28
29    // Warn against template literal placeholder syntax in regular strings
30    "no-template-curly-in-string": 1,
31
32    // Warn if return statements do not either always or never specify values
33    "consistent-return": 1,
34
35    // Warn if no return statements in callbacks of array methods
36    "array-callback-return": 1,
37
38    // Require the use of === and !==
39    "eqeqeq": 2,
40
41    // Disallow the use of alert, confirm, and prompt
42    "no-alert": 2,
43
44    // Disallow the use of arguments.caller or arguments.callee
45    "no-caller": 2,
46
47    // Disallow null comparisons without type-checking operators
48    "no-eq-null": 2,
49
50    // Disallow the use of eval()
51    "no-eval": 2,
52
53    // Warn against extending native types
54    "no-extend-native": 1,
55
56    // Warn against unnecessary calls to .bind()
57    "no-extra-bind": 1,
58
59    // Warn against unnecessary labels
60    "no-extra-label": 1,
61
62    // Disallow leading or trailing decimal points in numeric literals
63    "no-floating-decimal": 2,
64
65    // Warn against shorthand type conversions
66    "no-implicit-coercion": 1,
67
68    // Warn against function declarations and expressions inside loop statements
69    "no-loop-func": 1,
70
71    // Disallow new operators with the Function object
72    "no-new-func": 2,
73
74    // Warn against new operators with the String, Number, and Boolean objects
75    "no-new-wrappers": 1,
76
77    // Disallow throwing literals as exceptions
78    "no-throw-literal": 2,
79
80    // Require using Error objects as Promise rejection reasons
81    "prefer-promise-reject-errors": 2,
82
83    // Enforceforloop update clause moving the counter in the right direction
84    "for-direction": 2,
85
86    // Enforce return statements in getters
87    "getter-return": 2,
88
89    // Disallow await inside of loops
90    "no-await-in-loop": 2,
91
92    // Disallow comparing against -0
93    "no-compare-neg-zero": 2,
94
95    // Warn against catch clause parameters from shadowing variables in the outer scope
96    "no-catch-shadow": 1,
97
98    // Disallow identifiers from shadowing restricted names
99    "no-shadow-restricted-names": 2,
100
101    // Enforce return statements in callbacks of array methods
102    "callback-return": 2,
103
104    // Require error handling in callbacks
105    "handle-callback-err": 2,
106
107    // Warn against string concatenation with __dirname and __filename
108    "no-path-concat": 1,
109
110    // Prefer using arrow functions for callbacks
111    "prefer-arrow-callback": 1,
112
113    // Return inside each then() to create readable and reusable Promise chains.
114    // Forces developers to return console logs and http calls in promises.
115    "promise/always-return": 2,
116
117    //Enforces the use of catch() on un-returned promises
118    "promise/catch-or-return": 2,
119
120    // Warn against nested then() or catch() statements
121    "promise/no-nesting": 1
122  }
123}
124