1 | {
|
2 | "parser": "babel-eslint",
|
3 | "env": {
|
4 | "browser": true,
|
5 | "node": true,
|
6 | "es6": true
|
7 | },
|
8 | "parserOptions": {
|
9 | "sourceType": "module",
|
10 | "ecmaFeatures": {
|
11 | "jsx": true
|
12 | }
|
13 | },
|
14 | "extends": [
|
15 | "prettier",
|
16 | "prettier/flowtype",
|
17 | "prettier/react"
|
18 | ],
|
19 | "plugins": [
|
20 | "babel",
|
21 | "flowtype",
|
22 | "import",
|
23 | "react",
|
24 | "react-native",
|
25 | "prettier",
|
26 | ],
|
27 | "rules": {
|
28 | "constructor-super": "error",
|
29 | "no-case-declarations": "error",
|
30 | "no-class-assign": "error",
|
31 | "no-cond-assign": "error",
|
32 | "no-const-assign": "error",
|
33 | "no-constant-condition": "error",
|
34 | "no-control-regex": "error",
|
35 | "no-delete-var": "error",
|
36 | "no-dupe-args": "error",
|
37 | "no-dupe-class-members": "error",
|
38 | "no-dupe-keys": "error",
|
39 | "no-duplicate-case": "error",
|
40 | "no-empty": "error",
|
41 | "no-empty-character-class": "error",
|
42 | "no-empty-pattern": "error",
|
43 | "no-ex-assign": "error",
|
44 | "no-extra-boolean-cast": "error",
|
45 | "no-extra-semi": "error",
|
46 | "no-fallthrough": "error",
|
47 | "no-func-assign": "error",
|
48 | "no-global-assign": "error",
|
49 | "no-inner-declarations": "error",
|
50 | "no-invalid-regexp": "error",
|
51 | "no-new-symbol": "error",
|
52 | "no-obj-calls": "error",
|
53 | "no-octal": "error",
|
54 | "no-redeclare": "error",
|
55 | "no-regex-spaces": "error",
|
56 | "no-self-assign": "error",
|
57 | "no-sparse-arrays": "error",
|
58 | "no-this-before-super": "error",
|
59 | "no-undef": "error",
|
60 | "no-unexpected-multiline": "error",
|
61 | "no-unreachable": "error",
|
62 | "no-unsafe-finally": "error",
|
63 | "no-unsafe-negation": "error",
|
64 | "no-unused-labels": "error",
|
65 | "no-unused-vars": "error",
|
66 | "require-yield": "error",
|
67 | "use-isnan": "error",
|
68 | "valid-typeof": "error",
|
69 | "babel/new-cap": "off",
|
70 | "babel/object-curly-spacing": "off",
|
71 | "babel/arrow-parens": "off",
|
72 | "flowtype/boolean-style": ["error", "boolean"],
|
73 | "flowtype/define-flow-type": "error",
|
74 | "flowtype/no-dupe-keys": "error",
|
75 | "flowtype/no-primitive-constructor-types": "error",
|
76 | "flowtype/no-weak-types": "off",
|
77 | "flowtype/require-parameter-type": "off",
|
78 | "flowtype/require-return-type": "off",
|
79 | "flowtype/require-valid-file-annotation": "error",
|
80 | "flowtype/require-variable-type": "off",
|
81 | "flowtype/sort-keys": "off",
|
82 | "flowtype/type-id-match": "off",
|
83 | "flowtype/use-flow-type": "error",
|
84 | "flowtype/valid-syntax": "error",
|
85 | "import/no-unresolved": "error",
|
86 | "import/named": "error",
|
87 | "import/default": "off",
|
88 | "import/namespace": "off",
|
89 | "import/export": "error",
|
90 | "import/no-named-as-default": "off",
|
91 | "import/no-named-as-default-member": "off",
|
92 | "import/no-deprecated": "off",
|
93 | "import/no-extraneous-dependencies": "off",
|
94 | "import/no-commonjs": "error",
|
95 | "import/no-amd": "error",
|
96 | "import/no-nodejs-modules": "off",
|
97 | "import/imports-first": "error",
|
98 | "import/no-duplicates": "error",
|
99 | "import/no-namespace": "off",
|
100 | "import/extensions": ["error", {
|
101 | "js": "never",
|
102 | "json": "always"
|
103 | }],
|
104 | "import/order": "off",
|
105 | "react/display-name": "off",
|
106 | "react/forbid-prop-types": "off",
|
107 | "react/no-danger": "error",
|
108 | "react/no-deprecated": "error",
|
109 | "react/no-did-mount-set-state": "error",
|
110 | "react/no-did-update-set-state": "error",
|
111 | "react/no-direct-mutation-state": "error",
|
112 | "react/no-is-mounted": "error",
|
113 | "react/no-multi-comp": "off",
|
114 | "react/no-set-state": "off",
|
115 | "react/no-string-refs": "error",
|
116 | "react/no-unknown-property": "error",
|
117 | "react/prefer-es6-class": "error",
|
118 | "react/prop-types": "error",
|
119 | "react/react-in-jsx-scope": "error",
|
120 | "react/require-render-return": "error",
|
121 | "react/self-closing-comp": "error",
|
122 | "react/sort-comp": "error",
|
123 | "react/sort-prop-types": "off",
|
124 | "react/jsx-boolean-value": ["error", "never"],
|
125 | "react/jsx-handler-names": "off",
|
126 | "react/jsx-key": "error",
|
127 | "react/jsx-no-bind": "off",
|
128 | "react/jsx-no-duplicate-props": "error",
|
129 | "react/jsx-no-literals": "off",
|
130 | "react/jsx-no-undef": "error",
|
131 | "react/jsx-pascal-case": "error",
|
132 | "react/jsx-sort-props": "off",
|
133 | "react/jsx-uses-react": "error",
|
134 | "react/jsx-uses-vars": "error",
|
135 | "react-native/no-unused-styles": "error",
|
136 | "react-native/split-platform-components": "off",
|
137 | "prettier/prettier": ["error", {
|
138 | "trailingComma": "es5",
|
139 | "singleQuote": true
|
140 | }],
|
141 | }
|
142 | }
|