@enormora/eslint-config-base 0.0.29 → 0.0.30
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 +27 -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.0",
|
|
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.30"
|
|
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,6 +190,8 @@ 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],
|
|
@@ -177,6 +203,7 @@ export const bestPracticesRuleSet = {
|
|
|
177
203
|
'sonarjs/no-element-overwrite': 'error',
|
|
178
204
|
'sonarjs/no-empty-collection': 'error',
|
|
179
205
|
'sonarjs/no-extra-arguments': 'off',
|
|
206
|
+
'sonarjs/function-name': 'off',
|
|
180
207
|
'sonarjs/no-gratuitous-expressions': 'error',
|
|
181
208
|
'sonarjs/no-identical-conditions': 'error',
|
|
182
209
|
'sonarjs/no-identical-expressions': 'error',
|
|
@@ -185,7 +212,6 @@ export const bestPracticesRuleSet = {
|
|
|
185
212
|
'sonarjs/no-inverted-boolean-check': 'error',
|
|
186
213
|
'sonarjs/no-nested-switch': 'error',
|
|
187
214
|
'sonarjs/no-nested-template-literals': 'error',
|
|
188
|
-
'sonarjs/no-one-iteration-loop': 'error',
|
|
189
215
|
'sonarjs/no-redundant-boolean': 'off',
|
|
190
216
|
'sonarjs/no-redundant-jump': 'off',
|
|
191
217
|
'sonarjs/no-same-line-conditional': 'error',
|