@enormora/eslint-config-base 0.0.29 → 0.0.31
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/base.js +0 -1
- package/package.json +10 -10
- package/rule-sets/best-practices.js +28 -1
package/base.js
CHANGED
|
@@ -344,7 +344,6 @@ export const baseConfig = {
|
|
|
344
344
|
],
|
|
345
345
|
'eslint-comments/no-aggregating-enable': 'error',
|
|
346
346
|
'eslint-comments/no-duplicate-disable': 'error',
|
|
347
|
-
'eslint-comments/no-unused-disable': 'error',
|
|
348
347
|
'eslint-comments/no-unused-enable': 'error',
|
|
349
348
|
'eslint-comments/no-restricted-disable': 'off',
|
|
350
349
|
'eslint-comments/no-unlimited-disable': 'error',
|
package/package.json
CHANGED
|
@@ -4,18 +4,18 @@
|
|
|
4
4
|
"Christian Rackerseder <github@echooff.de>"
|
|
5
5
|
],
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@cspell/eslint-plugin": "
|
|
8
|
-
"@eslint-community/eslint-plugin-eslint-comments": "4.
|
|
9
|
-
"@stylistic/eslint-plugin": "5.
|
|
10
|
-
"eslint-plugin-array-func": "5.1.
|
|
7
|
+
"@cspell/eslint-plugin": "10.0.0",
|
|
8
|
+
"@eslint-community/eslint-plugin-eslint-comments": "4.7.1",
|
|
9
|
+
"@stylistic/eslint-plugin": "5.10.0",
|
|
10
|
+
"eslint-plugin-array-func": "5.1.1",
|
|
11
11
|
"eslint-plugin-destructuring": "2.2.1",
|
|
12
|
-
"eslint-plugin-import-x": "4.16.
|
|
13
|
-
"eslint-plugin-no-barrel-files": "1.
|
|
14
|
-
"eslint-plugin-no-secrets": "2.
|
|
12
|
+
"eslint-plugin-import-x": "4.16.2",
|
|
13
|
+
"eslint-plugin-no-barrel-files": "1.3.1",
|
|
14
|
+
"eslint-plugin-no-secrets": "2.3.3",
|
|
15
15
|
"eslint-plugin-prettier": "5.5.5",
|
|
16
16
|
"eslint-plugin-promise": "7.2.1",
|
|
17
|
-
"eslint-plugin-sonarjs": "
|
|
18
|
-
"eslint-plugin-unicorn": "
|
|
17
|
+
"eslint-plugin-sonarjs": "4.0.2",
|
|
18
|
+
"eslint-plugin-unicorn": "64.0.0"
|
|
19
19
|
},
|
|
20
20
|
"description": "Enormora’s ESLint base configuration",
|
|
21
21
|
"license": "MIT",
|
|
@@ -26,5 +26,5 @@
|
|
|
26
26
|
"url": "git://github.com/enormora/eslint-config.git"
|
|
27
27
|
},
|
|
28
28
|
"type": "module",
|
|
29
|
-
"version": "0.0.
|
|
29
|
+
"version": "0.0.31"
|
|
30
30
|
}
|
|
@@ -6,6 +6,26 @@ import noBarrelFiles from 'eslint-plugin-no-barrel-files';
|
|
|
6
6
|
|
|
7
7
|
const maxSwitchCases = 6;
|
|
8
8
|
|
|
9
|
+
function isSonarjsRuleDeprecated(sonarjsRule) {
|
|
10
|
+
return sonarjsRule.meta?.deprecated ?? false;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const nonDeprecatedSonarjsRuleNames = new Set(
|
|
14
|
+
Object.entries(sonarjsPlugin.rules)
|
|
15
|
+
.filter(([, sonarjsRule]) => {
|
|
16
|
+
return !isSonarjsRuleDeprecated(sonarjsRule);
|
|
17
|
+
})
|
|
18
|
+
.map(([sonarjsRuleName]) => {
|
|
19
|
+
return `sonarjs/${sonarjsRuleName}`;
|
|
20
|
+
})
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
const nonDeprecatedSonarjsRecommendedRules = Object.fromEntries(
|
|
24
|
+
Object.entries(sonarjsPlugin.configs.recommended.rules).filter(([sonarjsRuleName]) => {
|
|
25
|
+
return nonDeprecatedSonarjsRuleNames.has(sonarjsRuleName);
|
|
26
|
+
})
|
|
27
|
+
);
|
|
28
|
+
|
|
9
29
|
export const bestPracticesRuleSet = {
|
|
10
30
|
plugins: {
|
|
11
31
|
unicorn: unicornPlugin,
|
|
@@ -17,6 +37,7 @@ export const bestPracticesRuleSet = {
|
|
|
17
37
|
settings: {},
|
|
18
38
|
rules: {
|
|
19
39
|
'unicorn/string-content': 'off',
|
|
40
|
+
'unicorn/consistent-template-literal-escape': 'error',
|
|
20
41
|
'unicorn/prefer-string-trim-start-end': 'error',
|
|
21
42
|
'unicorn/prefer-set-has': 'error',
|
|
22
43
|
'unicorn/prefer-string-replace-all': 'error',
|
|
@@ -147,17 +168,20 @@ export const bestPracticesRuleSet = {
|
|
|
147
168
|
'unicorn/no-unnecessary-array-flat-depth': 'error',
|
|
148
169
|
'unicorn/no-unnecessary-array-splice-count': 'error',
|
|
149
170
|
'unicorn/no-unnecessary-slice-end': 'error',
|
|
171
|
+
'unicorn/no-useless-iterator-to-array': 'error',
|
|
150
172
|
'unicorn/no-useless-error-capture-stack-trace': 'error',
|
|
151
173
|
'unicorn/prefer-bigint-literals': 'error',
|
|
152
174
|
'unicorn/prefer-class-fields': 'error',
|
|
153
175
|
'unicorn/prefer-classlist-toggle': 'error',
|
|
154
176
|
'unicorn/prefer-import-meta-properties': 'off',
|
|
177
|
+
'unicorn/prefer-simple-condition-first': 'error',
|
|
155
178
|
'unicorn/prefer-single-call': 'error',
|
|
156
179
|
'unicorn/require-module-attributes': 'error',
|
|
157
180
|
'unicorn/require-module-specifiers': 'error',
|
|
158
181
|
'unicorn/no-useless-collection-argument': 'error',
|
|
159
182
|
'unicorn/prefer-response-static-json': 'error',
|
|
160
183
|
'unicorn/isolated-functions': 'off',
|
|
184
|
+
'unicorn/switch-case-break-position': 'error',
|
|
161
185
|
|
|
162
186
|
'array-func/from-map': 'error',
|
|
163
187
|
'array-func/no-unnecessary-this-arg': 'error',
|
|
@@ -166,17 +190,21 @@ export const bestPracticesRuleSet = {
|
|
|
166
190
|
'array-func/prefer-flat-map': 'error',
|
|
167
191
|
'array-func/prefer-flat': 'error',
|
|
168
192
|
|
|
193
|
+
...nonDeprecatedSonarjsRecommendedRules,
|
|
194
|
+
|
|
169
195
|
'sonarjs/cognitive-complexity': 'off',
|
|
170
196
|
'sonarjs/elseif-without-else': 'off',
|
|
171
197
|
'sonarjs/max-switch-cases': ['error', maxSwitchCases],
|
|
172
198
|
'sonarjs/no-all-duplicated-branches': 'error',
|
|
173
199
|
'sonarjs/no-collapsible-if': 'error',
|
|
174
200
|
'sonarjs/no-collection-size-mischeck': 'error',
|
|
201
|
+
'sonarjs/no-clear-text-protocols': 'off',
|
|
175
202
|
'sonarjs/no-duplicate-string': 'off',
|
|
176
203
|
'sonarjs/no-duplicated-branches': 'error',
|
|
177
204
|
'sonarjs/no-element-overwrite': 'error',
|
|
178
205
|
'sonarjs/no-empty-collection': 'error',
|
|
179
206
|
'sonarjs/no-extra-arguments': 'off',
|
|
207
|
+
'sonarjs/function-name': 'off',
|
|
180
208
|
'sonarjs/no-gratuitous-expressions': 'error',
|
|
181
209
|
'sonarjs/no-identical-conditions': 'error',
|
|
182
210
|
'sonarjs/no-identical-expressions': 'error',
|
|
@@ -185,7 +213,6 @@ export const bestPracticesRuleSet = {
|
|
|
185
213
|
'sonarjs/no-inverted-boolean-check': 'error',
|
|
186
214
|
'sonarjs/no-nested-switch': 'error',
|
|
187
215
|
'sonarjs/no-nested-template-literals': 'error',
|
|
188
|
-
'sonarjs/no-one-iteration-loop': 'error',
|
|
189
216
|
'sonarjs/no-redundant-boolean': 'off',
|
|
190
217
|
'sonarjs/no-redundant-jump': 'off',
|
|
191
218
|
'sonarjs/no-same-line-conditional': 'error',
|