1 | {
|
2 | "extends": [
|
3 | "airbnb",
|
4 | "plugin:prettier/recommended"
|
5 | ],
|
6 | "env": {
|
7 | "browser": true,
|
8 | "node": true,
|
9 | "es6": true,
|
10 | "jest": true,
|
11 | "jasmine": true
|
12 | },
|
13 | "parser": "babel-eslint",
|
14 | "plugins": [
|
15 | "import",
|
16 | "react",
|
17 | "react-hooks"
|
18 | ],
|
19 | "parserOptions": {
|
20 | "ecmaVersion": 6,
|
21 | "sourceType": "module",
|
22 | "ecmaFeatures": {
|
23 | "jsx": true,
|
24 | "experimentalObjectRestSpread": true
|
25 | }
|
26 | },
|
27 | "rules": {
|
28 | "arrow-parens": ["error", "as-needed"],
|
29 | "class-methods-use-this": 0,
|
30 | "no-multi-spaces": ["error", { "exceptions": { "ImportDeclaration": true } }],
|
31 | "indent": ["error", "tab", { "SwitchCase": 1 }],
|
32 | "no-tabs": 0,
|
33 | "no-console": 0,
|
34 | "no-underscore-dangle": 0,
|
35 | "newline-per-chained-call": 0,
|
36 | "comma-dangle": ["error", {
|
37 | "arrays": "always-multiline",
|
38 | "objects": "always-multiline",
|
39 | "imports": "always-multiline",
|
40 | "exports": "always-multiline",
|
41 | "functions": "never"
|
42 | }],
|
43 | "no-mixed-operators": ["error", { "allowSamePrecedence": true }],
|
44 | "object-curly-newline": ["error", { "consistent": true }],
|
45 | "react/jsx-indent": [2, "tab"],
|
46 | "react/jsx-indent-props": [2, "tab"],
|
47 | "react/prop-types": 0,
|
48 | "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }],
|
49 | "react/sort-comp": [1, {
|
50 | "order": [
|
51 | "static-methods",
|
52 | "lifecycle",
|
53 | "everything-else",
|
54 | "render"
|
55 | ]
|
56 | }],
|
57 | "react/jsx-one-expression-per-line": 0,
|
58 | "react-hooks/rules-of-hooks": "error",
|
59 | "import/prefer-default-export": 0,
|
60 | "import/no-extraneous-dependencies": 0,
|
61 | "import/no-unresolved": 0,
|
62 | "import/extensions": 0,
|
63 | "jsx-a11y/anchor-is-valid": ["error", {
|
64 | "components": [],
|
65 | "specialLink": [],
|
66 | "aspects": ["noHref", "invalidHref", "preferButton"]
|
67 | }]
|
68 | }
|
69 | }
|