eslint-config-seekingalpha-base 12.0.2 → 12.1.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/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Change Log
2
2
 
3
+ ## 12.1.0 - 2026-07-21
4
+
5
+ - [new] new unicorn rules
6
+
3
7
  ## 12.0.2 - 2026-07-19
4
8
 
5
9
  - [new] migrate to `eslint-plugin-import-x`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-config-seekingalpha-base",
3
- "version": "12.0.2",
3
+ "version": "12.1.0",
4
4
  "description": "SeekingAlpha's sharable base ESLint config",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -16,9 +16,22 @@ export default {
16
16
  },
17
17
  ],
18
18
 
19
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/class-reference-in-static-methods.md
20
+ 'unicorn/class-reference-in-static-methods': [
21
+ 'error',
22
+ { preferThis: true },
23
+ ],
24
+
25
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/comment-content.md
26
+ 'unicorn/comment-content': 'error',
27
+
19
28
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-assert.md
20
29
  'unicorn/consistent-assert': 'error',
21
30
 
31
+ // prefer @typescript-eslint/member-ordering
32
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-class-member-order.md
33
+ 'unicorn/consistent-class-member-order': 'off',
34
+
22
35
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-compound-words.md
23
36
  'unicorn/consistent-compound-words': 'off',
24
37
 
@@ -34,18 +47,31 @@ export default {
34
47
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-existence-index-check.md
35
48
  'unicorn/consistent-existence-index-check': 'error',
36
49
 
50
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-export-decorator-position.md
51
+ 'unicorn/consistent-export-decorator-position': 'error',
52
+
37
53
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/consistent-function-scoping.md
38
54
  'unicorn/consistent-function-scoping': 'error',
39
55
 
56
+ // prefer func-style
57
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-function-style.md
58
+ 'unicorn/consistent-function-style': 'off',
59
+
40
60
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-json-file-read.md
41
61
  'unicorn/consistent-json-file-read': 'error',
42
62
 
63
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-optional-chaining.md
64
+ 'unicorn/consistent-optional-chaining': 'error',
65
+
43
66
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-template-literal-escape.md
44
67
  'unicorn/consistent-template-literal-escape': 'error',
45
68
 
46
69
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/custom-error-definition.md
47
70
  'unicorn/custom-error-definition': 'error',
48
71
 
72
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-dom-node-dataset.md
73
+ 'unicorn/dom-node-dataset': 'error',
74
+
49
75
  /*
50
76
  * https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/empty-brace-spaces.md
51
77
  * Disabled to work with oxfmt
@@ -64,18 +90,27 @@ export default {
64
90
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/explicit-length-check.md
65
91
  'unicorn/explicit-length-check': 'off',
66
92
 
93
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/explicit-timer-delay.md
94
+ 'unicorn/explicit-timer-delay': ['error', 'always'],
95
+
67
96
  /*
68
97
  * check if can replace plugin-filenames
69
98
  * https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/filename-case.md
70
99
  */
71
100
  'unicorn/filename-case': 'off',
72
101
 
102
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/id-match.md
103
+ 'unicorn/id-match': 'off',
104
+
73
105
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/import-style.md
74
106
  'unicorn/import-style': 'off',
75
107
 
76
108
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/isolated-functions.md
77
109
  'unicorn/isolated-functions': 'off',
78
110
 
111
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/max-nested-calls.md
112
+ 'unicorn/max-nested-calls': 'off',
113
+
79
114
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/new-for-builtins.md
80
115
  'unicorn/new-for-builtins': 'error',
81
116
 
@@ -106,18 +141,18 @@ export default {
106
141
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-array-method-this-argument.md
107
142
  'unicorn/no-array-method-this-argument': 'error',
108
143
 
109
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-array-sort.md
110
- 'unicorn/no-array-sort': 'error',
111
-
112
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-single-call.md
113
- 'unicorn/prefer-single-call': 'error',
114
-
115
144
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/no-array-reduce.md
116
145
  'unicorn/no-array-reduce': 'off',
117
146
 
118
147
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-array-reverse.md
119
148
  'unicorn/no-array-reverse': 'error',
120
149
 
150
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-array-sort.md
151
+ 'unicorn/no-array-sort': 'error',
152
+
153
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-asterisk-prefix-in-documentation-comments.md
154
+ 'unicorn/no-asterisk-prefix-in-documentation-comments': 'error',
155
+
121
156
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-await-expression-member.md
122
157
  'unicorn/no-await-expression-member': 'error',
123
158
 
@@ -127,30 +162,51 @@ export default {
127
162
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-blob-to-file.md
128
163
  'unicorn/no-blob-to-file': 'error',
129
164
 
165
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-break-in-nested-loop.md
166
+ 'unicorn/no-break-in-nested-loop': 'error',
167
+
130
168
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-canvas-to-image.md
131
169
  'unicorn/no-canvas-to-image': 'error',
132
170
 
171
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-computed-property-existence-check.md
172
+ 'unicorn/no-computed-property-existence-check': 'off',
173
+
133
174
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-confusing-array-splice.md
134
175
  'unicorn/no-confusing-array-splice': 'error',
135
176
 
177
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-confusing-array-with.md
178
+ 'unicorn/no-confusing-array-with': 'error',
179
+
136
180
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/no-console-spaces.md
137
181
  'unicorn/no-console-spaces': 'error',
138
182
 
183
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-declarations-before-early-exit.md
184
+ 'unicorn/no-declarations-before-early-exit': 'error',
185
+
139
186
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-document-cookie.md
140
187
  'unicorn/no-document-cookie': 'error',
141
188
 
189
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-duplicate-loops.md
190
+ 'unicorn/no-duplicate-loops': 'error',
191
+
142
192
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-duplicate-set-values.md
143
193
  'unicorn/no-duplicate-set-values': 'error',
144
194
 
145
195
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-empty-file.md
146
196
  'unicorn/no-empty-file': 'error',
147
197
 
198
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-error-property-assignment.md
199
+ 'unicorn/no-error-property-assignment': 'error',
200
+
148
201
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-exports-in-scripts.md
149
202
  'unicorn/no-exports-in-scripts': 'error',
150
203
 
151
204
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/no-for-loop.md
152
205
  'unicorn/no-for-loop': 'error',
153
206
 
207
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-global-object-property-assignment.md
208
+ 'unicorn/no-global-object-property-assignment': 'error',
209
+
154
210
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/no-hex-escape.md
155
211
  'unicorn/no-hex-escape': 'error',
156
212
 
@@ -160,6 +216,10 @@ export default {
160
216
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-incorrect-query-selector.md
161
217
  'unicorn/no-incorrect-query-selector': 'error',
162
218
 
219
+ // we use custom templates for API calls
220
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-incorrect-template-string-interpolation.md
221
+ 'unicorn/no-incorrect-template-string-interpolation': 'off',
222
+
163
223
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/no-instanceof-array.md
164
224
  'unicorn/no-instanceof-array': 'error',
165
225
 
@@ -196,11 +256,17 @@ export default {
196
256
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-manually-wrapped-comments.md
197
257
  'unicorn/no-manually-wrapped-comments': 'error',
198
258
 
259
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-mismatched-map-key.md
260
+ 'unicorn/no-mismatched-map-key': 'error',
261
+
199
262
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-named-default.md
200
263
  'unicorn/no-named-default': 'error',
201
264
 
202
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negation-in-equality-check.md
203
- 'unicorn/no-negation-in-equality-check': 'error',
265
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negated-array-predicate.md
266
+ 'unicorn/no-negated-array-predicate': 'error',
267
+
268
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negated-comparison.md
269
+ 'unicorn/no-negated-comparison': 'error',
204
270
 
205
271
  /*
206
272
  * Disabled in favour of native ESLint no-negated-condition rule
@@ -208,6 +274,9 @@ export default {
208
274
  */
209
275
  'unicorn/no-negated-condition': 'off',
210
276
 
277
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negation-in-equality-check.md
278
+ 'unicorn/no-negation-in-equality-check': 'error',
279
+
211
280
  /*
212
281
  * https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/no-nested-ternary.md
213
282
  * Disabled in favour of ESLint's rule and it does not work with Prettier
@@ -227,21 +296,30 @@ export default {
227
296
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-object-as-default-parameter.md
228
297
  'unicorn/no-object-as-default-parameter': 'error',
229
298
 
299
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-object-methods-with-collections.md
300
+ 'unicorn/no-object-methods-with-collections': 'error',
301
+
302
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-optional-chaining-on-undeclared-variable.md
303
+ 'unicorn/no-optional-chaining-on-undeclared-variable': 'error',
304
+
230
305
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/no-process-exit.md
231
306
  'unicorn/no-process-exit': 'error',
232
307
 
233
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-single-promise-in-promise-methods.md
234
- 'unicorn/no-single-promise-in-promise-methods': 'error',
308
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-redundant-comparison.md
309
+ 'unicorn/no-redundant-comparison': 'error',
235
310
 
236
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-nested-ternary.md
237
- 'unicorn/no-unnecessary-nested-ternary': 'error',
311
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-return-array-push.md
312
+ 'unicorn/no-return-array-push': 'error',
238
313
 
239
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-slice-end.md
240
- 'unicorn/no-unnecessary-slice-end': 'error',
314
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-single-promise-in-promise-methods.md
315
+ 'unicorn/no-single-promise-in-promise-methods': 'error',
241
316
 
242
317
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-static-only-class.md
243
318
  'unicorn/no-static-only-class': 'error',
244
319
 
320
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-subtraction-comparison.md
321
+ 'unicorn/no-subtraction-comparison': 'error',
322
+
245
323
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-thenable.md
246
324
  'unicorn/no-thenable': 'error',
247
325
 
@@ -251,11 +329,14 @@ export default {
251
329
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-this-outside-of-class.md
252
330
  'unicorn/no-this-outside-of-class': 'off',
253
331
 
332
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-top-level-side-effects.md
333
+ 'unicorn/no-top-level-side-effects': 'error',
334
+
254
335
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-typeof-undefined.md
255
336
  'unicorn/no-typeof-undefined': 'error',
256
337
 
257
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-await.md
258
- 'unicorn/no-unnecessary-await': 'error',
338
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-undeclared-class-members.md
339
+ 'unicorn/no-undeclared-class-members': 'error',
259
340
 
260
341
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-array-flat-depth.md
261
342
  'unicorn/no-unnecessary-array-flat-depth': 'error',
@@ -263,32 +344,66 @@ export default {
263
344
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-array-splice-count.md
264
345
  'unicorn/no-unnecessary-array-splice-count': 'error',
265
346
 
347
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-await.md
348
+ 'unicorn/no-unnecessary-await': 'error',
349
+
350
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-global-this.md
351
+ 'unicorn/no-unnecessary-global-this': 'error',
352
+
353
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-nested-ternary.md
354
+ 'unicorn/no-unnecessary-nested-ternary': 'error',
355
+
266
356
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-polyfills.md
267
357
  'unicorn/no-unnecessary-polyfills': 'error',
268
358
 
359
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-slice-end.md
360
+ 'unicorn/no-unnecessary-slice-end': 'error',
361
+
362
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-splice.md
363
+ 'unicorn/no-unnecessary-splice': 'error',
364
+
269
365
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/no-unreadable-array-destructuring.md
270
366
  'unicorn/no-unreadable-array-destructuring': 'error',
271
367
 
272
368
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unreadable-iife.md
273
369
  'unicorn/no-unreadable-iife': 'error',
274
370
 
275
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unused-array-method-return.md
276
- 'unicorn/no-unused-array-method-return': 'error',
371
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unreadable-new-expression.md
372
+ 'unicorn/no-unreadable-new-expression': 'off',
277
373
 
278
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-collection-argument.md
279
- 'unicorn/no-useless-collection-argument': 'error',
374
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unreadable-object-destructuring.md
375
+ 'unicorn/no-unreadable-object-destructuring': 'off',
280
376
 
281
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-iterator-to-array.md
282
- 'unicorn/no-useless-iterator-to-array': 'error',
377
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unsafe-buffer-conversion.md
378
+ 'unicorn/no-unsafe-buffer-conversion': 'off',
379
+
380
+ // does not support older browsers
381
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unsafe-dom-html.md
382
+ 'unicorn/no-unsafe-dom-html': 'off',
383
+
384
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unsafe-property-key.md
385
+ 'unicorn/no-unsafe-property-key': 'off',
386
+
387
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unsafe-string-replacement.md
388
+ 'unicorn/no-unsafe-string-replacement': 'off',
389
+
390
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unused-array-method-return.md
391
+ 'unicorn/no-unused-array-method-return': 'error',
283
392
 
284
393
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/no-unused-properties.md
285
394
  'unicorn/no-unused-properties': 'error',
286
395
 
287
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-spread.md
288
- 'unicorn/no-useless-spread': 'error',
396
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-boolean-cast.md
397
+ 'unicorn/no-useless-boolean-cast': 'error',
289
398
 
290
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-switch-case.md
291
- 'unicorn/no-useless-switch-case': 'error',
399
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-collection-argument.md
400
+ 'unicorn/no-useless-collection-argument': 'error',
401
+
402
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-concat.md
403
+ 'unicorn/no-useless-concat': 'error',
404
+
405
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-else.md
406
+ 'unicorn/no-useless-else': 'error',
292
407
 
293
408
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-error-capture-stack-trace.md
294
409
  'unicorn/no-useless-error-capture-stack-trace': 'error',
@@ -296,12 +411,27 @@ export default {
296
411
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-fallback-in-spread.md
297
412
  'unicorn/no-useless-fallback-in-spread': 'error',
298
413
 
414
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-iterator-to-array.md
415
+ 'unicorn/no-useless-iterator-to-array': 'error',
416
+
299
417
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-length-check.md
300
418
  'unicorn/no-useless-length-check': 'error',
301
419
 
302
420
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-promise-resolve-reject.md
303
421
  'unicorn/no-useless-promise-resolve-reject': 'error',
304
422
 
423
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-recursion.md
424
+ 'unicorn/no-useless-recursion': 'error',
425
+
426
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-spread.md
427
+ 'unicorn/no-useless-spread': 'error',
428
+
429
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-switch-case.md
430
+ 'unicorn/no-useless-switch-case': 'error',
431
+
432
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-template-literals.md
433
+ 'unicorn/no-useless-template-literals': 'error',
434
+
305
435
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/no-useless-undefined.md
306
436
  'unicorn/no-useless-undefined': 'error',
307
437
 
@@ -320,6 +450,9 @@ export default {
320
450
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-add-event-listener.md
321
451
  'unicorn/prefer-add-event-listener': 'error',
322
452
 
453
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-add-event-listener-options.md
454
+ 'unicorn/prefer-add-event-listener-options': 'error',
455
+
323
456
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-array-find.md
324
457
  'unicorn/prefer-array-find': 'error',
325
458
 
@@ -334,65 +467,58 @@ export default {
334
467
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-array-flat-map.md
335
468
  'unicorn/prefer-array-flat-map': 'error',
336
469
 
470
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-from-map.md
471
+ 'unicorn/prefer-array-from-map': 'error',
472
+
473
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-array-index-of.md
474
+ 'unicorn/prefer-array-index-of': 'error',
475
+
337
476
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-last-methods.md
338
477
  'unicorn/prefer-array-last-methods': 'error',
339
478
 
340
479
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-array-some.md
341
480
  'unicorn/prefer-array-some': 'error',
342
481
 
343
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-blob-reading-methods.md
344
- 'unicorn/prefer-blob-reading-methods': 'error',
345
-
346
482
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-at.md
347
483
  'unicorn/prefer-at': 'off',
348
484
 
349
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-code-point.md
350
- 'unicorn/prefer-code-point': 'error',
351
-
352
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-array-index-of.md
353
- 'unicorn/prefer-array-index-of': 'error',
485
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-await.md
486
+ 'unicorn/prefer-await': 'off',
354
487
 
355
488
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-bigint-literals.md
356
489
  'unicorn/prefer-bigint-literals': 'error',
357
490
 
491
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-blob-reading-methods.md
492
+ 'unicorn/prefer-blob-reading-methods': 'error',
493
+
358
494
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-class-fields.md
359
495
  'unicorn/prefer-class-fields': 'error',
360
496
 
361
497
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-classlist-toggle.md
362
498
  'unicorn/prefer-classlist-toggle': 'error',
363
499
 
500
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-code-point.md
501
+ 'unicorn/prefer-code-point': 'error',
502
+
364
503
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-date-now.md
365
504
  'unicorn/prefer-date-now': 'error',
366
505
 
367
506
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-default-parameters.md
368
507
  'unicorn/prefer-default-parameters': 'error',
369
508
 
370
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-dom-node-append.md
371
- 'unicorn/prefer-dom-node-append': 'error',
372
-
373
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-get-or-insert-computed.md
374
- 'unicorn/prefer-get-or-insert-computed': 'error',
375
-
376
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-https.md
377
- 'unicorn/prefer-https': 'error',
378
-
379
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-includes-over-repeated-comparisons.md
380
- 'unicorn/prefer-includes-over-repeated-comparisons': 'error',
381
-
382
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-iterator-concat.md
383
- 'unicorn/prefer-iterator-concat': 'off',
384
-
385
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-iterator-to-array-at-end.md
386
- 'unicorn/prefer-iterator-to-array-at-end': 'error',
509
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-direct-iteration.md
510
+ 'unicorn/prefer-direct-iteration': 'off',
387
511
 
388
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-math-abs.md
389
- 'unicorn/prefer-math-abs': 'error',
512
+ // only stage 4
513
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-dispose.md
514
+ 'unicorn/prefer-dispose': 'off',
390
515
 
391
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-queue-microtask.md
392
- 'unicorn/prefer-queue-microtask': 'error',
516
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-dom-node-append.md
517
+ 'unicorn/prefer-dom-node-append': 'error',
393
518
 
394
- // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-dom-node-dataset.md
395
- 'unicorn/dom-node-dataset': 'error',
519
+ // does not support older browsers
520
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-dom-node-html-methods.md
521
+ 'unicorn/prefer-dom-node-html-methods': 'off',
396
522
 
397
523
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-dom-node-remove.md
398
524
  'unicorn/prefer-dom-node-remove': 'error',
@@ -400,36 +526,75 @@ export default {
400
526
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-dom-node-text-content.md
401
527
  'unicorn/prefer-dom-node-text-content': 'error',
402
528
 
529
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-early-return.md
530
+ 'unicorn/prefer-early-return': 'off',
531
+
403
532
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-event-target.md
404
533
  'unicorn/prefer-event-target': 'error',
405
534
 
406
535
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-export-from.md
407
536
  'unicorn/prefer-export-from': 'error',
408
537
 
538
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-get-or-insert-computed.md
539
+ 'unicorn/prefer-get-or-insert-computed': 'error',
540
+
541
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-global-number-constants.md
542
+ 'unicorn/prefer-global-number-constants': 'off',
543
+
409
544
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-global-this.md
410
545
  'unicorn/prefer-global-this': 'off',
411
546
 
547
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-https.md
548
+ 'unicorn/prefer-https': 'error',
549
+
550
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-identifier-import-export-specifiers.md
551
+ 'unicorn/prefer-identifier-import-export-specifiers': 'error',
552
+
412
553
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-import-meta-properties.md
413
554
  'unicorn/prefer-import-meta-properties': 'error',
414
555
 
415
556
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-includes.md
416
557
  'unicorn/prefer-includes': 'error',
417
558
 
559
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-includes-over-repeated-comparisons.md
560
+ 'unicorn/prefer-includes-over-repeated-comparisons': 'error',
561
+
562
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-iterable-in-constructor.md
563
+ 'unicorn/prefer-iterable-in-constructor': 'error',
564
+
565
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-iterator-concat.md
566
+ 'unicorn/prefer-iterator-concat': 'off',
567
+
568
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-iterator-to-array.md
569
+ 'unicorn/prefer-iterator-to-array': 'off',
570
+
571
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-iterator-to-array-at-end.md
572
+ 'unicorn/prefer-iterator-to-array-at-end': 'error',
573
+
418
574
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-json-parse-buffer.md
419
575
  'unicorn/prefer-json-parse-buffer': 'error',
420
576
 
421
577
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-keyboard-event-key.md
422
578
  'unicorn/prefer-keyboard-event-key': 'error',
423
579
 
580
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-location-assign.md
581
+ 'unicorn/prefer-location-assign': 'error',
582
+
424
583
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-logical-operator-over-ternary.md
425
584
  'unicorn/prefer-logical-operator-over-ternary': 'error',
426
585
 
586
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-math-abs.md
587
+ 'unicorn/prefer-math-abs': 'error',
588
+
427
589
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-math-min-max.md
428
590
  'unicorn/prefer-math-min-max': 'error',
429
591
 
430
592
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-math-trunc.md
431
593
  'unicorn/prefer-math-trunc': 'error',
432
594
 
595
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-minimal-ternary.md
596
+ 'unicorn/prefer-minimal-ternary': 'off',
597
+
433
598
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-modern-dom-apis.md
434
599
  'unicorn/prefer-modern-dom-apis': 'error',
435
600
 
@@ -448,21 +613,46 @@ export default {
448
613
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-node-protocol.md
449
614
  'unicorn/prefer-node-protocol': 'error',
450
615
 
616
+ // enable
617
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-number-coercion.md
618
+ 'unicorn/prefer-number-coercion': 'off',
619
+
620
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-number-is-safe-integer.md
621
+ 'unicorn/prefer-number-is-safe-integer': 'off',
622
+
451
623
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-number-properties.md
452
624
  'unicorn/prefer-number-properties': 'error',
453
625
 
626
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-object-define-properties.md
627
+ 'unicorn/prefer-object-define-properties': 'error',
628
+
629
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-object-destructuring-defaults.md
630
+ 'unicorn/prefer-object-destructuring-defaults': 'error',
631
+
454
632
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-object-from-entries.md
455
633
  'unicorn/prefer-object-from-entries': 'error',
456
634
 
635
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-object-iterable-methods.md
636
+ 'unicorn/prefer-object-iterable-methods': 'error',
637
+
457
638
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-optional-catch-binding.md
458
639
  'unicorn/prefer-optional-catch-binding': 'error',
459
640
 
641
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-path2d.md
642
+ 'unicorn/prefer-path2d': 'error',
643
+
644
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-private-class-fields.md
645
+ 'unicorn/prefer-private-class-fields': 'error',
646
+
460
647
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-prototype-methods.md
461
648
  'unicorn/prefer-prototype-methods': 'error',
462
649
 
463
650
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-query-selector.md
464
651
  'unicorn/prefer-query-selector': 'error',
465
652
 
653
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-queue-microtask.md
654
+ 'unicorn/prefer-queue-microtask': 'error',
655
+
466
656
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-reflect-apply.md
467
657
  'unicorn/prefer-reflect-apply': 'off',
468
658
 
@@ -472,14 +662,37 @@ export default {
472
662
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-response-static-json.md
473
663
  'unicorn/prefer-response-static-json': 'error',
474
664
 
665
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-scoped-selector.md
666
+ 'unicorn/prefer-scoped-selector': 'error',
667
+
475
668
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-set-has.md
476
669
  'unicorn/prefer-set-has': 'error',
477
670
 
478
671
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-set-size.md
479
672
  'unicorn/prefer-set-size': 'error',
480
673
 
674
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-short-arrow-method.md
675
+ 'unicorn/prefer-short-arrow-method': 'off',
676
+
677
+ // waiting for autofix
481
678
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-simple-condition-first.md
482
- 'unicorn/prefer-simple-condition-first': 'error',
679
+ 'unicorn/prefer-simple-condition-first': 'off',
680
+
681
+ // enable
682
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-simple-sort-comparator.md
683
+ 'unicorn/prefer-simple-sort-comparator': 'off',
684
+
685
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-single-array-predicate.md
686
+ 'unicorn/prefer-single-array-predicate': 'error',
687
+
688
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-single-call.md
689
+ 'unicorn/prefer-single-call': 'error',
690
+
691
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-single-object-destructuring.md
692
+ 'unicorn/prefer-single-object-destructuring': 'error',
693
+
694
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-smaller-scope.md
695
+ 'unicorn/prefer-smaller-scope': 'error',
483
696
 
484
697
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-split-limit.md
485
698
  'unicorn/prefer-split-limit': 'error',
@@ -517,6 +730,10 @@ export default {
517
730
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-switch.md
518
731
  'unicorn/prefer-switch': 'error',
519
732
 
733
+ // waiting for support
734
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-temporal.md
735
+ 'unicorn/prefer-temporal': 'off',
736
+
520
737
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-ternary.md
521
738
  'unicorn/prefer-ternary': 'error',
522
739
 
@@ -529,14 +746,31 @@ export default {
529
746
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prefer-type-error.md
530
747
  'unicorn/prefer-type-error': 'error',
531
748
 
749
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-type-literal-last.md
750
+ 'unicorn/prefer-type-literal-last': 'error',
751
+
752
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-uint8array-base64.md
753
+ 'unicorn/prefer-uint8array-base64': 'off',
754
+
755
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-unicode-code-point-escapes.md
756
+ 'unicorn/prefer-unicode-code-point-escapes': 'error',
757
+
758
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-url-href.md
759
+ 'unicorn/prefer-url-href': 'error',
760
+
532
761
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/prevent-abbreviations.md
533
762
  'unicorn/prevent-abbreviations': 'off',
534
763
 
764
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/relative-url-style.md
535
765
  'unicorn/relative-url-style': ['error', 'never'],
536
766
 
537
767
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/require-array-join-separator.md
538
768
  'unicorn/require-array-join-separator': 'error',
539
769
 
770
+ // enable
771
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/require-array-sort-compare.md
772
+ 'unicorn/require-array-sort-compare': 'off',
773
+
540
774
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/require-css-escape.md
541
775
  'unicorn/require-css-escape': 'off',
542
776
 
@@ -555,6 +789,9 @@ export default {
555
789
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/require-post-message-target-origin.md
556
790
  'unicorn/require-post-message-target-origin': 'error',
557
791
 
792
+ // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/require-proxy-trap-boolean-return.md
793
+ 'unicorn/require-proxy-trap-boolean-return': 'error',
794
+
558
795
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/string-content.md
559
796
  'unicorn/string-content': 'off',
560
797
 
@@ -18,7 +18,7 @@ export default {
18
18
  'unicorn/error-message': 'error',
19
19
  'unicorn/escape-case': 'error',
20
20
  'unicorn/explicit-length-check': 'off',
21
- 'unicorn/explicit-timer-delay': 'error',
21
+ 'unicorn/explicit-timer-delay': ['error', 'always'],
22
22
  'unicorn/filename-case': 'off',
23
23
  'unicorn/import-style': 'off',
24
24
  'unicorn/new-for-builtins': 'error',
@@ -11,8 +11,7 @@ export const ESLintPluginUnicornDisabled = {
11
11
  'unicorn/error-message': 'off',
12
12
  'unicorn/escape-case': 'off',
13
13
  'unicorn/explicit-length-check': 'off',
14
- // ESLint 10 migration
15
- // 'unicorn/explicit-timer-delay': 'off',
14
+ 'unicorn/explicit-timer-delay': 'off',
16
15
  'unicorn/filename-case': 'off',
17
16
  'unicorn/import-style': 'off',
18
17
  'unicorn/new-for-builtins': 'off',
@@ -28,8 +27,7 @@ export const ESLintPluginUnicornDisabled = {
28
27
  'unicorn/no-array-reverse': 'off',
29
28
  'unicorn/no-await-expression-member': 'off',
30
29
  'unicorn/no-await-in-promise-methods': 'off',
31
- // ESLint 10 migration
32
- // 'unicorn/no-confusing-array-with': 'off',
30
+ 'unicorn/no-confusing-array-with': 'off',
33
31
  'unicorn/no-console-spaces': 'off',
34
32
  'unicorn/no-document-cookie': 'off',
35
33
  'unicorn/no-empty-file': 'off',