-
Notifications
You must be signed in to change notification settings - Fork 9
/
.eslintrc.js
96 lines (95 loc) · 2.81 KB
/
.eslintrc.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
module.exports = {
"extends": [
"airbnb",
"plugin:jasmine/recommended"
],
// Required to validate the code as babel interprets it. Used for static properties
"parser": "babel-eslint",
"env": {
"browser": true,
"node": true,
"mocha": true,
"es6": true,
"jasmine": true
},
"plugins": [
"react",
"jsx-a11y",
"jasmine"
],
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module",
"ecmaFeatures": {
"jsx": true
}
},
"rules": {
"arrow-parens": ["error", "as-needed"],
"arrow-body-style": [2, "as-needed"],
"comma-dangle": [2, "never"],
"no-plusplus": [2, {
"allowForLoopAfterthoughts": true,
}],
"no-unused-expressions": 1,
"padded-blocks": ["error", {"blocks": "never"}],
"object-curly-spacing": [2, "never"],
"object-curly-newline": [2, {"multiline": true, "consistent": true}],
"function-paren-newline": [2, "multiline"],
// Since for in/of loops are not permitted we have to loop with forEach and
// therefore it's required to be able to assign to param properties
"no-param-reassign": [2, {"props": false}],
"import/imports-first": 0,
"import/newline-after-import": 0,
"import/no-dynamic-require": 0,
"import/no-extraneous-dependencies": 0,
"import/no-named-as-default": 0,
"import/no-unresolved": 0,
"import/prefer-default-export": 0,
"indent": [2, 2, {
"SwitchCase": 1
}],
"jsx-a11y/aria-props": 2,
"jsx-a11y/heading-has-content": 0,
"jsx-a11y/anchor-is-valid": 0,
"jsx-a11y/click-events-have-key-events": 0,
"jsx-a11y/role-has-required-aria-props": 2,
"jsx-a11y/role-supports-aria-props": 2,
"jsx-a11y/no-static-element-interactions": 0,
"max-len": 0,
"newline-per-chained-call": 0,
"no-console": 2,
"no-use-before-define": 0,
"prefer-template": 2,
"class-methods-use-this": 0,
"react/forbid-prop-types": 0,
"react/no-array-index-key": 0,
"react/jsx-first-prop-new-line": [2, "multiline"],
"react/jsx-filename-extension": 0,
"react/no-unused-prop-types": 0,
"react/jsx-no-target-blank": 0,
"react/require-extension": 0,
"react/self-closing-comp": 0,
"react/prop-types": 0,
"react/no-string-refs": 0,
"react/prefer-stateless-function": 0,
"require-yield": 0,
"require-jsdoc": ["error", {
"require": {
"FunctionDeclaration": true,
"MethodDefinition": true,
"ClassDeclaration": true,
"ArrowFunctionExpression": false
}
}],
"valid-jsdoc": ["error", {
"prefer": {"arg": "param", "argument": "param", "return": "returns", "virtual": "abstract"},
"requireReturnDescription": false,
"requireParamDescription": true,
}],
// PROPOSAL
"no-mixed-operators": 0,
// jasmine
"jasmine/no-global-setup": 0,
}
};