@sxzz/eslint-config 4.1.4 → 4.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.d.ts +132 -60
  2. package/package.json +9 -9
package/dist/index.d.ts CHANGED
@@ -672,6 +672,11 @@ interface Rules {
672
672
  * @see https://eslint.org/docs/latest/rules/accessor-pairs
673
673
  */
674
674
  'accessor-pairs'?: Linter.RuleEntry<AccessorPairs>;
675
+ /**
676
+ * Having line breaks styles to object, array and named imports
677
+ * @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/consistent-chaining.md
678
+ */
679
+ 'antfu/consistent-chaining'?: Linter.RuleEntry<AntfuConsistentChaining>;
675
680
  /**
676
681
  * Having line breaks styles to object, array and named imports
677
682
  * @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/consistent-list-newline.md
@@ -679,7 +684,7 @@ interface Rules {
679
684
  'antfu/consistent-list-newline'?: Linter.RuleEntry<AntfuConsistentListNewline>;
680
685
  /**
681
686
  * Enforce Anthony's style of curly bracket
682
- * @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/curly.test.ts
687
+ * @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/curly.md
683
688
  */
684
689
  'antfu/curly'?: Linter.RuleEntry<[]>;
685
690
  /**
@@ -694,7 +699,7 @@ interface Rules {
694
699
  'antfu/import-dedupe'?: Linter.RuleEntry<[]>;
695
700
  /**
696
701
  * Enforce consistent indentation in `unindent` template tag
697
- * @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/indent-unindent.test.ts
702
+ * @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/indent-unindent.md
698
703
  */
699
704
  'antfu/indent-unindent'?: Linter.RuleEntry<AntfuIndentUnindent>;
700
705
  /**
@@ -1031,233 +1036,233 @@ interface Rules {
1031
1036
  'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>;
1032
1037
  /**
1033
1038
  * Enforce or ban the use of inline type-only markers for named imports.
1034
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/consistent-type-specifier-style.md
1039
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/consistent-type-specifier-style.md
1035
1040
  */
1036
1041
  'import/consistent-type-specifier-style'?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>;
1037
1042
  /**
1038
1043
  * Ensure a default export is present, given a default import.
1039
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/default.md
1044
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/default.md
1040
1045
  */
1041
1046
  'import/default'?: Linter.RuleEntry<[]>;
1042
1047
  /**
1043
1048
  * Enforce a leading comment with the webpackChunkName for dynamic imports.
1044
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/dynamic-import-chunkname.md
1049
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/dynamic-import-chunkname.md
1045
1050
  */
1046
1051
  'import/dynamic-import-chunkname'?: Linter.RuleEntry<ImportDynamicImportChunkname>;
1047
1052
  /**
1048
1053
  * Forbid any invalid exports, i.e. re-export of the same name.
1049
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/export.md
1054
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/export.md
1050
1055
  */
1051
1056
  'import/export'?: Linter.RuleEntry<[]>;
1052
1057
  /**
1053
1058
  * Ensure all exports appear after other statements.
1054
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/exports-last.md
1059
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/exports-last.md
1055
1060
  */
1056
1061
  'import/exports-last'?: Linter.RuleEntry<[]>;
1057
1062
  /**
1058
1063
  * Ensure consistent use of file extension within the import path.
1059
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/extensions.md
1064
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/extensions.md
1060
1065
  */
1061
1066
  'import/extensions'?: Linter.RuleEntry<ImportExtensions>;
1062
1067
  /**
1063
1068
  * Ensure all imports appear before other statements.
1064
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/first.md
1069
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/first.md
1065
1070
  */
1066
1071
  'import/first'?: Linter.RuleEntry<ImportFirst>;
1067
1072
  /**
1068
1073
  * Prefer named exports to be grouped together in a single export declaration.
1069
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/group-exports.md
1074
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/group-exports.md
1070
1075
  */
1071
1076
  'import/group-exports'?: Linter.RuleEntry<[]>;
1072
1077
  /**
1073
1078
  * Replaced by `import-x/first`.
1074
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/imports-first.md
1079
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/imports-first.md
1075
1080
  * @deprecated
1076
1081
  */
1077
1082
  'import/imports-first'?: Linter.RuleEntry<ImportImportsFirst>;
1078
1083
  /**
1079
1084
  * Enforce the maximum number of dependencies a module can have.
1080
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/max-dependencies.md
1085
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/max-dependencies.md
1081
1086
  */
1082
1087
  'import/max-dependencies'?: Linter.RuleEntry<ImportMaxDependencies>;
1083
1088
  /**
1084
1089
  * Ensure named imports correspond to a named export in the remote file.
1085
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/named.md
1090
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/named.md
1086
1091
  */
1087
1092
  'import/named'?: Linter.RuleEntry<ImportNamed>;
1088
1093
  /**
1089
1094
  * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
1090
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/namespace.md
1095
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/namespace.md
1091
1096
  */
1092
1097
  'import/namespace'?: Linter.RuleEntry<ImportNamespace>;
1093
1098
  /**
1094
1099
  * Enforce a newline after import statements.
1095
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/newline-after-import.md
1100
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/newline-after-import.md
1096
1101
  */
1097
1102
  'import/newline-after-import'?: Linter.RuleEntry<ImportNewlineAfterImport>;
1098
1103
  /**
1099
1104
  * Forbid import of modules using absolute paths.
1100
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-absolute-path.md
1105
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-absolute-path.md
1101
1106
  */
1102
1107
  'import/no-absolute-path'?: Linter.RuleEntry<ImportNoAbsolutePath>;
1103
1108
  /**
1104
1109
  * Forbid AMD `require` and `define` calls.
1105
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-amd.md
1110
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-amd.md
1106
1111
  */
1107
1112
  'import/no-amd'?: Linter.RuleEntry<[]>;
1108
1113
  /**
1109
1114
  * Forbid anonymous values as default exports.
1110
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-anonymous-default-export.md
1115
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-anonymous-default-export.md
1111
1116
  */
1112
1117
  'import/no-anonymous-default-export'?: Linter.RuleEntry<ImportNoAnonymousDefaultExport>;
1113
1118
  /**
1114
1119
  * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
1115
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-commonjs.md
1120
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-commonjs.md
1116
1121
  */
1117
1122
  'import/no-commonjs'?: Linter.RuleEntry<ImportNoCommonjs>;
1118
1123
  /**
1119
1124
  * Forbid a module from importing a module with a dependency path back to itself.
1120
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-cycle.md
1125
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-cycle.md
1121
1126
  */
1122
1127
  'import/no-cycle'?: Linter.RuleEntry<ImportNoCycle>;
1123
1128
  /**
1124
1129
  * Forbid default exports.
1125
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-default-export.md
1130
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-default-export.md
1126
1131
  */
1127
1132
  'import/no-default-export'?: Linter.RuleEntry<[]>;
1128
1133
  /**
1129
1134
  * Forbid imported names marked with `@deprecated` documentation tag.
1130
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-deprecated.md
1135
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-deprecated.md
1131
1136
  */
1132
1137
  'import/no-deprecated'?: Linter.RuleEntry<[]>;
1133
1138
  /**
1134
1139
  * Forbid repeated import of the same module in multiple places.
1135
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-duplicates.md
1140
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-duplicates.md
1136
1141
  */
1137
1142
  'import/no-duplicates'?: Linter.RuleEntry<ImportNoDuplicates>;
1138
1143
  /**
1139
1144
  * Forbid `require()` calls with expressions.
1140
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-dynamic-require.md
1145
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-dynamic-require.md
1141
1146
  */
1142
1147
  'import/no-dynamic-require'?: Linter.RuleEntry<ImportNoDynamicRequire>;
1143
1148
  /**
1144
1149
  * Forbid empty named import blocks.
1145
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-empty-named-blocks.md
1150
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-empty-named-blocks.md
1146
1151
  */
1147
1152
  'import/no-empty-named-blocks'?: Linter.RuleEntry<[]>;
1148
1153
  /**
1149
1154
  * Forbid the use of extraneous packages.
1150
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-extraneous-dependencies.md
1155
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-extraneous-dependencies.md
1151
1156
  */
1152
1157
  'import/no-extraneous-dependencies'?: Linter.RuleEntry<ImportNoExtraneousDependencies>;
1153
1158
  /**
1154
1159
  * Forbid import statements with CommonJS module.exports.
1155
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-import-module-exports.md
1160
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-import-module-exports.md
1156
1161
  */
1157
1162
  'import/no-import-module-exports'?: Linter.RuleEntry<ImportNoImportModuleExports>;
1158
1163
  /**
1159
1164
  * Forbid importing the submodules of other modules.
1160
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-internal-modules.md
1165
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-internal-modules.md
1161
1166
  */
1162
1167
  'import/no-internal-modules'?: Linter.RuleEntry<ImportNoInternalModules>;
1163
1168
  /**
1164
1169
  * Forbid the use of mutable exports with `var` or `let`.
1165
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-mutable-exports.md
1170
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-mutable-exports.md
1166
1171
  */
1167
1172
  'import/no-mutable-exports'?: Linter.RuleEntry<[]>;
1168
1173
  /**
1169
1174
  * Forbid use of exported name as identifier of default export.
1170
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-named-as-default.md
1175
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-named-as-default.md
1171
1176
  */
1172
1177
  'import/no-named-as-default'?: Linter.RuleEntry<[]>;
1173
1178
  /**
1174
1179
  * Forbid use of exported name as property of default export.
1175
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-named-as-default-member.md
1180
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-named-as-default-member.md
1176
1181
  */
1177
1182
  'import/no-named-as-default-member'?: Linter.RuleEntry<[]>;
1178
1183
  /**
1179
1184
  * Forbid named default exports.
1180
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-named-default.md
1185
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-named-default.md
1181
1186
  */
1182
1187
  'import/no-named-default'?: Linter.RuleEntry<[]>;
1183
1188
  /**
1184
1189
  * Forbid named exports.
1185
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-named-export.md
1190
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-named-export.md
1186
1191
  */
1187
1192
  'import/no-named-export'?: Linter.RuleEntry<[]>;
1188
1193
  /**
1189
1194
  * Forbid namespace (a.k.a. "wildcard" `*`) imports.
1190
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-namespace.md
1195
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-namespace.md
1191
1196
  */
1192
1197
  'import/no-namespace'?: Linter.RuleEntry<ImportNoNamespace>;
1193
1198
  /**
1194
1199
  * Forbid Node.js builtin modules.
1195
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-nodejs-modules.md
1200
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-nodejs-modules.md
1196
1201
  */
1197
1202
  'import/no-nodejs-modules'?: Linter.RuleEntry<ImportNoNodejsModules>;
1198
1203
  /**
1199
1204
  * Forbid importing packages through relative paths.
1200
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-relative-packages.md
1205
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-relative-packages.md
1201
1206
  */
1202
1207
  'import/no-relative-packages'?: Linter.RuleEntry<ImportNoRelativePackages>;
1203
1208
  /**
1204
1209
  * Forbid importing modules from parent directories.
1205
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-relative-parent-imports.md
1210
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-relative-parent-imports.md
1206
1211
  */
1207
1212
  'import/no-relative-parent-imports'?: Linter.RuleEntry<ImportNoRelativeParentImports>;
1208
1213
  /**
1209
1214
  * Forbid importing a default export by a different name.
1210
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-rename-default.md
1215
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-rename-default.md
1211
1216
  */
1212
1217
  'import/no-rename-default'?: Linter.RuleEntry<ImportNoRenameDefault>;
1213
1218
  /**
1214
1219
  * Enforce which files can be imported in a given folder.
1215
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-restricted-paths.md
1220
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-restricted-paths.md
1216
1221
  */
1217
1222
  'import/no-restricted-paths'?: Linter.RuleEntry<ImportNoRestrictedPaths>;
1218
1223
  /**
1219
1224
  * Forbid a module from importing itself.
1220
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-self-import.md
1225
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-self-import.md
1221
1226
  */
1222
1227
  'import/no-self-import'?: Linter.RuleEntry<[]>;
1223
1228
  /**
1224
1229
  * Forbid unassigned imports.
1225
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-unassigned-import.md
1230
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-unassigned-import.md
1226
1231
  */
1227
1232
  'import/no-unassigned-import'?: Linter.RuleEntry<ImportNoUnassignedImport>;
1228
1233
  /**
1229
1234
  * Ensure imports point to a file/module that can be resolved.
1230
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-unresolved.md
1235
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-unresolved.md
1231
1236
  */
1232
1237
  'import/no-unresolved'?: Linter.RuleEntry<ImportNoUnresolved>;
1233
1238
  /**
1234
1239
  * Forbid modules without exports, or exports without matching import in another module.
1235
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-unused-modules.md
1240
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-unused-modules.md
1236
1241
  */
1237
1242
  'import/no-unused-modules'?: Linter.RuleEntry<ImportNoUnusedModules>;
1238
1243
  /**
1239
1244
  * Forbid unnecessary path segments in import and require statements.
1240
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-useless-path-segments.md
1245
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-useless-path-segments.md
1241
1246
  */
1242
1247
  'import/no-useless-path-segments'?: Linter.RuleEntry<ImportNoUselessPathSegments>;
1243
1248
  /**
1244
1249
  * Forbid webpack loader syntax in imports.
1245
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/no-webpack-loader-syntax.md
1250
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-webpack-loader-syntax.md
1246
1251
  */
1247
1252
  'import/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>;
1248
1253
  /**
1249
1254
  * Enforce a convention in module import order.
1250
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/order.md
1255
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/order.md
1251
1256
  */
1252
1257
  'import/order'?: Linter.RuleEntry<ImportOrder>;
1253
1258
  /**
1254
1259
  * Prefer a default export if module exports a single name or multiple names.
1255
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/prefer-default-export.md
1260
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/prefer-default-export.md
1256
1261
  */
1257
1262
  'import/prefer-default-export'?: Linter.RuleEntry<ImportPreferDefaultExport>;
1258
1263
  /**
1259
1264
  * Forbid potentially ambiguous parse goal (`script` vs. `module`).
1260
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.1/docs/rules/unambiguous.md
1265
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/unambiguous.md
1261
1266
  */
1262
1267
  'import/unambiguous'?: Linter.RuleEntry<[]>;
1263
1268
  /**
@@ -3085,6 +3090,11 @@ interface Rules {
3085
3090
  * @see https://perfectionist.dev/rules/sort-objects
3086
3091
  */
3087
3092
  'perfectionist/sort-objects'?: Linter.RuleEntry<PerfectionistSortObjects>;
3093
+ /**
3094
+ * Enforce sorted sets.
3095
+ * @see https://perfectionist.dev/rules/sort-sets
3096
+ */
3097
+ 'perfectionist/sort-sets'?: Linter.RuleEntry<PerfectionistSortSets>;
3088
3098
  /**
3089
3099
  * Enforce sorted Svelte attributes.
3090
3100
  * @see https://perfectionist.dev/rules/sort-svelte-attributes
@@ -4587,7 +4597,7 @@ interface Rules {
4587
4597
  */
4588
4598
  'vue/define-emits-declaration'?: Linter.RuleEntry<VueDefineEmitsDeclaration>;
4589
4599
  /**
4590
- * enforce order of `defineEmits` and `defineProps` compiler macros
4600
+ * enforce order of compiler macros (`defineProps`, `defineEmits`, etc.)
4591
4601
  * @see https://eslint.vuejs.org/rules/define-macros-order.html
4592
4602
  */
4593
4603
  'vue/define-macros-order'?: Linter.RuleEntry<VueDefineMacrosOrder>;
@@ -4716,6 +4726,16 @@ interface Rules {
4716
4726
  * @see https://eslint.vuejs.org/rules/max-lines-per-block.html
4717
4727
  */
4718
4728
  'vue/max-lines-per-block'?: Linter.RuleEntry<VueMaxLinesPerBlock>;
4729
+ /**
4730
+ * enforce maximum number of props in Vue component
4731
+ * @see https://eslint.vuejs.org/rules/max-props.html
4732
+ */
4733
+ 'vue/max-props'?: Linter.RuleEntry<VueMaxProps>;
4734
+ /**
4735
+ * enforce maximum depth of template
4736
+ * @see https://eslint.vuejs.org/rules/max-template-depth.html
4737
+ */
4738
+ 'vue/max-template-depth'?: Linter.RuleEntry<VueMaxTemplateDepth>;
4719
4739
  /**
4720
4740
  * require component names to be always multi-word
4721
4741
  * @see https://eslint.vuejs.org/rules/multi-word-component-names.html
@@ -4772,7 +4792,7 @@ interface Rules {
4772
4792
  */
4773
4793
  'vue/no-child-content'?: Linter.RuleEntry<VueNoChildContent>;
4774
4794
  /**
4775
- * disallow accessing computed properties in `data`.
4795
+ * disallow accessing computed properties in `data`
4776
4796
  * @see https://eslint.vuejs.org/rules/no-computed-properties-in-data.html
4777
4797
  */
4778
4798
  'vue/no-computed-properties-in-data'?: Linter.RuleEntry<[]>;
@@ -5320,7 +5340,7 @@ interface Rules {
5320
5340
  */
5321
5341
  'vue/padding-lines-in-component-definition'?: Linter.RuleEntry<VuePaddingLinesInComponentDefinition>;
5322
5342
  /**
5323
- * enforce use of `defineOptions` instead of default export.
5343
+ * enforce use of `defineOptions` instead of default export
5324
5344
  * @see https://eslint.vuejs.org/rules/prefer-define-options.html
5325
5345
  */
5326
5346
  'vue/prefer-define-options'?: Linter.RuleEntry<[]>;
@@ -5364,6 +5384,11 @@ interface Rules {
5364
5384
  * @see https://eslint.vuejs.org/rules/require-component-is.html
5365
5385
  */
5366
5386
  'vue/require-component-is'?: Linter.RuleEntry<[]>;
5387
+ /**
5388
+ * require components to be the default export
5389
+ * @see https://eslint.vuejs.org/rules/require-default-export.html
5390
+ */
5391
+ 'vue/require-default-export'?: Linter.RuleEntry<[]>;
5367
5392
  /**
5368
5393
  * require default value for props
5369
5394
  * @see https://eslint.vuejs.org/rules/require-default-prop.html
@@ -5433,7 +5458,7 @@ interface Rules {
5433
5458
  * require control the display of the content inside `<transition>`
5434
5459
  * @see https://eslint.vuejs.org/rules/require-toggle-inside-transition.html
5435
5460
  */
5436
- 'vue/require-toggle-inside-transition'?: Linter.RuleEntry<[]>;
5461
+ 'vue/require-toggle-inside-transition'?: Linter.RuleEntry<VueRequireToggleInsideTransition>;
5437
5462
  /**
5438
5463
  * enforce adding type declarations to object props
5439
5464
  * @see https://eslint.vuejs.org/rules/require-typed-object-prop.html
@@ -5956,8 +5981,8 @@ type TypescriptEslintInitDeclarations = ([] | ["always"] | [] | ["never"] | [
5956
5981
  ]);
5957
5982
  type TypescriptEslintMaxParams = [] | [
5958
5983
  {
5959
- maximum?: number;
5960
5984
  max?: number;
5985
+ maximum?: number;
5961
5986
  countVoidThis?: boolean;
5962
5987
  }
5963
5988
  ];
@@ -6553,12 +6578,12 @@ type TypescriptEslintNoUnusedVars = [] | [
6553
6578
  vars?: ("all" | "local");
6554
6579
  varsIgnorePattern?: string;
6555
6580
  args?: ("all" | "after-used" | "none");
6556
- ignoreRestSiblings?: boolean;
6557
6581
  argsIgnorePattern?: string;
6558
6582
  caughtErrors?: ("all" | "none");
6559
6583
  caughtErrorsIgnorePattern?: string;
6560
6584
  destructuredArrayIgnorePattern?: string;
6561
6585
  ignoreClassWithStaticInitBlock?: boolean;
6586
+ ignoreRestSiblings?: boolean;
6562
6587
  reportUsedIgnorePattern?: boolean;
6563
6588
  })
6564
6589
  ];
@@ -6726,7 +6751,7 @@ type TypescriptEslintRestrictTemplateExpressions = [] | [
6726
6751
  allowNever?: boolean;
6727
6752
  }
6728
6753
  ];
6729
- type TypescriptEslintReturnAwait = [] | [("in-try-catch" | "always" | "never" | "error-handling-correctness-only")];
6754
+ type TypescriptEslintReturnAwait = [] | [(("always" | "error-handling-correctness-only" | "in-try-catch" | "never") & string)];
6730
6755
  type TypescriptEslintSortTypeConstituents = [] | [
6731
6756
  {
6732
6757
  checkIntersections?: boolean;
@@ -6790,6 +6815,11 @@ type AccessorPairs = [] | [
6790
6815
  enforceForClassMembers?: boolean;
6791
6816
  }
6792
6817
  ];
6818
+ type AntfuConsistentChaining = [] | [
6819
+ {
6820
+ allowFirstPropertyAccess?: boolean;
6821
+ }
6822
+ ];
6793
6823
  type AntfuConsistentListNewline = [] | [
6794
6824
  {
6795
6825
  ArrayExpression?: boolean;
@@ -7195,6 +7225,7 @@ type ImportNoExtraneousDependencies = [] | [
7195
7225
  packageDir?: (string | unknown[]);
7196
7226
  includeInternal?: boolean;
7197
7227
  includeTypes?: boolean;
7228
+ whitelist?: unknown[];
7198
7229
  }
7199
7230
  ];
7200
7231
  type ImportNoImportModuleExports = [] | [
@@ -9558,9 +9589,27 @@ type PerfectionistSortClasses = [] | [
9558
9589
  ignoreCase?: boolean;
9559
9590
  partitionByComment?: (string[] | boolean | string);
9560
9591
  groups?: (string | string[])[];
9561
- customGroups?: {
9592
+ customGroups?: ({
9562
9593
  [k: string]: (string | string[]) | undefined;
9563
- };
9594
+ } | ({
9595
+ groupName?: string;
9596
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted");
9597
+ order?: ("desc" | "asc");
9598
+ anyOf?: {
9599
+ selector?: ("accessor-property" | "index-signature" | "constructor" | "static-block" | "get-method" | "set-method" | "function-property" | "property" | "method");
9600
+ modifiers?: ("protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[];
9601
+ elementNamePattern?: string;
9602
+ decoratorNamePattern?: string;
9603
+ }[];
9604
+ } | {
9605
+ groupName?: string;
9606
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted");
9607
+ order?: ("desc" | "asc");
9608
+ selector?: ("accessor-property" | "index-signature" | "constructor" | "static-block" | "get-method" | "set-method" | "function-property" | "property" | "method");
9609
+ modifiers?: ("protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[];
9610
+ elementNamePattern?: string;
9611
+ decoratorNamePattern?: string;
9612
+ })[]);
9564
9613
  }
9565
9614
  ];
9566
9615
  type PerfectionistSortEnums = [] | [
@@ -9693,6 +9742,14 @@ type PerfectionistSortObjects = [] | [
9693
9742
  };
9694
9743
  }
9695
9744
  ];
9745
+ type PerfectionistSortSets = [] | [
9746
+ {
9747
+ type?: ("alphabetical" | "natural" | "line-length");
9748
+ order?: ("asc" | "desc");
9749
+ ignoreCase?: boolean;
9750
+ groupKind?: ("mixed" | "literals-first" | "spreads-first");
9751
+ }
9752
+ ];
9696
9753
  type PerfectionistSortSvelteAttributes = [] | [
9697
9754
  {
9698
9755
  type?: ("alphabetical" | "natural" | "line-length");
@@ -10307,12 +10364,12 @@ type UnusedImportsNoUnusedImports = [] | [
10307
10364
  vars?: ("all" | "local");
10308
10365
  varsIgnorePattern?: string;
10309
10366
  args?: ("all" | "after-used" | "none");
10310
- ignoreRestSiblings?: boolean;
10311
10367
  argsIgnorePattern?: string;
10312
10368
  caughtErrors?: ("all" | "none");
10313
10369
  caughtErrorsIgnorePattern?: string;
10314
10370
  destructuredArrayIgnorePattern?: string;
10315
10371
  ignoreClassWithStaticInitBlock?: boolean;
10372
+ ignoreRestSiblings?: boolean;
10316
10373
  reportUsedIgnorePattern?: boolean;
10317
10374
  })
10318
10375
  ];
@@ -10321,12 +10378,12 @@ type UnusedImportsNoUnusedVars = [] | [
10321
10378
  vars?: ("all" | "local");
10322
10379
  varsIgnorePattern?: string;
10323
10380
  args?: ("all" | "after-used" | "none");
10324
- ignoreRestSiblings?: boolean;
10325
10381
  argsIgnorePattern?: string;
10326
10382
  caughtErrors?: ("all" | "none");
10327
10383
  caughtErrorsIgnorePattern?: string;
10328
10384
  destructuredArrayIgnorePattern?: string;
10329
10385
  ignoreClassWithStaticInitBlock?: boolean;
10386
+ ignoreRestSiblings?: boolean;
10330
10387
  reportUsedIgnorePattern?: boolean;
10331
10388
  })
10332
10389
  ];
@@ -10489,7 +10546,7 @@ type VueCustomEventNameCasing = ([] | [("kebab-case" | "camelCase")] | [
10489
10546
  type VueDefineEmitsDeclaration = [] | [("type-based" | "type-literal" | "runtime")];
10490
10547
  type VueDefineMacrosOrder = [] | [
10491
10548
  {
10492
- order?: ("defineEmits" | "defineProps" | "defineOptions" | "defineSlots" | "defineModel")[];
10549
+ order?: string[];
10493
10550
  defineExposeLast?: boolean;
10494
10551
  }
10495
10552
  ];
@@ -11051,6 +11108,16 @@ type VueMaxLinesPerBlock = [] | [
11051
11108
  skipBlankLines?: boolean;
11052
11109
  }
11053
11110
  ];
11111
+ type VueMaxProps = [] | [
11112
+ {
11113
+ maxProps?: number;
11114
+ }
11115
+ ];
11116
+ type VueMaxTemplateDepth = [] | [
11117
+ {
11118
+ maxDepth?: number;
11119
+ }
11120
+ ];
11054
11121
  type VueMultiWordComponentNames = [] | [
11055
11122
  {
11056
11123
  ignores?: string[];
@@ -11485,6 +11552,11 @@ type VueRequirePropComment = [] | [
11485
11552
  type?: ("JSDoc" | "line" | "block" | "any");
11486
11553
  }
11487
11554
  ];
11555
+ type VueRequireToggleInsideTransition = [] | [
11556
+ {
11557
+ additionalDirectives?: string[];
11558
+ }
11559
+ ];
11488
11560
  type VueReturnInComputedProperty = [] | [
11489
11561
  {
11490
11562
  treatUndefinedAsUnspecified?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sxzz/eslint-config",
3
- "version": "4.1.4",
3
+ "version": "4.1.5",
4
4
  "description": "ESLint config for @sxzz.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -31,42 +31,42 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "@eslint/js": "^9.9.1",
34
- "@eslint/markdown": "^6.0.0",
34
+ "@eslint/markdown": "^6.1.0",
35
35
  "@types/eslint": "^9.6.1",
36
36
  "@unocss/eslint-plugin": "^0.62.3",
37
37
  "eslint-config-flat-gitignore": "^0.3.0",
38
38
  "eslint-config-prettier": "^9.1.0",
39
- "eslint-plugin-antfu": "^2.3.6",
39
+ "eslint-plugin-antfu": "^2.5.0",
40
40
  "eslint-plugin-command": "^0.2.3",
41
41
  "eslint-plugin-eslint-comments": "^3.2.0",
42
- "eslint-plugin-import-x": "^4.1.1",
42
+ "eslint-plugin-import-x": "^4.2.1",
43
43
  "eslint-plugin-jsdoc": "^50.2.2",
44
44
  "eslint-plugin-jsonc": "^2.16.0",
45
45
  "eslint-plugin-n": "^17.10.2",
46
- "eslint-plugin-perfectionist": "^3.3.0",
46
+ "eslint-plugin-perfectionist": "^3.4.0",
47
47
  "eslint-plugin-prettier": "^5.2.1",
48
48
  "eslint-plugin-regexp": "^2.6.0",
49
49
  "eslint-plugin-unicorn": "^55.0.0",
50
50
  "eslint-plugin-unused-imports": "^4.1.3",
51
- "eslint-plugin-vue": "^9.27.0",
51
+ "eslint-plugin-vue": "^9.28.0",
52
52
  "eslint-plugin-yml": "^1.14.0",
53
53
  "globals": "^15.9.0",
54
54
  "jsonc-eslint-parser": "^2.4.0",
55
55
  "local-pkg": "^0.5.0",
56
56
  "prettier": "^3.3.3",
57
- "typescript-eslint": "^8.3.0",
57
+ "typescript-eslint": "^8.4.0",
58
58
  "vue-eslint-parser": "^9.4.3",
59
59
  "yaml-eslint-parser": "^1.2.3"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@eslint/config-inspector": "^0.5.4",
63
63
  "@sxzz/prettier-config": "^2.0.2",
64
- "@types/node": "^22.5.2",
64
+ "@types/node": "^22.5.4",
65
65
  "bumpp": "^9.5.2",
66
66
  "eslint": "^9.9.1",
67
67
  "eslint-typegen": "^0.3.1",
68
68
  "importx": "^0.4.4",
69
- "picocolors": "^1.0.1",
69
+ "picocolors": "^1.1.0",
70
70
  "tsup": "^8.2.4",
71
71
  "tsx": "^4.19.0",
72
72
  "typescript": "^5.5.4"