@cany748/eslint-config 3.0.1 → 3.0.2

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
@@ -38,7 +38,7 @@ pnpm add -D @cany748/eslint-config
38
38
  ```jsonc
39
39
  // `.prettierrc` or `prettier` on `package.json`
40
40
  {
41
- "printWidth": 140
41
+ "printWidth": 140,
42
42
  }
43
43
  ```
44
44
 
package/dist/index.cjs CHANGED
@@ -84,17 +84,17 @@ __export(src_exports, {
84
84
  module.exports = __toCommonJS(src_exports);
85
85
 
86
86
  // src/configs/comments.ts
87
- var import_eslint_plugin_eslint_comments = __toESM(require("eslint-plugin-eslint-comments"), 1);
87
+ var import_eslint_plugin_eslint_comments = __toESM(require("@eslint-community/eslint-plugin-eslint-comments"), 1);
88
88
  function comments() {
89
89
  return [
90
90
  {
91
- name: "eslint-comments",
91
+ name: "@eslint-community/eslint-comments",
92
92
  plugins: {
93
- "eslint-comments": import_eslint_plugin_eslint_comments.default
93
+ "@eslint-community/eslint-comments": import_eslint_plugin_eslint_comments.default
94
94
  },
95
95
  rules: {
96
96
  ...import_eslint_plugin_eslint_comments.default.configs.recommended.rules,
97
- "eslint-comments/disable-enable-pair": "off"
97
+ "@eslint-community/eslint-comments/disable-enable-pair": "off"
98
98
  }
99
99
  }
100
100
  ];
@@ -467,14 +467,7 @@ function javascript(options = {}) {
467
467
  { message: "Use `Object.getOwnPropertyDescriptor` instead.", property: "__lookupGetter__" },
468
468
  { message: "Use `Object.getOwnPropertyDescriptor` instead.", property: "__lookupSetter__" }
469
469
  ],
470
- "no-restricted-syntax": [
471
- "error",
472
- "DebuggerStatement",
473
- "LabeledStatement",
474
- "WithStatement",
475
- "TSEnumDeclaration[const=true]",
476
- "TSExportAssignment"
477
- ],
470
+ "no-restricted-syntax": ["error", "TSEnumDeclaration[const=true]", "TSExportAssignment"],
478
471
  "no-return-assign": ["error", "except-parens"],
479
472
  "no-self-assign": ["error", { props: true }],
480
473
  "no-self-compare": "error",
@@ -873,7 +866,7 @@ var _pluginTest;
873
866
  async function test(options = {}) {
874
867
  const { files = GLOB_TESTS, isInEditor = false, overrides = {} } = options;
875
868
  const [pluginVitest, pluginNoOnlyTests] = await Promise.all([
876
- interopDefault(import("eslint-plugin-vitest")),
869
+ interopDefault(import("@vitest/eslint-plugin")),
877
870
  interopDefault(import("eslint-plugin-no-only-tests"))
878
871
  ]);
879
872
  _pluginTest = _pluginTest || {
@@ -906,7 +899,7 @@ async function test(options = {}) {
906
899
 
907
900
  // src/configs/typescript.ts
908
901
  async function typescript(options = {}) {
909
- const { componentExts = [], overrides = {}, parserOptions = {}, type = "app" } = options;
902
+ const { componentExts = [], overrides = {}, overridesTypeAware = {}, parserOptions = {}, type = "app" } = options;
910
903
  const files = options.files ?? [GLOB_TS, GLOB_TSX, ...componentExts.map((ext) => `**/*.${ext}`)];
911
904
  const filesTypeAware = options.filesTypeAware ?? [GLOB_TS, GLOB_TSX];
912
905
  const ignoresTypeAware = options.ignoresTypeAware ?? [`${GLOB_MARKDOWN}/**`, GLOB_ASTRO_TS];
@@ -947,7 +940,7 @@ async function typescript(options = {}) {
947
940
  }
948
941
  },
949
942
  // assign type-aware parser for type-aware files and type-unaware parser for the rest
950
- ...isTypeAware ? [makeParser(true, filesTypeAware, ignoresTypeAware), makeParser(false, files, filesTypeAware)] : [makeParser(false, files)],
943
+ ...isTypeAware ? [makeParser(false, files), makeParser(true, filesTypeAware, ignoresTypeAware)] : [makeParser(false, files)],
951
944
  {
952
945
  files,
953
946
  name: "typescript/rules",
@@ -1011,7 +1004,7 @@ async function typescript(options = {}) {
1011
1004
  "no-throw-literal": "off",
1012
1005
  "@typescript-eslint/only-throw-error": "error"
1013
1006
  } : {},
1014
- ...overrides
1007
+ ...overridesTypeAware
1015
1008
  }
1016
1009
  }
1017
1010
  ] : [],
package/dist/index.d.cts CHANGED
@@ -8,6 +8,51 @@ import { FlatConfigComposer } from 'eslint-flat-config-utils';
8
8
 
9
9
 
10
10
  interface RuleOptions {
11
+ /**
12
+ * require a `eslint-enable` comment for every `eslint-disable` comment
13
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/disable-enable-pair.html
14
+ */
15
+ '@eslint-community/eslint-comments/disable-enable-pair'?: Linter.RuleEntry<EslintCommunityEslintCommentsDisableEnablePair>
16
+ /**
17
+ * disallow a `eslint-enable` comment for multiple `eslint-disable` comments
18
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-aggregating-enable.html
19
+ */
20
+ '@eslint-community/eslint-comments/no-aggregating-enable'?: Linter.RuleEntry<[]>
21
+ /**
22
+ * disallow duplicate `eslint-disable` comments
23
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-duplicate-disable.html
24
+ */
25
+ '@eslint-community/eslint-comments/no-duplicate-disable'?: Linter.RuleEntry<[]>
26
+ /**
27
+ * disallow `eslint-disable` comments about specific rules
28
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-restricted-disable.html
29
+ */
30
+ '@eslint-community/eslint-comments/no-restricted-disable'?: Linter.RuleEntry<EslintCommunityEslintCommentsNoRestrictedDisable>
31
+ /**
32
+ * disallow `eslint-disable` comments without rule names
33
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unlimited-disable.html
34
+ */
35
+ '@eslint-community/eslint-comments/no-unlimited-disable'?: Linter.RuleEntry<[]>
36
+ /**
37
+ * disallow unused `eslint-disable` comments
38
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unused-disable.html
39
+ */
40
+ '@eslint-community/eslint-comments/no-unused-disable'?: Linter.RuleEntry<[]>
41
+ /**
42
+ * disallow unused `eslint-enable` comments
43
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unused-enable.html
44
+ */
45
+ '@eslint-community/eslint-comments/no-unused-enable'?: Linter.RuleEntry<[]>
46
+ /**
47
+ * disallow ESLint directive-comments
48
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-use.html
49
+ */
50
+ '@eslint-community/eslint-comments/no-use'?: Linter.RuleEntry<EslintCommunityEslintCommentsNoUse>
51
+ /**
52
+ * require include descriptions in ESLint directive-comments
53
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/require-description.html
54
+ */
55
+ '@eslint-community/eslint-comments/require-description'?: Linter.RuleEntry<EslintCommunityEslintCommentsRequireDescription>
11
56
  /**
12
57
  * Require that function overload signatures be consecutive
13
58
  * @see https://typescript-eslint.io/rules/adjacent-overload-signatures
@@ -153,6 +198,11 @@ interface RuleOptions {
153
198
  * @see https://typescript-eslint.io/rules/no-confusing-void-expression
154
199
  */
155
200
  '@typescript-eslint/no-confusing-void-expression'?: Linter.RuleEntry<TypescriptEslintNoConfusingVoidExpression>
201
+ /**
202
+ * Disallow using code marked as `@deprecated`
203
+ * @see https://typescript-eslint.io/rules/no-deprecated
204
+ */
205
+ '@typescript-eslint/no-deprecated'?: Linter.RuleEntry<[]>
156
206
  /**
157
207
  * Disallow duplicate class members
158
208
  * @see https://typescript-eslint.io/rules/no-dupe-class-members
@@ -640,7 +690,7 @@ interface RuleOptions {
640
690
  */
641
691
  '@typescript-eslint/unified-signatures'?: Linter.RuleEntry<TypescriptEslintUnifiedSignatures>
642
692
  /**
643
- * Enforce typing arguments in `.catch()` callbacks as `unknown`
693
+ * Enforce typing arguments in Promise rejection callbacks as `unknown`
644
694
  * @see https://typescript-eslint.io/rules/use-unknown-in-catch-callback-variable
645
695
  */
646
696
  '@typescript-eslint/use-unknown-in-catch-callback-variable'?: Linter.RuleEntry<[]>
@@ -813,51 +863,6 @@ interface RuleOptions {
813
863
  * @see https://eslint.org/docs/latest/rules/eqeqeq
814
864
  */
815
865
  'eqeqeq'?: Linter.RuleEntry<Eqeqeq>
816
- /**
817
- * require a `eslint-enable` comment for every `eslint-disable` comment
818
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/disable-enable-pair.html
819
- */
820
- 'eslint-comments/disable-enable-pair'?: Linter.RuleEntry<EslintCommentsDisableEnablePair>
821
- /**
822
- * disallow a `eslint-enable` comment for multiple `eslint-disable` comments
823
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-aggregating-enable.html
824
- */
825
- 'eslint-comments/no-aggregating-enable'?: Linter.RuleEntry<[]>
826
- /**
827
- * disallow duplicate `eslint-disable` comments
828
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-duplicate-disable.html
829
- */
830
- 'eslint-comments/no-duplicate-disable'?: Linter.RuleEntry<[]>
831
- /**
832
- * disallow `eslint-disable` comments about specific rules
833
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-restricted-disable.html
834
- */
835
- 'eslint-comments/no-restricted-disable'?: Linter.RuleEntry<EslintCommentsNoRestrictedDisable>
836
- /**
837
- * disallow `eslint-disable` comments without rule names
838
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unlimited-disable.html
839
- */
840
- 'eslint-comments/no-unlimited-disable'?: Linter.RuleEntry<[]>
841
- /**
842
- * disallow unused `eslint-disable` comments
843
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unused-disable.html
844
- */
845
- 'eslint-comments/no-unused-disable'?: Linter.RuleEntry<[]>
846
- /**
847
- * disallow unused `eslint-enable` comments
848
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unused-enable.html
849
- */
850
- 'eslint-comments/no-unused-enable'?: Linter.RuleEntry<[]>
851
- /**
852
- * disallow ESLint directive-comments
853
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-use.html
854
- */
855
- 'eslint-comments/no-use'?: Linter.RuleEntry<EslintCommentsNoUse>
856
- /**
857
- * require include descriptions in ESLint directive-comments
858
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/require-description.html
859
- */
860
- 'eslint-comments/require-description'?: Linter.RuleEntry<EslintCommentsRequireDescription>
861
866
  /**
862
867
  * Enforce "for" loop update clause moving the counter in the right direction
863
868
  * @see https://eslint.org/docs/latest/rules/for-direction
@@ -958,228 +963,233 @@ interface RuleOptions {
958
963
  'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>
959
964
  /**
960
965
  * Enforce or ban the use of inline type-only markers for named imports.
961
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/consistent-type-specifier-style.md
966
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/consistent-type-specifier-style.md
962
967
  */
963
968
  'import/consistent-type-specifier-style'?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>
964
969
  /**
965
970
  * Ensure a default export is present, given a default import.
966
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/default.md
971
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/default.md
967
972
  */
968
973
  'import/default'?: Linter.RuleEntry<[]>
969
974
  /**
970
975
  * Enforce a leading comment with the webpackChunkName for dynamic imports.
971
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/dynamic-import-chunkname.md
976
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/dynamic-import-chunkname.md
972
977
  */
973
978
  'import/dynamic-import-chunkname'?: Linter.RuleEntry<ImportDynamicImportChunkname>
974
979
  /**
975
980
  * Forbid any invalid exports, i.e. re-export of the same name.
976
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/export.md
981
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/export.md
977
982
  */
978
983
  'import/export'?: Linter.RuleEntry<[]>
979
984
  /**
980
985
  * Ensure all exports appear after other statements.
981
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/exports-last.md
986
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/exports-last.md
982
987
  */
983
988
  'import/exports-last'?: Linter.RuleEntry<[]>
984
989
  /**
985
990
  * Ensure consistent use of file extension within the import path.
986
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/extensions.md
991
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/extensions.md
987
992
  */
988
993
  'import/extensions'?: Linter.RuleEntry<ImportExtensions>
989
994
  /**
990
995
  * Ensure all imports appear before other statements.
991
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/first.md
996
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/first.md
992
997
  */
993
998
  'import/first'?: Linter.RuleEntry<ImportFirst>
994
999
  /**
995
1000
  * Prefer named exports to be grouped together in a single export declaration.
996
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/group-exports.md
1001
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/group-exports.md
997
1002
  */
998
1003
  'import/group-exports'?: Linter.RuleEntry<[]>
999
1004
  /**
1000
1005
  * Replaced by `import-x/first`.
1001
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/7b25c1cb95ee18acc1531002fd343e1e6031f9ed/docs/rules/imports-first.md
1006
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/imports-first.md
1002
1007
  * @deprecated
1003
1008
  */
1004
1009
  'import/imports-first'?: Linter.RuleEntry<ImportImportsFirst>
1005
1010
  /**
1006
1011
  * Enforce the maximum number of dependencies a module can have.
1007
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/max-dependencies.md
1012
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/max-dependencies.md
1008
1013
  */
1009
1014
  'import/max-dependencies'?: Linter.RuleEntry<ImportMaxDependencies>
1010
1015
  /**
1011
1016
  * Ensure named imports correspond to a named export in the remote file.
1012
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/named.md
1017
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/named.md
1013
1018
  */
1014
1019
  'import/named'?: Linter.RuleEntry<ImportNamed>
1015
1020
  /**
1016
1021
  * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
1017
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/namespace.md
1022
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/namespace.md
1018
1023
  */
1019
1024
  'import/namespace'?: Linter.RuleEntry<ImportNamespace>
1020
1025
  /**
1021
1026
  * Enforce a newline after import statements.
1022
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/newline-after-import.md
1027
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/newline-after-import.md
1023
1028
  */
1024
1029
  'import/newline-after-import'?: Linter.RuleEntry<ImportNewlineAfterImport>
1025
1030
  /**
1026
1031
  * Forbid import of modules using absolute paths.
1027
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-absolute-path.md
1032
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-absolute-path.md
1028
1033
  */
1029
1034
  'import/no-absolute-path'?: Linter.RuleEntry<ImportNoAbsolutePath>
1030
1035
  /**
1031
1036
  * Forbid AMD `require` and `define` calls.
1032
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-amd.md
1037
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-amd.md
1033
1038
  */
1034
1039
  'import/no-amd'?: Linter.RuleEntry<[]>
1035
1040
  /**
1036
1041
  * Forbid anonymous values as default exports.
1037
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-anonymous-default-export.md
1042
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-anonymous-default-export.md
1038
1043
  */
1039
1044
  'import/no-anonymous-default-export'?: Linter.RuleEntry<ImportNoAnonymousDefaultExport>
1040
1045
  /**
1041
1046
  * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
1042
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-commonjs.md
1047
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-commonjs.md
1043
1048
  */
1044
1049
  'import/no-commonjs'?: Linter.RuleEntry<ImportNoCommonjs>
1045
1050
  /**
1046
1051
  * Forbid a module from importing a module with a dependency path back to itself.
1047
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-cycle.md
1052
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-cycle.md
1048
1053
  */
1049
1054
  'import/no-cycle'?: Linter.RuleEntry<ImportNoCycle>
1050
1055
  /**
1051
1056
  * Forbid default exports.
1052
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-default-export.md
1057
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-default-export.md
1053
1058
  */
1054
1059
  'import/no-default-export'?: Linter.RuleEntry<[]>
1055
1060
  /**
1056
1061
  * Forbid imported names marked with `@deprecated` documentation tag.
1057
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-deprecated.md
1062
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-deprecated.md
1058
1063
  */
1059
1064
  'import/no-deprecated'?: Linter.RuleEntry<[]>
1060
1065
  /**
1061
1066
  * Forbid repeated import of the same module in multiple places.
1062
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-duplicates.md
1067
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-duplicates.md
1063
1068
  */
1064
1069
  'import/no-duplicates'?: Linter.RuleEntry<ImportNoDuplicates>
1065
1070
  /**
1066
1071
  * Forbid `require()` calls with expressions.
1067
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-dynamic-require.md
1072
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-dynamic-require.md
1068
1073
  */
1069
1074
  'import/no-dynamic-require'?: Linter.RuleEntry<ImportNoDynamicRequire>
1070
1075
  /**
1071
1076
  * Forbid empty named import blocks.
1072
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-empty-named-blocks.md
1077
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-empty-named-blocks.md
1073
1078
  */
1074
1079
  'import/no-empty-named-blocks'?: Linter.RuleEntry<[]>
1075
1080
  /**
1076
1081
  * Forbid the use of extraneous packages.
1077
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-extraneous-dependencies.md
1082
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-extraneous-dependencies.md
1078
1083
  */
1079
1084
  'import/no-extraneous-dependencies'?: Linter.RuleEntry<ImportNoExtraneousDependencies>
1080
1085
  /**
1081
1086
  * Forbid import statements with CommonJS module.exports.
1082
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-import-module-exports.md
1087
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-import-module-exports.md
1083
1088
  */
1084
1089
  'import/no-import-module-exports'?: Linter.RuleEntry<ImportNoImportModuleExports>
1085
1090
  /**
1086
1091
  * Forbid importing the submodules of other modules.
1087
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-internal-modules.md
1092
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-internal-modules.md
1088
1093
  */
1089
1094
  'import/no-internal-modules'?: Linter.RuleEntry<ImportNoInternalModules>
1090
1095
  /**
1091
1096
  * Forbid the use of mutable exports with `var` or `let`.
1092
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-mutable-exports.md
1097
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-mutable-exports.md
1093
1098
  */
1094
1099
  'import/no-mutable-exports'?: Linter.RuleEntry<[]>
1095
1100
  /**
1096
1101
  * Forbid use of exported name as identifier of default export.
1097
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-named-as-default.md
1102
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-named-as-default.md
1098
1103
  */
1099
1104
  'import/no-named-as-default'?: Linter.RuleEntry<[]>
1100
1105
  /**
1101
1106
  * Forbid use of exported name as property of default export.
1102
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-named-as-default-member.md
1107
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-named-as-default-member.md
1103
1108
  */
1104
1109
  'import/no-named-as-default-member'?: Linter.RuleEntry<[]>
1105
1110
  /**
1106
1111
  * Forbid named default exports.
1107
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-named-default.md
1112
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-named-default.md
1108
1113
  */
1109
1114
  'import/no-named-default'?: Linter.RuleEntry<[]>
1110
1115
  /**
1111
1116
  * Forbid named exports.
1112
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-named-export.md
1117
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-named-export.md
1113
1118
  */
1114
1119
  'import/no-named-export'?: Linter.RuleEntry<[]>
1115
1120
  /**
1116
1121
  * Forbid namespace (a.k.a. "wildcard" `*`) imports.
1117
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-namespace.md
1122
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-namespace.md
1118
1123
  */
1119
1124
  'import/no-namespace'?: Linter.RuleEntry<ImportNoNamespace>
1120
1125
  /**
1121
1126
  * Forbid Node.js builtin modules.
1122
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-nodejs-modules.md
1127
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-nodejs-modules.md
1123
1128
  */
1124
1129
  'import/no-nodejs-modules'?: Linter.RuleEntry<ImportNoNodejsModules>
1125
1130
  /**
1126
1131
  * Forbid importing packages through relative paths.
1127
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-relative-packages.md
1132
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-relative-packages.md
1128
1133
  */
1129
1134
  'import/no-relative-packages'?: Linter.RuleEntry<ImportNoRelativePackages>
1130
1135
  /**
1131
1136
  * Forbid importing modules from parent directories.
1132
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-relative-parent-imports.md
1137
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-relative-parent-imports.md
1133
1138
  */
1134
1139
  'import/no-relative-parent-imports'?: Linter.RuleEntry<ImportNoRelativeParentImports>
1140
+ /**
1141
+ * Forbid importing a default export by a different name.
1142
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-rename-default.md
1143
+ */
1144
+ 'import/no-rename-default'?: Linter.RuleEntry<ImportNoRenameDefault>
1135
1145
  /**
1136
1146
  * Enforce which files can be imported in a given folder.
1137
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-restricted-paths.md
1147
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-restricted-paths.md
1138
1148
  */
1139
1149
  'import/no-restricted-paths'?: Linter.RuleEntry<ImportNoRestrictedPaths>
1140
1150
  /**
1141
1151
  * Forbid a module from importing itself.
1142
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-self-import.md
1152
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-self-import.md
1143
1153
  */
1144
1154
  'import/no-self-import'?: Linter.RuleEntry<[]>
1145
1155
  /**
1146
1156
  * Forbid unassigned imports.
1147
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-unassigned-import.md
1157
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-unassigned-import.md
1148
1158
  */
1149
1159
  'import/no-unassigned-import'?: Linter.RuleEntry<ImportNoUnassignedImport>
1150
1160
  /**
1151
1161
  * Ensure imports point to a file/module that can be resolved.
1152
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-unresolved.md
1162
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-unresolved.md
1153
1163
  */
1154
1164
  'import/no-unresolved'?: Linter.RuleEntry<ImportNoUnresolved>
1155
1165
  /**
1156
1166
  * Forbid modules without exports, or exports without matching import in another module.
1157
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-unused-modules.md
1167
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-unused-modules.md
1158
1168
  */
1159
1169
  'import/no-unused-modules'?: Linter.RuleEntry<ImportNoUnusedModules>
1160
1170
  /**
1161
1171
  * Forbid unnecessary path segments in import and require statements.
1162
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-useless-path-segments.md
1172
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-useless-path-segments.md
1163
1173
  */
1164
1174
  'import/no-useless-path-segments'?: Linter.RuleEntry<ImportNoUselessPathSegments>
1165
1175
  /**
1166
1176
  * Forbid webpack loader syntax in imports.
1167
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/no-webpack-loader-syntax.md
1177
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-webpack-loader-syntax.md
1168
1178
  */
1169
1179
  'import/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>
1170
1180
  /**
1171
1181
  * Enforce a convention in module import order.
1172
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/order.md
1182
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/order.md
1173
1183
  */
1174
1184
  'import/order'?: Linter.RuleEntry<ImportOrder>
1175
1185
  /**
1176
1186
  * Prefer a default export if module exports a single name or multiple names.
1177
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/prefer-default-export.md
1187
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/prefer-default-export.md
1178
1188
  */
1179
1189
  'import/prefer-default-export'?: Linter.RuleEntry<ImportPreferDefaultExport>
1180
1190
  /**
1181
1191
  * Forbid potentially ambiguous parse goal (`script` vs. `module`).
1182
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v3.1.0/docs/rules/unambiguous.md
1192
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/unambiguous.md
1183
1193
  */
1184
1194
  'import/unambiguous'?: Linter.RuleEntry<[]>
1185
1195
  /**
@@ -3382,6 +3392,46 @@ interface RuleOptions {
3382
3392
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-test-return-statement.md
3383
3393
  */
3384
3394
  'test/no-test-return-statement'?: Linter.RuleEntry<[]>
3395
+ /**
3396
+ * Enforce padding around `afterAll` blocks
3397
+ * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/padding-around-after-all-blocks.md
3398
+ */
3399
+ 'test/padding-around-after-all-blocks'?: Linter.RuleEntry<[]>
3400
+ /**
3401
+ * Enforce padding around `afterEach` blocks
3402
+ * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/padding-around-after-each-blocks.md
3403
+ */
3404
+ 'test/padding-around-after-each-blocks'?: Linter.RuleEntry<[]>
3405
+ /**
3406
+ * Enforce padding around vitest functions
3407
+ * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/padding-around-all.md
3408
+ */
3409
+ 'test/padding-around-all'?: Linter.RuleEntry<[]>
3410
+ /**
3411
+ * Enforce padding around `beforeAll` blocks
3412
+ * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/padding-around-before-all-blocks.md
3413
+ */
3414
+ 'test/padding-around-before-all-blocks'?: Linter.RuleEntry<[]>
3415
+ /**
3416
+ * Enforce padding around `beforeEach` blocks
3417
+ * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/padding-around-before-each-blocks.md
3418
+ */
3419
+ 'test/padding-around-before-each-blocks'?: Linter.RuleEntry<[]>
3420
+ /**
3421
+ * Enforce padding around `describe` blocks
3422
+ * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/padding-around-describe-blocks.md
3423
+ */
3424
+ 'test/padding-around-describe-blocks'?: Linter.RuleEntry<[]>
3425
+ /**
3426
+ * Enforce padding around `expect` groups
3427
+ * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/padding-around-expect-groups.md
3428
+ */
3429
+ 'test/padding-around-expect-groups'?: Linter.RuleEntry<[]>
3430
+ /**
3431
+ * Enforce padding around afterAll blocks
3432
+ * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/padding-around-test-blocks.md
3433
+ */
3434
+ 'test/padding-around-test-blocks'?: Linter.RuleEntry<[]>
3385
3435
  /**
3386
3436
  * enforce using `toBeCalledWith()` or `toHaveBeenCalledWith()`
3387
3437
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-with.md
@@ -5489,6 +5539,20 @@ interface RuleOptions {
5489
5539
  }
5490
5540
 
5491
5541
  /* ======= Declarations ======= */
5542
+ // ----- @eslint-community/eslint-comments/disable-enable-pair -----
5543
+ type EslintCommunityEslintCommentsDisableEnablePair = []|[{
5544
+ allowWholeFile?: boolean
5545
+ }]
5546
+ // ----- @eslint-community/eslint-comments/no-restricted-disable -----
5547
+ type EslintCommunityEslintCommentsNoRestrictedDisable = string[]
5548
+ // ----- @eslint-community/eslint-comments/no-use -----
5549
+ type EslintCommunityEslintCommentsNoUse = []|[{
5550
+ allow?: ("eslint" | "eslint-disable" | "eslint-disable-line" | "eslint-disable-next-line" | "eslint-enable" | "eslint-env" | "exported" | "global" | "globals")[]
5551
+ }]
5552
+ // ----- @eslint-community/eslint-comments/require-description -----
5553
+ type EslintCommunityEslintCommentsRequireDescription = []|[{
5554
+ ignore?: ("eslint" | "eslint-disable" | "eslint-disable-line" | "eslint-disable-next-line" | "eslint-enable" | "eslint-env" | "exported" | "global" | "globals")[]
5555
+ }]
5492
5556
  // ----- @typescript-eslint/array-type -----
5493
5557
  type TypescriptEslintArrayType = []|[{
5494
5558
 
@@ -6594,20 +6658,6 @@ type EolLast = []|[("always" | "never" | "unix" | "windows")]
6594
6658
  type Eqeqeq = ([]|["always"]|["always", {
6595
6659
  null?: ("always" | "never" | "ignore")
6596
6660
  }] | []|[("smart" | "allow-null")])
6597
- // ----- eslint-comments/disable-enable-pair -----
6598
- type EslintCommentsDisableEnablePair = []|[{
6599
- allowWholeFile?: boolean
6600
- }]
6601
- // ----- eslint-comments/no-restricted-disable -----
6602
- type EslintCommentsNoRestrictedDisable = string[]
6603
- // ----- eslint-comments/no-use -----
6604
- type EslintCommentsNoUse = []|[{
6605
- allow?: ("eslint" | "eslint-disable" | "eslint-disable-line" | "eslint-disable-next-line" | "eslint-enable" | "eslint-env" | "exported" | "global" | "globals")[]
6606
- }]
6607
- // ----- eslint-comments/require-description -----
6608
- type EslintCommentsRequireDescription = []|[{
6609
- ignore?: ("eslint" | "eslint-disable" | "eslint-disable-line" | "eslint-disable-next-line" | "eslint-enable" | "eslint-env" | "exported" | "global" | "globals")[]
6610
- }]
6611
6661
  // ----- func-call-spacing -----
6612
6662
  type FuncCallSpacing = ([]|["never"] | []|["always"]|["always", {
6613
6663
  allowNewlines?: boolean
@@ -6835,6 +6885,11 @@ type ImportNoRelativeParentImports = []|[{
6835
6885
 
6836
6886
  ignore?: [string, ...(string)[]]
6837
6887
  }]
6888
+ // ----- import/no-rename-default -----
6889
+ type ImportNoRenameDefault = []|[{
6890
+ commonjs?: boolean
6891
+ preventRenamingBindings?: boolean
6892
+ }]
6838
6893
  // ----- import/no-restricted-paths -----
6839
6894
  type ImportNoRestrictedPaths = []|[{
6840
6895
 
@@ -8797,6 +8852,7 @@ type TestNoLargeSnapshots = []|[{
8797
8852
  type TestNoOnlyTests = []|[{
8798
8853
  block?: string[]
8799
8854
  focus?: string[]
8855
+ functions?: string[]
8800
8856
  fix?: boolean
8801
8857
  }]
8802
8858
  // ----- test/no-restricted-matchers -----
@@ -8809,7 +8865,8 @@ type TestNoRestrictedViMethods = []|[{
8809
8865
  }]
8810
8866
  // ----- test/no-standalone-expect -----
8811
8867
  type TestNoStandaloneExpect = []|[{
8812
- additionalTestBlockFunctions?: string[]
8868
+ additionaltestblockfunctions?: string[]
8869
+ [k: string]: unknown | undefined
8813
8870
  }]
8814
8871
  // ----- test/prefer-expect-assertions -----
8815
8872
  type TestPreferExpectAssertions = []|[{
@@ -10254,7 +10311,7 @@ type Yoda = []|[("always" | "never")]|[("always" | "never"), {
10254
10311
  onlyEquality?: boolean
10255
10312
  }]
10256
10313
  // Names of all the configs
10257
- type ConfigNames = 'eslint-comments' | 'formatter/setup' | 'formatter/css' | 'formatter/scss' | 'formatter/less' | 'formatter/graphql' | 'formatter/html' | 'formatter/markdown' | 'imports' | 'javascript/rules' | 'javascript/disables/cli' | 'javascript/disables/test' | 'jsonc' | 'node' | 'regexp' | 'sort/package-json' | 'test' | 'typescript/setup' | 'typescript/parser' | 'typescript/rules' | 'typescript/disables/dts' | 'typescript/disables/test' | 'typescript/disables/cjs' | 'unicorn' | 'unocss' | 'vue'
10314
+ type ConfigNames = '@eslint-community/eslint-comments' | 'formatter/setup' | 'formatter/css' | 'formatter/scss' | 'formatter/less' | 'formatter/graphql' | 'formatter/html' | 'formatter/markdown' | 'imports' | 'javascript/rules' | 'javascript/disables/cli' | 'javascript/disables/test' | 'jsonc' | 'node' | 'regexp' | 'sort/package-json' | 'test' | 'typescript/setup' | 'typescript/parser' | 'typescript/rules' | 'typescript/disables/dts' | 'typescript/disables/test' | 'typescript/disables/cjs' | 'unicorn' | 'unocss' | 'vue'
10258
10315
 
10259
10316
  type Awaitable<T> = T | Promise<T>;
10260
10317
  type Rules = RuleOptions;
@@ -10330,6 +10387,10 @@ interface OptionsTypeScriptWithTypes {
10330
10387
  * @see https://typescript-eslint.io/linting/typed-linting/
10331
10388
  */
10332
10389
  tsconfigPath?: string;
10390
+ /**
10391
+ * Override type aware rules.
10392
+ */
10393
+ overridesTypeAware?: TypedFlatConfigItem["rules"];
10333
10394
  }
10334
10395
  interface OptionsHasTypeScript {
10335
10396
  typescript?: boolean;