-
Notifications
You must be signed in to change notification settings - Fork 25
/
Copy path.eslintrc.js
72 lines (60 loc) · 2.15 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
/*
* Copyright 2019 Adobe. All rights reserved.
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. You may obtain a copy
* of the License at http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
* OF ANY KIND, either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
module.exports = {
env: {
node: true,
es6: true,
},
// this is the root project for all sub modules. stop searching for any
// eslintrc files in parent directories.
root: true,
parserOptions: {
sourceType: 'script',
ecmaVersion: 10,
},
plugins: [
'header',
],
extends: '@adobe/helix',
rules: {
strict: 0,
'max-classes-per-file': 'off',
// Allow while (true) infinite loops
'no-constant-condition': ['error', { checkLoops: false }],
// Forbid multiple statements in one line
'max-statements-per-line': ['error', { max: 1 }],
// Allow for-of loops
'no-restricted-syntax': ['error', 'ForInStatement', 'WithStatement'],
// Allow return before else & redundant else statements
'no-else-return': 'off',
// Dangling underscore is useful to mark variables/fields as private
'no-underscore-dangle': 'off',
// We have quite a lot of use cases where assignment to function
// parameters is definitely desirable
'no-param-reassign': 'off',
// Allow marking variables unused using a underscore at the start
'no-unused-vars': ['error', {
varsIgnorePattern: '^_.*$',
argsIgnorePattern: '^_.*$',
caughtErrorsIgnorePattern: '^_.*$',
}],
// Required for some more complex algorithms
'no-labels': 'off',
'no-continue': 'off',
'no-plusplus': 'off',
// More elements in one line
'object-curly-newline': ['error', { multiline: true }],
// Functional style
'no-confusing-arrow': 'off',
'implicit-arrow-linebreak': 'off',
},
};