@sxzz/eslint-config 4.1.4 → 4.1.6

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 +139 -61
  2. package/package.json +13 -14
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
@@ -3626,7 +3636,7 @@ interface Rules {
3626
3636
  * Enforce the use of `u` or `v` flag on RegExp
3627
3637
  * @see https://eslint.org/docs/latest/rules/require-unicode-regexp
3628
3638
  */
3629
- 'require-unicode-regexp'?: Linter.RuleEntry<[]>;
3639
+ 'require-unicode-regexp'?: Linter.RuleEntry<RequireUnicodeRegexp>;
3630
3640
  /**
3631
3641
  * Require generator functions to contain `yield`
3632
3642
  * @see https://eslint.org/docs/latest/rules/require-yield
@@ -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 = [] | [
@@ -9586,6 +9635,7 @@ type _PerfectionistSortImportsSortImports = (_PerfectionistSortImportsMaxLineLen
9586
9635
  order?: ("asc" | "desc");
9587
9636
  ignoreCase?: boolean;
9588
9637
  internalPattern?: string[];
9638
+ sortSideEffects?: boolean;
9589
9639
  newlinesBetween?: ("ignore" | "always" | "never");
9590
9640
  maxLineLength?: number;
9591
9641
  groups?: (string | string[])[];
@@ -9693,6 +9743,14 @@ type PerfectionistSortObjects = [] | [
9693
9743
  };
9694
9744
  }
9695
9745
  ];
9746
+ type PerfectionistSortSets = [] | [
9747
+ {
9748
+ type?: ("alphabetical" | "natural" | "line-length");
9749
+ order?: ("asc" | "desc");
9750
+ ignoreCase?: boolean;
9751
+ groupKind?: ("mixed" | "literals-first" | "spreads-first");
9752
+ }
9753
+ ];
9696
9754
  type PerfectionistSortSvelteAttributes = [] | [
9697
9755
  {
9698
9756
  type?: ("alphabetical" | "natural" | "line-length");
@@ -9972,6 +10030,11 @@ type RequireAtomicUpdates = [] | [
9972
10030
  allowProperties?: boolean;
9973
10031
  }
9974
10032
  ];
10033
+ type RequireUnicodeRegexp = [] | [
10034
+ {
10035
+ requireFlag?: ("u" | "v");
10036
+ }
10037
+ ];
9975
10038
  type RestSpreadSpacing = [] | [("always" | "never")];
9976
10039
  type Semi = ([] | ["never"] | [
9977
10040
  "never",
@@ -10307,12 +10370,12 @@ type UnusedImportsNoUnusedImports = [] | [
10307
10370
  vars?: ("all" | "local");
10308
10371
  varsIgnorePattern?: string;
10309
10372
  args?: ("all" | "after-used" | "none");
10310
- ignoreRestSiblings?: boolean;
10311
10373
  argsIgnorePattern?: string;
10312
10374
  caughtErrors?: ("all" | "none");
10313
10375
  caughtErrorsIgnorePattern?: string;
10314
10376
  destructuredArrayIgnorePattern?: string;
10315
10377
  ignoreClassWithStaticInitBlock?: boolean;
10378
+ ignoreRestSiblings?: boolean;
10316
10379
  reportUsedIgnorePattern?: boolean;
10317
10380
  })
10318
10381
  ];
@@ -10321,12 +10384,12 @@ type UnusedImportsNoUnusedVars = [] | [
10321
10384
  vars?: ("all" | "local");
10322
10385
  varsIgnorePattern?: string;
10323
10386
  args?: ("all" | "after-used" | "none");
10324
- ignoreRestSiblings?: boolean;
10325
10387
  argsIgnorePattern?: string;
10326
10388
  caughtErrors?: ("all" | "none");
10327
10389
  caughtErrorsIgnorePattern?: string;
10328
10390
  destructuredArrayIgnorePattern?: string;
10329
10391
  ignoreClassWithStaticInitBlock?: boolean;
10392
+ ignoreRestSiblings?: boolean;
10330
10393
  reportUsedIgnorePattern?: boolean;
10331
10394
  })
10332
10395
  ];
@@ -10489,7 +10552,7 @@ type VueCustomEventNameCasing = ([] | [("kebab-case" | "camelCase")] | [
10489
10552
  type VueDefineEmitsDeclaration = [] | [("type-based" | "type-literal" | "runtime")];
10490
10553
  type VueDefineMacrosOrder = [] | [
10491
10554
  {
10492
- order?: ("defineEmits" | "defineProps" | "defineOptions" | "defineSlots" | "defineModel")[];
10555
+ order?: string[];
10493
10556
  defineExposeLast?: boolean;
10494
10557
  }
10495
10558
  ];
@@ -11051,6 +11114,16 @@ type VueMaxLinesPerBlock = [] | [
11051
11114
  skipBlankLines?: boolean;
11052
11115
  }
11053
11116
  ];
11117
+ type VueMaxProps = [] | [
11118
+ {
11119
+ maxProps?: number;
11120
+ }
11121
+ ];
11122
+ type VueMaxTemplateDepth = [] | [
11123
+ {
11124
+ maxDepth?: number;
11125
+ }
11126
+ ];
11054
11127
  type VueMultiWordComponentNames = [] | [
11055
11128
  {
11056
11129
  ignores?: string[];
@@ -11485,6 +11558,11 @@ type VueRequirePropComment = [] | [
11485
11558
  type?: ("JSDoc" | "line" | "block" | "any");
11486
11559
  }
11487
11560
  ];
11561
+ type VueRequireToggleInsideTransition = [] | [
11562
+ {
11563
+ additionalDirectives?: string[];
11564
+ }
11565
+ ];
11488
11566
  type VueReturnInComputedProperty = [] | [
11489
11567
  {
11490
11568
  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.6",
4
4
  "description": "ESLint config for @sxzz.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -30,43 +30,42 @@
30
30
  "eslint": "^9.5.0"
31
31
  },
32
32
  "dependencies": {
33
- "@eslint/js": "^9.9.1",
34
- "@eslint/markdown": "^6.0.0",
35
- "@types/eslint": "^9.6.1",
33
+ "@eslint/js": "^9.10.0",
34
+ "@eslint/markdown": "^6.1.0",
36
35
  "@unocss/eslint-plugin": "^0.62.3",
37
36
  "eslint-config-flat-gitignore": "^0.3.0",
38
37
  "eslint-config-prettier": "^9.1.0",
39
- "eslint-plugin-antfu": "^2.3.6",
40
- "eslint-plugin-command": "^0.2.3",
38
+ "eslint-plugin-antfu": "^2.5.0",
39
+ "eslint-plugin-command": "^0.2.4",
41
40
  "eslint-plugin-eslint-comments": "^3.2.0",
42
- "eslint-plugin-import-x": "^4.1.1",
41
+ "eslint-plugin-import-x": "^4.2.1",
43
42
  "eslint-plugin-jsdoc": "^50.2.2",
44
43
  "eslint-plugin-jsonc": "^2.16.0",
45
44
  "eslint-plugin-n": "^17.10.2",
46
- "eslint-plugin-perfectionist": "^3.3.0",
45
+ "eslint-plugin-perfectionist": "^3.5.0",
47
46
  "eslint-plugin-prettier": "^5.2.1",
48
47
  "eslint-plugin-regexp": "^2.6.0",
49
48
  "eslint-plugin-unicorn": "^55.0.0",
50
49
  "eslint-plugin-unused-imports": "^4.1.3",
51
- "eslint-plugin-vue": "^9.27.0",
50
+ "eslint-plugin-vue": "^9.28.0",
52
51
  "eslint-plugin-yml": "^1.14.0",
53
52
  "globals": "^15.9.0",
54
53
  "jsonc-eslint-parser": "^2.4.0",
55
54
  "local-pkg": "^0.5.0",
56
55
  "prettier": "^3.3.3",
57
- "typescript-eslint": "^8.3.0",
56
+ "typescript-eslint": "^8.4.0",
58
57
  "vue-eslint-parser": "^9.4.3",
59
58
  "yaml-eslint-parser": "^1.2.3"
60
59
  },
61
60
  "devDependencies": {
62
61
  "@eslint/config-inspector": "^0.5.4",
63
62
  "@sxzz/prettier-config": "^2.0.2",
64
- "@types/node": "^22.5.2",
63
+ "@types/node": "^22.5.4",
65
64
  "bumpp": "^9.5.2",
66
- "eslint": "^9.9.1",
67
- "eslint-typegen": "^0.3.1",
65
+ "eslint": "^9.10.0",
66
+ "eslint-typegen": "^0.3.2",
68
67
  "importx": "^0.4.4",
69
- "picocolors": "^1.0.1",
68
+ "picocolors": "^1.1.0",
70
69
  "tsup": "^8.2.4",
71
70
  "tsx": "^4.19.0",
72
71
  "typescript": "^5.5.4"