@bfra.me/eslint-config 0.12.2 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/lib/index.d.ts +170 -99
  2. package/package.json +8 -8
  3. package/src/rules.d.ts +170 -99
package/lib/index.d.ts CHANGED
@@ -981,233 +981,233 @@ interface Rules {
981
981
  'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>
982
982
  /**
983
983
  * Enforce or ban the use of inline type-only markers for named imports.
984
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/consistent-type-specifier-style.md
984
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/consistent-type-specifier-style.md
985
985
  */
986
986
  'import-x/consistent-type-specifier-style'?: Linter.RuleEntry<ImportXConsistentTypeSpecifierStyle>
987
987
  /**
988
988
  * Ensure a default export is present, given a default import.
989
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/default.md
989
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/default.md
990
990
  */
991
991
  'import-x/default'?: Linter.RuleEntry<[]>
992
992
  /**
993
993
  * Enforce a leading comment with the webpackChunkName for dynamic imports.
994
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/dynamic-import-chunkname.md
994
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/dynamic-import-chunkname.md
995
995
  */
996
996
  'import-x/dynamic-import-chunkname'?: Linter.RuleEntry<ImportXDynamicImportChunkname>
997
997
  /**
998
998
  * Forbid any invalid exports, i.e. re-export of the same name.
999
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/export.md
999
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/export.md
1000
1000
  */
1001
1001
  'import-x/export'?: Linter.RuleEntry<[]>
1002
1002
  /**
1003
1003
  * Ensure all exports appear after other statements.
1004
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/exports-last.md
1004
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/exports-last.md
1005
1005
  */
1006
1006
  'import-x/exports-last'?: Linter.RuleEntry<[]>
1007
1007
  /**
1008
1008
  * Ensure consistent use of file extension within the import path.
1009
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/extensions.md
1009
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/extensions.md
1010
1010
  */
1011
1011
  'import-x/extensions'?: Linter.RuleEntry<ImportXExtensions>
1012
1012
  /**
1013
1013
  * Ensure all imports appear before other statements.
1014
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/first.md
1014
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/first.md
1015
1015
  */
1016
1016
  'import-x/first'?: Linter.RuleEntry<ImportXFirst>
1017
1017
  /**
1018
1018
  * Prefer named exports to be grouped together in a single export declaration.
1019
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/group-exports.md
1019
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/group-exports.md
1020
1020
  */
1021
1021
  'import-x/group-exports'?: Linter.RuleEntry<[]>
1022
1022
  /**
1023
1023
  * Replaced by `import-x/first`.
1024
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/imports-first.md
1024
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/imports-first.md
1025
1025
  * @deprecated
1026
1026
  */
1027
1027
  'import-x/imports-first'?: Linter.RuleEntry<ImportXImportsFirst>
1028
1028
  /**
1029
1029
  * Enforce the maximum number of dependencies a module can have.
1030
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/max-dependencies.md
1030
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/max-dependencies.md
1031
1031
  */
1032
1032
  'import-x/max-dependencies'?: Linter.RuleEntry<ImportXMaxDependencies>
1033
1033
  /**
1034
1034
  * Ensure named imports correspond to a named export in the remote file.
1035
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/named.md
1035
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/named.md
1036
1036
  */
1037
1037
  'import-x/named'?: Linter.RuleEntry<ImportXNamed>
1038
1038
  /**
1039
1039
  * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
1040
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/namespace.md
1040
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/namespace.md
1041
1041
  */
1042
1042
  'import-x/namespace'?: Linter.RuleEntry<ImportXNamespace>
1043
1043
  /**
1044
1044
  * Enforce a newline after import statements.
1045
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/newline-after-import.md
1045
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/newline-after-import.md
1046
1046
  */
1047
1047
  'import-x/newline-after-import'?: Linter.RuleEntry<ImportXNewlineAfterImport>
1048
1048
  /**
1049
1049
  * Forbid import of modules using absolute paths.
1050
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-absolute-path.md
1050
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-absolute-path.md
1051
1051
  */
1052
1052
  'import-x/no-absolute-path'?: Linter.RuleEntry<ImportXNoAbsolutePath>
1053
1053
  /**
1054
1054
  * Forbid AMD `require` and `define` calls.
1055
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-amd.md
1055
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-amd.md
1056
1056
  */
1057
1057
  'import-x/no-amd'?: Linter.RuleEntry<[]>
1058
1058
  /**
1059
1059
  * Forbid anonymous values as default exports.
1060
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-anonymous-default-export.md
1060
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-anonymous-default-export.md
1061
1061
  */
1062
1062
  'import-x/no-anonymous-default-export'?: Linter.RuleEntry<ImportXNoAnonymousDefaultExport>
1063
1063
  /**
1064
1064
  * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
1065
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-commonjs.md
1065
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-commonjs.md
1066
1066
  */
1067
1067
  'import-x/no-commonjs'?: Linter.RuleEntry<ImportXNoCommonjs>
1068
1068
  /**
1069
1069
  * Forbid a module from importing a module with a dependency path back to itself.
1070
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-cycle.md
1070
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-cycle.md
1071
1071
  */
1072
1072
  'import-x/no-cycle'?: Linter.RuleEntry<ImportXNoCycle>
1073
1073
  /**
1074
1074
  * Forbid default exports.
1075
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-default-export.md
1075
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-default-export.md
1076
1076
  */
1077
1077
  'import-x/no-default-export'?: Linter.RuleEntry<[]>
1078
1078
  /**
1079
1079
  * Forbid imported names marked with `@deprecated` documentation tag.
1080
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-deprecated.md
1080
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-deprecated.md
1081
1081
  */
1082
1082
  'import-x/no-deprecated'?: Linter.RuleEntry<[]>
1083
1083
  /**
1084
1084
  * Forbid repeated import of the same module in multiple places.
1085
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-duplicates.md
1085
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-duplicates.md
1086
1086
  */
1087
1087
  'import-x/no-duplicates'?: Linter.RuleEntry<ImportXNoDuplicates>
1088
1088
  /**
1089
1089
  * Forbid `require()` calls with expressions.
1090
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-dynamic-require.md
1090
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-dynamic-require.md
1091
1091
  */
1092
1092
  'import-x/no-dynamic-require'?: Linter.RuleEntry<ImportXNoDynamicRequire>
1093
1093
  /**
1094
1094
  * Forbid empty named import blocks.
1095
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-empty-named-blocks.md
1095
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-empty-named-blocks.md
1096
1096
  */
1097
1097
  'import-x/no-empty-named-blocks'?: Linter.RuleEntry<[]>
1098
1098
  /**
1099
1099
  * Forbid the use of extraneous packages.
1100
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-extraneous-dependencies.md
1100
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-extraneous-dependencies.md
1101
1101
  */
1102
1102
  'import-x/no-extraneous-dependencies'?: Linter.RuleEntry<ImportXNoExtraneousDependencies>
1103
1103
  /**
1104
1104
  * Forbid import statements with CommonJS module.exports.
1105
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-import-module-exports.md
1105
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-import-module-exports.md
1106
1106
  */
1107
1107
  'import-x/no-import-module-exports'?: Linter.RuleEntry<ImportXNoImportModuleExports>
1108
1108
  /**
1109
1109
  * Forbid importing the submodules of other modules.
1110
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-internal-modules.md
1110
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-internal-modules.md
1111
1111
  */
1112
1112
  'import-x/no-internal-modules'?: Linter.RuleEntry<ImportXNoInternalModules>
1113
1113
  /**
1114
1114
  * Forbid the use of mutable exports with `var` or `let`.
1115
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-mutable-exports.md
1115
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-mutable-exports.md
1116
1116
  */
1117
1117
  'import-x/no-mutable-exports'?: Linter.RuleEntry<[]>
1118
1118
  /**
1119
1119
  * Forbid use of exported name as identifier of default export.
1120
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-named-as-default.md
1120
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-named-as-default.md
1121
1121
  */
1122
1122
  'import-x/no-named-as-default'?: Linter.RuleEntry<[]>
1123
1123
  /**
1124
1124
  * Forbid use of exported name as property of default export.
1125
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-named-as-default-member.md
1125
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-named-as-default-member.md
1126
1126
  */
1127
1127
  'import-x/no-named-as-default-member'?: Linter.RuleEntry<[]>
1128
1128
  /**
1129
1129
  * Forbid named default exports.
1130
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-named-default.md
1130
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-named-default.md
1131
1131
  */
1132
1132
  'import-x/no-named-default'?: Linter.RuleEntry<[]>
1133
1133
  /**
1134
1134
  * Forbid named exports.
1135
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-named-export.md
1135
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-named-export.md
1136
1136
  */
1137
1137
  'import-x/no-named-export'?: Linter.RuleEntry<[]>
1138
1138
  /**
1139
1139
  * Forbid namespace (a.k.a. "wildcard" `*`) imports.
1140
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-namespace.md
1140
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-namespace.md
1141
1141
  */
1142
1142
  'import-x/no-namespace'?: Linter.RuleEntry<ImportXNoNamespace>
1143
1143
  /**
1144
1144
  * Forbid Node.js builtin modules.
1145
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-nodejs-modules.md
1145
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-nodejs-modules.md
1146
1146
  */
1147
1147
  'import-x/no-nodejs-modules'?: Linter.RuleEntry<ImportXNoNodejsModules>
1148
1148
  /**
1149
1149
  * Forbid importing packages through relative paths.
1150
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-relative-packages.md
1150
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-relative-packages.md
1151
1151
  */
1152
1152
  'import-x/no-relative-packages'?: Linter.RuleEntry<ImportXNoRelativePackages>
1153
1153
  /**
1154
1154
  * Forbid importing modules from parent directories.
1155
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-relative-parent-imports.md
1155
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-relative-parent-imports.md
1156
1156
  */
1157
1157
  'import-x/no-relative-parent-imports'?: Linter.RuleEntry<ImportXNoRelativeParentImports>
1158
1158
  /**
1159
1159
  * Forbid importing a default export by a different name.
1160
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-rename-default.md
1160
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-rename-default.md
1161
1161
  */
1162
1162
  'import-x/no-rename-default'?: Linter.RuleEntry<ImportXNoRenameDefault>
1163
1163
  /**
1164
1164
  * Enforce which files can be imported in a given folder.
1165
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-restricted-paths.md
1165
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-restricted-paths.md
1166
1166
  */
1167
1167
  'import-x/no-restricted-paths'?: Linter.RuleEntry<ImportXNoRestrictedPaths>
1168
1168
  /**
1169
1169
  * Forbid a module from importing itself.
1170
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-self-import.md
1170
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-self-import.md
1171
1171
  */
1172
1172
  'import-x/no-self-import'?: Linter.RuleEntry<[]>
1173
1173
  /**
1174
1174
  * Forbid unassigned imports.
1175
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-unassigned-import.md
1175
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-unassigned-import.md
1176
1176
  */
1177
1177
  'import-x/no-unassigned-import'?: Linter.RuleEntry<ImportXNoUnassignedImport>
1178
1178
  /**
1179
1179
  * Ensure imports point to a file/module that can be resolved.
1180
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-unresolved.md
1180
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-unresolved.md
1181
1181
  */
1182
1182
  'import-x/no-unresolved'?: Linter.RuleEntry<ImportXNoUnresolved>
1183
1183
  /**
1184
1184
  * Forbid modules without exports, or exports without matching import in another module.
1185
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-unused-modules.md
1185
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-unused-modules.md
1186
1186
  */
1187
1187
  'import-x/no-unused-modules'?: Linter.RuleEntry<ImportXNoUnusedModules>
1188
1188
  /**
1189
1189
  * Forbid unnecessary path segments in import and require statements.
1190
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-useless-path-segments.md
1190
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-useless-path-segments.md
1191
1191
  */
1192
1192
  'import-x/no-useless-path-segments'?: Linter.RuleEntry<ImportXNoUselessPathSegments>
1193
1193
  /**
1194
1194
  * Forbid webpack loader syntax in imports.
1195
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/no-webpack-loader-syntax.md
1195
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-webpack-loader-syntax.md
1196
1196
  */
1197
1197
  'import-x/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>
1198
1198
  /**
1199
1199
  * Enforce a convention in module import order.
1200
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/order.md
1200
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/order.md
1201
1201
  */
1202
1202
  'import-x/order'?: Linter.RuleEntry<ImportXOrder>
1203
1203
  /**
1204
1204
  * Prefer a default export if module exports a single name or multiple names.
1205
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/prefer-default-export.md
1205
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/prefer-default-export.md
1206
1206
  */
1207
1207
  'import-x/prefer-default-export'?: Linter.RuleEntry<ImportXPreferDefaultExport>
1208
1208
  /**
1209
1209
  * Forbid potentially ambiguous parse goal (`script` vs. `module`).
1210
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.1/docs/rules/unambiguous.md
1210
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/unambiguous.md
1211
1211
  */
1212
1212
  'import-x/unambiguous'?: Linter.RuleEntry<[]>
1213
1213
  /**
@@ -4805,7 +4805,7 @@ interface Rules {
4805
4805
  */
4806
4806
  'vitest/prefer-todo'?: Linter.RuleEntry<[]>
4807
4807
  /**
4808
- * Prefer `vi.mocked()` over `fn as Mock`
4808
+ * require `vi.mocked()` over `fn as Mock`
4809
4809
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-vi-mocked.md
4810
4810
  */
4811
4811
  'vitest/prefer-vi-mocked'?: Linter.RuleEntry<[]>
@@ -4840,7 +4840,7 @@ interface Rules {
4840
4840
  */
4841
4841
  'vitest/valid-expect'?: Linter.RuleEntry<VitestValidExpect>
4842
4842
  /**
4843
- * Require promises that have expectations in their chain to be valid
4843
+ * require promises that have expectations in their chain to be valid
4844
4844
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-expect-in-promise.md
4845
4845
  */
4846
4846
  'vitest/valid-expect-in-promise'?: Linter.RuleEntry<[]>
@@ -8657,12 +8657,43 @@ type PaddingLineBetweenStatements = {
8657
8657
  next: _PaddingLineBetweenStatementsStatementType
8658
8658
  }[]
8659
8659
  // ----- perfectionist/sort-array-includes -----
8660
- type PerfectionistSortArrayIncludes = []|[{
8660
+ type PerfectionistSortArrayIncludes = {
8661
8661
 
8662
8662
  partitionByComment?: (string[] | boolean | string)
8663
8663
 
8664
8664
  groupKind?: ("mixed" | "literals-first" | "spreads-first")
8665
8665
 
8666
+ customGroups?: ({
8667
+
8668
+ groupName?: string
8669
+
8670
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
8671
+
8672
+ order?: ("desc" | "asc")
8673
+ anyOf?: {
8674
+
8675
+ selector?: ("literal" | "spread")
8676
+
8677
+ elementNamePattern?: string
8678
+ }[]
8679
+ } | {
8680
+
8681
+ groupName?: string
8682
+
8683
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
8684
+
8685
+ order?: ("desc" | "asc")
8686
+
8687
+ selector?: ("literal" | "spread")
8688
+
8689
+ elementNamePattern?: string
8690
+ })[]
8691
+ useConfigurationIf?: {
8692
+ allNamesMatchPattern?: string
8693
+ }
8694
+
8695
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
8696
+
8666
8697
  partitionByNewLine?: boolean
8667
8698
 
8668
8699
  specialCharacters?: ("remove" | "trim" | "keep")
@@ -8673,10 +8704,10 @@ type PerfectionistSortArrayIncludes = []|[{
8673
8704
 
8674
8705
  locales?: (string | string[])
8675
8706
 
8676
- order?: ("asc" | "desc")
8707
+ groups?: (string | string[])[]
8677
8708
 
8678
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
8679
- }]
8709
+ order?: ("asc" | "desc")
8710
+ }[]
8680
8711
  // ----- perfectionist/sort-classes -----
8681
8712
  type PerfectionistSortClasses = []|[{
8682
8713
 
@@ -8732,13 +8763,13 @@ type PerfectionistSortClasses = []|[{
8732
8763
 
8733
8764
  alphabet?: string
8734
8765
 
8766
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
8767
+
8735
8768
  locales?: (string | string[])
8736
8769
 
8737
8770
  groups?: (string | string[])[]
8738
8771
 
8739
8772
  order?: ("asc" | "desc")
8740
-
8741
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
8742
8773
  }]
8743
8774
  // ----- perfectionist/sort-decorators -----
8744
8775
  type PerfectionistSortDecorators = []|[{
@@ -8765,13 +8796,13 @@ type PerfectionistSortDecorators = []|[{
8765
8796
 
8766
8797
  alphabet?: string
8767
8798
 
8799
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
8800
+
8768
8801
  locales?: (string | string[])
8769
8802
 
8770
8803
  groups?: (string | string[])[]
8771
8804
 
8772
8805
  order?: ("asc" | "desc")
8773
-
8774
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
8775
8806
  }]
8776
8807
  // ----- perfectionist/sort-enums -----
8777
8808
  type PerfectionistSortEnums = []|[{
@@ -8790,11 +8821,11 @@ type PerfectionistSortEnums = []|[{
8790
8821
 
8791
8822
  alphabet?: string
8792
8823
 
8824
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
8825
+
8793
8826
  locales?: (string | string[])
8794
8827
 
8795
8828
  order?: ("asc" | "desc")
8796
-
8797
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
8798
8829
  }]
8799
8830
  // ----- perfectionist/sort-exports -----
8800
8831
  type PerfectionistSortExports = []|[{
@@ -8811,11 +8842,11 @@ type PerfectionistSortExports = []|[{
8811
8842
 
8812
8843
  alphabet?: string
8813
8844
 
8845
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
8846
+
8814
8847
  locales?: (string | string[])
8815
8848
 
8816
8849
  order?: ("asc" | "desc")
8817
-
8818
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
8819
8850
  }]
8820
8851
  // ----- perfectionist/sort-heritage-clauses -----
8821
8852
  type PerfectionistSortHeritageClauses = []|[{
@@ -8830,13 +8861,13 @@ type PerfectionistSortHeritageClauses = []|[{
8830
8861
 
8831
8862
  alphabet?: string
8832
8863
 
8864
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
8865
+
8833
8866
  locales?: (string | string[])
8834
8867
 
8835
8868
  groups?: (string | string[])[]
8836
8869
 
8837
8870
  order?: ("asc" | "desc")
8838
-
8839
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
8840
8871
  }]
8841
8872
  // ----- perfectionist/sort-imports -----
8842
8873
  type PerfectionistSortImports = []|[_PerfectionistSortImportsSortImports]
@@ -8875,13 +8906,13 @@ type _PerfectionistSortImportsSortImports = (_PerfectionistSortImportsMaxLineLen
8875
8906
 
8876
8907
  alphabet?: string
8877
8908
 
8909
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
8910
+
8878
8911
  locales?: (string | string[])
8879
8912
 
8880
8913
  groups?: (string | string[])[]
8881
8914
 
8882
8915
  order?: ("asc" | "desc")
8883
-
8884
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
8885
8916
  })
8886
8917
  type _PerfectionistSortImportsMaxLineLengthRequiresLineLengthType = ({
8887
8918
  [k: string]: unknown | undefined
@@ -8891,9 +8922,13 @@ interface _PerfectionistSortImports_IsLineLength {
8891
8922
  [k: string]: unknown | undefined
8892
8923
  }
8893
8924
  // ----- perfectionist/sort-interfaces -----
8894
- type PerfectionistSortInterfaces = []|[{
8925
+ type PerfectionistSortInterfaces = {
8895
8926
 
8896
8927
  ignorePattern?: string[]
8928
+ useConfigurationIf?: {
8929
+ allNamesMatchPattern?: string
8930
+ declarationMatchesPattern?: string
8931
+ }
8897
8932
 
8898
8933
  partitionByComment?: (string[] | boolean | string)
8899
8934
  customGroups?: ({
@@ -8930,6 +8965,8 @@ type PerfectionistSortInterfaces = []|[{
8930
8965
 
8931
8966
  groupKind?: ("mixed" | "required-first" | "optional-first")
8932
8967
 
8968
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
8969
+
8933
8970
  partitionByNewLine?: boolean
8934
8971
 
8935
8972
  specialCharacters?: ("remove" | "trim" | "keep")
@@ -8945,9 +8982,7 @@ type PerfectionistSortInterfaces = []|[{
8945
8982
  groups?: (string | string[])[]
8946
8983
 
8947
8984
  order?: ("asc" | "desc")
8948
-
8949
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
8950
- }]
8985
+ }[]
8951
8986
  // ----- perfectionist/sort-intersection-types -----
8952
8987
  type PerfectionistSortIntersectionTypes = []|[{
8953
8988
 
@@ -8963,13 +8998,13 @@ type PerfectionistSortIntersectionTypes = []|[{
8963
8998
 
8964
8999
  alphabet?: string
8965
9000
 
9001
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
9002
+
8966
9003
  locales?: (string | string[])
8967
9004
 
8968
9005
  groups?: (string | string[])[]
8969
9006
 
8970
9007
  order?: ("asc" | "desc")
8971
-
8972
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
8973
9008
  }]
8974
9009
  // ----- perfectionist/sort-jsx-props -----
8975
9010
  type PerfectionistSortJsxProps = []|[{
@@ -8986,13 +9021,13 @@ type PerfectionistSortJsxProps = []|[{
8986
9021
 
8987
9022
  alphabet?: string
8988
9023
 
9024
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
9025
+
8989
9026
  locales?: (string | string[])
8990
9027
 
8991
9028
  groups?: (string | string[])[]
8992
9029
 
8993
9030
  order?: ("asc" | "desc")
8994
-
8995
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
8996
9031
  }]
8997
9032
  // ----- perfectionist/sort-maps -----
8998
9033
  type PerfectionistSortMaps = []|[{
@@ -9007,11 +9042,11 @@ type PerfectionistSortMaps = []|[{
9007
9042
 
9008
9043
  alphabet?: string
9009
9044
 
9045
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
9046
+
9010
9047
  locales?: (string | string[])
9011
9048
 
9012
9049
  order?: ("asc" | "desc")
9013
-
9014
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
9015
9050
  }]
9016
9051
  // ----- perfectionist/sort-modules -----
9017
9052
  type PerfectionistSortModules = []|[{
@@ -9062,13 +9097,13 @@ type PerfectionistSortModules = []|[{
9062
9097
 
9063
9098
  alphabet?: string
9064
9099
 
9100
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
9101
+
9065
9102
  locales?: (string | string[])
9066
9103
 
9067
9104
  groups?: (string | string[])[]
9068
9105
 
9069
9106
  order?: ("asc" | "desc")
9070
-
9071
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
9072
9107
  }]
9073
9108
  // ----- perfectionist/sort-named-exports -----
9074
9109
  type PerfectionistSortNamedExports = []|[{
@@ -9085,11 +9120,11 @@ type PerfectionistSortNamedExports = []|[{
9085
9120
 
9086
9121
  alphabet?: string
9087
9122
 
9123
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
9124
+
9088
9125
  locales?: (string | string[])
9089
9126
 
9090
9127
  order?: ("asc" | "desc")
9091
-
9092
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
9093
9128
  }]
9094
9129
  // ----- perfectionist/sort-named-imports -----
9095
9130
  type PerfectionistSortNamedImports = []|[{
@@ -9108,16 +9143,20 @@ type PerfectionistSortNamedImports = []|[{
9108
9143
 
9109
9144
  alphabet?: string
9110
9145
 
9146
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
9147
+
9111
9148
  locales?: (string | string[])
9112
9149
 
9113
9150
  order?: ("asc" | "desc")
9114
-
9115
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
9116
9151
  }]
9117
9152
  // ----- perfectionist/sort-object-types -----
9118
- type PerfectionistSortObjectTypes = []|[{
9153
+ type PerfectionistSortObjectTypes = {
9119
9154
 
9120
9155
  ignorePattern?: string[]
9156
+ useConfigurationIf?: {
9157
+ allNamesMatchPattern?: string
9158
+ declarationMatchesPattern?: string
9159
+ }
9121
9160
 
9122
9161
  partitionByComment?: (string[] | boolean | string)
9123
9162
  customGroups?: ({
@@ -9154,6 +9193,8 @@ type PerfectionistSortObjectTypes = []|[{
9154
9193
 
9155
9194
  groupKind?: ("mixed" | "required-first" | "optional-first")
9156
9195
 
9196
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
9197
+
9157
9198
  partitionByNewLine?: boolean
9158
9199
 
9159
9200
  specialCharacters?: ("remove" | "trim" | "keep")
@@ -9169,9 +9210,7 @@ type PerfectionistSortObjectTypes = []|[{
9169
9210
  groups?: (string | string[])[]
9170
9211
 
9171
9212
  order?: ("asc" | "desc")
9172
-
9173
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
9174
- }]
9213
+ }[]
9175
9214
  // ----- perfectionist/sort-objects -----
9176
9215
  type PerfectionistSortObjects = {
9177
9216
 
@@ -9181,6 +9220,10 @@ type PerfectionistSortObjects = {
9181
9220
  })
9182
9221
 
9183
9222
  ignorePattern?: string[]
9223
+ useConfigurationIf?: {
9224
+ allNamesMatchPattern?: string
9225
+ callingFunctionNamePattern?: string
9226
+ }
9184
9227
 
9185
9228
  partitionByComment?: (string[] | boolean | string)
9186
9229
 
@@ -9190,10 +9233,9 @@ type PerfectionistSortObjects = {
9190
9233
 
9191
9234
  styledComponents?: boolean
9192
9235
 
9236
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
9237
+
9193
9238
  partitionByNewLine?: boolean
9194
- useConfigurationIf?: {
9195
- allNamesMatchPattern?: string
9196
- }
9197
9239
 
9198
9240
  specialCharacters?: ("remove" | "trim" | "keep")
9199
9241
 
@@ -9212,16 +9254,45 @@ type PerfectionistSortObjects = {
9212
9254
  groups?: (string | string[])[]
9213
9255
 
9214
9256
  order?: ("asc" | "desc")
9215
-
9216
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
9217
9257
  }[]
9218
9258
  // ----- perfectionist/sort-sets -----
9219
- type PerfectionistSortSets = []|[{
9259
+ type PerfectionistSortSets = {
9220
9260
 
9221
9261
  partitionByComment?: (string[] | boolean | string)
9222
9262
 
9223
9263
  groupKind?: ("mixed" | "literals-first" | "spreads-first")
9224
9264
 
9265
+ customGroups?: ({
9266
+
9267
+ groupName?: string
9268
+
9269
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
9270
+
9271
+ order?: ("desc" | "asc")
9272
+ anyOf?: {
9273
+
9274
+ selector?: ("literal" | "spread")
9275
+
9276
+ elementNamePattern?: string
9277
+ }[]
9278
+ } | {
9279
+
9280
+ groupName?: string
9281
+
9282
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
9283
+
9284
+ order?: ("desc" | "asc")
9285
+
9286
+ selector?: ("literal" | "spread")
9287
+
9288
+ elementNamePattern?: string
9289
+ })[]
9290
+ useConfigurationIf?: {
9291
+ allNamesMatchPattern?: string
9292
+ }
9293
+
9294
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
9295
+
9225
9296
  partitionByNewLine?: boolean
9226
9297
 
9227
9298
  specialCharacters?: ("remove" | "trim" | "keep")
@@ -9232,10 +9303,10 @@ type PerfectionistSortSets = []|[{
9232
9303
 
9233
9304
  locales?: (string | string[])
9234
9305
 
9235
- order?: ("asc" | "desc")
9306
+ groups?: (string | string[])[]
9236
9307
 
9237
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
9238
- }]
9308
+ order?: ("asc" | "desc")
9309
+ }[]
9239
9310
  // ----- perfectionist/sort-switch-case -----
9240
9311
  type PerfectionistSortSwitchCase = []|[{
9241
9312
 
@@ -9245,11 +9316,11 @@ type PerfectionistSortSwitchCase = []|[{
9245
9316
 
9246
9317
  alphabet?: string
9247
9318
 
9319
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
9320
+
9248
9321
  locales?: (string | string[])
9249
9322
 
9250
9323
  order?: ("asc" | "desc")
9251
-
9252
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
9253
9324
  }]
9254
9325
  // ----- perfectionist/sort-union-types -----
9255
9326
  type PerfectionistSortUnionTypes = []|[{
@@ -9266,13 +9337,13 @@ type PerfectionistSortUnionTypes = []|[{
9266
9337
 
9267
9338
  alphabet?: string
9268
9339
 
9340
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
9341
+
9269
9342
  locales?: (string | string[])
9270
9343
 
9271
9344
  groups?: (string | string[])[]
9272
9345
 
9273
9346
  order?: ("asc" | "desc")
9274
-
9275
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
9276
9347
  }]
9277
9348
  // ----- perfectionist/sort-variable-declarations -----
9278
9349
  type PerfectionistSortVariableDeclarations = []|[{
@@ -9287,11 +9358,11 @@ type PerfectionistSortVariableDeclarations = []|[{
9287
9358
 
9288
9359
  alphabet?: string
9289
9360
 
9361
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
9362
+
9290
9363
  locales?: (string | string[])
9291
9364
 
9292
9365
  order?: ("asc" | "desc")
9293
-
9294
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
9295
9366
  }]
9296
9367
  // ----- prefer-arrow-callback -----
9297
9368
  type PreferArrowCallback = []|[{