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