-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
104 lines (96 loc) · 2.65 KB
/
index.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
const base = require('@linters/eslint-config')
module.exports = {
extends: require.resolve('@linters/eslint-config'),
parserOptions: {
ecmaVersion: 2018,
},
settings: {
'import/resolver': {
node: {
...base.settings['import/resolver'].node,
paths: ['server'],
extensions: [
...base.settings['import/resolver'].node.extensions,
'.node',
],
},
},
},
env: {
es6: true,
node: true,
},
plugins: ['node', 'security'],
rules: {
//
// Possible Errors
//
'node/no-callback-literal': 'error',
'node/no-exports-assign': 0,
'node/no-extraneous-import': 'error',
'node/no-extraneous-require': 'error',
'node/no-missing-import': 0,
'node/no-missing-require': 0,
'node/no-unpublished-bin': 'error',
'node/no-unpublished-import': 1,
'node/no-unpublished-require': 'error',
'node/no-unsupported-features/es-builtins': 'error',
'node/no-unsupported-features/es-syntax': 0,
'node/no-unsupported-features/node-builtins': [
'error',
{
version: '>=12.0.0',
ignores: [],
},
],
'node/process-exit-as-throw': 'error',
'node/shebang': 'error',
//
// Best Practices
//
'node/no-deprecated-api': [
'error',
{
version: '>=12.0.0',
},
],
//
// Stylistic Issues
//
'node/exports-style': 'error',
'node/file-extension-in-import': 0,
'node/prefer-global/buffer': 'error',
'node/prefer-global/console': 'error',
'node/prefer-global/process': 'error',
'node/prefer-global/text-decoder': 'error',
'node/prefer-global/text-encoder': 'error',
'node/prefer-global/url-search-params': 'error',
'node/prefer-global/url': 'error',
'node/prefer-promises/dns': 'error',
'node/prefer-promises/fs': 'error',
//
// Security
//
'security/detect-buffer-noassert': 'error',
'security/detect-child-process': 'error',
'security/detect-disable-mustache-escape': 'error',
'security/detect-eval-with-expression': 'error',
'security/detect-new-buffer': 'error',
'security/detect-no-csrf-before-method-override': 'error',
'security/detect-non-literal-fs-filename': 1,
'security/detect-non-literal-regexp': 'error',
'security/detect-non-literal-require': 'error',
'security/detect-object-injection': 'error',
'security/detect-possible-timing-attacks': 'error',
'security/detect-pseudoRandomBytes': 'error',
'security/detect-unsafe-regex': 'error',
},
overrides: [
{
files: ['*.{spec,test}.ts'],
rules: {
'node/no-unpublished-import': 0,
},
},
],
}