@lincy/eslint-config 5.3.0 → 5.3.1

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.
package/README.md CHANGED
@@ -4,15 +4,15 @@
4
4
 
5
5
  > Thanks to [sxzz/eslint-config](https://github.com/sxzz/eslint-config) and [antfu/eslint-config](https://github.com/antfu/eslint-config) for the inspiration and reference.
6
6
 
7
- - 单引号,无结尾分号
8
- - 自动格式化
9
- - 专为与 TypeScript、Vue(2/3)、React 一起使用而设计,开箱即用
10
- - 也适用于 json、yaml、markdown
11
- - import导入排序, 对象字⾯量项尾逗号
12
- - 合理的默认值,最佳实践,只需一行配置
13
- - [ESLint Flat config](https://eslint.org/docs/latest/use/configure/configuration-files-new)
14
- - 使用 [ESLint Stylistic](https://github.com/eslint-stylistic/eslint-stylistic)
15
- - **风格原则**: 读取最小,差异稳定
7
+ - 单引号,无结尾分号
8
+ - 自动格式化
9
+ - 专为与 TypeScript、Vue(2/3)、React 一起使用而设计,开箱即用
10
+ - 也适用于 json、yaml、markdown
11
+ - import导入排序, 对象字⾯量项尾逗号
12
+ - 合理的默认值,最佳实践,只需一行配置
13
+ - [ESLint Flat config](https://eslint.org/docs/latest/use/configure/configuration-files-new)
14
+ - 使用 [ESLint Stylistic](https://github.com/eslint-stylistic/eslint-stylistic)
15
+ - **风格原则**: 读取最小,差异稳定
16
16
 
17
17
  ## Usage
18
18
 
@@ -44,7 +44,7 @@ export default lincy()
44
44
  }
45
45
  ```
46
46
 
47
- ## VS Code support (保存时自动修复)
47
+ ### VS Code support (保存时自动修复)
48
48
 
49
49
  安装 [VS Code ESLint扩展](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
50
50
 
@@ -101,6 +101,16 @@ export default lincy()
101
101
  }
102
102
  ```
103
103
 
104
+ ### 使用.ts文件作为配置文件
105
+
106
+ 1. 将`eslint`更新至最新版本
107
+ 2. 在`package.json`中的`eslint .`后面添加参数`--flag unstable_ts_config`, 包括`scripts`、`lint-staged`中
108
+ 3. 在`.vscode/settings.json`文件添加`"eslint.options": {
109
+ "flags": [
110
+ "unstable_ts_config"
111
+ ]
112
+ }`
113
+
104
114
  ## 定制化
105
115
 
106
116
  通常你只需要导入 `lincy` 预设:
package/dist/index.cjs CHANGED
@@ -101,7 +101,7 @@ __export(src_exports, {
101
101
  });
102
102
  module.exports = __toCommonJS(src_exports);
103
103
 
104
- // node_modules/.pnpm/tsup@8.3.5_jiti@2.3.3_postcss@8.4.47_tsx@4.19.2_typescript@5.6.3_yaml@2.6.0/node_modules/tsup/assets/cjs_shims.js
104
+ // node_modules/.pnpm/tsup@8.3.5_jiti@2.4.0_postcss@8.4.49_tsx@4.19.2_typescript@5.7.2_yaml@2.6.1/node_modules/tsup/assets/cjs_shims.js
105
105
  var getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
106
106
  var importMetaUrl = /* @__PURE__ */ getImportMetaUrl();
107
107
 
@@ -1227,7 +1227,6 @@ async function react(options = {}) {
1227
1227
  interopDefault(import("@eslint-react/eslint-plugin")),
1228
1228
  // @ts-expect-error missing types
1229
1229
  interopDefault(import("eslint-plugin-react-hooks")),
1230
- // @ts-expect-error missing types
1231
1230
  interopDefault(import("eslint-plugin-react-refresh"))
1232
1231
  ]);
1233
1232
  const _isAllowConstantExport = ReactRefreshAllowConstantExportPackages.some(
package/dist/index.d.cts CHANGED
@@ -387,233 +387,233 @@ interface RuleOptions {
387
387
  'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>
388
388
  /**
389
389
  * Enforce or ban the use of inline type-only markers for named imports.
390
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/consistent-type-specifier-style.md
390
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/consistent-type-specifier-style.md
391
391
  */
392
392
  'import/consistent-type-specifier-style'?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>
393
393
  /**
394
394
  * Ensure a default export is present, given a default import.
395
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/default.md
395
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/default.md
396
396
  */
397
397
  'import/default'?: Linter.RuleEntry<[]>
398
398
  /**
399
399
  * Enforce a leading comment with the webpackChunkName for dynamic imports.
400
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/dynamic-import-chunkname.md
400
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/dynamic-import-chunkname.md
401
401
  */
402
402
  'import/dynamic-import-chunkname'?: Linter.RuleEntry<ImportDynamicImportChunkname>
403
403
  /**
404
404
  * Forbid any invalid exports, i.e. re-export of the same name.
405
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/export.md
405
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/export.md
406
406
  */
407
407
  'import/export'?: Linter.RuleEntry<[]>
408
408
  /**
409
409
  * Ensure all exports appear after other statements.
410
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/exports-last.md
410
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/exports-last.md
411
411
  */
412
412
  'import/exports-last'?: Linter.RuleEntry<[]>
413
413
  /**
414
414
  * Ensure consistent use of file extension within the import path.
415
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/extensions.md
415
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/extensions.md
416
416
  */
417
417
  'import/extensions'?: Linter.RuleEntry<ImportExtensions>
418
418
  /**
419
419
  * Ensure all imports appear before other statements.
420
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/first.md
420
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/first.md
421
421
  */
422
422
  'import/first'?: Linter.RuleEntry<ImportFirst>
423
423
  /**
424
424
  * Prefer named exports to be grouped together in a single export declaration.
425
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/group-exports.md
425
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/group-exports.md
426
426
  */
427
427
  'import/group-exports'?: Linter.RuleEntry<[]>
428
428
  /**
429
429
  * Replaced by `import-x/first`.
430
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/imports-first.md
430
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/imports-first.md
431
431
  * @deprecated
432
432
  */
433
433
  'import/imports-first'?: Linter.RuleEntry<ImportImportsFirst>
434
434
  /**
435
435
  * Enforce the maximum number of dependencies a module can have.
436
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/max-dependencies.md
436
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/max-dependencies.md
437
437
  */
438
438
  'import/max-dependencies'?: Linter.RuleEntry<ImportMaxDependencies>
439
439
  /**
440
440
  * Ensure named imports correspond to a named export in the remote file.
441
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/named.md
441
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/named.md
442
442
  */
443
443
  'import/named'?: Linter.RuleEntry<ImportNamed>
444
444
  /**
445
445
  * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
446
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/namespace.md
446
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/namespace.md
447
447
  */
448
448
  'import/namespace'?: Linter.RuleEntry<ImportNamespace>
449
449
  /**
450
450
  * Enforce a newline after import statements.
451
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/newline-after-import.md
451
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/newline-after-import.md
452
452
  */
453
453
  'import/newline-after-import'?: Linter.RuleEntry<ImportNewlineAfterImport>
454
454
  /**
455
455
  * Forbid import of modules using absolute paths.
456
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-absolute-path.md
456
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-absolute-path.md
457
457
  */
458
458
  'import/no-absolute-path'?: Linter.RuleEntry<ImportNoAbsolutePath>
459
459
  /**
460
460
  * Forbid AMD `require` and `define` calls.
461
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-amd.md
461
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-amd.md
462
462
  */
463
463
  'import/no-amd'?: Linter.RuleEntry<[]>
464
464
  /**
465
465
  * Forbid anonymous values as default exports.
466
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-anonymous-default-export.md
466
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-anonymous-default-export.md
467
467
  */
468
468
  'import/no-anonymous-default-export'?: Linter.RuleEntry<ImportNoAnonymousDefaultExport>
469
469
  /**
470
470
  * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
471
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-commonjs.md
471
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-commonjs.md
472
472
  */
473
473
  'import/no-commonjs'?: Linter.RuleEntry<ImportNoCommonjs>
474
474
  /**
475
475
  * Forbid a module from importing a module with a dependency path back to itself.
476
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-cycle.md
476
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-cycle.md
477
477
  */
478
478
  'import/no-cycle'?: Linter.RuleEntry<ImportNoCycle>
479
479
  /**
480
480
  * Forbid default exports.
481
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-default-export.md
481
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-default-export.md
482
482
  */
483
483
  'import/no-default-export'?: Linter.RuleEntry<[]>
484
484
  /**
485
485
  * Forbid imported names marked with `@deprecated` documentation tag.
486
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-deprecated.md
486
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-deprecated.md
487
487
  */
488
488
  'import/no-deprecated'?: Linter.RuleEntry<[]>
489
489
  /**
490
490
  * Forbid repeated import of the same module in multiple places.
491
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-duplicates.md
491
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-duplicates.md
492
492
  */
493
493
  'import/no-duplicates'?: Linter.RuleEntry<ImportNoDuplicates>
494
494
  /**
495
495
  * Forbid `require()` calls with expressions.
496
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-dynamic-require.md
496
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-dynamic-require.md
497
497
  */
498
498
  'import/no-dynamic-require'?: Linter.RuleEntry<ImportNoDynamicRequire>
499
499
  /**
500
500
  * Forbid empty named import blocks.
501
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-empty-named-blocks.md
501
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-empty-named-blocks.md
502
502
  */
503
503
  'import/no-empty-named-blocks'?: Linter.RuleEntry<[]>
504
504
  /**
505
505
  * Forbid the use of extraneous packages.
506
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-extraneous-dependencies.md
506
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-extraneous-dependencies.md
507
507
  */
508
508
  'import/no-extraneous-dependencies'?: Linter.RuleEntry<ImportNoExtraneousDependencies>
509
509
  /**
510
510
  * Forbid import statements with CommonJS module.exports.
511
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-import-module-exports.md
511
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-import-module-exports.md
512
512
  */
513
513
  'import/no-import-module-exports'?: Linter.RuleEntry<ImportNoImportModuleExports>
514
514
  /**
515
515
  * Forbid importing the submodules of other modules.
516
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-internal-modules.md
516
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-internal-modules.md
517
517
  */
518
518
  'import/no-internal-modules'?: Linter.RuleEntry<ImportNoInternalModules>
519
519
  /**
520
520
  * Forbid the use of mutable exports with `var` or `let`.
521
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-mutable-exports.md
521
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-mutable-exports.md
522
522
  */
523
523
  'import/no-mutable-exports'?: Linter.RuleEntry<[]>
524
524
  /**
525
525
  * Forbid use of exported name as identifier of default export.
526
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-named-as-default.md
526
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-as-default.md
527
527
  */
528
528
  'import/no-named-as-default'?: Linter.RuleEntry<[]>
529
529
  /**
530
530
  * Forbid use of exported name as property of default export.
531
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-named-as-default-member.md
531
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-as-default-member.md
532
532
  */
533
533
  'import/no-named-as-default-member'?: Linter.RuleEntry<[]>
534
534
  /**
535
535
  * Forbid named default exports.
536
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-named-default.md
536
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-default.md
537
537
  */
538
538
  'import/no-named-default'?: Linter.RuleEntry<[]>
539
539
  /**
540
540
  * Forbid named exports.
541
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-named-export.md
541
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-export.md
542
542
  */
543
543
  'import/no-named-export'?: Linter.RuleEntry<[]>
544
544
  /**
545
545
  * Forbid namespace (a.k.a. "wildcard" `*`) imports.
546
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-namespace.md
546
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-namespace.md
547
547
  */
548
548
  'import/no-namespace'?: Linter.RuleEntry<ImportNoNamespace>
549
549
  /**
550
550
  * Forbid Node.js builtin modules.
551
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-nodejs-modules.md
551
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-nodejs-modules.md
552
552
  */
553
553
  'import/no-nodejs-modules'?: Linter.RuleEntry<ImportNoNodejsModules>
554
554
  /**
555
555
  * Forbid importing packages through relative paths.
556
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-relative-packages.md
556
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-relative-packages.md
557
557
  */
558
558
  'import/no-relative-packages'?: Linter.RuleEntry<ImportNoRelativePackages>
559
559
  /**
560
560
  * Forbid importing modules from parent directories.
561
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-relative-parent-imports.md
561
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-relative-parent-imports.md
562
562
  */
563
563
  'import/no-relative-parent-imports'?: Linter.RuleEntry<ImportNoRelativeParentImports>
564
564
  /**
565
565
  * Forbid importing a default export by a different name.
566
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-rename-default.md
566
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-rename-default.md
567
567
  */
568
568
  'import/no-rename-default'?: Linter.RuleEntry<ImportNoRenameDefault>
569
569
  /**
570
570
  * Enforce which files can be imported in a given folder.
571
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-restricted-paths.md
571
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-restricted-paths.md
572
572
  */
573
573
  'import/no-restricted-paths'?: Linter.RuleEntry<ImportNoRestrictedPaths>
574
574
  /**
575
575
  * Forbid a module from importing itself.
576
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-self-import.md
576
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-self-import.md
577
577
  */
578
578
  'import/no-self-import'?: Linter.RuleEntry<[]>
579
579
  /**
580
580
  * Forbid unassigned imports.
581
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-unassigned-import.md
581
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-unassigned-import.md
582
582
  */
583
583
  'import/no-unassigned-import'?: Linter.RuleEntry<ImportNoUnassignedImport>
584
584
  /**
585
585
  * Ensure imports point to a file/module that can be resolved.
586
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-unresolved.md
586
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-unresolved.md
587
587
  */
588
588
  'import/no-unresolved'?: Linter.RuleEntry<ImportNoUnresolved>
589
589
  /**
590
590
  * Forbid modules without exports, or exports without matching import in another module.
591
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-unused-modules.md
591
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-unused-modules.md
592
592
  */
593
593
  'import/no-unused-modules'?: Linter.RuleEntry<ImportNoUnusedModules>
594
594
  /**
595
595
  * Forbid unnecessary path segments in import and require statements.
596
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-useless-path-segments.md
596
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-useless-path-segments.md
597
597
  */
598
598
  'import/no-useless-path-segments'?: Linter.RuleEntry<ImportNoUselessPathSegments>
599
599
  /**
600
600
  * Forbid webpack loader syntax in imports.
601
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-webpack-loader-syntax.md
601
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-webpack-loader-syntax.md
602
602
  */
603
603
  'import/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>
604
604
  /**
605
605
  * Enforce a convention in module import order.
606
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/order.md
606
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/order.md
607
607
  */
608
608
  'import/order'?: Linter.RuleEntry<ImportOrder>
609
609
  /**
610
610
  * Prefer a default export if module exports a single name or multiple names.
611
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/prefer-default-export.md
611
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/prefer-default-export.md
612
612
  */
613
613
  'import/prefer-default-export'?: Linter.RuleEntry<ImportPreferDefaultExport>
614
614
  /**
615
615
  * Forbid potentially ambiguous parse goal (`script` vs. `module`).
616
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/unambiguous.md
616
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/unambiguous.md
617
617
  */
618
618
  'import/unambiguous'?: Linter.RuleEntry<[]>
619
619
  /**
@@ -1360,7 +1360,7 @@ interface RuleOptions {
1360
1360
  */
1361
1361
  'no-class-assign'?: Linter.RuleEntry<[]>
1362
1362
  /**
1363
- * Disallow comparing against -0
1363
+ * Disallow comparing against `-0`
1364
1364
  * @see https://eslint.org/docs/latest/rules/no-compare-neg-zero
1365
1365
  */
1366
1366
  'no-compare-neg-zero'?: Linter.RuleEntry<[]>
@@ -4796,6 +4796,11 @@ interface RuleOptions {
4796
4796
  * @see https://typescript-eslint.io/rules/no-unsafe-return
4797
4797
  */
4798
4798
  'ts/no-unsafe-return'?: Linter.RuleEntry<[]>
4799
+ /**
4800
+ * Disallow type assertions that narrow a type
4801
+ * @see https://typescript-eslint.io/rules/no-unsafe-type-assertion
4802
+ */
4803
+ 'ts/no-unsafe-type-assertion'?: Linter.RuleEntry<[]>
4799
4804
  /**
4800
4805
  * Require unary negation to take a number
4801
4806
  * @see https://typescript-eslint.io/rules/no-unsafe-unary-minus
@@ -4953,6 +4958,11 @@ interface RuleOptions {
4953
4958
  * @see https://typescript-eslint.io/rules/promise-function-async
4954
4959
  */
4955
4960
  'ts/promise-function-async'?: Linter.RuleEntry<TsPromiseFunctionAsync>
4961
+ /**
4962
+ * Enforce that `get()` types should be assignable to their equivalent `set()` type
4963
+ * @see https://typescript-eslint.io/rules/related-getter-setter-pairs
4964
+ */
4965
+ 'ts/related-getter-setter-pairs'?: Linter.RuleEntry<[]>
4956
4966
  /**
4957
4967
  * Require `Array#sort` and `Array#toSorted` calls to always provide a `compareFunction`
4958
4968
  * @see https://typescript-eslint.io/rules/require-array-sort-compare
@@ -6219,7 +6229,7 @@ interface RuleOptions {
6219
6229
  * enforce `inheritAttrs` to be set to `false` when using `v-bind="$attrs"`
6220
6230
  * @see https://eslint.vuejs.org/rules/no-duplicate-attr-inheritance.html
6221
6231
  */
6222
- 'vue/no-duplicate-attr-inheritance'?: Linter.RuleEntry<[]>
6232
+ 'vue/no-duplicate-attr-inheritance'?: Linter.RuleEntry<VueNoDuplicateAttrInheritance>
6223
6233
  /**
6224
6234
  * disallow duplication of attributes
6225
6235
  * @see https://eslint.vuejs.org/rules/no-duplicate-attributes.html
@@ -6664,7 +6674,7 @@ interface RuleOptions {
6664
6674
  */
6665
6675
  'vue/prefer-true-attribute-shorthand'?: Linter.RuleEntry<VuePreferTrueAttributeShorthand>
6666
6676
  /**
6667
- * require using `useTemplateRef` instead of `ref` for template refs
6677
+ * require using `useTemplateRef` instead of `ref`/`shallowRef` for template refs
6668
6678
  * @see https://eslint.vuejs.org/rules/prefer-use-template-ref.html
6669
6679
  */
6670
6680
  'vue/prefer-use-template-ref'?: Linter.RuleEntry<[]>
@@ -6778,6 +6788,11 @@ interface RuleOptions {
6778
6788
  * @see https://eslint.vuejs.org/rules/require-valid-default-prop.html
6779
6789
  */
6780
6790
  'vue/require-valid-default-prop'?: Linter.RuleEntry<[]>
6791
+ /**
6792
+ * enforce using only specific component names
6793
+ * @see https://eslint.vuejs.org/rules/restricted-component-names.html
6794
+ */
6795
+ 'vue/restricted-component-names'?: Linter.RuleEntry<VueRestrictedComponentNames>
6781
6796
  /**
6782
6797
  * enforce that a return statement is present in computed property
6783
6798
  * @see https://eslint.vuejs.org/rules/return-in-computed-property.html
@@ -6804,6 +6819,11 @@ interface RuleOptions {
6804
6819
  * @see https://eslint.vuejs.org/rules/singleline-html-element-content-newline.html
6805
6820
  */
6806
6821
  'vue/singleline-html-element-content-newline'?: Linter.RuleEntry<VueSinglelineHtmlElementContentNewline>
6822
+ /**
6823
+ * enforce specific casing for slot names
6824
+ * @see https://eslint.vuejs.org/rules/slot-name-casing.html
6825
+ */
6826
+ 'vue/slot-name-casing'?: Linter.RuleEntry<VueSlotNameCasing>
6807
6827
  /**
6808
6828
  * enforce sort-keys in a manner that is compatible with order-in-components
6809
6829
  * @see https://eslint.vuejs.org/rules/sort-keys.html
@@ -7861,6 +7881,7 @@ type JsdocInformativeDocs = []|[{
7861
7881
  }]
7862
7882
  // ----- jsdoc/lines-before-block -----
7863
7883
  type JsdocLinesBeforeBlock = []|[{
7884
+ checkBlockStarts?: boolean
7864
7885
  excludedTags?: string[]
7865
7886
  ignoreSameLine?: boolean
7866
7887
  lines?: number
@@ -10149,12 +10170,19 @@ type PerfectionistSortObjectTypes = []|[{
10149
10170
  // ----- perfectionist/sort-objects -----
10150
10171
  type PerfectionistSortObjects = []|[{
10151
10172
 
10173
+ destructuredObjects?: (boolean | {
10174
+
10175
+ groups?: boolean
10176
+ })
10177
+
10152
10178
  ignorePattern?: string[]
10153
10179
 
10154
10180
  partitionByComment?: (string[] | boolean | string)
10155
10181
 
10156
10182
  destructureOnly?: boolean
10157
10183
 
10184
+ objectDeclarations?: boolean
10185
+
10158
10186
  styledComponents?: boolean
10159
10187
 
10160
10188
  partitionByNewLine?: boolean
@@ -10342,9 +10370,10 @@ type ReactNamingConventionFilenameExtension = []|[(("always" | "as-needed") | {
10342
10370
  })]
10343
10371
  // ----- react-refresh/only-export-components -----
10344
10372
  type ReactRefreshOnlyExportComponents = []|[{
10373
+ allowExportNames?: string[]
10345
10374
  allowConstantExport?: boolean
10375
+ customHOCs?: string[]
10346
10376
  checkJS?: boolean
10347
- allowExportNames?: string[]
10348
10377
  }]
10349
10378
  // ----- react/no-useless-fragment -----
10350
10379
  type ReactNoUselessFragment = []|[{
@@ -10508,6 +10537,7 @@ type SortKeys = []|[("asc" | "desc")]|[("asc" | "desc"), {
10508
10537
  natural?: boolean
10509
10538
  minKeys?: number
10510
10539
  allowLineSeparatedGroups?: boolean
10540
+ ignoreComputedKeys?: boolean
10511
10541
  }]
10512
10542
  // ----- sort-vars -----
10513
10543
  type SortVars = []|[{
@@ -10600,6 +10630,8 @@ type StyleCommaDangle = []|[(_StyleCommaDangleValue | {
10600
10630
  imports?: _StyleCommaDangleValueWithIgnore
10601
10631
  exports?: _StyleCommaDangleValueWithIgnore
10602
10632
  functions?: _StyleCommaDangleValueWithIgnore
10633
+ importAttributes?: _StyleCommaDangleValueWithIgnore
10634
+ dynamicImports?: _StyleCommaDangleValueWithIgnore
10603
10635
  enums?: _StyleCommaDangleValueWithIgnore
10604
10636
  generics?: _StyleCommaDangleValueWithIgnore
10605
10637
  tuples?: _StyleCommaDangleValueWithIgnore
@@ -10749,12 +10781,20 @@ type StyleEolLast = []|[("always" | "never" | "unix" | "windows")]
10749
10781
  // ----- style/func-call-spacing -----
10750
10782
  type StyleFuncCallSpacing = ([]|["never"] | []|["always"]|["always", {
10751
10783
  allowNewlines?: boolean
10784
+ optionalChain?: {
10785
+ before?: boolean
10786
+ after?: boolean
10787
+ }
10752
10788
  }])
10753
10789
  // ----- style/function-call-argument-newline -----
10754
10790
  type StyleFunctionCallArgumentNewline = []|[("always" | "never" | "consistent")]
10755
10791
  // ----- style/function-call-spacing -----
10756
10792
  type StyleFunctionCallSpacing = ([]|["never"] | []|["always"]|["always", {
10757
10793
  allowNewlines?: boolean
10794
+ optionalChain?: {
10795
+ before?: boolean
10796
+ after?: boolean
10797
+ }
10758
10798
  }])
10759
10799
  // ----- style/function-paren-newline -----
10760
10800
  type StyleFunctionParenNewline = []|[(("always" | "never" | "consistent" | "multiline" | "multiline-arguments") | {
@@ -12422,6 +12462,8 @@ type TsNoConfusingVoidExpression = []|[{
12422
12462
  ignoreArrowShorthand?: boolean
12423
12463
 
12424
12464
  ignoreVoidOperator?: boolean
12465
+
12466
+ ignoreVoidReturningFunctions?: boolean
12425
12467
  }]
12426
12468
  // ----- ts/no-duplicate-type-constituents -----
12427
12469
  type TsNoDuplicateTypeConstituents = []|[{
@@ -12858,6 +12900,10 @@ type TsPreferOptionalChain = []|[{
12858
12900
  type TsPreferPromiseRejectErrors = []|[{
12859
12901
 
12860
12902
  allowEmptyReject?: boolean
12903
+
12904
+ allowThrowingAny?: boolean
12905
+
12906
+ allowThrowingUnknown?: boolean
12861
12907
  }]
12862
12908
  // ----- ts/prefer-readonly -----
12863
12909
  type TsPreferReadonly = []|[{
@@ -13330,6 +13376,7 @@ type VueAttributeHyphenation = []|[("always" | "never")]|[("always" | "never"),
13330
13376
  } & {
13331
13377
  [k: string]: unknown | undefined
13332
13378
  })[]
13379
+ ignoreTags?: string[]
13333
13380
  }]
13334
13381
  // ----- vue/attributes-order -----
13335
13382
  type VueAttributesOrder = []|[{
@@ -13382,6 +13429,8 @@ type VueCommaDangle = []|[(_VueCommaDangleValue | {
13382
13429
  imports?: _VueCommaDangleValueWithIgnore
13383
13430
  exports?: _VueCommaDangleValueWithIgnore
13384
13431
  functions?: _VueCommaDangleValueWithIgnore
13432
+ importAttributes?: _VueCommaDangleValueWithIgnore
13433
+ dynamicImports?: _VueCommaDangleValueWithIgnore
13385
13434
  enums?: _VueCommaDangleValueWithIgnore
13386
13435
  generics?: _VueCommaDangleValueWithIgnore
13387
13436
  tuples?: _VueCommaDangleValueWithIgnore
@@ -13458,6 +13507,10 @@ type VueFirstAttributeLinebreak = []|[{
13458
13507
  // ----- vue/func-call-spacing -----
13459
13508
  type VueFuncCallSpacing = ([]|["never"] | []|["always"]|["always", {
13460
13509
  allowNewlines?: boolean
13510
+ optionalChain?: {
13511
+ before?: boolean
13512
+ after?: boolean
13513
+ }
13461
13514
  }])
13462
13515
  // ----- vue/html-button-has-type -----
13463
13516
  type VueHtmlButtonHasType = []|[{
@@ -14040,6 +14093,10 @@ type VueNoDeprecatedSlotAttribute = []|[{
14040
14093
  type VueNoDupeKeys = []|[{
14041
14094
  groups?: unknown[]
14042
14095
  }]
14096
+ // ----- vue/no-duplicate-attr-inheritance -----
14097
+ type VueNoDuplicateAttrInheritance = []|[{
14098
+ checkMultiRootNodes?: boolean
14099
+ }]
14043
14100
  // ----- vue/no-duplicate-attributes -----
14044
14101
  type VueNoDuplicateAttributes = []|[{
14045
14102
  allowCoexistClass?: boolean
@@ -14275,6 +14332,7 @@ type VueNoUselessVBind = []|[{
14275
14332
  // ----- vue/no-v-text-v-html-on-component -----
14276
14333
  type VueNoVTextVHtmlOnComponent = []|[{
14277
14334
  allow?: string[]
14335
+ ignoreElementNamespaces?: boolean
14278
14336
  }]
14279
14337
  // ----- vue/object-curly-newline -----
14280
14338
  type VueObjectCurlyNewline = []|[((("always" | "never") | {
@@ -14395,6 +14453,10 @@ type VueRequirePropComment = []|[{
14395
14453
  type VueRequireToggleInsideTransition = []|[{
14396
14454
  additionalDirectives?: string[]
14397
14455
  }]
14456
+ // ----- vue/restricted-component-names -----
14457
+ type VueRestrictedComponentNames = []|[{
14458
+ allow?: string[]
14459
+ }]
14398
14460
  // ----- vue/return-in-computed-property -----
14399
14461
  type VueReturnInComputedProperty = []|[{
14400
14462
  treatUndefinedAsUnspecified?: boolean
@@ -14416,6 +14478,8 @@ type VueSinglelineHtmlElementContentNewline = []|[{
14416
14478
  ignores?: string[]
14417
14479
  externalIgnores?: string[]
14418
14480
  }]
14481
+ // ----- vue/slot-name-casing -----
14482
+ type VueSlotNameCasing = []|[("camelCase" | "kebab-case" | "singleword")]
14419
14483
  // ----- vue/sort-keys -----
14420
14484
  type VueSortKeys = []|[("asc" | "desc")]|[("asc" | "desc"), {
14421
14485
  caseSensitive?: boolean
@@ -14459,6 +14523,7 @@ type VueVOnEventHyphenation = []|[("always" | "never")]|[("always" | "never"), {
14459
14523
  } & {
14460
14524
  [k: string]: unknown | undefined
14461
14525
  })[]
14526
+ ignoreTags?: string[]
14462
14527
  }]
14463
14528
  // ----- vue/v-on-function-call -----
14464
14529
  type VueVOnFunctionCall = []|[("always" | "never")]|[("always" | "never"), {
package/dist/index.d.ts CHANGED
@@ -387,233 +387,233 @@ interface RuleOptions {
387
387
  'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>
388
388
  /**
389
389
  * Enforce or ban the use of inline type-only markers for named imports.
390
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/consistent-type-specifier-style.md
390
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/consistent-type-specifier-style.md
391
391
  */
392
392
  'import/consistent-type-specifier-style'?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>
393
393
  /**
394
394
  * Ensure a default export is present, given a default import.
395
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/default.md
395
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/default.md
396
396
  */
397
397
  'import/default'?: Linter.RuleEntry<[]>
398
398
  /**
399
399
  * Enforce a leading comment with the webpackChunkName for dynamic imports.
400
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/dynamic-import-chunkname.md
400
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/dynamic-import-chunkname.md
401
401
  */
402
402
  'import/dynamic-import-chunkname'?: Linter.RuleEntry<ImportDynamicImportChunkname>
403
403
  /**
404
404
  * Forbid any invalid exports, i.e. re-export of the same name.
405
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/export.md
405
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/export.md
406
406
  */
407
407
  'import/export'?: Linter.RuleEntry<[]>
408
408
  /**
409
409
  * Ensure all exports appear after other statements.
410
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/exports-last.md
410
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/exports-last.md
411
411
  */
412
412
  'import/exports-last'?: Linter.RuleEntry<[]>
413
413
  /**
414
414
  * Ensure consistent use of file extension within the import path.
415
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/extensions.md
415
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/extensions.md
416
416
  */
417
417
  'import/extensions'?: Linter.RuleEntry<ImportExtensions>
418
418
  /**
419
419
  * Ensure all imports appear before other statements.
420
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/first.md
420
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/first.md
421
421
  */
422
422
  'import/first'?: Linter.RuleEntry<ImportFirst>
423
423
  /**
424
424
  * Prefer named exports to be grouped together in a single export declaration.
425
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/group-exports.md
425
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/group-exports.md
426
426
  */
427
427
  'import/group-exports'?: Linter.RuleEntry<[]>
428
428
  /**
429
429
  * Replaced by `import-x/first`.
430
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/imports-first.md
430
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/imports-first.md
431
431
  * @deprecated
432
432
  */
433
433
  'import/imports-first'?: Linter.RuleEntry<ImportImportsFirst>
434
434
  /**
435
435
  * Enforce the maximum number of dependencies a module can have.
436
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/max-dependencies.md
436
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/max-dependencies.md
437
437
  */
438
438
  'import/max-dependencies'?: Linter.RuleEntry<ImportMaxDependencies>
439
439
  /**
440
440
  * Ensure named imports correspond to a named export in the remote file.
441
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/named.md
441
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/named.md
442
442
  */
443
443
  'import/named'?: Linter.RuleEntry<ImportNamed>
444
444
  /**
445
445
  * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
446
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/namespace.md
446
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/namespace.md
447
447
  */
448
448
  'import/namespace'?: Linter.RuleEntry<ImportNamespace>
449
449
  /**
450
450
  * Enforce a newline after import statements.
451
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/newline-after-import.md
451
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/newline-after-import.md
452
452
  */
453
453
  'import/newline-after-import'?: Linter.RuleEntry<ImportNewlineAfterImport>
454
454
  /**
455
455
  * Forbid import of modules using absolute paths.
456
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-absolute-path.md
456
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-absolute-path.md
457
457
  */
458
458
  'import/no-absolute-path'?: Linter.RuleEntry<ImportNoAbsolutePath>
459
459
  /**
460
460
  * Forbid AMD `require` and `define` calls.
461
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-amd.md
461
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-amd.md
462
462
  */
463
463
  'import/no-amd'?: Linter.RuleEntry<[]>
464
464
  /**
465
465
  * Forbid anonymous values as default exports.
466
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-anonymous-default-export.md
466
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-anonymous-default-export.md
467
467
  */
468
468
  'import/no-anonymous-default-export'?: Linter.RuleEntry<ImportNoAnonymousDefaultExport>
469
469
  /**
470
470
  * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
471
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-commonjs.md
471
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-commonjs.md
472
472
  */
473
473
  'import/no-commonjs'?: Linter.RuleEntry<ImportNoCommonjs>
474
474
  /**
475
475
  * Forbid a module from importing a module with a dependency path back to itself.
476
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-cycle.md
476
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-cycle.md
477
477
  */
478
478
  'import/no-cycle'?: Linter.RuleEntry<ImportNoCycle>
479
479
  /**
480
480
  * Forbid default exports.
481
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-default-export.md
481
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-default-export.md
482
482
  */
483
483
  'import/no-default-export'?: Linter.RuleEntry<[]>
484
484
  /**
485
485
  * Forbid imported names marked with `@deprecated` documentation tag.
486
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-deprecated.md
486
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-deprecated.md
487
487
  */
488
488
  'import/no-deprecated'?: Linter.RuleEntry<[]>
489
489
  /**
490
490
  * Forbid repeated import of the same module in multiple places.
491
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-duplicates.md
491
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-duplicates.md
492
492
  */
493
493
  'import/no-duplicates'?: Linter.RuleEntry<ImportNoDuplicates>
494
494
  /**
495
495
  * Forbid `require()` calls with expressions.
496
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-dynamic-require.md
496
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-dynamic-require.md
497
497
  */
498
498
  'import/no-dynamic-require'?: Linter.RuleEntry<ImportNoDynamicRequire>
499
499
  /**
500
500
  * Forbid empty named import blocks.
501
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-empty-named-blocks.md
501
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-empty-named-blocks.md
502
502
  */
503
503
  'import/no-empty-named-blocks'?: Linter.RuleEntry<[]>
504
504
  /**
505
505
  * Forbid the use of extraneous packages.
506
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-extraneous-dependencies.md
506
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-extraneous-dependencies.md
507
507
  */
508
508
  'import/no-extraneous-dependencies'?: Linter.RuleEntry<ImportNoExtraneousDependencies>
509
509
  /**
510
510
  * Forbid import statements with CommonJS module.exports.
511
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-import-module-exports.md
511
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-import-module-exports.md
512
512
  */
513
513
  'import/no-import-module-exports'?: Linter.RuleEntry<ImportNoImportModuleExports>
514
514
  /**
515
515
  * Forbid importing the submodules of other modules.
516
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-internal-modules.md
516
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-internal-modules.md
517
517
  */
518
518
  'import/no-internal-modules'?: Linter.RuleEntry<ImportNoInternalModules>
519
519
  /**
520
520
  * Forbid the use of mutable exports with `var` or `let`.
521
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-mutable-exports.md
521
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-mutable-exports.md
522
522
  */
523
523
  'import/no-mutable-exports'?: Linter.RuleEntry<[]>
524
524
  /**
525
525
  * Forbid use of exported name as identifier of default export.
526
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-named-as-default.md
526
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-as-default.md
527
527
  */
528
528
  'import/no-named-as-default'?: Linter.RuleEntry<[]>
529
529
  /**
530
530
  * Forbid use of exported name as property of default export.
531
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-named-as-default-member.md
531
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-as-default-member.md
532
532
  */
533
533
  'import/no-named-as-default-member'?: Linter.RuleEntry<[]>
534
534
  /**
535
535
  * Forbid named default exports.
536
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-named-default.md
536
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-default.md
537
537
  */
538
538
  'import/no-named-default'?: Linter.RuleEntry<[]>
539
539
  /**
540
540
  * Forbid named exports.
541
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-named-export.md
541
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-export.md
542
542
  */
543
543
  'import/no-named-export'?: Linter.RuleEntry<[]>
544
544
  /**
545
545
  * Forbid namespace (a.k.a. "wildcard" `*`) imports.
546
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-namespace.md
546
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-namespace.md
547
547
  */
548
548
  'import/no-namespace'?: Linter.RuleEntry<ImportNoNamespace>
549
549
  /**
550
550
  * Forbid Node.js builtin modules.
551
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-nodejs-modules.md
551
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-nodejs-modules.md
552
552
  */
553
553
  'import/no-nodejs-modules'?: Linter.RuleEntry<ImportNoNodejsModules>
554
554
  /**
555
555
  * Forbid importing packages through relative paths.
556
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-relative-packages.md
556
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-relative-packages.md
557
557
  */
558
558
  'import/no-relative-packages'?: Linter.RuleEntry<ImportNoRelativePackages>
559
559
  /**
560
560
  * Forbid importing modules from parent directories.
561
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-relative-parent-imports.md
561
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-relative-parent-imports.md
562
562
  */
563
563
  'import/no-relative-parent-imports'?: Linter.RuleEntry<ImportNoRelativeParentImports>
564
564
  /**
565
565
  * Forbid importing a default export by a different name.
566
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-rename-default.md
566
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-rename-default.md
567
567
  */
568
568
  'import/no-rename-default'?: Linter.RuleEntry<ImportNoRenameDefault>
569
569
  /**
570
570
  * Enforce which files can be imported in a given folder.
571
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-restricted-paths.md
571
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-restricted-paths.md
572
572
  */
573
573
  'import/no-restricted-paths'?: Linter.RuleEntry<ImportNoRestrictedPaths>
574
574
  /**
575
575
  * Forbid a module from importing itself.
576
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-self-import.md
576
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-self-import.md
577
577
  */
578
578
  'import/no-self-import'?: Linter.RuleEntry<[]>
579
579
  /**
580
580
  * Forbid unassigned imports.
581
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-unassigned-import.md
581
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-unassigned-import.md
582
582
  */
583
583
  'import/no-unassigned-import'?: Linter.RuleEntry<ImportNoUnassignedImport>
584
584
  /**
585
585
  * Ensure imports point to a file/module that can be resolved.
586
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-unresolved.md
586
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-unresolved.md
587
587
  */
588
588
  'import/no-unresolved'?: Linter.RuleEntry<ImportNoUnresolved>
589
589
  /**
590
590
  * Forbid modules without exports, or exports without matching import in another module.
591
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-unused-modules.md
591
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-unused-modules.md
592
592
  */
593
593
  'import/no-unused-modules'?: Linter.RuleEntry<ImportNoUnusedModules>
594
594
  /**
595
595
  * Forbid unnecessary path segments in import and require statements.
596
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-useless-path-segments.md
596
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-useless-path-segments.md
597
597
  */
598
598
  'import/no-useless-path-segments'?: Linter.RuleEntry<ImportNoUselessPathSegments>
599
599
  /**
600
600
  * Forbid webpack loader syntax in imports.
601
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-webpack-loader-syntax.md
601
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-webpack-loader-syntax.md
602
602
  */
603
603
  'import/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>
604
604
  /**
605
605
  * Enforce a convention in module import order.
606
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/order.md
606
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/order.md
607
607
  */
608
608
  'import/order'?: Linter.RuleEntry<ImportOrder>
609
609
  /**
610
610
  * Prefer a default export if module exports a single name or multiple names.
611
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/prefer-default-export.md
611
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/prefer-default-export.md
612
612
  */
613
613
  'import/prefer-default-export'?: Linter.RuleEntry<ImportPreferDefaultExport>
614
614
  /**
615
615
  * Forbid potentially ambiguous parse goal (`script` vs. `module`).
616
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/unambiguous.md
616
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/unambiguous.md
617
617
  */
618
618
  'import/unambiguous'?: Linter.RuleEntry<[]>
619
619
  /**
@@ -1360,7 +1360,7 @@ interface RuleOptions {
1360
1360
  */
1361
1361
  'no-class-assign'?: Linter.RuleEntry<[]>
1362
1362
  /**
1363
- * Disallow comparing against -0
1363
+ * Disallow comparing against `-0`
1364
1364
  * @see https://eslint.org/docs/latest/rules/no-compare-neg-zero
1365
1365
  */
1366
1366
  'no-compare-neg-zero'?: Linter.RuleEntry<[]>
@@ -4796,6 +4796,11 @@ interface RuleOptions {
4796
4796
  * @see https://typescript-eslint.io/rules/no-unsafe-return
4797
4797
  */
4798
4798
  'ts/no-unsafe-return'?: Linter.RuleEntry<[]>
4799
+ /**
4800
+ * Disallow type assertions that narrow a type
4801
+ * @see https://typescript-eslint.io/rules/no-unsafe-type-assertion
4802
+ */
4803
+ 'ts/no-unsafe-type-assertion'?: Linter.RuleEntry<[]>
4799
4804
  /**
4800
4805
  * Require unary negation to take a number
4801
4806
  * @see https://typescript-eslint.io/rules/no-unsafe-unary-minus
@@ -4953,6 +4958,11 @@ interface RuleOptions {
4953
4958
  * @see https://typescript-eslint.io/rules/promise-function-async
4954
4959
  */
4955
4960
  'ts/promise-function-async'?: Linter.RuleEntry<TsPromiseFunctionAsync>
4961
+ /**
4962
+ * Enforce that `get()` types should be assignable to their equivalent `set()` type
4963
+ * @see https://typescript-eslint.io/rules/related-getter-setter-pairs
4964
+ */
4965
+ 'ts/related-getter-setter-pairs'?: Linter.RuleEntry<[]>
4956
4966
  /**
4957
4967
  * Require `Array#sort` and `Array#toSorted` calls to always provide a `compareFunction`
4958
4968
  * @see https://typescript-eslint.io/rules/require-array-sort-compare
@@ -6219,7 +6229,7 @@ interface RuleOptions {
6219
6229
  * enforce `inheritAttrs` to be set to `false` when using `v-bind="$attrs"`
6220
6230
  * @see https://eslint.vuejs.org/rules/no-duplicate-attr-inheritance.html
6221
6231
  */
6222
- 'vue/no-duplicate-attr-inheritance'?: Linter.RuleEntry<[]>
6232
+ 'vue/no-duplicate-attr-inheritance'?: Linter.RuleEntry<VueNoDuplicateAttrInheritance>
6223
6233
  /**
6224
6234
  * disallow duplication of attributes
6225
6235
  * @see https://eslint.vuejs.org/rules/no-duplicate-attributes.html
@@ -6664,7 +6674,7 @@ interface RuleOptions {
6664
6674
  */
6665
6675
  'vue/prefer-true-attribute-shorthand'?: Linter.RuleEntry<VuePreferTrueAttributeShorthand>
6666
6676
  /**
6667
- * require using `useTemplateRef` instead of `ref` for template refs
6677
+ * require using `useTemplateRef` instead of `ref`/`shallowRef` for template refs
6668
6678
  * @see https://eslint.vuejs.org/rules/prefer-use-template-ref.html
6669
6679
  */
6670
6680
  'vue/prefer-use-template-ref'?: Linter.RuleEntry<[]>
@@ -6778,6 +6788,11 @@ interface RuleOptions {
6778
6788
  * @see https://eslint.vuejs.org/rules/require-valid-default-prop.html
6779
6789
  */
6780
6790
  'vue/require-valid-default-prop'?: Linter.RuleEntry<[]>
6791
+ /**
6792
+ * enforce using only specific component names
6793
+ * @see https://eslint.vuejs.org/rules/restricted-component-names.html
6794
+ */
6795
+ 'vue/restricted-component-names'?: Linter.RuleEntry<VueRestrictedComponentNames>
6781
6796
  /**
6782
6797
  * enforce that a return statement is present in computed property
6783
6798
  * @see https://eslint.vuejs.org/rules/return-in-computed-property.html
@@ -6804,6 +6819,11 @@ interface RuleOptions {
6804
6819
  * @see https://eslint.vuejs.org/rules/singleline-html-element-content-newline.html
6805
6820
  */
6806
6821
  'vue/singleline-html-element-content-newline'?: Linter.RuleEntry<VueSinglelineHtmlElementContentNewline>
6822
+ /**
6823
+ * enforce specific casing for slot names
6824
+ * @see https://eslint.vuejs.org/rules/slot-name-casing.html
6825
+ */
6826
+ 'vue/slot-name-casing'?: Linter.RuleEntry<VueSlotNameCasing>
6807
6827
  /**
6808
6828
  * enforce sort-keys in a manner that is compatible with order-in-components
6809
6829
  * @see https://eslint.vuejs.org/rules/sort-keys.html
@@ -7861,6 +7881,7 @@ type JsdocInformativeDocs = []|[{
7861
7881
  }]
7862
7882
  // ----- jsdoc/lines-before-block -----
7863
7883
  type JsdocLinesBeforeBlock = []|[{
7884
+ checkBlockStarts?: boolean
7864
7885
  excludedTags?: string[]
7865
7886
  ignoreSameLine?: boolean
7866
7887
  lines?: number
@@ -10149,12 +10170,19 @@ type PerfectionistSortObjectTypes = []|[{
10149
10170
  // ----- perfectionist/sort-objects -----
10150
10171
  type PerfectionistSortObjects = []|[{
10151
10172
 
10173
+ destructuredObjects?: (boolean | {
10174
+
10175
+ groups?: boolean
10176
+ })
10177
+
10152
10178
  ignorePattern?: string[]
10153
10179
 
10154
10180
  partitionByComment?: (string[] | boolean | string)
10155
10181
 
10156
10182
  destructureOnly?: boolean
10157
10183
 
10184
+ objectDeclarations?: boolean
10185
+
10158
10186
  styledComponents?: boolean
10159
10187
 
10160
10188
  partitionByNewLine?: boolean
@@ -10342,9 +10370,10 @@ type ReactNamingConventionFilenameExtension = []|[(("always" | "as-needed") | {
10342
10370
  })]
10343
10371
  // ----- react-refresh/only-export-components -----
10344
10372
  type ReactRefreshOnlyExportComponents = []|[{
10373
+ allowExportNames?: string[]
10345
10374
  allowConstantExport?: boolean
10375
+ customHOCs?: string[]
10346
10376
  checkJS?: boolean
10347
- allowExportNames?: string[]
10348
10377
  }]
10349
10378
  // ----- react/no-useless-fragment -----
10350
10379
  type ReactNoUselessFragment = []|[{
@@ -10508,6 +10537,7 @@ type SortKeys = []|[("asc" | "desc")]|[("asc" | "desc"), {
10508
10537
  natural?: boolean
10509
10538
  minKeys?: number
10510
10539
  allowLineSeparatedGroups?: boolean
10540
+ ignoreComputedKeys?: boolean
10511
10541
  }]
10512
10542
  // ----- sort-vars -----
10513
10543
  type SortVars = []|[{
@@ -10600,6 +10630,8 @@ type StyleCommaDangle = []|[(_StyleCommaDangleValue | {
10600
10630
  imports?: _StyleCommaDangleValueWithIgnore
10601
10631
  exports?: _StyleCommaDangleValueWithIgnore
10602
10632
  functions?: _StyleCommaDangleValueWithIgnore
10633
+ importAttributes?: _StyleCommaDangleValueWithIgnore
10634
+ dynamicImports?: _StyleCommaDangleValueWithIgnore
10603
10635
  enums?: _StyleCommaDangleValueWithIgnore
10604
10636
  generics?: _StyleCommaDangleValueWithIgnore
10605
10637
  tuples?: _StyleCommaDangleValueWithIgnore
@@ -10749,12 +10781,20 @@ type StyleEolLast = []|[("always" | "never" | "unix" | "windows")]
10749
10781
  // ----- style/func-call-spacing -----
10750
10782
  type StyleFuncCallSpacing = ([]|["never"] | []|["always"]|["always", {
10751
10783
  allowNewlines?: boolean
10784
+ optionalChain?: {
10785
+ before?: boolean
10786
+ after?: boolean
10787
+ }
10752
10788
  }])
10753
10789
  // ----- style/function-call-argument-newline -----
10754
10790
  type StyleFunctionCallArgumentNewline = []|[("always" | "never" | "consistent")]
10755
10791
  // ----- style/function-call-spacing -----
10756
10792
  type StyleFunctionCallSpacing = ([]|["never"] | []|["always"]|["always", {
10757
10793
  allowNewlines?: boolean
10794
+ optionalChain?: {
10795
+ before?: boolean
10796
+ after?: boolean
10797
+ }
10758
10798
  }])
10759
10799
  // ----- style/function-paren-newline -----
10760
10800
  type StyleFunctionParenNewline = []|[(("always" | "never" | "consistent" | "multiline" | "multiline-arguments") | {
@@ -12422,6 +12462,8 @@ type TsNoConfusingVoidExpression = []|[{
12422
12462
  ignoreArrowShorthand?: boolean
12423
12463
 
12424
12464
  ignoreVoidOperator?: boolean
12465
+
12466
+ ignoreVoidReturningFunctions?: boolean
12425
12467
  }]
12426
12468
  // ----- ts/no-duplicate-type-constituents -----
12427
12469
  type TsNoDuplicateTypeConstituents = []|[{
@@ -12858,6 +12900,10 @@ type TsPreferOptionalChain = []|[{
12858
12900
  type TsPreferPromiseRejectErrors = []|[{
12859
12901
 
12860
12902
  allowEmptyReject?: boolean
12903
+
12904
+ allowThrowingAny?: boolean
12905
+
12906
+ allowThrowingUnknown?: boolean
12861
12907
  }]
12862
12908
  // ----- ts/prefer-readonly -----
12863
12909
  type TsPreferReadonly = []|[{
@@ -13330,6 +13376,7 @@ type VueAttributeHyphenation = []|[("always" | "never")]|[("always" | "never"),
13330
13376
  } & {
13331
13377
  [k: string]: unknown | undefined
13332
13378
  })[]
13379
+ ignoreTags?: string[]
13333
13380
  }]
13334
13381
  // ----- vue/attributes-order -----
13335
13382
  type VueAttributesOrder = []|[{
@@ -13382,6 +13429,8 @@ type VueCommaDangle = []|[(_VueCommaDangleValue | {
13382
13429
  imports?: _VueCommaDangleValueWithIgnore
13383
13430
  exports?: _VueCommaDangleValueWithIgnore
13384
13431
  functions?: _VueCommaDangleValueWithIgnore
13432
+ importAttributes?: _VueCommaDangleValueWithIgnore
13433
+ dynamicImports?: _VueCommaDangleValueWithIgnore
13385
13434
  enums?: _VueCommaDangleValueWithIgnore
13386
13435
  generics?: _VueCommaDangleValueWithIgnore
13387
13436
  tuples?: _VueCommaDangleValueWithIgnore
@@ -13458,6 +13507,10 @@ type VueFirstAttributeLinebreak = []|[{
13458
13507
  // ----- vue/func-call-spacing -----
13459
13508
  type VueFuncCallSpacing = ([]|["never"] | []|["always"]|["always", {
13460
13509
  allowNewlines?: boolean
13510
+ optionalChain?: {
13511
+ before?: boolean
13512
+ after?: boolean
13513
+ }
13461
13514
  }])
13462
13515
  // ----- vue/html-button-has-type -----
13463
13516
  type VueHtmlButtonHasType = []|[{
@@ -14040,6 +14093,10 @@ type VueNoDeprecatedSlotAttribute = []|[{
14040
14093
  type VueNoDupeKeys = []|[{
14041
14094
  groups?: unknown[]
14042
14095
  }]
14096
+ // ----- vue/no-duplicate-attr-inheritance -----
14097
+ type VueNoDuplicateAttrInheritance = []|[{
14098
+ checkMultiRootNodes?: boolean
14099
+ }]
14043
14100
  // ----- vue/no-duplicate-attributes -----
14044
14101
  type VueNoDuplicateAttributes = []|[{
14045
14102
  allowCoexistClass?: boolean
@@ -14275,6 +14332,7 @@ type VueNoUselessVBind = []|[{
14275
14332
  // ----- vue/no-v-text-v-html-on-component -----
14276
14333
  type VueNoVTextVHtmlOnComponent = []|[{
14277
14334
  allow?: string[]
14335
+ ignoreElementNamespaces?: boolean
14278
14336
  }]
14279
14337
  // ----- vue/object-curly-newline -----
14280
14338
  type VueObjectCurlyNewline = []|[((("always" | "never") | {
@@ -14395,6 +14453,10 @@ type VueRequirePropComment = []|[{
14395
14453
  type VueRequireToggleInsideTransition = []|[{
14396
14454
  additionalDirectives?: string[]
14397
14455
  }]
14456
+ // ----- vue/restricted-component-names -----
14457
+ type VueRestrictedComponentNames = []|[{
14458
+ allow?: string[]
14459
+ }]
14398
14460
  // ----- vue/return-in-computed-property -----
14399
14461
  type VueReturnInComputedProperty = []|[{
14400
14462
  treatUndefinedAsUnspecified?: boolean
@@ -14416,6 +14478,8 @@ type VueSinglelineHtmlElementContentNewline = []|[{
14416
14478
  ignores?: string[]
14417
14479
  externalIgnores?: string[]
14418
14480
  }]
14481
+ // ----- vue/slot-name-casing -----
14482
+ type VueSlotNameCasing = []|[("camelCase" | "kebab-case" | "singleword")]
14419
14483
  // ----- vue/sort-keys -----
14420
14484
  type VueSortKeys = []|[("asc" | "desc")]|[("asc" | "desc"), {
14421
14485
  caseSensitive?: boolean
@@ -14459,6 +14523,7 @@ type VueVOnEventHyphenation = []|[("always" | "never")]|[("always" | "never"), {
14459
14523
  } & {
14460
14524
  [k: string]: unknown | undefined
14461
14525
  })[]
14526
+ ignoreTags?: string[]
14462
14527
  }]
14463
14528
  // ----- vue/v-on-function-call -----
14464
14529
  type VueVOnFunctionCall = []|[("always" | "never")]|[("always" | "never"), {
package/dist/index.js CHANGED
@@ -1120,7 +1120,6 @@ async function react(options = {}) {
1120
1120
  interopDefault(import("@eslint-react/eslint-plugin")),
1121
1121
  // @ts-expect-error missing types
1122
1122
  interopDefault(import("eslint-plugin-react-hooks")),
1123
- // @ts-expect-error missing types
1124
1123
  interopDefault(import("eslint-plugin-react-refresh"))
1125
1124
  ]);
1126
1125
  const _isAllowConstantExport = ReactRefreshAllowConstantExportPackages.some(
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@lincy/eslint-config",
3
3
  "type": "module",
4
- "version": "5.3.0",
5
- "packageManager": "pnpm@9.14.2",
4
+ "version": "5.3.1",
5
+ "packageManager": "pnpm@9.14.4",
6
6
  "description": "LinCenYing's ESLint config",
7
7
  "author": "LinCenYing <lincenying@gmail.com> (https://github.com/lincenying/)",
8
8
  "license": "MIT",
@@ -31,7 +31,7 @@
31
31
  "release": "bumpp && npm publish -r --access public",
32
32
  "test": "vitest",
33
33
  "typegen": "esno scripts/typegen.ts",
34
- "lint": "pnpm run stub && eslint .",
34
+ "lint": "pnpm run stub && eslint . --flag unstable_ts_config",
35
35
  "lint:fix": "eslint . --flag unstable_ts_config --fix",
36
36
  "lint:ts": "tsc --noEmit",
37
37
  "prepare": "npx simple-git-hooks"
@@ -67,33 +67,33 @@
67
67
  },
68
68
  "dependencies": {
69
69
  "@antfu/eslint-define-config": "1.23.0-2",
70
- "@antfu/install-pkg": "^0.4.1",
70
+ "@antfu/install-pkg": "^0.5.0",
71
71
  "@clack/prompts": "^0.8.2",
72
72
  "@eslint-community/eslint-plugin-eslint-comments": "^4.4.1",
73
73
  "@eslint/markdown": "^6.2.1",
74
- "@stylistic/eslint-plugin": "2.10.1",
75
- "@typescript-eslint/eslint-plugin": "8.13.0",
76
- "@typescript-eslint/parser": "8.13.0",
77
- "@vitest/eslint-plugin": "^1.1.10",
74
+ "@stylistic/eslint-plugin": "2.11.0",
75
+ "@typescript-eslint/eslint-plugin": "8.17.0",
76
+ "@typescript-eslint/parser": "8.17.0",
77
+ "@vitest/eslint-plugin": "^1.1.14",
78
78
  "eslint-config-flat-gitignore": "^0.3.0",
79
79
  "eslint-flat-config-utils": "^0.4.0",
80
80
  "eslint-merge-processors": "^0.1.0",
81
81
  "eslint-parser-plain": "^0.1.0",
82
82
  "eslint-plugin-antfu": "^2.7.0",
83
- "eslint-plugin-import-x": "^4.4.3",
84
- "eslint-plugin-jsdoc": "^50.5.0",
83
+ "eslint-plugin-import-x": "^4.5.0",
84
+ "eslint-plugin-jsdoc": "^50.6.0",
85
85
  "eslint-plugin-jsonc": "^2.18.2",
86
86
  "eslint-plugin-n": "^17.14.0",
87
87
  "eslint-plugin-no-only-tests": "^3.3.0",
88
- "eslint-plugin-perfectionist": "^4.0.3",
88
+ "eslint-plugin-perfectionist": "^4.1.2",
89
89
  "eslint-plugin-regexp": "^2.7.0",
90
- "eslint-plugin-toml": "^0.11.1",
90
+ "eslint-plugin-toml": "^0.12.0",
91
91
  "eslint-plugin-unicorn": "^56.0.1",
92
92
  "eslint-plugin-unused-imports": "^4.1.4",
93
- "eslint-plugin-vue": "^9.31.0",
94
- "eslint-plugin-yml": "^1.15.0",
93
+ "eslint-plugin-vue": "^9.32.0",
94
+ "eslint-plugin-yml": "^1.16.0",
95
95
  "eslint-processor-vue-blocks": "^0.1.2",
96
- "globals": "^15.12.0",
96
+ "globals": "^15.13.0",
97
97
  "jsonc-eslint-parser": "^2.4.0",
98
98
  "local-pkg": "^0.5.1",
99
99
  "prompts": "^2.4.2",
@@ -103,7 +103,7 @@
103
103
  },
104
104
  "devDependencies": {
105
105
  "@antfu/ni": "^0.23.1",
106
- "@eslint-react/eslint-plugin": "^1.17.1",
106
+ "@eslint-react/eslint-plugin": "^1.17.3",
107
107
  "@eslint-types/jsdoc": "48.2.2",
108
108
  "@eslint-types/typescript-eslint": "^7.5.0",
109
109
  "@eslint-types/unicorn": "^52.0.0",
@@ -112,29 +112,29 @@
112
112
  "@prettier/plugin-xml": "^3.4.1",
113
113
  "@stylistic/eslint-plugin-migrate": "^2.11.0",
114
114
  "@types/fs-extra": "^11.0.4",
115
- "@types/node": "^22.9.3",
115
+ "@types/node": "^22.10.1",
116
116
  "@types/prompts": "^2.4.9",
117
- "@unocss/eslint-plugin": "^0.64.1",
117
+ "@unocss/eslint-plugin": "^0.65.0",
118
118
  "bumpp": "^9.8.1",
119
- "eslint": "^9.15.0",
120
- "eslint-plugin-format": "^0.1.2",
119
+ "eslint": "^9.16.0",
120
+ "eslint-plugin-format": "^0.1.3",
121
121
  "eslint-plugin-react-hooks": "^5.0.0",
122
- "eslint-plugin-react-refresh": "^0.4.14",
122
+ "eslint-plugin-react-refresh": "^0.4.16",
123
123
  "eslint-ts-patch": "9.8.0-1",
124
124
  "eslint-typegen": "^0.3.2",
125
125
  "esno": "^4.8.0",
126
126
  "fs-extra": "^11.2.0",
127
127
  "lint-staged": "^15.2.10",
128
- "prettier": "^3.3.3",
128
+ "prettier": "^3.4.1",
129
129
  "react": "^18.3.1",
130
130
  "rimraf": "^6.0.1",
131
131
  "simple-git-hooks": "^2.11.1",
132
132
  "simple-open-url": "^3.0.1",
133
133
  "sucrase": "^3.35.0",
134
134
  "tsup": "^8.3.5",
135
- "typescript": "^5.6.3",
135
+ "typescript": "^5.7.2",
136
136
  "unbuild": "^2.0.0",
137
- "vitest": "^2.1.5",
137
+ "vitest": "^2.1.8",
138
138
  "vue": "^3.5.13"
139
139
  },
140
140
  "pnpm": {
@@ -146,8 +146,8 @@
146
146
  },
147
147
  "resolutions": {
148
148
  "@eslint-community/eslint-utils": "^4.4.1",
149
- "@typescript-eslint/utils": "^8.15.0",
150
- "eslint": "^9.15.0",
149
+ "@typescript-eslint/utils": "^8.17.0",
150
+ "eslint": "^9.16.0",
151
151
  "tsx": "^4.19.2"
152
152
  },
153
153
  "simple-git-hooks": {