forked from ethereumjs/ethereumjs-wallet
-
Notifications
You must be signed in to change notification settings - Fork 5
/
.eslintrc.js
118 lines (117 loc) · 3.22 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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
// http://eslint.org/docs/user-guide/configuring
module.exports = {
root: true,
// parser: '@babel/eslint-parser',
// parserOptions: {
// sourceType: 'module'
// },
env: {
browser: true,
jest: true,
},
plugins: [
'security',
'unicorn',
],
extends: [
'airbnb-base',
],
settings: {
'import/resolver': {
alias: [
['~/src', './src'],
['~/test', './test'],
]
}
},
// // add your custom rules here
rules: {
'indent': ["error", 4],
// allow paren-less arrow functions
'arrow-parens': 0,
// allow braces around function body
'arrow-body-style': 0,
// allow async-await
'generator-star-spacing': 0,
// allow debugger during development
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
'object-curly-spacing': 0,
// disable length limit
'max-len': 0,
// allow `new Buffer()`
'no-buffer-constructor': 0,
// allow assigning to function parameter
'no-param-reassign': 0,
'no-underscore-dangle': 0,
'no-else-return': 0,
"no-unused-vars": ["warn", { "vars": "all", "args": "after-used", "ignoreRestSiblings": false }],
'no-use-before-define' : 0,
// allow single line imports
'object-curly-newline': 0,
'prefer-arrow-callback': 0,
// allow Object.assign()
'prefer-object-spread': 0,
'prefer-const': 0,
// disable for nested destructuring
"prefer-destructuring": ["error", {
"AssignmentExpression": {
"array": false,
"object": false
}
}],
'import/extensions': ['error', 'always', {ignorePackages: true} ],
// named exports are not bad
'import/prefer-default-export': 0,
},
overrides: [
{
files: ['src/**/*'],
extends: [
'plugin:security/recommended',
'plugin:unicorn/recommended',
],
rules: {
'security/detect-object-injection': 0,
'unicorn/better-regex': 0,
// full path import is per spec
'unicorn/import-index': 0,
// IE11 support needed
'unicorn/prefer-includes': 0,
// allow lowercase hex number
'unicorn/number-literal-case': 0,
'unicorn/prefer-optional-catch-binding': 0,
'unicorn/prefer-ternary': 0,
// @see https://stackoverflow.com/questions/67263317/how-to-fix-eslint-error-when-using-the-node-protocol-when-importing-node-js-bui
// @see https://github.com/import-js/eslint-plugin-import/issues/2031
// waiting `node:` to be backported to node@14
'unicorn/prefer-node-protocol': 0,
'unicorn/no-array-for-each': 0,
// @see https://github.com/sindresorhus/eslint-plugin-unicorn/issues/1463
'unicorn/require-number-to-fixed-digits-argument': 0,
'unicorn/prevent-abbreviations': ['error', {
replacements: {
'params': false,
},
allowList: {
'val': true,
'msg': true,
}
}],
},
},
{
files: ['examples/**/*', 'test/**/*'],
rules: {
"import/no-extraneous-dependencies": 0,
'no-console': 0,
}
},
{
files: ['test/**/*'],
rules: {
'no-unused-vars': 0,
'import/extensions': 0,
}
},
]
};