app/.eslintrc (view raw)
1{
2 "extends": [
3 "eslint:recommended",
4 "plugin:react/recommended",
5 "plugin:jsx-a11y/recommended",
6 "google"
7 ],
8 "parser": "babel-eslint",
9 "env": {
10 "es6": true,
11 "node": true
12 },
13 "parserOptions": {
14 "sourceType": "module"
15 },
16 "plugins": ["react", "react-hooks", "jsx-a11y"],
17 "globals": {
18 "alert": true,
19 "confirm": true,
20 "FormData": true,
21 "XMLHttpRequest": true,
22 "document": true,
23 "window": true,
24 "$": true,
25 "jQuery": true,
26 "navigator": true,
27 "fetch": true
28 },
29 "settings": {
30 "react": {
31 "pragma": "React",
32 "version": "detect"
33 }
34 },
35 "rules": {
36 "prefer-const": "error",
37 "complexity": ["warn", 16],
38 "max-len": ["warn", 110],
39 "arrow-parens": "off",
40 "prefer-destructuring": "error",
41 "indent": [
42 "error",
43 2,
44 {"ignoredNodes": ["ConditionalExpression", "TemplateLiteral"]}
45 ],
46 "operator-linebreak": "off",
47 "curly": "off",
48 "no-extra-boolean-cast": "off",
49 "quote-props": "off",
50 "jsx-a11y/no-autofocus": "off",
51 "react/boolean-prop-naming": "error",
52 "react/prop-types": "off",
53 "react/jsx-no-useless-fragment": "error",
54 "react/jsx-pascal-case": "error",
55 "react/jsx-max-depth": ["error", {"max": 5}],
56 "jsx-a11y/click-events-have-key-events": "warn",
57 "jsx-a11y/no-static-element-interactions": "warn",
58 "jsx-a11y/no-noninteractive-element-interactions": "warn"
59 }
60}