@perfective/eslint-config 0.23.4 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.adoc CHANGED
@@ -5,8 +5,9 @@ a https://eslint.org/docs/latest/developer-guide/shareable-configs[shareable ESL
5
5
  that is used for the development of the `@perfective` packages.
6
6
  These rules are primarily configured for TypeScript projects.
7
7
 
8
- In addition to the core https://eslint.org/docs/latest/rules/[ESLint rules]
9
- and the `link:https://typescript-eslint.io/rules/[@typescript-eslint]` plugin rules,
8
+ In addition to the core https://eslint.org/docs/latest/rules/[ESLint],
9
+ `link:https://typescript-eslint.io/rules/[@typescript-eslint]`,
10
+ and https://eslint.style[ESLint Stylistic] plugin rules,
10
11
  `@perfective/eslint-config` includes configurations for the ESLint plugins:
11
12
 
12
13
  * `link:https://github.com/freaktechnik/eslint-plugin-array-func[eslint-plugin-array-func]`;
@@ -43,6 +44,7 @@ from issues that will be fixed automatically.
43
44
  npm install --save-dev \
44
45
  @perfective/eslint-config \
45
46
  @babel/eslint-parser \
47
+ @stylistic/eslint-plugin \
46
48
  @typescript-eslint/eslint-plugin \
47
49
  @typescript-eslint/eslint-plugin-tslint \
48
50
  @typescript-eslint/parser \
package/README.md CHANGED
@@ -5,8 +5,9 @@ a [shareable ESLint configuration](https://eslint.org/docs/latest/developer-guid
5
5
  that is used for the development of the `@perfective` packages.
6
6
  These rules are primarily configured for TypeScript projects.
7
7
 
8
- In addition to the core [ESLint rules](https://eslint.org/docs/latest/rules/)
9
- and the [`@typescript-eslint`](https://typescript-eslint.io/rules/) plugin rules,
8
+ In addition to the core [ESLint rules](https://eslint.org/docs/latest/rules/),
9
+ [`@typescript-eslint`](https://typescript-eslint.io/rules/),
10
+ and [ESlint Stylistic](https://eslint.style) plugin rules,
10
11
  `@perfective/eslint-config` includes configurations for the ESLint plugins:
11
12
 
12
13
  - [`eslint-plugin-array-func`](https://github.com/freaktechnik/eslint-plugin-array-func);
@@ -41,6 +42,7 @@ from issues that will be fixed automatically.
41
42
  npm install --save-dev \
42
43
  @perfective/eslint-config \
43
44
  @babel/eslint-parser \
45
+ @stylistic/eslint-plugin \
44
46
  @typescript-eslint/eslint-plugin \
45
47
  @typescript-eslint/eslint-plugin-tslint \
46
48
  @typescript-eslint/parser \
package/index.js CHANGED
@@ -15,11 +15,14 @@ module.exports = {
15
15
  './rules/eslint-comments',
16
16
  './rules/import',
17
17
  './rules/jsdoc',
18
+ './rules/n',
18
19
  './rules/node',
19
20
  './rules/prefer-arrow',
20
21
  './rules/promise',
21
22
  './rules/simple-import-sort',
22
23
  './rules/sonarjs',
24
+ './rules/stylistic/js',
25
+ './rules/stylistic/plus',
23
26
  './rules/unicorn',
24
27
  ],
25
28
  },
@@ -67,6 +70,7 @@ module.exports = {
67
70
  './rules/typescript-eslint',
68
71
  './rules/typescript-eslint/tslint',
69
72
  './rules/deprecation',
73
+ './rules/stylistic/ts',
70
74
  (0, plugin_1.optionalRules)('rxjs'),
71
75
  ].filter(Boolean),
72
76
  settings: {
@@ -84,6 +88,12 @@ module.exports = {
84
88
  },
85
89
  },
86
90
  },
91
+ {
92
+ files: ['*.jsx', '*.tsx'],
93
+ extends: [
94
+ './rules/stylistic/jsx',
95
+ ],
96
+ },
87
97
  (0, plugin_1.optionalOverrides)('jest', {
88
98
  files: ['*.@(spec|test).[jt]s?(x)'],
89
99
  env: {
@@ -113,6 +123,9 @@ module.exports = {
113
123
  ],
114
124
  }],
115
125
  'max-nested-callbacks': ['error', 6],
126
+ 'n/no-unpublished-import': ['error', {
127
+ allowModules: ['@jest/globals'],
128
+ }],
116
129
  'prefer-arrow/prefer-arrow-functions': 'off',
117
130
  'promise/always-return': 'off',
118
131
  'rxjs/no-topromise': 'off',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perfective/eslint-config",
3
- "version": "0.23.4",
3
+ "version": "0.25.0",
4
4
  "description": "ESLint shareable rules configuration",
5
5
  "keywords": ["code quality", "code standard", "code style", "eslint", "eslint config", "lint", "perfective", "tslint", "tslint config", "typescript"],
6
6
  "author": "Andrey Mikheychik <a.mikheychik@gmail.com>",
@@ -11,29 +11,31 @@
11
11
  },
12
12
  "license": "MIT",
13
13
  "peerDependencies": {
14
- "@babel/eslint-parser": "^7.23.3",
15
- "@typescript-eslint/eslint-plugin": "^6.17.0",
16
- "@typescript-eslint/eslint-plugin-tslint": "^6.17.0",
17
- "@typescript-eslint/parser": "^6.17.0",
18
- "eslint": "^8.56.0",
14
+ "@babel/eslint-parser": "^7.24.7",
15
+ "@stylistic/eslint-plugin": "^2.1.0",
16
+ "@typescript-eslint/eslint-plugin": "^7.12.0",
17
+ "@typescript-eslint/eslint-plugin-tslint": "^7.0.2",
18
+ "@typescript-eslint/parser": "^7.12.0",
19
+ "eslint": "^8.57.0",
19
20
  "eslint-import-resolver-typescript": "^3.6.1",
20
21
  "eslint-plugin-array-func": "^4.0.0",
21
- "eslint-plugin-cypress": "^2.15.1",
22
- "eslint-plugin-deprecation": "^2.0.0",
22
+ "eslint-plugin-cypress": "^3.3.0",
23
+ "eslint-plugin-deprecation": "^3.0.0",
23
24
  "eslint-plugin-eslint-comments": "^3.2.0",
24
25
  "eslint-plugin-import": "^2.29.1",
25
- "eslint-plugin-jest": "^27.6.1",
26
- "eslint-plugin-jest-dom": "^5.1.0",
26
+ "eslint-plugin-jest": "^28.6.0",
27
+ "eslint-plugin-jest-dom": "^5.4.0",
27
28
  "eslint-plugin-jest-formatting": "^3.1.0",
28
- "eslint-plugin-jsdoc": "^47.0.2",
29
+ "eslint-plugin-jsdoc": "^48.2.9",
30
+ "eslint-plugin-n": "^17.8.1",
29
31
  "eslint-plugin-node": "^11.1.0",
30
32
  "eslint-plugin-prefer-arrow": "^1.2.3",
31
- "eslint-plugin-promise": "^6.1.1",
33
+ "eslint-plugin-promise": "^6.2.0",
32
34
  "eslint-plugin-rxjs": "^5.0.3",
33
- "eslint-plugin-simple-import-sort": "^10.0.0",
34
- "eslint-plugin-sonarjs": "^0.23.0",
35
- "eslint-plugin-testing-library": "^6.2.0",
36
- "eslint-plugin-unicorn": "^50.0.1",
35
+ "eslint-plugin-simple-import-sort": "^12.1.0",
36
+ "eslint-plugin-sonarjs": "^1.0.3",
37
+ "eslint-plugin-testing-library": "^6.2.2",
38
+ "eslint-plugin-unicorn": "^53.0.0",
37
39
  "tslint": "^6.1.3"
38
40
  },
39
41
  "peerDependenciesMeta": {
@@ -3,6 +3,7 @@ const plugin_1 = require("../../config/plugin");
3
3
  module.exports = (0, plugin_1.optionalConfig)('cypress', {
4
4
  'cypress/assertion-before-screenshot': 'error',
5
5
  'cypress/no-assigning-return-values': 'error',
6
+ 'cypress/no-async-before': 'error',
6
7
  'cypress/no-async-tests': 'error',
7
8
  'cypress/no-force': 'error',
8
9
  'cypress/no-pause': 'error',
@@ -1,169 +1,67 @@
1
1
  "use strict";
2
2
  module.exports = {
3
3
  rules: {
4
- 'array-bracket-newline': ['warn', 'consistent'],
5
- 'array-bracket-spacing': ['warn', 'never'],
6
- 'array-element-newline': ['warn', 'consistent'],
7
- 'arrow-parens': ['warn', 'as-needed'],
8
- 'arrow-spacing': ['warn', {
9
- before: true,
10
- after: true,
11
- }],
12
- 'block-spacing': ['warn', 'always'],
13
- 'brace-style': ['warn', 'stroustrup', {
14
- allowSingleLine: false,
15
- }],
16
- 'comma-dangle': ['warn', {
17
- arrays: 'always-multiline',
18
- objects: 'always-multiline',
19
- imports: 'always-multiline',
20
- exports: 'always-multiline',
21
- functions: 'always-multiline',
22
- }],
23
- 'comma-spacing': ['warn', {
24
- before: false,
25
- after: true,
26
- }],
27
- 'comma-style': ['warn', 'last'],
28
- 'computed-property-spacing': ['warn', 'never'],
29
- 'dot-location': ['warn', 'property'],
30
- 'eol-last': ['warn', 'always'],
31
- 'func-call-spacing': ['warn', 'never'],
32
- 'function-call-argument-newline': ['warn', 'consistent'],
33
- 'function-paren-newline': ['warn', 'consistent'],
34
- 'generator-star-spacing': ['warn', {
35
- before: true,
36
- after: false,
37
- }],
38
- 'implicit-arrow-linebreak': ['warn', 'beside'],
39
- 'indent': ['warn', 4, {
40
- SwitchCase: 1,
41
- }],
42
- 'jsx-quotes': ['warn', 'prefer-double'],
43
- 'key-spacing': ['warn', {
44
- beforeColon: false,
45
- afterColon: true,
46
- mode: 'strict',
47
- }],
48
- 'keyword-spacing': ['warn', {
49
- before: true,
50
- after: true,
51
- }],
52
- 'line-comment-position': ['error', {
53
- position: 'above',
54
- ignorePattern: '^ == .+',
55
- }],
56
- 'linebreak-style': ['warn', 'unix'],
57
- 'lines-around-comment': ['warn', {
58
- beforeBlockComment: true,
59
- afterBlockComment: false,
60
- beforeLineComment: false,
61
- afterLineComment: false,
62
- allowBlockStart: false,
63
- allowBlockEnd: false,
64
- allowObjectStart: false,
65
- allowObjectEnd: false,
66
- allowArrayStart: false,
67
- allowArrayEnd: false,
68
- allowClassStart: true,
69
- allowClassEnd: false,
70
- afterHashbangComment: true,
71
- }],
72
- 'lines-between-class-members': ['warn', 'always', {
73
- exceptAfterSingleLine: true,
74
- }],
75
- 'max-len': ['error', {
76
- code: 120,
77
- tabWidth: 4,
78
- ignoreRegExpLiterals: true,
79
- ignoreUrls: true,
80
- }],
81
- 'max-statements-per-line': ['error', {
82
- max: 1,
83
- }],
84
- 'multiline-ternary': ['warn', 'always-multiline'],
85
- 'new-parens': 'warn',
86
- 'newline-per-chained-call': ['off', {
87
- ignoreChainWithDepth: 3,
88
- }],
89
- 'no-extra-parens': ['warn', 'all', {
90
- ignoreJSX: 'all',
91
- nestedBinaryExpressions: false,
92
- enforceForArrowConditionals: false,
93
- ternaryOperandBinaryExpressions: false,
94
- }],
95
- 'no-mixed-spaces-and-tabs': 'error',
96
- 'no-multi-spaces': 'warn',
97
- 'no-multiple-empty-lines': ['warn', {
98
- max: 1,
99
- maxEOF: 0,
100
- maxBOF: 0,
101
- }],
102
- 'no-tabs': 'error',
103
- 'no-trailing-spaces': 'warn',
104
- 'no-whitespace-before-property': 'warn',
105
- 'nonblock-statement-body-position': ['warn', 'below'],
106
- 'object-curly-newline': ['warn', {
107
- ImportDeclaration: { multiline: true },
108
- ExportDeclaration: { multiline: true },
109
- }],
110
- 'object-curly-spacing': ['warn', 'always', {
111
- arraysInObjects: true,
112
- objectsInObjects: true,
113
- }],
114
- 'object-property-newline': ['warn', {
115
- allowAllPropertiesOnSameLine: true,
116
- }],
117
- 'operator-linebreak': ['warn', 'before', {
118
- overrides: {
119
- '=': 'none',
120
- '==': 'none',
121
- '!=': 'none',
122
- '>=': 'none',
123
- '<=': 'none',
124
- '===': 'none',
125
- '+=': 'none',
126
- },
127
- }],
128
- 'padded-blocks': ['warn', 'never'],
4
+ 'array-bracket-newline': 'off',
5
+ 'array-bracket-spacing': 'off',
6
+ 'array-element-newline': 'off',
7
+ 'arrow-parens': 'off',
8
+ 'arrow-spacing': 'off',
9
+ 'block-spacing': 'off',
10
+ 'brace-style': 'off',
11
+ 'comma-dangle': 'off',
12
+ 'comma-spacing': 'off',
13
+ 'comma-style': 'off',
14
+ 'computed-property-spacing': 'off',
15
+ 'dot-location': 'off',
16
+ 'eol-last': 'off',
17
+ 'func-call-spacing': 'off',
18
+ 'function-call-argument-newline': 'off',
19
+ 'function-paren-newline': 'off',
20
+ 'generator-star-spacing': 'off',
21
+ 'implicit-arrow-linebreak': 'off',
22
+ 'indent': 'off',
23
+ 'jsx-quotes': 'off',
24
+ 'key-spacing': 'off',
25
+ 'keyword-spacing': 'off',
26
+ 'line-comment-position': 'off',
27
+ 'linebreak-style': 'off',
28
+ 'lines-around-comment': 'off',
29
+ 'lines-between-class-members': 'off',
30
+ 'max-len': 'off',
31
+ 'max-statements-per-line': 'off',
32
+ 'multiline-ternary': 'off',
33
+ 'new-parens': 'off',
34
+ 'newline-per-chained-call': 'off',
35
+ 'no-extra-parens': 'off',
36
+ 'no-mixed-spaces-and-tabs': 'off',
37
+ 'no-multi-spaces': 'off',
38
+ 'no-multiple-empty-lines': 'off',
39
+ 'no-tabs': 'off',
40
+ 'no-trailing-spaces': 'off',
41
+ 'no-whitespace-before-property': 'off',
42
+ 'nonblock-statement-body-position': 'off',
43
+ 'object-curly-newline': 'off',
44
+ 'object-curly-spacing': 'off',
45
+ 'object-property-newline': 'off',
46
+ 'operator-linebreak': 'off',
47
+ 'padded-blocks': 'off',
129
48
  'padding-line-between-statements': 'off',
130
- 'quotes': ['warn', 'single', {
131
- avoidEscape: true,
132
- allowTemplateLiterals: true,
133
- }],
134
- 'rest-spread-spacing': ['warn', 'never'],
135
- 'semi': ['warn', 'always'],
136
- 'semi-spacing': ['warn', {
137
- before: false,
138
- after: true,
139
- }],
140
- 'semi-style': ['warn', 'last'],
141
- 'space-before-blocks': ['warn', 'always'],
142
- 'space-before-function-paren': ['warn', {
143
- anonymous: 'always',
144
- named: 'never',
145
- asyncArrow: 'always',
146
- }],
147
- 'space-in-parens': ['warn', 'never'],
148
- 'space-infix-ops': ['warn', {
149
- int32Hint: false,
150
- }],
151
- 'space-unary-ops': ['warn', {
152
- words: true,
153
- nonwords: false,
154
- }],
155
- 'switch-colon-spacing': ['warn', {
156
- after: true,
157
- before: false,
158
- }],
159
- 'template-curly-spacing': ['warn', 'never'],
160
- 'template-tag-spacing': ['warn', 'never'],
49
+ 'quotes': 'off',
50
+ 'rest-spread-spacing': 'off',
51
+ 'semi': 'off',
52
+ 'semi-spacing': 'off',
53
+ 'semi-style': 'off',
54
+ 'space-before-blocks': 'off',
55
+ 'space-before-function-paren': 'off',
56
+ 'space-in-parens': 'off',
57
+ 'space-infix-ops': 'off',
58
+ 'space-unary-ops': 'off',
59
+ 'switch-colon-spacing': 'off',
60
+ 'template-curly-spacing': 'off',
61
+ 'template-tag-spacing': 'off',
161
62
  'unicode-bom': ['warn', 'never'],
162
- 'wrap-iife': ['warn', 'outside'],
163
- 'wrap-regex': 'warn',
164
- 'yield-star-spacing': ['warn', {
165
- before: true,
166
- after: false,
167
- }],
63
+ 'wrap-iife': 'off',
64
+ 'wrap-regex': 'off',
65
+ 'yield-star-spacing': 'off',
168
66
  },
169
67
  };
@@ -44,9 +44,7 @@ module.exports = {
44
44
  'max-statements': ['off', {
45
45
  max: 10,
46
46
  }],
47
- 'multiline-comment-style': ['warn', 'separate-lines', {
48
- checkJSDoc: false,
49
- }],
47
+ 'multiline-comment-style': 'off',
50
48
  'new-cap': ['error', {
51
49
  newIsCap: true,
52
50
  capIsNew: true,
@@ -57,10 +55,7 @@ module.exports = {
57
55
  'no-bitwise': 'error',
58
56
  'no-caller': 'error',
59
57
  'no-case-declarations': 'error',
60
- 'no-confusing-arrow': ['warn', {
61
- allowParens: true,
62
- onlyOneSimpleParam: false,
63
- }],
58
+ 'no-confusing-arrow': 'off',
64
59
  'no-console': 'error',
65
60
  'no-continue': 'error',
66
61
  'no-delete-var': 'error',
@@ -77,8 +72,8 @@ module.exports = {
77
72
  'no-extra-bind': 'warn',
78
73
  'no-extra-boolean-cast': 'warn',
79
74
  'no-extra-label': 'warn',
80
- 'no-extra-semi': 'warn',
81
- 'no-floating-decimal': 'warn',
75
+ 'no-extra-semi': 'off',
76
+ 'no-floating-decimal': 'off',
82
77
  'no-global-assign': 'error',
83
78
  'no-implicit-coercion': 'warn',
84
79
  'no-implicit-globals': 'error',
@@ -94,17 +89,7 @@ module.exports = {
94
89
  'no-lonely-if': 'warn',
95
90
  'no-loop-func': 'error',
96
91
  'no-magic-numbers': 'off',
97
- 'no-mixed-operators': ['error', {
98
- groups: [
99
- ['+', '-'],
100
- ['*', '/', '%', '**'],
101
- ['&', '|', '^', '~', '<<', '>>', '>>>'],
102
- ['==', '!=', '===', '!==', '>', '>=', '<', '<='],
103
- ['&&', '||', '?:', '??'],
104
- ['in', 'instanceof'],
105
- ],
106
- allowSamePrecedence: true,
107
- }],
92
+ 'no-mixed-operators': 'off',
108
93
  'no-multi-assign': 'error',
109
94
  'no-multi-str': 'error',
110
95
  'no-negated-condition': 'off',
@@ -163,7 +148,7 @@ module.exports = {
163
148
  'no-with': 'error',
164
149
  'object-shorthand': ['warn', 'always'],
165
150
  'one-var': ['warn', 'never'],
166
- 'one-var-declaration-per-line': ['warn', 'always'],
151
+ 'one-var-declaration-per-line': 'off',
167
152
  'operator-assignment': ['warn', 'always'],
168
153
  'prefer-arrow-callback': 'warn',
169
154
  'prefer-const': 'warn',
@@ -178,7 +163,7 @@ module.exports = {
178
163
  'prefer-rest-params': 'error',
179
164
  'prefer-spread': 'error',
180
165
  'prefer-template': 'warn',
181
- 'quote-props': ['warn', 'consistent-as-needed'],
166
+ 'quote-props': 'off',
182
167
  'radix': 'error',
183
168
  'require-await': 'error',
184
169
  'require-unicode-regexp': 'error',
@@ -186,11 +171,7 @@ module.exports = {
186
171
  'sort-imports': 'off',
187
172
  'sort-keys': 'off',
188
173
  'sort-vars': 'off',
189
- 'spaced-comment': ['warn', 'always', {
190
- line: {
191
- markers: ['/ <reference'],
192
- },
193
- }],
174
+ 'spaced-comment': 'off',
194
175
  'strict': 'warn',
195
176
  'symbol-description': 'error',
196
177
  'vars-on-top': 'error',
@@ -34,7 +34,6 @@ module.exports = {
34
34
  'jest/no-focused-tests': 'warn',
35
35
  'jest/no-hooks': 'off',
36
36
  'jest/no-identical-title': 'error',
37
- 'jest/no-if': 'off',
38
37
  'jest/no-interpolation-in-snapshots': 'error',
39
38
  'jest/no-jasmine-globals': 'warn',
40
39
  'jest/no-large-snapshots': 'error',
@@ -58,6 +57,8 @@ module.exports = {
58
57
  'jest/prefer-expect-resolves': 'warn',
59
58
  'jest/prefer-hooks-in-order': 'error',
60
59
  'jest/prefer-hooks-on-top': 'error',
60
+ 'jest/prefer-importing-jest-globals': 'warn',
61
+ 'jest/prefer-jest-mocked': 'warn',
61
62
  'jest/prefer-lowercase-title': ['error', {
62
63
  allowedPrefixes: [],
63
64
  ignore: [],
@@ -34,6 +34,7 @@ module.exports = {
34
34
  checkDestructured: true,
35
35
  checkRestProperty: false,
36
36
  disableExtraPropertyReporting: false,
37
+ disableMissingParamChecks: false,
37
38
  enableFixer: true,
38
39
  useDefaultObjectProperties: false,
39
40
  }],
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ module.exports = {
3
+ plugins: [
4
+ 'n',
5
+ ],
6
+ rules: {
7
+ 'n/callback-return': ['error', ['callback', 'cb', 'next']],
8
+ 'n/exports-style': ['warn', 'module.exports', { allowBatchAssign: false }],
9
+ 'n/file-extension-in-import': 'off',
10
+ 'n/global-require': 'error',
11
+ 'n/handle-callback-err': 'error',
12
+ 'n/hashbang': 'warn',
13
+ 'n/no-callback-literal': 'error',
14
+ 'n/no-deprecated-api': 'error',
15
+ 'n/no-exports-assign': 'error',
16
+ 'n/no-extraneous-import': 'off',
17
+ 'n/no-extraneous-require': 'off',
18
+ 'n/no-hide-core-modules': 'off',
19
+ 'n/no-missing-import': 'off',
20
+ 'n/no-missing-require': 'off',
21
+ 'n/no-mixed-requires': 'error',
22
+ 'n/no-new-require': 'error',
23
+ 'n/no-path-concat': 'error',
24
+ 'n/no-process-env': 'error',
25
+ 'n/no-process-exit': 'off',
26
+ 'n/no-restricted-import': 'error',
27
+ 'n/no-restricted-require': 'error',
28
+ 'n/no-sync': ['error', {
29
+ allowAtRootLevel: false,
30
+ }],
31
+ 'n/no-unpublished-bin': 'error',
32
+ 'n/no-unpublished-import': 'error',
33
+ 'n/no-unpublished-require': ['error', {
34
+ allowModules: [],
35
+ tryExtensions: ['.js', '.json', '.node'],
36
+ }],
37
+ 'n/no-unsupported-features/es-builtins': ['error', {
38
+ version: '>=18.0.0',
39
+ ignores: [],
40
+ }],
41
+ 'n/no-unsupported-features/es-syntax': 'off',
42
+ 'n/no-unsupported-features/node-builtins': ['error', {
43
+ version: '>=18.0.0',
44
+ ignores: [],
45
+ }],
46
+ 'n/prefer-global/buffer': ['error', 'always'],
47
+ 'n/prefer-global/console': ['error', 'always'],
48
+ 'n/prefer-global/process': ['error', 'always'],
49
+ 'n/prefer-global/text-decoder': ['error', 'always'],
50
+ 'n/prefer-global/text-encoder': ['error', 'always'],
51
+ 'n/prefer-global/url': ['error', 'always'],
52
+ 'n/prefer-global/url-search-params': ['error', 'always'],
53
+ 'n/prefer-node-protocol': 'off',
54
+ 'n/prefer-promises/dns': 'error',
55
+ 'n/prefer-promises/fs': 'error',
56
+ 'n/process-exit-as-throw': 'error',
57
+ 'n/shebang': 'off',
58
+ },
59
+ };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  module.exports = {
3
3
  rules: {
4
- 'node/no-deprecated-api': 'error',
4
+ 'node/no-deprecated-api': 'off',
5
5
  },
6
6
  };
@@ -1,23 +1,23 @@
1
1
  "use strict";
2
2
  module.exports = {
3
3
  rules: {
4
- 'node/handle-callback-err': 'error',
5
- 'node/no-callback-literal': 'error',
6
- 'node/no-exports-assign': 'error',
4
+ 'node/handle-callback-err': 'off',
5
+ 'node/no-callback-literal': 'off',
6
+ 'node/no-exports-assign': 'off',
7
7
  'node/no-extraneous-import': 'off',
8
8
  'node/no-extraneous-require': 'off',
9
9
  'node/no-missing-import': 'off',
10
10
  'node/no-missing-require': 'off',
11
- 'node/no-new-require': 'error',
12
- 'node/no-path-concat': 'error',
11
+ 'node/no-new-require': 'off',
12
+ 'node/no-path-concat': 'off',
13
13
  'node/no-process-exit': 'off',
14
- 'node/no-unpublished-bin': 'error',
15
- 'node/no-unpublished-import': 'error',
16
- 'node/no-unpublished-require': 'error',
17
- 'node/no-unsupported-features/es-builtins': 'error',
14
+ 'node/no-unpublished-bin': 'off',
15
+ 'node/no-unpublished-import': 'off',
16
+ 'node/no-unpublished-require': 'off',
17
+ 'node/no-unsupported-features/es-builtins': 'off',
18
18
  'node/no-unsupported-features/es-syntax': 'off',
19
- 'node/no-unsupported-features/node-builtins': 'error',
20
- 'node/process-exit-as-throw': 'error',
21
- 'node/shebang': 'warn',
19
+ 'node/no-unsupported-features/node-builtins': 'off',
20
+ 'node/process-exit-as-throw': 'off',
21
+ 'node/shebang': 'off',
22
22
  },
23
23
  };
@@ -1,23 +1,23 @@
1
1
  "use strict";
2
2
  module.exports = {
3
3
  rules: {
4
- 'node/callback-return': 'error',
5
- 'node/exports-style': ['error', 'module.exports', { allowBatchAssign: false }],
4
+ 'node/callback-return': 'off',
5
+ 'node/exports-style': ['off', 'module.exports', { allowBatchAssign: false }],
6
6
  'node/file-extension-in-import': 'off',
7
- 'node/global-require': 'error',
8
- 'node/no-mixed-requires': 'error',
9
- 'node/no-process-env': 'error',
10
- 'node/no-restricted-import': 'error',
11
- 'node/no-restricted-require': 'error',
12
- 'node/no-sync': 'error',
13
- 'node/prefer-global/buffer': ['error', 'always'],
14
- 'node/prefer-global/console': ['error', 'always'],
15
- 'node/prefer-global/process': ['error', 'always'],
16
- 'node/prefer-global/text-decoder': ['error', 'always'],
17
- 'node/prefer-global/text-encoder': ['error', 'always'],
18
- 'node/prefer-global/url-search-params': ['error', 'always'],
19
- 'node/prefer-global/url': ['error', 'always'],
20
- 'node/prefer-promises/dns': 'error',
21
- 'node/prefer-promises/fs': 'error',
7
+ 'node/global-require': 'off',
8
+ 'node/no-mixed-requires': 'off',
9
+ 'node/no-process-env': 'off',
10
+ 'node/no-restricted-import': 'off',
11
+ 'node/no-restricted-require': 'off',
12
+ 'node/no-sync': 'off',
13
+ 'node/prefer-global/buffer': ['off', 'always'],
14
+ 'node/prefer-global/console': ['off', 'always'],
15
+ 'node/prefer-global/process': ['off', 'always'],
16
+ 'node/prefer-global/text-decoder': ['off', 'always'],
17
+ 'node/prefer-global/text-encoder': ['off', 'always'],
18
+ 'node/prefer-global/url-search-params': ['off', 'always'],
19
+ 'node/prefer-global/url': ['off', 'always'],
20
+ 'node/prefer-promises/dns': 'off',
21
+ 'node/prefer-promises/fs': 'off',
22
22
  },
23
23
  };