-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbase.js
79 lines (79 loc) · 1.92 KB
/
base.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
module.exports = {
extends: [
'plugin:import/recommended',
'plugin:ordered-imports/recommended',
'plugin:promise/recommended',
'prettier',
],
env: {
node: true,
},
plugins: [
'eslint-comments',
'import',
'ordered-imports',
'promise',
'unicorn',
],
rules: {
/**
* Global style rules
*/
'max-len': [
'error',
{
code: 80,
ignoreComments: true,
ignoreRegExpLiterals: true,
ignoreStrings: true,
ignoreTemplateLiterals: true,
ignoreTrailingComments: true,
ignoreUrls: true,
tabWidth: 2,
},
],
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-void': ['error', { allowAsStatement: true }],
'object-curly-spacing': [2, 'always'],
semi: ['error', 'always'],
'unicorn/no-array-for-each': 'warn',
'unicorn/no-null': 'warn',
'unicorn/numeric-separators-style': 'warn',
'unicorn/prefer-node-protocol': 'warn',
'unicorn/prevent-abbreviations': [
'error',
{
allowList: {
args: true,
},
},
],
},
overrides: [
{
/**
* Relax rules in configuration files
*/
files: [
'**/.eslintrc.js',
'**/commitlint.config.js',
'**/jest.config.js',
'**/jest.setup.js',
'**/.stylelintrc.js',
'**/webpack.config.js',
'**/webpack.config.*.js',
],
rules: {
'@typescript-eslint/no-floating-promises': 'off',
'@typescript-eslint/no-unsafe-call': 'off',
'@typescript-eslint/no-unsafe-assignment': 'off',
'@typescript-eslint/no-var-requires': 'off',
'node/no-extraneous-require': 'off',
'node/no-unpublished-require': 'off',
'prefer-const': 'off',
'unicorn/prefer-module': 'off',
},
},
],
};