@zayne-labs/eslint-config 0.2.12 → 0.3.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.
Files changed (2) hide show
  1. package/dist/index.d.ts +163 -75
  2. package/package.json +38 -27
package/dist/index.d.ts CHANGED
@@ -278,233 +278,233 @@ interface Rules {
278
278
  'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>
279
279
  /**
280
280
  * Enforce or ban the use of inline type-only markers for named imports.
281
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/consistent-type-specifier-style.md
281
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/consistent-type-specifier-style.md
282
282
  */
283
283
  'import/consistent-type-specifier-style'?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>
284
284
  /**
285
285
  * Ensure a default export is present, given a default import.
286
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/default.md
286
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/default.md
287
287
  */
288
288
  'import/default'?: Linter.RuleEntry<[]>
289
289
  /**
290
290
  * Enforce a leading comment with the webpackChunkName for dynamic imports.
291
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/dynamic-import-chunkname.md
291
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/dynamic-import-chunkname.md
292
292
  */
293
293
  'import/dynamic-import-chunkname'?: Linter.RuleEntry<ImportDynamicImportChunkname>
294
294
  /**
295
295
  * Forbid any invalid exports, i.e. re-export of the same name.
296
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/export.md
296
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/export.md
297
297
  */
298
298
  'import/export'?: Linter.RuleEntry<[]>
299
299
  /**
300
300
  * Ensure all exports appear after other statements.
301
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/exports-last.md
301
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/exports-last.md
302
302
  */
303
303
  'import/exports-last'?: Linter.RuleEntry<[]>
304
304
  /**
305
305
  * Ensure consistent use of file extension within the import path.
306
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/extensions.md
306
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/extensions.md
307
307
  */
308
308
  'import/extensions'?: Linter.RuleEntry<ImportExtensions>
309
309
  /**
310
310
  * Ensure all imports appear before other statements.
311
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/first.md
311
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/first.md
312
312
  */
313
313
  'import/first'?: Linter.RuleEntry<ImportFirst>
314
314
  /**
315
315
  * Prefer named exports to be grouped together in a single export declaration.
316
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/group-exports.md
316
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/group-exports.md
317
317
  */
318
318
  'import/group-exports'?: Linter.RuleEntry<[]>
319
319
  /**
320
320
  * Replaced by `import-x/first`.
321
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/imports-first.md
321
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/imports-first.md
322
322
  * @deprecated
323
323
  */
324
324
  'import/imports-first'?: Linter.RuleEntry<ImportImportsFirst>
325
325
  /**
326
326
  * Enforce the maximum number of dependencies a module can have.
327
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/max-dependencies.md
327
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/max-dependencies.md
328
328
  */
329
329
  'import/max-dependencies'?: Linter.RuleEntry<ImportMaxDependencies>
330
330
  /**
331
331
  * Ensure named imports correspond to a named export in the remote file.
332
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/named.md
332
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/named.md
333
333
  */
334
334
  'import/named'?: Linter.RuleEntry<ImportNamed>
335
335
  /**
336
336
  * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
337
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/namespace.md
337
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/namespace.md
338
338
  */
339
339
  'import/namespace'?: Linter.RuleEntry<ImportNamespace>
340
340
  /**
341
341
  * Enforce a newline after import statements.
342
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/newline-after-import.md
342
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/newline-after-import.md
343
343
  */
344
344
  'import/newline-after-import'?: Linter.RuleEntry<ImportNewlineAfterImport>
345
345
  /**
346
346
  * Forbid import of modules using absolute paths.
347
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-absolute-path.md
347
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-absolute-path.md
348
348
  */
349
349
  'import/no-absolute-path'?: Linter.RuleEntry<ImportNoAbsolutePath>
350
350
  /**
351
351
  * Forbid AMD `require` and `define` calls.
352
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-amd.md
352
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-amd.md
353
353
  */
354
354
  'import/no-amd'?: Linter.RuleEntry<[]>
355
355
  /**
356
356
  * Forbid anonymous values as default exports.
357
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-anonymous-default-export.md
357
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-anonymous-default-export.md
358
358
  */
359
359
  'import/no-anonymous-default-export'?: Linter.RuleEntry<ImportNoAnonymousDefaultExport>
360
360
  /**
361
361
  * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
362
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-commonjs.md
362
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-commonjs.md
363
363
  */
364
364
  'import/no-commonjs'?: Linter.RuleEntry<ImportNoCommonjs>
365
365
  /**
366
366
  * Forbid a module from importing a module with a dependency path back to itself.
367
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-cycle.md
367
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-cycle.md
368
368
  */
369
369
  'import/no-cycle'?: Linter.RuleEntry<ImportNoCycle>
370
370
  /**
371
371
  * Forbid default exports.
372
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-default-export.md
372
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-default-export.md
373
373
  */
374
374
  'import/no-default-export'?: Linter.RuleEntry<[]>
375
375
  /**
376
376
  * Forbid imported names marked with `@deprecated` documentation tag.
377
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-deprecated.md
377
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-deprecated.md
378
378
  */
379
379
  'import/no-deprecated'?: Linter.RuleEntry<[]>
380
380
  /**
381
381
  * Forbid repeated import of the same module in multiple places.
382
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-duplicates.md
382
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-duplicates.md
383
383
  */
384
384
  'import/no-duplicates'?: Linter.RuleEntry<ImportNoDuplicates>
385
385
  /**
386
386
  * Forbid `require()` calls with expressions.
387
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-dynamic-require.md
387
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-dynamic-require.md
388
388
  */
389
389
  'import/no-dynamic-require'?: Linter.RuleEntry<ImportNoDynamicRequire>
390
390
  /**
391
391
  * Forbid empty named import blocks.
392
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-empty-named-blocks.md
392
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-empty-named-blocks.md
393
393
  */
394
394
  'import/no-empty-named-blocks'?: Linter.RuleEntry<[]>
395
395
  /**
396
396
  * Forbid the use of extraneous packages.
397
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-extraneous-dependencies.md
397
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-extraneous-dependencies.md
398
398
  */
399
399
  'import/no-extraneous-dependencies'?: Linter.RuleEntry<ImportNoExtraneousDependencies>
400
400
  /**
401
401
  * Forbid import statements with CommonJS module.exports.
402
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-import-module-exports.md
402
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-import-module-exports.md
403
403
  */
404
404
  'import/no-import-module-exports'?: Linter.RuleEntry<ImportNoImportModuleExports>
405
405
  /**
406
406
  * Forbid importing the submodules of other modules.
407
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-internal-modules.md
407
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-internal-modules.md
408
408
  */
409
409
  'import/no-internal-modules'?: Linter.RuleEntry<ImportNoInternalModules>
410
410
  /**
411
411
  * Forbid the use of mutable exports with `var` or `let`.
412
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-mutable-exports.md
412
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-mutable-exports.md
413
413
  */
414
414
  'import/no-mutable-exports'?: Linter.RuleEntry<[]>
415
415
  /**
416
416
  * Forbid use of exported name as identifier of default export.
417
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-named-as-default.md
417
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-as-default.md
418
418
  */
419
419
  'import/no-named-as-default'?: Linter.RuleEntry<[]>
420
420
  /**
421
421
  * Forbid use of exported name as property of default export.
422
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-named-as-default-member.md
422
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-as-default-member.md
423
423
  */
424
424
  'import/no-named-as-default-member'?: Linter.RuleEntry<[]>
425
425
  /**
426
426
  * Forbid named default exports.
427
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-named-default.md
427
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-default.md
428
428
  */
429
429
  'import/no-named-default'?: Linter.RuleEntry<[]>
430
430
  /**
431
431
  * Forbid named exports.
432
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-named-export.md
432
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-export.md
433
433
  */
434
434
  'import/no-named-export'?: Linter.RuleEntry<[]>
435
435
  /**
436
436
  * Forbid namespace (a.k.a. "wildcard" `*`) imports.
437
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-namespace.md
437
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-namespace.md
438
438
  */
439
439
  'import/no-namespace'?: Linter.RuleEntry<ImportNoNamespace>
440
440
  /**
441
441
  * Forbid Node.js builtin modules.
442
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-nodejs-modules.md
442
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-nodejs-modules.md
443
443
  */
444
444
  'import/no-nodejs-modules'?: Linter.RuleEntry<ImportNoNodejsModules>
445
445
  /**
446
446
  * Forbid importing packages through relative paths.
447
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-relative-packages.md
447
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-relative-packages.md
448
448
  */
449
449
  'import/no-relative-packages'?: Linter.RuleEntry<ImportNoRelativePackages>
450
450
  /**
451
451
  * Forbid importing modules from parent directories.
452
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-relative-parent-imports.md
452
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-relative-parent-imports.md
453
453
  */
454
454
  'import/no-relative-parent-imports'?: Linter.RuleEntry<ImportNoRelativeParentImports>
455
455
  /**
456
456
  * Forbid importing a default export by a different name.
457
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-rename-default.md
457
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-rename-default.md
458
458
  */
459
459
  'import/no-rename-default'?: Linter.RuleEntry<ImportNoRenameDefault>
460
460
  /**
461
461
  * Enforce which files can be imported in a given folder.
462
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-restricted-paths.md
462
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-restricted-paths.md
463
463
  */
464
464
  'import/no-restricted-paths'?: Linter.RuleEntry<ImportNoRestrictedPaths>
465
465
  /**
466
466
  * Forbid a module from importing itself.
467
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-self-import.md
467
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-self-import.md
468
468
  */
469
469
  'import/no-self-import'?: Linter.RuleEntry<[]>
470
470
  /**
471
471
  * Forbid unassigned imports.
472
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-unassigned-import.md
472
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-unassigned-import.md
473
473
  */
474
474
  'import/no-unassigned-import'?: Linter.RuleEntry<ImportNoUnassignedImport>
475
475
  /**
476
476
  * Ensure imports point to a file/module that can be resolved.
477
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-unresolved.md
477
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-unresolved.md
478
478
  */
479
479
  'import/no-unresolved'?: Linter.RuleEntry<ImportNoUnresolved>
480
480
  /**
481
481
  * Forbid modules without exports, or exports without matching import in another module.
482
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-unused-modules.md
482
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-unused-modules.md
483
483
  */
484
484
  'import/no-unused-modules'?: Linter.RuleEntry<ImportNoUnusedModules>
485
485
  /**
486
486
  * Forbid unnecessary path segments in import and require statements.
487
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-useless-path-segments.md
487
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-useless-path-segments.md
488
488
  */
489
489
  'import/no-useless-path-segments'?: Linter.RuleEntry<ImportNoUselessPathSegments>
490
490
  /**
491
491
  * Forbid webpack loader syntax in imports.
492
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-webpack-loader-syntax.md
492
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-webpack-loader-syntax.md
493
493
  */
494
494
  'import/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>
495
495
  /**
496
496
  * Enforce a convention in module import order.
497
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/order.md
497
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/order.md
498
498
  */
499
499
  'import/order'?: Linter.RuleEntry<ImportOrder>
500
500
  /**
501
501
  * Prefer a default export if module exports a single name or multiple names.
502
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/prefer-default-export.md
502
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/prefer-default-export.md
503
503
  */
504
504
  'import/prefer-default-export'?: Linter.RuleEntry<ImportPreferDefaultExport>
505
505
  /**
506
506
  * Forbid potentially ambiguous parse goal (`script` vs. `module`).
507
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/unambiguous.md
507
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/unambiguous.md
508
508
  */
509
509
  'import/unambiguous'?: Linter.RuleEntry<[]>
510
510
  /**
@@ -1327,7 +1327,7 @@ interface Rules {
1327
1327
  */
1328
1328
  'no-class-assign'?: Linter.RuleEntry<[]>
1329
1329
  /**
1330
- * Disallow comparing against -0
1330
+ * Disallow comparing against `-0`
1331
1331
  * @see https://eslint.org/docs/latest/rules/no-compare-neg-zero
1332
1332
  */
1333
1333
  'no-compare-neg-zero'?: Linter.RuleEntry<[]>
@@ -2598,6 +2598,11 @@ interface Rules {
2598
2598
  * @see https://eslint-react.xyz/docs/rules/dom-no-script-url
2599
2599
  */
2600
2600
  'react-dom/no-script-url'?: Linter.RuleEntry<[]>
2601
+ /**
2602
+ * disallow usage of unknown DOM property
2603
+ * @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
2604
+ */
2605
+ 'react-dom/no-unknown-property'?: Linter.RuleEntry<ReactDomNoUnknownProperty>
2601
2606
  /**
2602
2607
  * disallow unsafe iframe 'sandbox' attribute combinations
2603
2608
  * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-iframe-sandbox
@@ -2714,6 +2719,16 @@ interface Rules {
2714
2719
  * @see https://eslint-react.xyz/docs/rules/ensure-forward-ref-using-ref
2715
2720
  */
2716
2721
  'react/ensure-forward-ref-using-ref'?: Linter.RuleEntry<[]>
2722
+ /**
2723
+ * disallow duplicate props
2724
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props
2725
+ */
2726
+ 'react/jsx-no-duplicate-props'?: Linter.RuleEntry<[]>
2727
+ /**
2728
+ * a helper rule to mark variables as used
2729
+ * @see https://eslint-react.xyz/docs/rules/jsx-uses-vars
2730
+ */
2731
+ 'react/jsx-uses-vars'?: Linter.RuleEntry<[]>
2717
2732
  /**
2718
2733
  * disallow accessing 'this.state' within 'setState'
2719
2734
  * @see https://eslint-react.xyz/docs/rules/no-access-state-in-setstate
@@ -5630,6 +5645,7 @@ type JsdocInformativeDocs = []|[{
5630
5645
  }]
5631
5646
  // ----- jsdoc/lines-before-block -----
5632
5647
  type JsdocLinesBeforeBlock = []|[{
5648
+ checkBlockStarts?: boolean
5633
5649
  excludedTags?: string[]
5634
5650
  ignoreSameLine?: boolean
5635
5651
  lines?: number
@@ -7497,6 +7513,10 @@ type PerfectionistSortArrayIncludes = []|[{
7497
7513
  // ----- perfectionist/sort-classes -----
7498
7514
  type PerfectionistSortClasses = []|[{
7499
7515
 
7516
+ ignoreCallbackDependenciesPatterns?: string[]
7517
+
7518
+ partitionByComment?: (string[] | boolean | string)
7519
+
7500
7520
  customGroups?: ({
7501
7521
 
7502
7522
  groupName?: string
@@ -7506,12 +7526,12 @@ type PerfectionistSortClasses = []|[{
7506
7526
  order?: ("desc" | "asc")
7507
7527
  anyOf?: {
7508
7528
 
7509
- modifiers?: ("async" | "protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[]
7510
-
7511
7529
  elementValuePattern?: string
7512
7530
 
7513
7531
  decoratorNamePattern?: string
7514
7532
 
7533
+ modifiers?: ("async" | "protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[]
7534
+
7515
7535
  selector?: ("accessor-property" | "index-signature" | "constructor" | "static-block" | "get-method" | "set-method" | "function-property" | "property" | "method")
7516
7536
 
7517
7537
  elementNamePattern?: string
@@ -7524,21 +7544,17 @@ type PerfectionistSortClasses = []|[{
7524
7544
 
7525
7545
  order?: ("desc" | "asc")
7526
7546
 
7527
- modifiers?: ("async" | "protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[]
7528
-
7529
7547
  elementValuePattern?: string
7530
7548
 
7531
7549
  decoratorNamePattern?: string
7532
7550
 
7551
+ modifiers?: ("async" | "protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[]
7552
+
7533
7553
  selector?: ("accessor-property" | "index-signature" | "constructor" | "static-block" | "get-method" | "set-method" | "function-property" | "property" | "method")
7534
7554
 
7535
7555
  elementNamePattern?: string
7536
7556
  })[]
7537
7557
 
7538
- ignoreCallbackDependenciesPatterns?: string[]
7539
-
7540
- partitionByComment?: (string[] | boolean | string)
7541
-
7542
7558
  partitionByNewLine?: boolean
7543
7559
 
7544
7560
  specialCharacters?: ("remove" | "trim" | "keep")
@@ -7701,8 +7717,39 @@ type PerfectionistSortInterfaces = []|[{
7701
7717
  ignorePattern?: string[]
7702
7718
 
7703
7719
  partitionByComment?: (string[] | boolean | string)
7720
+ customGroups?: ({
7721
+ [k: string]: (string | string[]) | undefined
7722
+ } | ({
7723
+
7724
+ groupName?: string
7725
+
7726
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
7727
+
7728
+ order?: ("desc" | "asc")
7729
+ anyOf?: {
7730
+
7731
+ modifiers?: ("optional" | "required" | "multiline")[]
7732
+
7733
+ selector?: ("index-signature" | "member" | "method" | "multiline" | "property")
7734
+
7735
+ elementNamePattern?: string
7736
+ }[]
7737
+ } | {
7738
+
7739
+ groupName?: string
7740
+
7741
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
7742
+
7743
+ order?: ("desc" | "asc")
7744
+
7745
+ modifiers?: ("optional" | "required" | "multiline")[]
7746
+
7747
+ selector?: ("index-signature" | "member" | "method" | "multiline" | "property")
7748
+
7749
+ elementNamePattern?: string
7750
+ })[])
7704
7751
 
7705
- groupKind?: ("mixed" | "optional-first" | "required-first")
7752
+ groupKind?: ("mixed" | "required-first" | "optional-first")
7706
7753
 
7707
7754
  partitionByNewLine?: boolean
7708
7755
 
@@ -7710,10 +7757,6 @@ type PerfectionistSortInterfaces = []|[{
7710
7757
 
7711
7758
  newlinesBetween?: ("ignore" | "always" | "never")
7712
7759
 
7713
- customGroups?: {
7714
- [k: string]: (string | string[]) | undefined
7715
- }
7716
-
7717
7760
  ignoreCase?: boolean
7718
7761
 
7719
7762
  locales?: (string | string[])
@@ -7786,6 +7829,8 @@ type PerfectionistSortMaps = []|[{
7786
7829
  // ----- perfectionist/sort-modules -----
7787
7830
  type PerfectionistSortModules = []|[{
7788
7831
 
7832
+ partitionByComment?: (string[] | boolean | string)
7833
+
7789
7834
  customGroups?: ({
7790
7835
 
7791
7836
  groupName?: string
@@ -7795,12 +7840,10 @@ type PerfectionistSortModules = []|[{
7795
7840
  order?: ("desc" | "asc")
7796
7841
  anyOf?: {
7797
7842
 
7798
- modifiers?: ("async" | "declare" | "decorated" | "default" | "export")[]
7799
-
7800
- elementValuePattern?: string
7801
-
7802
7843
  decoratorNamePattern?: string
7803
7844
 
7845
+ modifiers?: ("async" | "declare" | "decorated" | "default" | "export")[]
7846
+
7804
7847
  selector?: ("enum" | "function" | "interface" | "type" | "class")
7805
7848
 
7806
7849
  elementNamePattern?: string
@@ -7813,19 +7856,15 @@ type PerfectionistSortModules = []|[{
7813
7856
 
7814
7857
  order?: ("desc" | "asc")
7815
7858
 
7816
- modifiers?: ("async" | "declare" | "decorated" | "default" | "export")[]
7817
-
7818
- elementValuePattern?: string
7819
-
7820
7859
  decoratorNamePattern?: string
7821
7860
 
7861
+ modifiers?: ("async" | "declare" | "decorated" | "default" | "export")[]
7862
+
7822
7863
  selector?: ("enum" | "function" | "interface" | "type" | "class")
7823
7864
 
7824
7865
  elementNamePattern?: string
7825
7866
  })[]
7826
7867
 
7827
- partitionByComment?: (string[] | boolean | string)
7828
-
7829
7868
  partitionByNewLine?: boolean
7830
7869
 
7831
7870
  specialCharacters?: ("remove" | "trim" | "keep")
@@ -7885,7 +7924,40 @@ type PerfectionistSortNamedImports = []|[{
7885
7924
  // ----- perfectionist/sort-object-types -----
7886
7925
  type PerfectionistSortObjectTypes = []|[{
7887
7926
 
7927
+ ignorePattern?: string[]
7928
+
7888
7929
  partitionByComment?: (string[] | boolean | string)
7930
+ customGroups?: ({
7931
+ [k: string]: (string | string[]) | undefined
7932
+ } | ({
7933
+
7934
+ groupName?: string
7935
+
7936
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
7937
+
7938
+ order?: ("desc" | "asc")
7939
+ anyOf?: {
7940
+
7941
+ modifiers?: ("optional" | "required" | "multiline")[]
7942
+
7943
+ selector?: ("index-signature" | "member" | "method" | "multiline" | "property")
7944
+
7945
+ elementNamePattern?: string
7946
+ }[]
7947
+ } | {
7948
+
7949
+ groupName?: string
7950
+
7951
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
7952
+
7953
+ order?: ("desc" | "asc")
7954
+
7955
+ modifiers?: ("optional" | "required" | "multiline")[]
7956
+
7957
+ selector?: ("index-signature" | "member" | "method" | "multiline" | "property")
7958
+
7959
+ elementNamePattern?: string
7960
+ })[])
7889
7961
 
7890
7962
  groupKind?: ("mixed" | "required-first" | "optional-first")
7891
7963
 
@@ -7895,10 +7967,6 @@ type PerfectionistSortObjectTypes = []|[{
7895
7967
 
7896
7968
  newlinesBetween?: ("ignore" | "always" | "never")
7897
7969
 
7898
- customGroups?: {
7899
- [k: string]: (string | string[]) | undefined
7900
- }
7901
-
7902
7970
  ignoreCase?: boolean
7903
7971
 
7904
7972
  locales?: (string | string[])
@@ -7912,12 +7980,19 @@ type PerfectionistSortObjectTypes = []|[{
7912
7980
  // ----- perfectionist/sort-objects -----
7913
7981
  type PerfectionistSortObjects = []|[{
7914
7982
 
7983
+ destructuredObjects?: (boolean | {
7984
+
7985
+ groups?: boolean
7986
+ })
7987
+
7915
7988
  ignorePattern?: string[]
7916
7989
 
7917
7990
  partitionByComment?: (string[] | boolean | string)
7918
7991
 
7919
7992
  destructureOnly?: boolean
7920
7993
 
7994
+ objectDeclarations?: boolean
7995
+
7921
7996
  styledComponents?: boolean
7922
7997
 
7923
7998
  partitionByNewLine?: boolean
@@ -8073,6 +8148,11 @@ type Quotes = []|[("single" | "double" | "backtick")]|[("single" | "double" | "b
8073
8148
  })]
8074
8149
  // ----- radix -----
8075
8150
  type Radix = []|[("always" | "as-needed")]
8151
+ // ----- react-dom/no-unknown-property -----
8152
+ type ReactDomNoUnknownProperty = []|[{
8153
+ ignore?: string[]
8154
+ requireDataLowercase?: boolean
8155
+ }]
8076
8156
  // ----- react-hooks/exhaustive-deps -----
8077
8157
  type ReactHooksExhaustiveDeps = []|[{
8078
8158
  additionalHooks?: string
@@ -8096,15 +8176,18 @@ type ReactNamingConventionFilename = []|[(("PascalCase" | "camelCase" | "kebab-c
8096
8176
  type ReactNamingConventionFilenameExtension = []|[(("always" | "as-needed") | {
8097
8177
  allow?: ("always" | "as-needed")
8098
8178
  extensions?: string[]
8179
+ ignoreFilesWithoutCode?: boolean
8099
8180
  })]
8100
8181
  // ----- react-refresh/only-export-components -----
8101
8182
  type ReactRefreshOnlyExportComponents = []|[{
8183
+ allowExportNames?: string[]
8102
8184
  allowConstantExport?: boolean
8185
+ customHOCs?: string[]
8103
8186
  checkJS?: boolean
8104
- allowExportNames?: string[]
8105
8187
  }]
8106
8188
  // ----- react/no-useless-fragment -----
8107
8189
  type ReactNoUselessFragment = []|[{
8190
+
8108
8191
  allowExpressions?: boolean
8109
8192
  }]
8110
8193
  // ----- require-atomic-updates -----
@@ -8146,6 +8229,7 @@ type SortKeys = []|[("asc" | "desc")]|[("asc" | "desc"), {
8146
8229
  natural?: boolean
8147
8230
  minKeys?: number
8148
8231
  allowLineSeparatedGroups?: boolean
8232
+ ignoreComputedKeys?: boolean
8149
8233
  }]
8150
8234
  // ----- sort-vars -----
8151
8235
  type SortVars = []|[{
@@ -10370,6 +10454,10 @@ type TsEslintPreferOptionalChain = []|[{
10370
10454
  type TsEslintPreferPromiseRejectErrors = []|[{
10371
10455
 
10372
10456
  allowEmptyReject?: boolean
10457
+
10458
+ allowThrowingAny?: boolean
10459
+
10460
+ allowThrowingUnknown?: boolean
10373
10461
  }]
10374
10462
  // ----- ts-eslint/prefer-readonly -----
10375
10463
  type TsEslintPreferReadonly = []|[{
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@zayne-labs/eslint-config",
3
3
  "type": "module",
4
- "version": "0.2.12",
4
+ "version": "0.3.0",
5
5
  "description": "Zayne Labs' ESLint config preset",
6
6
  "author": "Ryan Zayne",
7
7
  "license": "MIT",
@@ -28,17 +28,17 @@
28
28
  "node": ">=18.x"
29
29
  },
30
30
  "peerDependencies": {
31
- "@eslint-react/eslint-plugin": "^1.15.0",
32
- "@next/eslint-plugin-next": "^14.2.15",
33
- "@tanstack/eslint-plugin-query": "^5.59.7",
34
- "eslint": "^9.12.0",
35
- "eslint-plugin-astro": "^1.2.0",
36
- "eslint-plugin-react-hooks": "^5.0.0",
37
- "eslint-plugin-react-refresh": "^0.4.12",
38
- "eslint-plugin-solid": "^0.14.3",
39
- "eslint-plugin-svelte": "^2.35.1",
40
- "eslint-plugin-tailwindcss": "^3.17.4",
41
- "eslint-plugin-vue": "^9.28.0"
31
+ "@eslint-react/eslint-plugin": ">=1.15.0",
32
+ "@next/eslint-plugin-next": ">=14.2.15",
33
+ "@tanstack/eslint-plugin-query": ">=5.59.7",
34
+ "eslint": ">=9.12.0",
35
+ "eslint-plugin-astro": ">=1.2.0",
36
+ "eslint-plugin-react-hooks": ">=5.0.0",
37
+ "eslint-plugin-react-refresh": ">=0.4.12",
38
+ "eslint-plugin-solid": ">=0.14.3",
39
+ "eslint-plugin-svelte": ">=2.35.1",
40
+ "eslint-plugin-tailwindcss": ">=3.17.4",
41
+ "eslint-plugin-vue": ">=9.28.0"
42
42
  },
43
43
  "peerDependenciesMeta": {
44
44
  "@eslint-react/eslint-plugin": {
@@ -73,50 +73,61 @@
73
73
  }
74
74
  },
75
75
  "dependencies": {
76
- "@antfu/install-pkg": "^0.4.1",
76
+ "@antfu/install-pkg": "^0.5.0",
77
77
  "@clack/prompts": "^0.8.2",
78
- "@eslint/compat": "^1.2.3",
79
- "@eslint/js": "^9.15.0",
78
+ "@eslint/compat": "^1.2.4",
79
+ "@eslint/js": "^9.16.0",
80
80
  "@stylistic/eslint-plugin": "^2.11.0",
81
81
  "eslint-config-flat-gitignore": "^0.3.0",
82
82
  "eslint-flat-config-utils": "^0.4.0",
83
- "eslint-import-resolver-typescript": "^3.6.3",
84
- "eslint-plugin-import-x": "^4.4.3",
85
- "eslint-plugin-jsdoc": "^50.5.0",
83
+ "eslint-import-resolver-typescript": "^3.7.0",
84
+ "eslint-plugin-import-x": "^4.5.0",
85
+ "eslint-plugin-jsdoc": "^50.6.0",
86
86
  "eslint-plugin-jsonc": "^2.18.2",
87
87
  "eslint-plugin-n": "^17.14.0",
88
- "eslint-plugin-perfectionist": "^4.0.3",
88
+ "eslint-plugin-perfectionist": "^4.2.0",
89
89
  "eslint-plugin-security": "^3.0.1",
90
90
  "eslint-plugin-unicorn": "^56.0.1",
91
- "globals": "^15.12.0",
91
+ "globals": "^15.13.0",
92
92
  "jsonc-eslint-parser": "^2.4.0",
93
93
  "local-pkg": "^0.5.1",
94
- "typescript-eslint": "^8.15.0"
94
+ "typescript-eslint": "^8.17.0"
95
95
  },
96
96
  "devDependencies": {
97
- "@arethetypeswrong/cli": "0.17.0",
97
+ "@arethetypeswrong/cli": "0.17.1",
98
98
  "@changesets/cli": "2.27.10",
99
99
  "@commitlint/cli": "19.6.0",
100
100
  "@commitlint/config-conventional": "19.6.0",
101
+ "@eslint-react/eslint-plugin": "^1.17.3",
102
+ "@next/eslint-plugin-next": "^15.0.4",
101
103
  "@size-limit/esbuild-why": "11.1.6",
102
104
  "@size-limit/preset-small-lib": "11.1.6",
105
+ "@tanstack/eslint-plugin-query": "^5.62.1",
103
106
  "@total-typescript/ts-reset": "0.6.1",
104
107
  "@types/eslint-plugin-security": "3.0.0",
105
108
  "@types/eslint-plugin-tailwindcss": "3.17.0",
106
109
  "@types/eslint__js": "8.42.3",
107
- "@types/node": "22.9.1",
110
+ "@types/node": "22.10.1",
108
111
  "@zayne-labs/eslint-config": "link:",
109
112
  "@zayne-labs/tsconfig": "0.2.1",
110
113
  "concurrently": "9.1.0",
111
114
  "cross-env": "7.0.3",
115
+ "eslint": "^9.16.0",
116
+ "eslint-plugin-astro": "^1.3.1",
117
+ "eslint-plugin-react-hooks": "^5.1.0",
118
+ "eslint-plugin-react-refresh": "^0.4.16",
119
+ "eslint-plugin-solid": "^0.14.4",
120
+ "eslint-plugin-svelte": "^2.46.1",
121
+ "eslint-plugin-tailwindcss": "^3.17.5",
122
+ "eslint-plugin-vue": "^9.32.0",
112
123
  "eslint-typegen": "0.3.2",
113
124
  "husky": "9.1.7",
114
125
  "lint-staged": "15.2.10",
115
- "pkg-pr-new": "0.0.30",
116
- "prettier": "3.3.3",
126
+ "pkg-pr-new": "0.0.35",
127
+ "prettier": "3.4.2",
117
128
  "publint": "0.2.12",
118
129
  "size-limit": "11.1.6",
119
- "tailwindcss": "^3.4.15",
130
+ "tailwindcss": "^3.4.16",
120
131
  "tsup": "8.3.5",
121
132
  "tsx": "4.19.2",
122
133
  "typescript": "5.7.2"
@@ -135,7 +146,7 @@
135
146
  "lint:check-types": "pnpm typegen && tsc --pretty -p tsconfig.json",
136
147
  "lint:commitlint": "commitlint --edit",
137
148
  "lint:eslint": "pnpm build && pnpm lint:eslint:dev",
138
- "lint:eslint:dev": "eslint . --cache --max-warnings 0 --report-unused-disable-directives",
149
+ "lint:eslint:dev": "eslint . --max-warnings 0 --report-unused-disable-directives",
139
150
  "lint:format": "prettier --cache --write .",
140
151
  "lint:packages": "pnpm dedupe --check",
141
152
  "lint:publint": "publint --strict .",