eslint-config-setup 0.3.3 → 0.5.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.
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "$schema": "./node_modules/oxlint/configuration_schema.json",
3
3
  "plugins": [
4
- "typescript",
5
4
  "import",
6
5
  "unicorn",
7
6
  "jsdoc"
@@ -15,6 +14,7 @@
15
14
  "rules": {
16
15
  "constructor-super": "error",
17
16
  "for-direction": "error",
17
+ "getter-return": "error",
18
18
  "no-async-promise-executor": "error",
19
19
  "no-case-declarations": "error",
20
20
  "no-class-assign": "error",
@@ -54,30 +54,31 @@
54
54
  "no-sparse-arrays": "error",
55
55
  "no-this-before-super": "error",
56
56
  "no-unassigned-vars": "error",
57
+ "no-unreachable": "error",
57
58
  "no-unsafe-finally": "error",
58
59
  "no-unsafe-negation": "error",
59
60
  "no-unsafe-optional-chaining": "error",
60
61
  "no-unused-labels": "error",
61
62
  "no-unused-private-class-members": "error",
62
- "no-unused-vars": [
63
- "error",
64
- {
65
- "args": "all",
66
- "argsIgnorePattern": "^_",
67
- "caughtErrors": "all",
68
- "caughtErrorsIgnorePattern": "^_",
69
- "destructuredArrayIgnorePattern": "^_",
70
- "varsIgnorePattern": "^_",
71
- "ignoreRestSiblings": true
72
- }
73
- ],
63
+ "no-unused-vars": "error",
74
64
  "no-useless-catch": "error",
75
65
  "no-useless-escape": "error",
76
66
  "no-with": "error",
77
67
  "preserve-caught-error": "error",
78
68
  "require-yield": "error",
79
- "use-isnan": "error",
80
- "valid-typeof": "error",
69
+ "use-isnan": [
70
+ "error",
71
+ {
72
+ "enforceForIndexOf": true,
73
+ "enforceForSwitchCase": true
74
+ }
75
+ ],
76
+ "valid-typeof": [
77
+ "error",
78
+ {
79
+ "requireStringLiterals": true
80
+ }
81
+ ],
81
82
  "accessor-pairs": [
82
83
  "error",
83
84
  {
@@ -100,7 +101,12 @@
100
101
  "getBeforeSet"
101
102
  ],
102
103
  "no-useless-rename": "error",
103
- "no-useless-computed-key": "error",
104
+ "no-useless-computed-key": [
105
+ "error",
106
+ {
107
+ "enforceForClassMembers": true
108
+ }
109
+ ],
104
110
  "no-eval": "error",
105
111
  "no-alert": "error",
106
112
  "no-caller": "error",
@@ -111,6 +117,7 @@
111
117
  "no-proto": "error",
112
118
  "no-iterator": "error",
113
119
  "no-script-url": "error",
120
+ "no-implicit-globals": "error",
114
121
  "eqeqeq": [
115
122
  "error",
116
123
  "smart"
@@ -119,7 +126,12 @@
119
126
  "default-case-last": "error",
120
127
  "radix": "error",
121
128
  "yoda": "error",
122
- "no-sequences": "error",
129
+ "no-sequences": [
130
+ "error",
131
+ {
132
+ "allowInParentheses": false
133
+ }
134
+ ],
123
135
  "no-new": "error",
124
136
  "no-labels": "error",
125
137
  "no-extra-bind": "error",
@@ -127,100 +139,76 @@
127
139
  "no-useless-call": "error",
128
140
  "no-useless-concat": "error",
129
141
  "no-useless-return": "error",
142
+ "no-return-assign": [
143
+ "error",
144
+ "always"
145
+ ],
130
146
  "no-multi-str": "error",
131
- "no-var": "error",
132
- "prefer-const": [
147
+ "prefer-regex-literals": [
133
148
  "error",
134
149
  {
135
- "destructuring": "all"
150
+ "disallowRedundantWrapping": true
136
151
  }
137
152
  ],
138
- "prefer-object-has-own": "error",
139
- "prefer-object-spread": "error",
140
- "prefer-rest-params": "error",
141
- "prefer-spread": "error",
142
- "prefer-template": "error",
143
- "symbol-description": "error",
144
- "@typescript-eslint/ban-ts-comment": [
153
+ "complexity": [
145
154
  "error",
146
- {
147
- "minimumDescriptionLength": 10
148
- }
155
+ 10
156
+ ],
157
+ "max-depth": [
158
+ "error",
159
+ 3
149
160
  ],
150
- "no-array-constructor": "error",
151
- "@typescript-eslint/no-duplicate-enum-values": "error",
152
- "@typescript-eslint/no-dynamic-delete": "error",
153
- "@typescript-eslint/no-empty-object-type": "error",
154
- "@typescript-eslint/no-explicit-any": "error",
155
- "@typescript-eslint/no-extra-non-null-assertion": "error",
156
- "@typescript-eslint/no-extraneous-class": "error",
157
- "@typescript-eslint/no-invalid-void-type": "error",
158
- "@typescript-eslint/no-misused-new": "error",
159
- "@typescript-eslint/no-namespace": "error",
160
- "@typescript-eslint/no-non-null-asserted-nullish-coalescing": "error",
161
- "@typescript-eslint/no-non-null-asserted-optional-chain": "error",
162
- "@typescript-eslint/no-non-null-assertion": "error",
163
- "@typescript-eslint/no-require-imports": "error",
164
- "@typescript-eslint/no-this-alias": "error",
165
- "@typescript-eslint/no-unnecessary-type-constraint": "error",
166
- "@typescript-eslint/no-unsafe-declaration-merging": "error",
167
- "@typescript-eslint/no-unsafe-function-type": "error",
168
- "no-unused-expressions": "error",
169
- "no-useless-constructor": "error",
170
- "@typescript-eslint/no-wrapper-object-types": "error",
171
- "@typescript-eslint/prefer-as-const": "error",
172
- "@typescript-eslint/prefer-literal-enum-member": "error",
173
- "@typescript-eslint/prefer-namespace-keyword": "error",
174
- "@typescript-eslint/triple-slash-reference": "error",
175
- "@typescript-eslint/unified-signatures": "error",
176
- "@typescript-eslint/adjacent-overload-signatures": "error",
177
- "@typescript-eslint/array-type": [
161
+ "max-nested-callbacks": [
162
+ "error",
163
+ 2
164
+ ],
165
+ "max-params": [
166
+ "error",
167
+ 3
168
+ ],
169
+ "max-statements": [
170
+ "error",
171
+ 15
172
+ ],
173
+ "max-lines-per-function": [
178
174
  "error",
179
175
  {
180
- "default": "array-simple"
176
+ "max": 50,
177
+ "skipBlankLines": true,
178
+ "skipComments": true
181
179
  }
182
180
  ],
183
- "@typescript-eslint/ban-tslint-comment": "error",
184
- "@typescript-eslint/class-literal-property-style": "error",
185
- "@typescript-eslint/consistent-generic-constructors": "error",
186
- "@typescript-eslint/consistent-indexed-object-style": "error",
187
- "@typescript-eslint/consistent-type-assertions": "error",
188
- "@typescript-eslint/consistent-type-definitions": "error",
189
- "@typescript-eslint/no-confusing-non-null-assertion": "error",
190
- "no-empty-function": "error",
191
- "@typescript-eslint/no-inferrable-types": "error",
192
- "@typescript-eslint/prefer-for-of": "error",
193
- "@typescript-eslint/prefer-function-type": "error",
194
- "@typescript-eslint/consistent-type-imports": [
181
+ "max-lines": [
195
182
  "error",
196
183
  {
197
- "fixStyle": "inline-type-imports"
184
+ "max": 300,
185
+ "skipBlankLines": true,
186
+ "skipComments": true
198
187
  }
199
188
  ],
200
- "@typescript-eslint/no-import-type-side-effects": "error",
201
- "@typescript-eslint/no-useless-empty-export": "error",
202
- "@typescript-eslint/no-unnecessary-parameter-property-assignment": "error",
203
- "no-shadow": [
189
+ "no-var": "error",
190
+ "prefer-const": [
204
191
  "error",
205
192
  {
206
- "hoist": "all",
207
- "allow": [
208
- "resolve",
209
- "reject",
210
- "done",
211
- "next",
212
- "error"
213
- ],
214
- "ignoreTypeValueShadow": true,
215
- "ignoreFunctionTypeParameterNameValueShadow": true
193
+ "destructuring": "all"
216
194
  }
217
195
  ],
218
- "import/no-duplicates": [
196
+ "prefer-object-has-own": "error",
197
+ "prefer-object-spread": "error",
198
+ "prefer-rest-params": "error",
199
+ "prefer-spread": "error",
200
+ "symbol-description": "error",
201
+ "prefer-numeric-literals": "error",
202
+ "object-shorthand": [
219
203
  "error",
204
+ "always",
220
205
  {
221
- "prefer-inline": true
206
+ "avoidExplicitReturnArrows": true,
207
+ "avoidQuotes": true
222
208
  }
223
209
  ],
210
+ "prefer-template": "warn",
211
+ "import/no-duplicates": "error",
224
212
  "import/no-self-import": "error",
225
213
  "import/no-cycle": [
226
214
  "error",
@@ -230,10 +218,28 @@
230
218
  ],
231
219
  "import/no-mutable-exports": "error",
232
220
  "import/first": "error",
221
+ "import/newline-after-import": "error",
233
222
  "import/no-named-as-default": "error",
234
223
  "import/no-named-as-default-member": "error",
235
224
  "import/no-empty-named-blocks": "error",
236
225
  "import/no-absolute-path": "error",
226
+ "import/no-unassigned-import": [
227
+ "error",
228
+ {
229
+ "allow": [
230
+ "@babel/polyfill",
231
+ "**/register",
232
+ "**/register.*",
233
+ "**/register/**",
234
+ "**/register/**.*",
235
+ "**/*.css",
236
+ "**/*.scss",
237
+ "**/*.sass",
238
+ "**/*.less"
239
+ ]
240
+ }
241
+ ],
242
+ "import/no-named-default": "error",
237
243
  "unicorn/no-abusive-eslint-disable": "error",
238
244
  "unicorn/no-instanceof-builtins": "error",
239
245
  "unicorn/no-invalid-remove-event-listener": "error",
@@ -243,7 +249,12 @@
243
249
  "unicorn/no-useless-length-check": "error",
244
250
  "unicorn/no-useless-spread": "error",
245
251
  "unicorn/no-useless-promise-resolve-reject": "error",
246
- "unicorn/no-useless-undefined": "error",
252
+ "unicorn/no-useless-undefined": [
253
+ "warn",
254
+ {
255
+ "checkArguments": false
256
+ }
257
+ ],
247
258
  "unicorn/no-await-in-promise-methods": "error",
248
259
  "unicorn/no-negation-in-equality-check": "error",
249
260
  "unicorn/no-thenable": "error",
@@ -261,6 +272,21 @@
261
272
  "unicorn/consistent-empty-array-spread": "error",
262
273
  "unicorn/consistent-date-clone": "error",
263
274
  "unicorn/consistent-existence-index-check": "error",
275
+ "unicorn/consistent-function-scoping": "warn",
276
+ "unicorn/filename-case": [
277
+ "error",
278
+ {
279
+ "cases": {
280
+ "camelCase": true,
281
+ "pascalCase": true,
282
+ "kebabCase": true
283
+ },
284
+ "ignore": [
285
+ "__tests__"
286
+ ]
287
+ }
288
+ ],
289
+ "unicorn/no-array-reduce": "warn",
264
290
  "unicorn/prefer-array-flat-map": "error",
265
291
  "unicorn/prefer-array-find": "error",
266
292
  "unicorn/prefer-array-flat": "error",
@@ -269,6 +295,7 @@
269
295
  "unicorn/prefer-at": "error",
270
296
  "unicorn/prefer-includes": "error",
271
297
  "unicorn/prefer-modern-dom-apis": "error",
298
+ "unicorn/prefer-dom-node-dataset": "error",
272
299
  "unicorn/prefer-modern-math-apis": "error",
273
300
  "unicorn/prefer-negative-index": "error",
274
301
  "unicorn/prefer-number-properties": "error",
@@ -293,6 +320,12 @@
293
320
  "unicorn/no-unreadable-array-destructuring": "error",
294
321
  "unicorn/no-zero-fractions": "error",
295
322
  "unicorn/numeric-separators-style": "error",
323
+ "unicorn/prefer-export-from": [
324
+ "error",
325
+ {
326
+ "checkUsedVariables": false
327
+ }
328
+ ],
296
329
  "unicorn/prefer-native-coercion-functions": "error",
297
330
  "unicorn/prefer-regexp-test": "error",
298
331
  "unicorn/prefer-spread": "error",
@@ -302,6 +335,7 @@
302
335
  "unicorn/prefer-optional-catch-binding": "error",
303
336
  "unicorn/prefer-date-now": "error",
304
337
  "unicorn/text-encoding-identifier-case": "error",
338
+ "unicorn/prefer-import-meta-properties": "error",
305
339
  "jsdoc/check-access": "error",
306
340
  "jsdoc/check-property-names": "error",
307
341
  "jsdoc/check-tag-names": "error",
@@ -314,42 +348,8 @@
314
348
  "jsdoc/require-property-description": "error",
315
349
  "jsdoc/require-property-name": "error",
316
350
  "jsdoc/require-returns-description": "warn",
317
- "complexity": [
318
- "error",
319
- 10
320
- ],
321
- "max-depth": [
322
- "error",
323
- 3
324
- ],
325
- "max-nested-callbacks": [
326
- "error",
327
- 2
328
- ],
329
- "max-params": [
330
- "error",
331
- 3
332
- ],
333
- "max-statements": [
334
- "error",
335
- 15
336
- ],
337
- "max-lines-per-function": [
338
- "error",
339
- {
340
- "max": 50,
341
- "skipBlankLines": true,
342
- "skipComments": true
343
- }
344
- ],
345
- "max-lines": [
346
- "error",
347
- {
348
- "max": 300,
349
- "skipBlankLines": true,
350
- "skipComments": true
351
- }
352
- ]
351
+ "jsdoc/require-throws-type": "error",
352
+ "jsdoc/require-yields-type": "error"
353
353
  },
354
354
  "overrides": [
355
355
  {
@@ -361,6 +361,7 @@
361
361
  ],
362
362
  "rules": {
363
363
  "constructor-super": "off",
364
+ "getter-return": "off",
364
365
  "no-class-assign": "off",
365
366
  "no-const-assign": "off",
366
367
  "no-dupe-class-members": "off",
@@ -372,6 +373,7 @@
372
373
  "no-redeclare": "off",
373
374
  "no-setter-return": "off",
374
375
  "no-this-before-super": "off",
376
+ "no-unreachable": "off",
375
377
  "no-unsafe-negation": "off",
376
378
  "no-with": "off",
377
379
  "prefer-const": [
@@ -379,8 +381,113 @@
379
381
  {
380
382
  "destructuring": "all"
381
383
  }
384
+ ],
385
+ "no-array-constructor": "error",
386
+ "no-implied-eval": "off",
387
+ "no-unused-expressions": "error",
388
+ "no-unused-vars": [
389
+ "error",
390
+ {
391
+ "args": "all",
392
+ "argsIgnorePattern": "^_",
393
+ "caughtErrors": "all",
394
+ "caughtErrorsIgnorePattern": "^_",
395
+ "destructuredArrayIgnorePattern": "^_",
396
+ "varsIgnorePattern": "^_",
397
+ "ignoreRestSiblings": true
398
+ }
399
+ ],
400
+ "no-useless-constructor": "error",
401
+ "no-throw-literal": "off",
402
+ "prefer-promise-reject-errors": "off",
403
+ "require-await": "off",
404
+ "no-empty-function": "error",
405
+ "no-shadow": [
406
+ "error",
407
+ {
408
+ "hoist": "all",
409
+ "allow": [
410
+ "resolve",
411
+ "reject",
412
+ "done",
413
+ "next",
414
+ "error"
415
+ ],
416
+ "ignoreTypeValueShadow": true,
417
+ "ignoreFunctionTypeParameterNameValueShadow": true
418
+ }
419
+ ],
420
+ "typescript/ban-ts-comment": [
421
+ "error",
422
+ {
423
+ "ts-expect-error": "allow-with-description"
424
+ }
425
+ ],
426
+ "typescript/no-duplicate-enum-values": "error",
427
+ "typescript/no-dynamic-delete": "error",
428
+ "typescript/no-empty-object-type": "error",
429
+ "typescript/no-explicit-any": [
430
+ "warn",
431
+ {
432
+ "fixToUnknown": true
433
+ }
434
+ ],
435
+ "typescript/no-extra-non-null-assertion": "error",
436
+ "typescript/no-extraneous-class": "error",
437
+ "typescript/no-invalid-void-type": "error",
438
+ "typescript/no-misused-new": "error",
439
+ "typescript/no-namespace": "error",
440
+ "typescript/no-non-null-asserted-nullish-coalescing": "error",
441
+ "typescript/no-non-null-asserted-optional-chain": "error",
442
+ "typescript/no-non-null-assertion": "error",
443
+ "typescript/no-require-imports": "error",
444
+ "typescript/no-this-alias": "error",
445
+ "typescript/no-unnecessary-type-constraint": "error",
446
+ "typescript/no-unsafe-declaration-merging": "error",
447
+ "typescript/no-unsafe-function-type": "error",
448
+ "typescript/no-wrapper-object-types": "error",
449
+ "typescript/prefer-as-const": "error",
450
+ "typescript/prefer-literal-enum-member": "error",
451
+ "typescript/prefer-namespace-keyword": "error",
452
+ "typescript/triple-slash-reference": "error",
453
+ "typescript/unified-signatures": "error",
454
+ "typescript/adjacent-overload-signatures": "error",
455
+ "typescript/array-type": [
456
+ "error",
457
+ {
458
+ "default": "array-simple"
459
+ }
460
+ ],
461
+ "typescript/ban-tslint-comment": "error",
462
+ "typescript/class-literal-property-style": "error",
463
+ "typescript/consistent-generic-constructors": "error",
464
+ "typescript/consistent-indexed-object-style": "error",
465
+ "typescript/consistent-type-assertions": "error",
466
+ "typescript/consistent-type-definitions": [
467
+ "error",
468
+ "type"
469
+ ],
470
+ "typescript/no-confusing-non-null-assertion": "error",
471
+ "typescript/no-inferrable-types": "error",
472
+ "typescript/prefer-for-of": "error",
473
+ "typescript/prefer-function-type": "error",
474
+ "typescript/consistent-type-imports": [
475
+ "error",
476
+ {
477
+ "fixStyle": "separate-type-imports"
478
+ }
479
+ ],
480
+ "typescript/no-import-type-side-effects": "error",
481
+ "typescript/no-useless-empty-export": "error",
482
+ "typescript/no-unnecessary-parameter-property-assignment": "error",
483
+ "typescript/method-signature-style": [
484
+ "error",
485
+ "property"
382
486
  ]
383
- }
487
+ },
488
+ "plugins": [
489
+ "typescript"
490
+ ]
384
491
  },
385
492
  {
386
493
  "files": [
@@ -409,6 +516,7 @@
409
516
  "vitest/prefer-to-be": "error",
410
517
  "vitest/prefer-to-have-length": "error",
411
518
  "vitest/valid-expect": "error",
519
+ "vitest/valid-title": "error",
412
520
  "vitest/no-conditional-in-test": "error",
413
521
  "vitest/no-conditional-expect": "error",
414
522
  "vitest/no-standalone-expect": "error",
@@ -418,11 +526,12 @@
418
526
  "max-lines": "off",
419
527
  "max-lines-per-function": "off",
420
528
  "max-statements": "off",
421
- "@typescript-eslint/no-explicit-any": "off",
422
- "@typescript-eslint/no-non-null-assertion": "off"
529
+ "typescript/no-explicit-any": "off",
530
+ "typescript/no-non-null-assertion": "off"
423
531
  },
424
532
  "plugins": [
425
- "vitest"
533
+ "vitest",
534
+ "typescript"
426
535
  ]
427
536
  },
428
537
  {
@@ -460,26 +569,32 @@
460
569
  "max-lines": "off",
461
570
  "max-lines-per-function": "off",
462
571
  "max-statements": "off",
463
- "@typescript-eslint/no-require-imports": "off",
464
572
  "no-console": "off",
465
- "no-magic-numbers": "off"
466
- }
573
+ "no-magic-numbers": "off",
574
+ "typescript/no-require-imports": "off"
575
+ },
576
+ "plugins": [
577
+ "typescript"
578
+ ]
467
579
  },
468
580
  {
469
581
  "files": [
470
582
  "**/*.d.ts"
471
583
  ],
472
584
  "rules": {
473
- "@typescript-eslint/no-empty-interface": "off",
474
- "@typescript-eslint/no-empty-object-type": "off",
475
- "@typescript-eslint/no-explicit-any": "off",
476
- "@typescript-eslint/consistent-type-definitions": "off",
477
- "@typescript-eslint/no-namespace": "off",
478
585
  "import/no-duplicates": "off",
479
- "@typescript-eslint/explicit-function-return-type": "off",
480
586
  "unicorn/filename-case": "off",
481
- "no-unused-vars": "off"
482
- }
587
+ "no-unused-vars": "off",
588
+ "typescript/no-empty-interface": "off",
589
+ "typescript/no-empty-object-type": "off",
590
+ "typescript/no-explicit-any": "off",
591
+ "typescript/consistent-type-definitions": "off",
592
+ "typescript/no-namespace": "off",
593
+ "typescript/explicit-function-return-type": "off"
594
+ },
595
+ "plugins": [
596
+ "typescript"
597
+ ]
483
598
  },
484
599
  {
485
600
  "files": [
@@ -489,15 +604,19 @@
489
604
  "no-console": "off",
490
605
  "max-lines": "off",
491
606
  "max-lines-per-function": "off",
492
- "@typescript-eslint/explicit-function-return-type": "off",
493
- "unicorn/no-process-exit": "off"
494
- }
607
+ "unicorn/no-process-exit": "off",
608
+ "typescript/explicit-function-return-type": "off"
609
+ },
610
+ "plugins": [
611
+ "typescript"
612
+ ]
495
613
  },
496
614
  {
497
615
  "files": [
498
616
  "**/*.{md,mdx}"
499
617
  ],
500
618
  "rules": {
619
+ "no-unused-expressions": "error",
501
620
  "react/react-in-jsx-scope": "off"
502
621
  },
503
622
  "globals": {
@@ -515,7 +634,10 @@
515
634
  "no-unused-expressions": "off",
516
635
  "no-unused-vars": "off",
517
636
  "unicode-bom": "off"
518
- }
637
+ },
638
+ "plugins": [
639
+ "typescript"
640
+ ]
519
641
  }
520
642
  ]
521
643
  }