1+ {
2+ "root": true,
3+ "parser": "babel-eslint",
4+ "plugins": [/*"import", */"jsx-a11y", "react"],
5+ "env": {
6+ "browser": true,
7+ "commonjs": true,
8+ "es6": true,
9+ "jest": true,
10+ "node": true
11+ },
12+ "parserOptions": {
13+ "ecmaVersion": 6,
14+ "sourceType": "module",
15+ "ecmaFeatures": {
16+ "jsx": true,
17+ "generators": true,
18+ "experimentalObjectRestSpread": true
19+ }
20+ },
21+ "settings": {
22+ "import/ignore": [
23+ "node_modules",
24+ "\\.(json|css|jpg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm)$"
25+ ],
26+ "import/extensions": [".js"],
27+ "import/resolver": {
28+ "node": {
29+ "extensions": [".js", ".json"]
30+ }
31+ }
32+ },
33+ "rules": {
34+ // http://eslint.org/docs/rules/
35+ "array-callback-return": "warn",
36+ "camelcase": "warn",
37+ "curly": "warn",
38+ "default-case": ["warn", { "commentPattern": "^no default$" }],
39+ "dot-location": ["warn", "property"],
40+ "eol-last": "warn",
41+ "eqeqeq": ["warn", "always"],
42+ "indent": ["warn", 4, { "SwitchCase": 1 }],
43+ "guard-for-in": "warn",
44+ "keyword-spacing": "warn",
45+ "new-parens": "warn",
46+ "no-array-constructor": "warn",
47+ "no-caller": "warn",
48+ "no-cond-assign": ["warn", "always"],
49+ "no-const-assign": "warn",
50+ "no-control-regex": "warn",
51+ "no-delete-var": "warn",
52+ "no-dupe-args": "warn",
53+ "no-dupe-class-members": "warn",
54+ "no-dupe-keys": "warn",
55+ "no-duplicate-case": "warn",
56+ "no-empty-character-class": "warn",
57+ "no-empty-pattern": "warn",
58+ "no-eval": "warn",
59+ "no-ex-assign": "warn",
60+ "no-extend-native": "warn",
61+ "no-extra-bind": "warn",
62+ "no-extra-label": "warn",
63+ "no-fallthrough": "warn",
64+ "no-func-assign": "warn",
65+ "no-global-assign": "warn",
66+ "no-implied-eval": "warn",
67+ "no-invalid-regexp": "warn",
68+ "no-iterator": "warn",
69+ "no-label-var": "warn",
70+ "no-labels": ["warn", { "allowLoop": false, "allowSwitch": false }],
71+ "no-lone-blocks": "warn",
72+ "no-loop-func": "warn",
73+ "no-mixed-operators": ["warn", {
74+ "groups": [
75+ ["&", "|", "^", "~", "<<", ">>", ">>>"],
76+ ["==", "!=", "===", "!==", ">", ">=", "<", "<="],
77+ ["&&", "||"],
78+ ["in", "instanceof"]
79+ ],
80+ "allowSamePrecedence": false
81+ }],
82+ "no-multi-str": "warn",
83+ "no-new-func": "warn",
84+ "no-new-object": "warn",
85+ "no-new-symbol": "warn",
86+ "no-new-wrappers": "warn",
87+ "no-obj-calls": "warn",
88+ "no-octal": "warn",
89+ "no-octal-escape": "warn",
90+ "no-redeclare": "warn",
91+ "no-regex-spaces": "warn",
92+ "no-restricted-syntax": [
93+ "warn",
94+ "LabeledStatement",
95+ "WithStatement"
96+ ],
97+ "no-script-url": "warn",
98+ "no-self-assign": "warn",
99+ "no-self-compare": "warn",
100+ "no-sequences": "warn",
101+ "no-shadow-restricted-names": "warn",
102+ "no-sparse-arrays": "warn",
103+ "no-template-curly-in-string": "warn",
104+ "no-this-before-super": "warn",
105+ "no-throw-literal": "warn",
106+ "no-undef": "warn",
107+ "no-unexpected-multiline": "warn",
108+ "no-unreachable": "warn",
109+ "no-unsafe-negation": "warn",
110+ "no-unused-expressions": "warn",
111+ "no-unused-labels": "warn",
112+ "no-unused-vars": ["warn", { "vars": "local", "args": "none" }],
113+ "no-use-before-define": ["warn", "nofunc"],
114+ "no-useless-computed-key": "warn",
115+ "no-useless-concat": "warn",
116+ "no-useless-constructor": "warn",
117+ "no-useless-escape": "warn",
118+ "no-useless-rename": ["warn", {
119+ "ignoreDestructuring": false,
120+ "ignoreImport": false,
121+ "ignoreExport": false
122+ }],
123+ "no-with": "warn",
124+ "no-whitespace-before-property": "warn",
125+ "object-curly-spacing": ["warn", "always"],
126+ "operator-assignment": ["warn", "always"],
127+ "radix": "warn",
128+ "require-yield": "warn",
129+ "rest-spread-spacing": ["warn", "never"],
130+ "semi": "warn",
131+ "strict": ["warn", "never"],
132+ "unicode-bom": ["warn", "never"],
133+ "use-isnan": "warn",
134+ "valid-typeof": "warn",
135+ "react/jsx-boolean-value": "warn",
136+ "react/jsx-closing-bracket-location": "warn",
137+ "react/jsx-curly-spacing": "warn",
138+ "react/jsx-equals-spacing": ["warn", "never"],
139+ "react/jsx-first-prop-new-line": ["warn", "multiline"],
140+ "react/jsx-handler-names": "warn",
141+ "react/jsx-indent": ["warn", 2],
142+ "react/jsx-indent-props": ["warn", 2],
143+ "react/jsx-key": "warn",
144+ "react/jsx-max-props-per-line": "warn",
145+ "react/jsx-no-bind": ["warn", {"allowArrowFunctions": true}],
146+ "react/jsx-no-comment-textnodes": "warn",
147+ "react/jsx-no-duplicate-props": ["warn", { "ignoreCase": true }],
148+ "react/jsx-no-undef": "warn",
149+ "react/jsx-pascal-case": ["warn", {
150+ "allowAllCaps": true,
151+ "ignore": []
152+ }],
153+ "react/jsx-sort-props": "warn",
154+ "react/jsx-tag-spacing": "warn",
155+ "react/jsx-uses-react": "warn",
156+ "react/jsx-uses-vars": "warn",
157+ "react/jsx-wrap-multilines": "warn",
158+ "react/no-deprecated": "warn",
159+ "react/no-did-mount-set-state": "warn",
160+ "react/no-did-update-set-state": "warn",
161+ "react/no-direct-mutation-state": "warn",
162+ "react/no-is-mounted": "warn",
163+ "react/no-unused-prop-types": "warn",
164+ "react/prefer-es6-class": "warn",
165+ "react/prefer-stateless-function": "warn",
166+ "react/prop-types": "warn",
167+ "react/react-in-jsx-scope": "warn",
168+ "react/require-render-return": "warn",
169+ "react/self-closing-comp": "warn",
170+ "react/sort-comp": "warn",
171+ "react/sort-prop-types": "warn",
172+ "react/style-prop-object": "warn",
173+ "react/void-dom-elements-no-children": "warn"
174+ //https://github.com/evcohen/eslint-plugin-jsx-a11y/tree/master/docs/rules
175+ // "jsx-a11y/aria-role": "warn",
176+ // "jsx-a11y/img-has-alt": "warn",
177+ // "jsx-a11y/img-redundant-alt": "warn",
178+ // "jsx-a11y/no-access-key": "warn"
179+ }
180+ }
181+
0 commit comments