1 | {
|
2 | "parser": "babel-eslint",
|
3 | "extends": ["prettier"],
|
4 | "env": {
|
5 | "browser": true,
|
6 | "node": true,
|
7 | "es6": true
|
8 | },
|
9 | "plugins": ["import", "react"],
|
10 | "parserOptions": {
|
11 | "ecmaVersion": 2017,
|
12 | "sourceType": "module",
|
13 | "ecmaFeatures": {
|
14 | "jsx": true,
|
15 | "impliedStrict": true,
|
16 | "experimentalObjectRestSpread": true
|
17 | }
|
18 | },
|
19 | "settings": {
|
20 | "react": {
|
21 | "pragma": "React",
|
22 | "version": "0.14.8"
|
23 | }
|
24 | },
|
25 | "rules": {
|
26 | "import/first": ["error", "absolute-first"],
|
27 | "import/order": [
|
28 | "error",
|
29 | {
|
30 | "newlines-between": "ignore",
|
31 | "groups": ["builtin", "external", "internal", "parent", ["sibling", "index"]]
|
32 | }
|
33 | ],
|
34 | "spaced-comment": [
|
35 | "error",
|
36 | "always",
|
37 | {
|
38 | "line": { "exceptions": ["-"] },
|
39 | "block": {
|
40 | "balanced": true,
|
41 | "exceptions": ["*"]
|
42 | }
|
43 | }
|
44 | ],
|
45 | "react/jsx-boolean-value": ["error", "never"],
|
46 | "react/no-unknown-property": "error",
|
47 | "unicode-bom": ["error", "never"],
|
48 | "padding-line-between-statements": [
|
49 | "error",
|
50 | {
|
51 | "blankLine": "always",
|
52 | "prev": "directive",
|
53 | "next": "*"
|
54 | },
|
55 | {
|
56 | "blankLine": "any",
|
57 | "prev": "directive",
|
58 | "next": "directive"
|
59 | },
|
60 | {
|
61 | "blankLine": "always",
|
62 | "prev": ["const", "let", "var"],
|
63 | "next": "*"
|
64 | },
|
65 | {
|
66 | "blankLine": "any",
|
67 | "prev": ["const", "let", "var"],
|
68 | "next": ["const", "let", "var"]
|
69 | },
|
70 | {
|
71 | "blankLine": "always",
|
72 | "prev": "*",
|
73 | "next": "return"
|
74 | }
|
75 | ],
|
76 | "no-extra-parens": [
|
77 | "error",
|
78 | "all",
|
79 | {
|
80 | "conditionalAssign": false,
|
81 | "ignoreJSX": "multi-line",
|
82 | "nestedBinaryExpressions": false,
|
83 | "returnAssign": false,
|
84 | "enforceForArrowConditionals": false
|
85 | }
|
86 | ],
|
87 | "no-extra-semi": "error",
|
88 | "no-regex-spaces": "error",
|
89 | "arrow-body-style": ["error", "as-needed", { "requireReturnForObjectLiteral": false }],
|
90 | "arrow-parens": ["error", "as-needed", { "requireForBlockBody": false }],
|
91 | "arrow-spacing": ["error", { "before": true, "after": true }],
|
92 | "generator-star-spacing": [
|
93 | "error",
|
94 | {
|
95 | "after": true,
|
96 | "before": false,
|
97 | "named": { "after": true, "before": false },
|
98 | "method": { "after": true, "before": false },
|
99 | "anonymous": { "after": true, "before": false }
|
100 | }
|
101 | ],
|
102 | "no-useless-computed-key": "error",
|
103 | "no-useless-rename": [
|
104 | "error",
|
105 | {
|
106 | "ignoreDestructuring": false,
|
107 | "ignoreImport": false,
|
108 | "ignoreExport": false
|
109 | }
|
110 | ],
|
111 | "no-var": "error",
|
112 | "object-shorthand": [
|
113 | "error",
|
114 | "always",
|
115 | {
|
116 | "avoidQuotes": false,
|
117 | "ignoreConstructors": false,
|
118 | "avoidExplicitReturnArrows": true
|
119 | }
|
120 | ],
|
121 | "prefer-arrow-callback": [
|
122 | "error",
|
123 | {
|
124 | "allowNamedFunctions": false,
|
125 | "allowUnboundThis": true
|
126 | }
|
127 | ],
|
128 | "prefer-const": [
|
129 | "error",
|
130 | {
|
131 | "destructuring": "any",
|
132 | "ignoreReadBeforeAssign": false
|
133 | }
|
134 | ],
|
135 | "prefer-numeric-literals": "error",
|
136 | "prefer-spread": "error",
|
137 | "prefer-template": "error",
|
138 | "template-curly-spacing": ["error", "never"],
|
139 | "curly": ["error", "multi-line", "consistent"],
|
140 | "dot-location": ["error", "property"],
|
141 | "dot-notation": ["error", { "allowKeywords": true }],
|
142 | "no-else-return": ["error", { "allowElseIf": true }],
|
143 | "no-floating-decimal": "error",
|
144 | "no-implicit-coercion": ["error", { "allow": ["~", "!!"] }],
|
145 | "no-lone-blocks": "error",
|
146 | "no-loop-func": "error",
|
147 | "wrap-iife": ["error", "outside", { "functionPrototypeMethods": false }],
|
148 | "yoda": ["error", "never", { "exceptRange": true }]
|
149 | }
|
150 | }
|