eslint-config-setup 0.3.2 → 0.4.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"
@@ -59,25 +58,25 @@
59
58
  "no-unsafe-optional-chaining": "error",
60
59
  "no-unused-labels": "error",
61
60
  "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
- ],
61
+ "no-unused-vars": "error",
74
62
  "no-useless-catch": "error",
75
63
  "no-useless-escape": "error",
76
64
  "no-with": "error",
77
65
  "preserve-caught-error": "error",
78
66
  "require-yield": "error",
79
- "use-isnan": "error",
80
- "valid-typeof": "error",
67
+ "use-isnan": [
68
+ "error",
69
+ {
70
+ "enforceForIndexOf": true,
71
+ "enforceForSwitchCase": true
72
+ }
73
+ ],
74
+ "valid-typeof": [
75
+ "error",
76
+ {
77
+ "requireStringLiterals": true
78
+ }
79
+ ],
81
80
  "accessor-pairs": [
82
81
  "error",
83
82
  {
@@ -100,7 +99,12 @@
100
99
  "getBeforeSet"
101
100
  ],
102
101
  "no-useless-rename": "error",
103
- "no-useless-computed-key": "error",
102
+ "no-useless-computed-key": [
103
+ "error",
104
+ {
105
+ "enforceForClassMembers": true
106
+ }
107
+ ],
104
108
  "no-eval": "error",
105
109
  "no-alert": "error",
106
110
  "no-caller": "error",
@@ -119,7 +123,12 @@
119
123
  "default-case-last": "error",
120
124
  "radix": "error",
121
125
  "yoda": "error",
122
- "no-sequences": "error",
126
+ "no-sequences": [
127
+ "error",
128
+ {
129
+ "allowInParentheses": false
130
+ }
131
+ ],
123
132
  "no-new": "error",
124
133
  "no-labels": "error",
125
134
  "no-extra-bind": "error",
@@ -127,100 +136,70 @@
127
136
  "no-useless-call": "error",
128
137
  "no-useless-concat": "error",
129
138
  "no-useless-return": "error",
139
+ "no-return-assign": [
140
+ "error",
141
+ "always"
142
+ ],
130
143
  "no-multi-str": "error",
131
- "no-var": "error",
132
- "prefer-const": [
144
+ "complexity": [
133
145
  "error",
134
- {
135
- "destructuring": "all"
136
- }
146
+ 10
137
147
  ],
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": [
148
+ "max-depth": [
145
149
  "error",
146
- {
147
- "minimumDescriptionLength": 10
148
- }
150
+ 3
149
151
  ],
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": [
152
+ "max-nested-callbacks": [
153
+ "error",
154
+ 2
155
+ ],
156
+ "max-params": [
157
+ "error",
158
+ 3
159
+ ],
160
+ "max-statements": [
161
+ "error",
162
+ 15
163
+ ],
164
+ "max-lines-per-function": [
178
165
  "error",
179
166
  {
180
- "default": "array-simple"
167
+ "max": 50,
168
+ "skipBlankLines": true,
169
+ "skipComments": true
181
170
  }
182
171
  ],
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": [
172
+ "max-lines": [
195
173
  "error",
196
174
  {
197
- "fixStyle": "inline-type-imports"
175
+ "max": 300,
176
+ "skipBlankLines": true,
177
+ "skipComments": true
198
178
  }
199
179
  ],
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": [
180
+ "no-var": "error",
181
+ "prefer-const": [
204
182
  "error",
205
183
  {
206
- "hoist": "all",
207
- "allow": [
208
- "resolve",
209
- "reject",
210
- "done",
211
- "next",
212
- "error"
213
- ],
214
- "ignoreTypeValueShadow": true,
215
- "ignoreFunctionTypeParameterNameValueShadow": true
184
+ "destructuring": "all"
216
185
  }
217
186
  ],
218
- "import/no-duplicates": [
187
+ "prefer-object-has-own": "error",
188
+ "prefer-object-spread": "error",
189
+ "prefer-rest-params": "error",
190
+ "prefer-spread": "error",
191
+ "symbol-description": "error",
192
+ "prefer-numeric-literals": "error",
193
+ "object-shorthand": [
219
194
  "error",
195
+ "always",
220
196
  {
221
- "prefer-inline": true
197
+ "avoidExplicitReturnArrows": true,
198
+ "avoidQuotes": true
222
199
  }
223
200
  ],
201
+ "prefer-template": "warn",
202
+ "import/no-duplicates": "error",
224
203
  "import/no-self-import": "error",
225
204
  "import/no-cycle": [
226
205
  "error",
@@ -234,6 +213,23 @@
234
213
  "import/no-named-as-default-member": "error",
235
214
  "import/no-empty-named-blocks": "error",
236
215
  "import/no-absolute-path": "error",
216
+ "import/no-unassigned-import": [
217
+ "error",
218
+ {
219
+ "allow": [
220
+ "@babel/polyfill",
221
+ "**/register",
222
+ "**/register.*",
223
+ "**/register/**",
224
+ "**/register/**.*",
225
+ "**/*.css",
226
+ "**/*.scss",
227
+ "**/*.sass",
228
+ "**/*.less"
229
+ ]
230
+ }
231
+ ],
232
+ "import/no-named-default": "error",
237
233
  "unicorn/no-abusive-eslint-disable": "error",
238
234
  "unicorn/no-instanceof-builtins": "error",
239
235
  "unicorn/no-invalid-remove-event-listener": "error",
@@ -243,7 +239,12 @@
243
239
  "unicorn/no-useless-length-check": "error",
244
240
  "unicorn/no-useless-spread": "error",
245
241
  "unicorn/no-useless-promise-resolve-reject": "error",
246
- "unicorn/no-useless-undefined": "error",
242
+ "unicorn/no-useless-undefined": [
243
+ "warn",
244
+ {
245
+ "checkArguments": false
246
+ }
247
+ ],
247
248
  "unicorn/no-await-in-promise-methods": "error",
248
249
  "unicorn/no-negation-in-equality-check": "error",
249
250
  "unicorn/no-thenable": "error",
@@ -261,6 +262,18 @@
261
262
  "unicorn/consistent-empty-array-spread": "error",
262
263
  "unicorn/consistent-date-clone": "error",
263
264
  "unicorn/consistent-existence-index-check": "error",
265
+ "unicorn/consistent-function-scoping": "warn",
266
+ "unicorn/filename-case": [
267
+ "error",
268
+ {
269
+ "cases": {
270
+ "camelCase": true,
271
+ "pascalCase": true,
272
+ "kebabCase": true
273
+ }
274
+ }
275
+ ],
276
+ "unicorn/no-array-reduce": "warn",
264
277
  "unicorn/prefer-array-flat-map": "error",
265
278
  "unicorn/prefer-array-find": "error",
266
279
  "unicorn/prefer-array-flat": "error",
@@ -269,6 +282,7 @@
269
282
  "unicorn/prefer-at": "error",
270
283
  "unicorn/prefer-includes": "error",
271
284
  "unicorn/prefer-modern-dom-apis": "error",
285
+ "unicorn/prefer-dom-node-dataset": "error",
272
286
  "unicorn/prefer-modern-math-apis": "error",
273
287
  "unicorn/prefer-negative-index": "error",
274
288
  "unicorn/prefer-number-properties": "error",
@@ -302,6 +316,7 @@
302
316
  "unicorn/prefer-optional-catch-binding": "error",
303
317
  "unicorn/prefer-date-now": "error",
304
318
  "unicorn/text-encoding-identifier-case": "error",
319
+ "unicorn/prefer-import-meta-properties": "error",
305
320
  "jsdoc/check-access": "error",
306
321
  "jsdoc/check-property-names": "error",
307
322
  "jsdoc/check-tag-names": "error",
@@ -313,43 +328,7 @@
313
328
  "jsdoc/require-property": "error",
314
329
  "jsdoc/require-property-description": "error",
315
330
  "jsdoc/require-property-name": "error",
316
- "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
- ]
331
+ "jsdoc/require-returns-description": "warn"
353
332
  },
354
333
  "overrides": [
355
334
  {
@@ -379,8 +358,108 @@
379
358
  {
380
359
  "destructuring": "all"
381
360
  }
382
- ]
383
- }
361
+ ],
362
+ "no-array-constructor": "error",
363
+ "no-unused-expressions": "error",
364
+ "no-unused-vars": [
365
+ "error",
366
+ {
367
+ "args": "all",
368
+ "argsIgnorePattern": "^_",
369
+ "caughtErrors": "all",
370
+ "caughtErrorsIgnorePattern": "^_",
371
+ "destructuredArrayIgnorePattern": "^_",
372
+ "varsIgnorePattern": "^_",
373
+ "ignoreRestSiblings": true
374
+ }
375
+ ],
376
+ "no-useless-constructor": "error",
377
+ "no-throw-literal": "off",
378
+ "prefer-promise-reject-errors": "off",
379
+ "require-await": "off",
380
+ "no-empty-function": "error",
381
+ "no-shadow": [
382
+ "error",
383
+ {
384
+ "hoist": "all",
385
+ "allow": [
386
+ "resolve",
387
+ "reject",
388
+ "done",
389
+ "next",
390
+ "error"
391
+ ],
392
+ "ignoreTypeValueShadow": true,
393
+ "ignoreFunctionTypeParameterNameValueShadow": true
394
+ }
395
+ ],
396
+ "typescript/ban-ts-comment": [
397
+ "error",
398
+ {
399
+ "ts-expect-error": "allow-with-description"
400
+ }
401
+ ],
402
+ "typescript/no-duplicate-enum-values": "error",
403
+ "typescript/no-dynamic-delete": "error",
404
+ "typescript/no-empty-object-type": "error",
405
+ "typescript/no-explicit-any": [
406
+ "warn",
407
+ {
408
+ "fixToUnknown": true
409
+ }
410
+ ],
411
+ "typescript/no-extra-non-null-assertion": "error",
412
+ "typescript/no-extraneous-class": "error",
413
+ "typescript/no-invalid-void-type": "error",
414
+ "typescript/no-misused-new": "error",
415
+ "typescript/no-namespace": "error",
416
+ "typescript/no-non-null-asserted-nullish-coalescing": "error",
417
+ "typescript/no-non-null-asserted-optional-chain": "error",
418
+ "typescript/no-non-null-assertion": "error",
419
+ "typescript/no-require-imports": "error",
420
+ "typescript/no-this-alias": "error",
421
+ "typescript/no-unnecessary-type-constraint": "error",
422
+ "typescript/no-unsafe-declaration-merging": "error",
423
+ "typescript/no-unsafe-function-type": "error",
424
+ "typescript/no-wrapper-object-types": "error",
425
+ "typescript/prefer-as-const": "error",
426
+ "typescript/prefer-literal-enum-member": "error",
427
+ "typescript/prefer-namespace-keyword": "error",
428
+ "typescript/triple-slash-reference": "error",
429
+ "typescript/unified-signatures": "error",
430
+ "typescript/adjacent-overload-signatures": "error",
431
+ "typescript/array-type": [
432
+ "error",
433
+ {
434
+ "default": "array-simple"
435
+ }
436
+ ],
437
+ "typescript/ban-tslint-comment": "error",
438
+ "typescript/class-literal-property-style": "error",
439
+ "typescript/consistent-generic-constructors": "error",
440
+ "typescript/consistent-indexed-object-style": "error",
441
+ "typescript/consistent-type-assertions": "error",
442
+ "typescript/consistent-type-definitions": [
443
+ "error",
444
+ "type"
445
+ ],
446
+ "typescript/no-confusing-non-null-assertion": "error",
447
+ "typescript/no-inferrable-types": "error",
448
+ "typescript/prefer-for-of": "error",
449
+ "typescript/prefer-function-type": "error",
450
+ "typescript/consistent-type-imports": [
451
+ "error",
452
+ {
453
+ "fixStyle": "separate-type-imports"
454
+ }
455
+ ],
456
+ "typescript/no-import-type-side-effects": "error",
457
+ "typescript/no-useless-empty-export": "error",
458
+ "typescript/no-unnecessary-parameter-property-assignment": "error"
459
+ },
460
+ "plugins": [
461
+ "typescript"
462
+ ]
384
463
  },
385
464
  {
386
465
  "files": [
@@ -409,6 +488,7 @@
409
488
  "vitest/prefer-to-be": "error",
410
489
  "vitest/prefer-to-have-length": "error",
411
490
  "vitest/valid-expect": "error",
491
+ "vitest/valid-title": "error",
412
492
  "vitest/no-conditional-in-test": "error",
413
493
  "vitest/no-conditional-expect": "error",
414
494
  "vitest/no-standalone-expect": "error",
@@ -418,11 +498,12 @@
418
498
  "max-lines": "off",
419
499
  "max-lines-per-function": "off",
420
500
  "max-statements": "off",
421
- "@typescript-eslint/no-explicit-any": "off",
422
- "@typescript-eslint/no-non-null-assertion": "off"
501
+ "typescript/no-explicit-any": "off",
502
+ "typescript/no-non-null-assertion": "off"
423
503
  },
424
504
  "plugins": [
425
- "vitest"
505
+ "vitest",
506
+ "typescript"
426
507
  ]
427
508
  },
428
509
  {
@@ -460,26 +541,32 @@
460
541
  "max-lines": "off",
461
542
  "max-lines-per-function": "off",
462
543
  "max-statements": "off",
463
- "@typescript-eslint/no-require-imports": "off",
464
544
  "no-console": "off",
465
- "no-magic-numbers": "off"
466
- }
545
+ "no-magic-numbers": "off",
546
+ "typescript/no-require-imports": "off"
547
+ },
548
+ "plugins": [
549
+ "typescript"
550
+ ]
467
551
  },
468
552
  {
469
553
  "files": [
470
554
  "**/*.d.ts"
471
555
  ],
472
556
  "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
557
  "import/no-duplicates": "off",
479
- "@typescript-eslint/explicit-function-return-type": "off",
480
558
  "unicorn/filename-case": "off",
481
- "no-unused-vars": "off"
482
- }
559
+ "no-unused-vars": "off",
560
+ "typescript/no-empty-interface": "off",
561
+ "typescript/no-empty-object-type": "off",
562
+ "typescript/no-explicit-any": "off",
563
+ "typescript/consistent-type-definitions": "off",
564
+ "typescript/no-namespace": "off",
565
+ "typescript/explicit-function-return-type": "off"
566
+ },
567
+ "plugins": [
568
+ "typescript"
569
+ ]
483
570
  },
484
571
  {
485
572
  "files": [
@@ -489,15 +576,19 @@
489
576
  "no-console": "off",
490
577
  "max-lines": "off",
491
578
  "max-lines-per-function": "off",
492
- "@typescript-eslint/explicit-function-return-type": "off",
493
- "unicorn/no-process-exit": "off"
494
- }
579
+ "unicorn/no-process-exit": "off",
580
+ "typescript/explicit-function-return-type": "off"
581
+ },
582
+ "plugins": [
583
+ "typescript"
584
+ ]
495
585
  },
496
586
  {
497
587
  "files": [
498
588
  "**/*.{md,mdx}"
499
589
  ],
500
590
  "rules": {
591
+ "no-unused-expressions": "error",
501
592
  "react/react-in-jsx-scope": "off"
502
593
  },
503
594
  "globals": {
@@ -515,7 +606,10 @@
515
606
  "no-unused-expressions": "off",
516
607
  "no-unused-vars": "off",
517
608
  "unicode-bom": "off"
518
- }
609
+ },
610
+ "plugins": [
611
+ "typescript"
612
+ ]
519
613
  }
520
614
  ]
521
615
  }