11{
22 "env": {
33 "browser": true,
4- "node": true
4+ "node": true,
5+ "jest/globals": true
56 },
67 "settings": {
78 "react": {
1516 "sourceType": "module"
1617 },
1718 "rules": {
18- // Best practices
19- "block-scoped-var": 2,
20- "consistent-return": 1,
21- "curly": [2, "multi-line"],
22- "default-case": 2,
23- "dot-location": [2, "property"],
24- "eqeqeq": [1, "always"],
25- "max-classes-per-file": [2, 1],
26- "no-empty-function": 1,
27- "no-empty-pattern": 1,
28- "no-eq-null": 2,
29- "no-eval": 2,
30- "no-implied-eval": 2,
31- "no-iterator": 2,
32- "no-lone-blocks": 2,
33- "no-multi-spaces": 1,
34- "no-multi-str": 2,
35- "no-new": 1,
36- "no-new-func": 2,
37- "no-new-wrappers": 2,
38- "no-param-reassign": 2,
39- "no-redeclare": 1,
40- "no-return-assign": 2,
41- "no-script-url": 2,
42- "no-self-assign": 2,
43- "no-self-compare": 2,
44- "no-unmodified-loop-condition": 1,
45- "no-useless-return": 1,
46- "yoda": [1, "never", {"onlyEquality": true}],
47-
48- // Variables
49- "no-undef-init": 2,
50- "no-undefined": 2,
51- "no-unused-vars": 1,
52- "no-use-before-define": 2,
53-
54- // Node.js and CommonJS
55- "no-new-require": 2,
56- "no-path-concat": 1,
57-
58- // Stylistic
59- "jsx-quotes": [2, "prefer-double"],
60- "no-lonely-if": 2,
61- "no-mixed-spaces-and-tabs": 2,
62- "no-multi-assign": 2,
63- "quotes": [1, "single", {
64- "avoidEscape": true,
65- "allowTemplateLiterals": true
19+ "for-direction": "error",
20+ "getter-return": "error",
21+ "no-async-promise-executor": "error",
22+ "no-await-in-loop": "warn",
23+ "no-compare-neg-zero": "error",
24+ "no-cond-assign": "error",
25+ "no-constant-condition": "error",
26+ "no-debugger": "error",
27+ "no-dupe-args": "error",
28+ "no-dupe-keys": "error",
29+ "no-duplicate-case": "error",
30+ "no-empty": "error",
31+ "no-empty-character-class": "error",
32+ "no-ex-assign": "error",
33+ "no-extra-boolean-cast": "error",
34+ "no-extra-parens": ["error", "all", {
35+ "returnAssign": false,
36+ "nestedBinaryExpressions": false,
37+ "ignoreJSX": "multi-line"
38+ }],
39+ "no-extra-semi": "error",
40+ "no-func-assign": "error",
41+ "no-inner-declarations": "error",
42+ "no-irregular-whitespace": [ "error", { "skipRegExps": true }],
43+ "no-obj-calls": "error",
44+ "no-regex-spaces": "error",
45+ "no-sparse-arrays": "error",
46+ "no-template-curly-in-string": "warn",
47+ "no-unexpected-multiline": "error",
48+ "no-unreachable": "error",
49+ "no-unsafe-finally": "error",
50+ "no-unsafe-negation": "error",
51+ "require-atomic-updates": "error",
52+ "use-isnan": "error",
53+ "valid-typeof": "error",
54+ "array-callback-return": "error",
55+ "class-methods-use-this": "error",
56+ "consistent-return": "error",
57+ "curly": ["error", "multi-line"],
58+ "dot-location": ["error", "property"],
59+ "dot-notation": "error",
60+ "eqeqeq": ["error", "always"],
61+ "guard-for-in": "error",
62+ "no-alert": "error",
63+ "no-caller": "error",
64+ "no-empty-function": "error",
65+ "no-empty-pattern": "error",
66+ "no-eq-null": "error",
67+ "no-eval": "error",
68+ "no-extend-native": "error",
69+ "no-fallthrough": "error",
70+ "no-floating-decimal": "error",
71+ "no-global-assign": "error",
72+ "no-implicit-coercion": ["error", { "boolean": false }],
73+ "no-implied-eval": "error",
74+ "no-invalid-this": "error",
75+ "no-iterator": "error",
76+ "no-labels": "error",
77+ "no-lone-blocks": "error",
78+ "no-multi-spaces": "error",
79+ "no-multi-str": "error",
80+ "no-new": "error",
81+ "no-new-func": "error",
82+ "no-new-wrappers": "error",
83+ "no-octal": "error",
84+ "no-proto": "error",
85+ "no-redeclare": "error",
86+ "no-return-assign": ["error", "always"],
87+ "no-return-await": "error",
88+ "no-script-url": "error",
89+ "no-self-assign": "error",
90+ "no-self-compare": "error",
91+ "no-sequences": "error",
92+ "no-throw-literal": "error",
93+ "no-unused-labels": "error",
94+ "no-useless-concat": "error",
95+ "no-useless-escape": "error",
96+ "no-useless-return": "error",
97+ "no-void": "error",
98+ "no-with": "error",
99+ "radix": "error",
100+ "require-await": "warn",
101+ "wrap-iife": ["error", "inside"],
102+ "yoda": ["error", "never", { "exceptRange": true }],
103+ "no-delete-var": "error",
104+ "no-label-var": "error",
105+ "no-shadow": "error",
106+ "no-shadow-restricted-names": "error",
107+ "no-undef": "error",
108+ "no-undef-init": "error",
109+ "no-undefined": "error",
110+ "no-unused-vars": "warn",
111+ "no-use-before-define": ["error", { "functions": false }],
112+ "callback-return": "warn",
113+ "no-mixed-requires": "error",
114+ "no-new-require": "error",
115+ "no-path-concat": "error",
116+ "array-bracket-newline": ["error", "consistent"],
117+ "array-bracket-spacing": ["error", "never"],
118+ "array-element-newline": ["error", "consistent"],
119+ "block-spacing": "error",
120+ "brace-style": "error",
121+ "camelcase": ["error", { "properties": "never" }],
122+ "comma-dangle": ["error", "never"],
123+ "comma-spacing": ["error", {
124+ "before": false,
125+ "after": true
126+ }],
127+ "comma-style": ["error", "last"],
128+ "computed-property-spacing": ["error", "never"],
129+ "func-call-spacing": ["error", "never"],
130+ "indent": ["error", 2, {
131+ "VariableDeclarator": "first",
132+ "SwitchCase": 1,
133+ "MemberExpression": 1
134+ }],
135+ "jsx-quotes": ["error", "prefer-double"],
136+ "key-spacing": ["error", {
137+ "beforeColon": false,
138+ "afterColon": true,
139+ "mode": "strict"
140+ }],
141+ "keyword-spacing": "error",
142+ "line-comment-position": ["error", { "position": "above" }],
143+ "new-parens": "error",
144+ "no-array-constructor": "error",
145+ "no-lonely-if": "error",
146+ "no-mixed-operators": "error",
147+ "no-mixed-spaces-and-tabs": "error",
148+ "no-multi-assign": "error",
149+ "no-multiple-empty-lines": ["error", {
150+ "max": 1,
151+ "maxBOF": 0,
152+ "maxEOF": 1
66153 }],
67- "semi-spacing": [2, {"before": false, "after": true}],
68- "semi-style": [2, "last"],
69- "space-before-function-paren": [2, {
154+ "no-new-object": "error",
155+ "no-tabs": "error",
156+ "no-trailing-spaces": "error",
157+ "no-unneeded-ternary": "error",
158+ "no-whitespace-before-property": "error",
159+ "nonblock-statement-body-position": ["error", "beside"],
160+ "object-curly-newline": ["error", { "consistent": true }],
161+ "object-curly-spacing": ["error", "always", { "objectsInObjects": false }],
162+ "operator-assignment": ["error", "always"],
163+ "operator-linebreak": ["error", "before", {
164+ "overrides": {
165+ "||": "after",
166+ "&&": "after"
167+ }
168+ }],
169+ "padded-blocks": ["error", "never"],
170+ "quote-props": ["error", "as-needed"],
171+ "quotes": ["error", "single", { "allowTemplateLiterals": true }],
172+ "semi": ["error", "always"],
173+ "semi-spacing": ["error", {
174+ "before": false,
175+ "after": true
176+ }],
177+ "semi-style": ["error", "last"],
178+ "space-before-blocks": "error",
179+ "space-before-function-paren": ["error", {
70180 "anonymous": "never",
71181 "named": "never",
72182 "asyncArrow": "always"
73183 }],
74-
75- // ES6
76- "arrow-parens": [1, "always"],
77- "constructor-super": 2,
78- "no-class-assign": 2,
79- "no-confusing-arrow": 1,
80- "no-const-assign": 2,
81- "no-duplicate-imports": 2,
82- "no-this-before-super": 1,
83- "no-useless-rename": 2,
84- "no-var": 2,
85- "require-yield": 2,
86- "rest-spread-spacing": [2, "never"],
184+ "space-in-parens": "error",
185+ "space-infix-ops": "error",
186+ "space-unary-ops": ["error", {
187+ "words": true,
188+ "nonwords": false
189+ }],
190+ "spaced-comment": ["error", "always", {
191+ "line": { "exceptions": ["-", "+"] },
192+ "block": { "exceptions": ["*"], "balanced": true }
193+ }],
194+ "switch-colon-spacing": "error",
195+ "template-tag-spacing": "error",
196+ "arrow-parens": ["error", "as-needed", { "requireForBlockBody": true }],
197+ "arrow-spacing": "error",
198+ "constructor-super": "error",
199+ "generator-star-spacing": ["error", {
200+ "before": true,
201+ "after": false
202+ }],
203+ "no-class-assign": "error",
204+ "no-confusing-arrow": ["error", { "allowParens": true }],
205+ "no-const-assign": "error",
206+ "no-dupe-class-members": "error",
207+ "no-duplicate-imports": "error",
208+ "no-new-symbol": "error",
209+ "no-this-before-super": "error",
210+ "no-useless-computed-key": "error",
211+ "no-useless-constructor": "error",
212+ "no-useless-rename": "error",
213+ "require-yield": "error",
214+ "rest-spread-spacing": "error",
215+ "template-curly-spacing": "error",
216+ "yield-star-spacing": ["error", "before"],
87217
88218 // React
89- "react/jsx-key": 2 ,
90- "react/jsx-no-bind": [1 , {
219+ "react/jsx-key": "error" ,
220+ "react/jsx-no-bind": ["error" , {
91221 "ignoreRefs": true,
92222 "allowArrowFunctions": true,
93223 "allowBind": false
94224 }],
95- "react/jsx-no-duplicate-props": 2 ,
96- "react/jsx-pascal-case": 2 ,
97- "react/jsx-uses-react": 2 ,
98- "react/jsx-uses-vars": 2 ,
99- "react/no-danger": 1 ,
100- "react/no-deprecated": 1 ,
101- "react/no-is-mounted": 2 ,
102- "react/no-unknown-property": 2 ,
103- "react/react-in-jsx-scope": 2 ,
104- "react/require-render-return": 2
225+ "react/jsx-no-duplicate-props": "error" ,
226+ "react/jsx-pascal-case": "error" ,
227+ "react/jsx-uses-react": "error" ,
228+ "react/jsx-uses-vars": "error" ,
229+ "react/no-danger": "error" ,
230+ "react/no-deprecated": "error" ,
231+ "react/no-is-mounted": "error" ,
232+ "react/no-unknown-property": "error" ,
233+ "react/react-in-jsx-scope": "error" ,
234+ "react/require-render-return": "error"
105235 }
106236}
0 commit comments