@@ -4,80 +4,14 @@ module.exports = {
4
4
es6 : true ,
5
5
node : false
6
6
} ,
7
- extends : [ "airbnb" ] ,
7
+ extends : [
8
+ "airbnb"
9
+ ] . concat ( [
10
+ "./rules/default"
11
+ ] . map ( require . resolve ) ) ,
8
12
parser : "@babel/eslint-parser" ,
9
13
plugins : [ "@babel" ] ,
10
- rules : {
11
- "@babel/object-curly-spacing" : "error" , // Replace non-babel version
12
- "arrow-parens" : [ "error" , "always" ] , // Consistency
13
- "class-methods-use-this" : "off" , // Allows methods to be overridden
14
- "comma-dangle" : [ "error" , "never" ] , // Unnecessary
15
- "consistent-return" : "off" , // Makes it hard to return early for conditionals
16
- "func-names" : "off" , // Unnecessary and unused with arrow functions
17
- "jsx-a11y/label-has-for" : [ "error" , {
18
- components : [ ] ,
19
- required : {
20
- some : [ "nesting" , "id" ] ,
21
- } ,
22
- allowChildren : false ,
23
- } ] , // Unnecessary to have nesting for both
24
- "keyword-spacing" : [ "error" , {
25
- after : false ,
26
- before : false ,
27
- overrides : {
28
- as : { before : true , after : true } ,
29
- case : { before : true , after : true } ,
30
- catch : { before : true , after : false } ,
31
- const : { before : true , after : true } ,
32
- default : { before : true , after : true } ,
33
- else : { before : true , after : true } ,
34
- export : { before : true , after : true } ,
35
- from : { before : true , after : true } ,
36
- import : { before : true , after : true } ,
37
- let : { before : true , after : true } ,
38
- return : { before : true , after : true } ,
39
- this : { before : true , after : true } ,
40
- try : { before : true , after : true }
41
- }
42
- } ] , // Whitespace - Preference
43
- "lines-between-class-members" : [ "error" , "never" ] ,
44
- "no-else-return" : "off" , // Allows more functional styles
45
- "no-lonely-if" : "off" , // Allows more readable conditions
46
- "no-multiple-empty-lines" : [ "error" , { max : 1 , maxBOF : 0 , maxEOF : 0 } ] , // Little stricter
47
- "no-promise-executor-return" : "off" , // Makes it hard to return early for conditions
48
- "no-underscore-dangle" : "off" , // Doesn't allow `const key = _key.toLowerCase()`
49
- "no-unused-expressions" : [ "error" , { allowShortCircuit : true , allowTernary : true } ] ,
50
- "object-curly-newline" : [ "error" , { multiline : true , consistent : true } ] ,
51
- "object-curly-spacing" : "off" , // Incompatible with babel/object-curly-spacing
52
- "prefer-destructuring" : [ "error" , {
53
- VariableDeclarator : {
54
- array : false ,
55
- object : true ,
56
- } ,
57
- AssignmentExpression : {
58
- array : false ,
59
- object : false ,
60
- } ,
61
- } , {
62
- enforceForRenamedProperties : false ,
63
- } ] , // Assignment expression looks funky with parens
64
- "quote-props" : [ "error" , "consistent-as-needed" , { keywords : false } ] ,
65
- "quotes" : [ "error" , "double" , { allowTemplateLiterals : true } ] ,
66
- "react/destructuring-assignment" : "off" , // Overactive and solved by prefer-destructuring
67
- "react/function-component-definition" : [ "error" , {
68
- namedComponents : [ "function-declaration" , "function-expression" ] ,
69
- unnamedComponents : "arrow-function"
70
- } ] , // Allows simple arrow components
71
- "react/jsx-boolean-value" : [ "error" , "always" ] , // Prefer explicit
72
- "react/jsx-filename-extension" : "off" , // Unnecessary
73
- "react/jsx-one-expression-per-line" : "off" , // Creates unnecessary white space issues
74
- "react/jsx-props-no-spreading" : "off" , // Unnecessary
75
- "react/no-did-update-set-state" : "off" , // Makes hacks needed for prop change triggers
76
- "react/prefer-stateless-function" : "off" , // Prefer React
77
- "react/react-in-jsx-scope" : "off" , // Global React
78
- "react/static-property-placement" : [ "error" , "static public field" ] , // Airbnb will catch up
79
- "space-before-function-paren" : [ "error" , "never" ] // Whitespace - Preference
80
- } ,
14
+ rules : { } ,
81
15
settings : {
82
16
"import/resolver" : "webpack" ,
83
17
react : { version : "detect" }
0 commit comments