@@ -4,80 +4,14 @@ module.exports = {
44 es6 : true ,
55 node : false
66 } ,
7- extends : [ "airbnb" ] ,
7+ extends : [
8+ "airbnb"
9+ ] . concat ( [
10+ "./rules/default"
11+ ] . map ( require . resolve ) ) ,
812 parser : "@babel/eslint-parser" ,
913 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 : { } ,
8115 settings : {
8216 "import/resolver" : "webpack" ,
8317 react : { version : "detect" }
0 commit comments