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