@bfra.me/eslint-config 0.7.0 → 0.8.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.
package/lib/index.d.ts CHANGED
@@ -980,233 +980,233 @@ interface Rules {
980
980
  'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>
981
981
  /**
982
982
  * Enforce or ban the use of inline type-only markers for named imports.
983
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/consistent-type-specifier-style.md
983
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/consistent-type-specifier-style.md
984
984
  */
985
985
  'import-x/consistent-type-specifier-style'?: Linter.RuleEntry<ImportXConsistentTypeSpecifierStyle>
986
986
  /**
987
987
  * Ensure a default export is present, given a default import.
988
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/default.md
988
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/default.md
989
989
  */
990
990
  'import-x/default'?: Linter.RuleEntry<[]>
991
991
  /**
992
992
  * Enforce a leading comment with the webpackChunkName for dynamic imports.
993
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/dynamic-import-chunkname.md
993
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/dynamic-import-chunkname.md
994
994
  */
995
995
  'import-x/dynamic-import-chunkname'?: Linter.RuleEntry<ImportXDynamicImportChunkname>
996
996
  /**
997
997
  * Forbid any invalid exports, i.e. re-export of the same name.
998
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/export.md
998
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/export.md
999
999
  */
1000
1000
  'import-x/export'?: Linter.RuleEntry<[]>
1001
1001
  /**
1002
1002
  * Ensure all exports appear after other statements.
1003
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/exports-last.md
1003
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/exports-last.md
1004
1004
  */
1005
1005
  'import-x/exports-last'?: Linter.RuleEntry<[]>
1006
1006
  /**
1007
1007
  * Ensure consistent use of file extension within the import path.
1008
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/extensions.md
1008
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/extensions.md
1009
1009
  */
1010
1010
  'import-x/extensions'?: Linter.RuleEntry<ImportXExtensions>
1011
1011
  /**
1012
1012
  * Ensure all imports appear before other statements.
1013
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/first.md
1013
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/first.md
1014
1014
  */
1015
1015
  'import-x/first'?: Linter.RuleEntry<ImportXFirst>
1016
1016
  /**
1017
1017
  * Prefer named exports to be grouped together in a single export declaration.
1018
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/group-exports.md
1018
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/group-exports.md
1019
1019
  */
1020
1020
  'import-x/group-exports'?: Linter.RuleEntry<[]>
1021
1021
  /**
1022
1022
  * Replaced by `import-x/first`.
1023
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/imports-first.md
1023
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/imports-first.md
1024
1024
  * @deprecated
1025
1025
  */
1026
1026
  'import-x/imports-first'?: Linter.RuleEntry<ImportXImportsFirst>
1027
1027
  /**
1028
1028
  * Enforce the maximum number of dependencies a module can have.
1029
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/max-dependencies.md
1029
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/max-dependencies.md
1030
1030
  */
1031
1031
  'import-x/max-dependencies'?: Linter.RuleEntry<ImportXMaxDependencies>
1032
1032
  /**
1033
1033
  * Ensure named imports correspond to a named export in the remote file.
1034
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/named.md
1034
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/named.md
1035
1035
  */
1036
1036
  'import-x/named'?: Linter.RuleEntry<ImportXNamed>
1037
1037
  /**
1038
1038
  * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
1039
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/namespace.md
1039
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/namespace.md
1040
1040
  */
1041
1041
  'import-x/namespace'?: Linter.RuleEntry<ImportXNamespace>
1042
1042
  /**
1043
1043
  * Enforce a newline after import statements.
1044
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/newline-after-import.md
1044
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/newline-after-import.md
1045
1045
  */
1046
1046
  'import-x/newline-after-import'?: Linter.RuleEntry<ImportXNewlineAfterImport>
1047
1047
  /**
1048
1048
  * Forbid import of modules using absolute paths.
1049
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-absolute-path.md
1049
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-absolute-path.md
1050
1050
  */
1051
1051
  'import-x/no-absolute-path'?: Linter.RuleEntry<ImportXNoAbsolutePath>
1052
1052
  /**
1053
1053
  * Forbid AMD `require` and `define` calls.
1054
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-amd.md
1054
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-amd.md
1055
1055
  */
1056
1056
  'import-x/no-amd'?: Linter.RuleEntry<[]>
1057
1057
  /**
1058
1058
  * Forbid anonymous values as default exports.
1059
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-anonymous-default-export.md
1059
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-anonymous-default-export.md
1060
1060
  */
1061
1061
  'import-x/no-anonymous-default-export'?: Linter.RuleEntry<ImportXNoAnonymousDefaultExport>
1062
1062
  /**
1063
1063
  * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
1064
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-commonjs.md
1064
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-commonjs.md
1065
1065
  */
1066
1066
  'import-x/no-commonjs'?: Linter.RuleEntry<ImportXNoCommonjs>
1067
1067
  /**
1068
1068
  * Forbid a module from importing a module with a dependency path back to itself.
1069
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-cycle.md
1069
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-cycle.md
1070
1070
  */
1071
1071
  'import-x/no-cycle'?: Linter.RuleEntry<ImportXNoCycle>
1072
1072
  /**
1073
1073
  * Forbid default exports.
1074
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-default-export.md
1074
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-default-export.md
1075
1075
  */
1076
1076
  'import-x/no-default-export'?: Linter.RuleEntry<[]>
1077
1077
  /**
1078
1078
  * Forbid imported names marked with `@deprecated` documentation tag.
1079
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-deprecated.md
1079
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-deprecated.md
1080
1080
  */
1081
1081
  'import-x/no-deprecated'?: Linter.RuleEntry<[]>
1082
1082
  /**
1083
1083
  * Forbid repeated import of the same module in multiple places.
1084
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-duplicates.md
1084
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-duplicates.md
1085
1085
  */
1086
1086
  'import-x/no-duplicates'?: Linter.RuleEntry<ImportXNoDuplicates>
1087
1087
  /**
1088
1088
  * Forbid `require()` calls with expressions.
1089
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-dynamic-require.md
1089
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-dynamic-require.md
1090
1090
  */
1091
1091
  'import-x/no-dynamic-require'?: Linter.RuleEntry<ImportXNoDynamicRequire>
1092
1092
  /**
1093
1093
  * Forbid empty named import blocks.
1094
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-empty-named-blocks.md
1094
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-empty-named-blocks.md
1095
1095
  */
1096
1096
  'import-x/no-empty-named-blocks'?: Linter.RuleEntry<[]>
1097
1097
  /**
1098
1098
  * Forbid the use of extraneous packages.
1099
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-extraneous-dependencies.md
1099
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-extraneous-dependencies.md
1100
1100
  */
1101
1101
  'import-x/no-extraneous-dependencies'?: Linter.RuleEntry<ImportXNoExtraneousDependencies>
1102
1102
  /**
1103
1103
  * Forbid import statements with CommonJS module.exports.
1104
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-import-module-exports.md
1104
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-import-module-exports.md
1105
1105
  */
1106
1106
  'import-x/no-import-module-exports'?: Linter.RuleEntry<ImportXNoImportModuleExports>
1107
1107
  /**
1108
1108
  * Forbid importing the submodules of other modules.
1109
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-internal-modules.md
1109
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-internal-modules.md
1110
1110
  */
1111
1111
  'import-x/no-internal-modules'?: Linter.RuleEntry<ImportXNoInternalModules>
1112
1112
  /**
1113
1113
  * Forbid the use of mutable exports with `var` or `let`.
1114
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-mutable-exports.md
1114
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-mutable-exports.md
1115
1115
  */
1116
1116
  'import-x/no-mutable-exports'?: Linter.RuleEntry<[]>
1117
1117
  /**
1118
1118
  * Forbid use of exported name as identifier of default export.
1119
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-named-as-default.md
1119
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-as-default.md
1120
1120
  */
1121
1121
  'import-x/no-named-as-default'?: Linter.RuleEntry<[]>
1122
1122
  /**
1123
1123
  * Forbid use of exported name as property of default export.
1124
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-named-as-default-member.md
1124
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-as-default-member.md
1125
1125
  */
1126
1126
  'import-x/no-named-as-default-member'?: Linter.RuleEntry<[]>
1127
1127
  /**
1128
1128
  * Forbid named default exports.
1129
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-named-default.md
1129
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-default.md
1130
1130
  */
1131
1131
  'import-x/no-named-default'?: Linter.RuleEntry<[]>
1132
1132
  /**
1133
1133
  * Forbid named exports.
1134
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-named-export.md
1134
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-export.md
1135
1135
  */
1136
1136
  'import-x/no-named-export'?: Linter.RuleEntry<[]>
1137
1137
  /**
1138
1138
  * Forbid namespace (a.k.a. "wildcard" `*`) imports.
1139
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-namespace.md
1139
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-namespace.md
1140
1140
  */
1141
1141
  'import-x/no-namespace'?: Linter.RuleEntry<ImportXNoNamespace>
1142
1142
  /**
1143
1143
  * Forbid Node.js builtin modules.
1144
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-nodejs-modules.md
1144
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-nodejs-modules.md
1145
1145
  */
1146
1146
  'import-x/no-nodejs-modules'?: Linter.RuleEntry<ImportXNoNodejsModules>
1147
1147
  /**
1148
1148
  * Forbid importing packages through relative paths.
1149
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-relative-packages.md
1149
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-relative-packages.md
1150
1150
  */
1151
1151
  'import-x/no-relative-packages'?: Linter.RuleEntry<ImportXNoRelativePackages>
1152
1152
  /**
1153
1153
  * Forbid importing modules from parent directories.
1154
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-relative-parent-imports.md
1154
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-relative-parent-imports.md
1155
1155
  */
1156
1156
  'import-x/no-relative-parent-imports'?: Linter.RuleEntry<ImportXNoRelativeParentImports>
1157
1157
  /**
1158
1158
  * Forbid importing a default export by a different name.
1159
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-rename-default.md
1159
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-rename-default.md
1160
1160
  */
1161
1161
  'import-x/no-rename-default'?: Linter.RuleEntry<ImportXNoRenameDefault>
1162
1162
  /**
1163
1163
  * Enforce which files can be imported in a given folder.
1164
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-restricted-paths.md
1164
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-restricted-paths.md
1165
1165
  */
1166
1166
  'import-x/no-restricted-paths'?: Linter.RuleEntry<ImportXNoRestrictedPaths>
1167
1167
  /**
1168
1168
  * Forbid a module from importing itself.
1169
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-self-import.md
1169
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-self-import.md
1170
1170
  */
1171
1171
  'import-x/no-self-import'?: Linter.RuleEntry<[]>
1172
1172
  /**
1173
1173
  * Forbid unassigned imports.
1174
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-unassigned-import.md
1174
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-unassigned-import.md
1175
1175
  */
1176
1176
  'import-x/no-unassigned-import'?: Linter.RuleEntry<ImportXNoUnassignedImport>
1177
1177
  /**
1178
1178
  * Ensure imports point to a file/module that can be resolved.
1179
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-unresolved.md
1179
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-unresolved.md
1180
1180
  */
1181
1181
  'import-x/no-unresolved'?: Linter.RuleEntry<ImportXNoUnresolved>
1182
1182
  /**
1183
1183
  * Forbid modules without exports, or exports without matching import in another module.
1184
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-unused-modules.md
1184
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-unused-modules.md
1185
1185
  */
1186
1186
  'import-x/no-unused-modules'?: Linter.RuleEntry<ImportXNoUnusedModules>
1187
1187
  /**
1188
1188
  * Forbid unnecessary path segments in import and require statements.
1189
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-useless-path-segments.md
1189
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-useless-path-segments.md
1190
1190
  */
1191
1191
  'import-x/no-useless-path-segments'?: Linter.RuleEntry<ImportXNoUselessPathSegments>
1192
1192
  /**
1193
1193
  * Forbid webpack loader syntax in imports.
1194
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/no-webpack-loader-syntax.md
1194
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-webpack-loader-syntax.md
1195
1195
  */
1196
1196
  'import-x/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>
1197
1197
  /**
1198
1198
  * Enforce a convention in module import order.
1199
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/order.md
1199
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/order.md
1200
1200
  */
1201
1201
  'import-x/order'?: Linter.RuleEntry<ImportXOrder>
1202
1202
  /**
1203
1203
  * Prefer a default export if module exports a single name or multiple names.
1204
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/prefer-default-export.md
1204
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/prefer-default-export.md
1205
1205
  */
1206
1206
  'import-x/prefer-default-export'?: Linter.RuleEntry<ImportXPreferDefaultExport>
1207
1207
  /**
1208
1208
  * Forbid potentially ambiguous parse goal (`script` vs. `module`).
1209
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.4.3/docs/rules/unambiguous.md
1209
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/unambiguous.md
1210
1210
  */
1211
1211
  'import-x/unambiguous'?: Linter.RuleEntry<[]>
1212
1212
  /**
@@ -1511,6 +1511,226 @@ interface Rules {
1511
1511
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/valid-types.md#repos-sticky-header
1512
1512
  */
1513
1513
  'jsdoc/valid-types'?: Linter.RuleEntry<JsdocValidTypes>
1514
+ /**
1515
+ * enforce line breaks after opening and before closing array brackets
1516
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/array-bracket-newline.html
1517
+ */
1518
+ 'jsonc/array-bracket-newline'?: Linter.RuleEntry<JsoncArrayBracketNewline>
1519
+ /**
1520
+ * disallow or enforce spaces inside of brackets
1521
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/array-bracket-spacing.html
1522
+ */
1523
+ 'jsonc/array-bracket-spacing'?: Linter.RuleEntry<JsoncArrayBracketSpacing>
1524
+ /**
1525
+ * enforce line breaks between array elements
1526
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/array-element-newline.html
1527
+ */
1528
+ 'jsonc/array-element-newline'?: Linter.RuleEntry<JsoncArrayElementNewline>
1529
+ /**
1530
+ * apply jsonc rules similar to your configured ESLint core rules
1531
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/auto.html
1532
+ */
1533
+ 'jsonc/auto'?: Linter.RuleEntry<[]>
1534
+ /**
1535
+ * require or disallow trailing commas
1536
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/comma-dangle.html
1537
+ */
1538
+ 'jsonc/comma-dangle'?: Linter.RuleEntry<JsoncCommaDangle>
1539
+ /**
1540
+ * enforce consistent comma style
1541
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/comma-style.html
1542
+ */
1543
+ 'jsonc/comma-style'?: Linter.RuleEntry<JsoncCommaStyle>
1544
+ /**
1545
+ * enforce consistent indentation
1546
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/indent.html
1547
+ */
1548
+ 'jsonc/indent'?: Linter.RuleEntry<JsoncIndent>
1549
+ /**
1550
+ * enforce naming convention to property key names
1551
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/key-name-casing.html
1552
+ */
1553
+ 'jsonc/key-name-casing'?: Linter.RuleEntry<JsoncKeyNameCasing>
1554
+ /**
1555
+ * enforce consistent spacing between keys and values in object literal properties
1556
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/key-spacing.html
1557
+ */
1558
+ 'jsonc/key-spacing'?: Linter.RuleEntry<JsoncKeySpacing>
1559
+ /**
1560
+ * disallow BigInt literals
1561
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-bigint-literals.html
1562
+ */
1563
+ 'jsonc/no-bigint-literals'?: Linter.RuleEntry<[]>
1564
+ /**
1565
+ * disallow binary expression
1566
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-binary-expression.html
1567
+ */
1568
+ 'jsonc/no-binary-expression'?: Linter.RuleEntry<[]>
1569
+ /**
1570
+ * disallow binary numeric literals
1571
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-binary-numeric-literals.html
1572
+ */
1573
+ 'jsonc/no-binary-numeric-literals'?: Linter.RuleEntry<[]>
1574
+ /**
1575
+ * disallow comments
1576
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-comments.html
1577
+ */
1578
+ 'jsonc/no-comments'?: Linter.RuleEntry<[]>
1579
+ /**
1580
+ * disallow duplicate keys in object literals
1581
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-dupe-keys.html
1582
+ */
1583
+ 'jsonc/no-dupe-keys'?: Linter.RuleEntry<[]>
1584
+ /**
1585
+ * disallow escape sequences in identifiers.
1586
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-escape-sequence-in-identifier.html
1587
+ */
1588
+ 'jsonc/no-escape-sequence-in-identifier'?: Linter.RuleEntry<[]>
1589
+ /**
1590
+ * disallow leading or trailing decimal points in numeric literals
1591
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-floating-decimal.html
1592
+ */
1593
+ 'jsonc/no-floating-decimal'?: Linter.RuleEntry<[]>
1594
+ /**
1595
+ * disallow hexadecimal numeric literals
1596
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-hexadecimal-numeric-literals.html
1597
+ */
1598
+ 'jsonc/no-hexadecimal-numeric-literals'?: Linter.RuleEntry<[]>
1599
+ /**
1600
+ * disallow Infinity
1601
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-infinity.html
1602
+ */
1603
+ 'jsonc/no-infinity'?: Linter.RuleEntry<[]>
1604
+ /**
1605
+ * disallow irregular whitespace
1606
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-irregular-whitespace.html
1607
+ */
1608
+ 'jsonc/no-irregular-whitespace'?: Linter.RuleEntry<JsoncNoIrregularWhitespace>
1609
+ /**
1610
+ * disallow multiline strings
1611
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-multi-str.html
1612
+ */
1613
+ 'jsonc/no-multi-str'?: Linter.RuleEntry<[]>
1614
+ /**
1615
+ * disallow NaN
1616
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-nan.html
1617
+ */
1618
+ 'jsonc/no-nan'?: Linter.RuleEntry<[]>
1619
+ /**
1620
+ * disallow number property keys
1621
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-number-props.html
1622
+ */
1623
+ 'jsonc/no-number-props'?: Linter.RuleEntry<[]>
1624
+ /**
1625
+ * disallow numeric separators
1626
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-numeric-separators.html
1627
+ */
1628
+ 'jsonc/no-numeric-separators'?: Linter.RuleEntry<[]>
1629
+ /**
1630
+ * disallow legacy octal literals
1631
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-octal.html
1632
+ */
1633
+ 'jsonc/no-octal'?: Linter.RuleEntry<[]>
1634
+ /**
1635
+ * disallow octal escape sequences in string literals
1636
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-octal-escape.html
1637
+ */
1638
+ 'jsonc/no-octal-escape'?: Linter.RuleEntry<[]>
1639
+ /**
1640
+ * disallow octal numeric literals
1641
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-octal-numeric-literals.html
1642
+ */
1643
+ 'jsonc/no-octal-numeric-literals'?: Linter.RuleEntry<[]>
1644
+ /**
1645
+ * disallow parentheses around the expression
1646
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-parenthesized.html
1647
+ */
1648
+ 'jsonc/no-parenthesized'?: Linter.RuleEntry<[]>
1649
+ /**
1650
+ * disallow plus sign
1651
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-plus-sign.html
1652
+ */
1653
+ 'jsonc/no-plus-sign'?: Linter.RuleEntry<[]>
1654
+ /**
1655
+ * disallow RegExp literals
1656
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-regexp-literals.html
1657
+ */
1658
+ 'jsonc/no-regexp-literals'?: Linter.RuleEntry<[]>
1659
+ /**
1660
+ * disallow sparse arrays
1661
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-sparse-arrays.html
1662
+ */
1663
+ 'jsonc/no-sparse-arrays'?: Linter.RuleEntry<[]>
1664
+ /**
1665
+ * disallow template literals
1666
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-template-literals.html
1667
+ */
1668
+ 'jsonc/no-template-literals'?: Linter.RuleEntry<[]>
1669
+ /**
1670
+ * disallow `undefined`
1671
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-undefined-value.html
1672
+ */
1673
+ 'jsonc/no-undefined-value'?: Linter.RuleEntry<[]>
1674
+ /**
1675
+ * disallow Unicode code point escape sequences.
1676
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-unicode-codepoint-escapes.html
1677
+ */
1678
+ 'jsonc/no-unicode-codepoint-escapes'?: Linter.RuleEntry<[]>
1679
+ /**
1680
+ * disallow unnecessary escape usage
1681
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-useless-escape.html
1682
+ */
1683
+ 'jsonc/no-useless-escape'?: Linter.RuleEntry<[]>
1684
+ /**
1685
+ * enforce consistent line breaks inside braces
1686
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/object-curly-newline.html
1687
+ */
1688
+ 'jsonc/object-curly-newline'?: Linter.RuleEntry<JsoncObjectCurlyNewline>
1689
+ /**
1690
+ * enforce consistent spacing inside braces
1691
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/object-curly-spacing.html
1692
+ */
1693
+ 'jsonc/object-curly-spacing'?: Linter.RuleEntry<JsoncObjectCurlySpacing>
1694
+ /**
1695
+ * enforce placing object properties on separate lines
1696
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/object-property-newline.html
1697
+ */
1698
+ 'jsonc/object-property-newline'?: Linter.RuleEntry<JsoncObjectPropertyNewline>
1699
+ /**
1700
+ * require quotes around object literal property names
1701
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/quote-props.html
1702
+ */
1703
+ 'jsonc/quote-props'?: Linter.RuleEntry<JsoncQuoteProps>
1704
+ /**
1705
+ * enforce use of double or single quotes
1706
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/quotes.html
1707
+ */
1708
+ 'jsonc/quotes'?: Linter.RuleEntry<JsoncQuotes>
1709
+ /**
1710
+ * require array values to be sorted
1711
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/sort-array-values.html
1712
+ */
1713
+ 'jsonc/sort-array-values'?: Linter.RuleEntry<JsoncSortArrayValues>
1714
+ /**
1715
+ * require object keys to be sorted
1716
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/sort-keys.html
1717
+ */
1718
+ 'jsonc/sort-keys'?: Linter.RuleEntry<JsoncSortKeys>
1719
+ /**
1720
+ * disallow spaces after unary operators
1721
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/space-unary-ops.html
1722
+ */
1723
+ 'jsonc/space-unary-ops'?: Linter.RuleEntry<JsoncSpaceUnaryOps>
1724
+ /**
1725
+ * disallow invalid number for JSON
1726
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/valid-json-number.html
1727
+ */
1728
+ 'jsonc/valid-json-number'?: Linter.RuleEntry<[]>
1729
+ /**
1730
+ * disallow parsing errors in Vue custom blocks
1731
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/vue-custom-block/no-parsing-error.html
1732
+ */
1733
+ 'jsonc/vue-custom-block/no-parsing-error'?: Linter.RuleEntry<[]>
1514
1734
  /**
1515
1735
  * Enforce the consistent use of either double or single quotes in JSX attributes
1516
1736
  * @see https://eslint.org/docs/latest/rules/jsx-quotes
@@ -1705,7 +1925,7 @@ interface Rules {
1705
1925
  */
1706
1926
  'no-class-assign'?: Linter.RuleEntry<[]>
1707
1927
  /**
1708
- * Disallow comparing against -0
1928
+ * Disallow comparing against `-0`
1709
1929
  * @see https://eslint.org/docs/latest/rules/no-compare-neg-zero
1710
1930
  */
1711
1931
  'no-compare-neg-zero'?: Linter.RuleEntry<[]>
@@ -4145,6 +4365,10 @@ type TypescriptEslintPreferOptionalChain = []|[{
4145
4365
  type TypescriptEslintPreferPromiseRejectErrors = []|[{
4146
4366
 
4147
4367
  allowEmptyReject?: boolean
4368
+
4369
+ allowThrowingAny?: boolean
4370
+
4371
+ allowThrowingUnknown?: boolean
4148
4372
  }]
4149
4373
  // ----- @typescript-eslint/prefer-readonly -----
4150
4374
  type TypescriptEslintPreferReadonly = []|[{
@@ -5310,6 +5534,267 @@ type JsdocTextEscaping = []|[{
5310
5534
  type JsdocValidTypes = []|[{
5311
5535
  allowEmptyNamepaths?: boolean
5312
5536
  }]
5537
+ // ----- jsonc/array-bracket-newline -----
5538
+ type JsoncArrayBracketNewline = []|[(("always" | "never" | "consistent") | {
5539
+ multiline?: boolean
5540
+ minItems?: (number | null)
5541
+ })]
5542
+ // ----- jsonc/array-bracket-spacing -----
5543
+ type JsoncArrayBracketSpacing = []|[("always" | "never")]|[("always" | "never"), {
5544
+ singleValue?: boolean
5545
+ objectsInArrays?: boolean
5546
+ arraysInArrays?: boolean
5547
+ }]
5548
+ // ----- jsonc/array-element-newline -----
5549
+ type JsoncArrayElementNewline = []|[(_JsoncArrayElementNewlineBasicConfig | {
5550
+ ArrayExpression?: _JsoncArrayElementNewlineBasicConfig
5551
+ JSONArrayExpression?: _JsoncArrayElementNewlineBasicConfig
5552
+ ArrayPattern?: _JsoncArrayElementNewlineBasicConfig
5553
+ })]
5554
+ type _JsoncArrayElementNewlineBasicConfig = (("always" | "never" | "consistent") | {
5555
+ multiline?: boolean
5556
+ minItems?: (number | null)
5557
+ })
5558
+ // ----- jsonc/comma-dangle -----
5559
+ type JsoncCommaDangle = []|[(_JsoncCommaDangleValue | {
5560
+ arrays?: _JsoncCommaDangleValueWithIgnore
5561
+ objects?: _JsoncCommaDangleValueWithIgnore
5562
+ imports?: _JsoncCommaDangleValueWithIgnore
5563
+ exports?: _JsoncCommaDangleValueWithIgnore
5564
+ functions?: _JsoncCommaDangleValueWithIgnore
5565
+ })]
5566
+ type _JsoncCommaDangleValue = ("always-multiline" | "always" | "never" | "only-multiline")
5567
+ type _JsoncCommaDangleValueWithIgnore = ("always-multiline" | "always" | "ignore" | "never" | "only-multiline")
5568
+ // ----- jsonc/comma-style -----
5569
+ type JsoncCommaStyle = []|[("first" | "last")]|[("first" | "last"), {
5570
+ exceptions?: {
5571
+ [k: string]: boolean | undefined
5572
+ }
5573
+ }]
5574
+ // ----- jsonc/indent -----
5575
+ type JsoncIndent = []|[("tab" | number)]|[("tab" | number), {
5576
+ SwitchCase?: number
5577
+ VariableDeclarator?: ((number | ("first" | "off")) | {
5578
+ var?: (number | ("first" | "off"))
5579
+ let?: (number | ("first" | "off"))
5580
+ const?: (number | ("first" | "off"))
5581
+ })
5582
+ outerIIFEBody?: (number | "off")
5583
+ MemberExpression?: (number | "off")
5584
+ FunctionDeclaration?: {
5585
+ parameters?: (number | ("first" | "off"))
5586
+ body?: number
5587
+ }
5588
+ FunctionExpression?: {
5589
+ parameters?: (number | ("first" | "off"))
5590
+ body?: number
5591
+ }
5592
+ StaticBlock?: {
5593
+ body?: number
5594
+ }
5595
+ CallExpression?: {
5596
+ arguments?: (number | ("first" | "off"))
5597
+ }
5598
+ ArrayExpression?: (number | ("first" | "off"))
5599
+ ObjectExpression?: (number | ("first" | "off"))
5600
+ ImportDeclaration?: (number | ("first" | "off"))
5601
+ flatTernaryExpressions?: boolean
5602
+ offsetTernaryExpressions?: boolean
5603
+ ignoredNodes?: string[]
5604
+ ignoreComments?: boolean
5605
+ }]
5606
+ // ----- jsonc/key-name-casing -----
5607
+ type JsoncKeyNameCasing = []|[{
5608
+ camelCase?: boolean
5609
+ PascalCase?: boolean
5610
+ SCREAMING_SNAKE_CASE?: boolean
5611
+ "kebab-case"?: boolean
5612
+ snake_case?: boolean
5613
+ ignores?: string[]
5614
+ }]
5615
+ // ----- jsonc/key-spacing -----
5616
+ type JsoncKeySpacing = []|[({
5617
+ align?: (("colon" | "value") | {
5618
+ mode?: ("strict" | "minimum")
5619
+ on?: ("colon" | "value")
5620
+ beforeColon?: boolean
5621
+ afterColon?: boolean
5622
+ })
5623
+ mode?: ("strict" | "minimum")
5624
+ beforeColon?: boolean
5625
+ afterColon?: boolean
5626
+ } | {
5627
+ singleLine?: {
5628
+ mode?: ("strict" | "minimum")
5629
+ beforeColon?: boolean
5630
+ afterColon?: boolean
5631
+ }
5632
+ multiLine?: {
5633
+ align?: (("colon" | "value") | {
5634
+ mode?: ("strict" | "minimum")
5635
+ on?: ("colon" | "value")
5636
+ beforeColon?: boolean
5637
+ afterColon?: boolean
5638
+ })
5639
+ mode?: ("strict" | "minimum")
5640
+ beforeColon?: boolean
5641
+ afterColon?: boolean
5642
+ }
5643
+ } | {
5644
+ singleLine?: {
5645
+ mode?: ("strict" | "minimum")
5646
+ beforeColon?: boolean
5647
+ afterColon?: boolean
5648
+ }
5649
+ multiLine?: {
5650
+ mode?: ("strict" | "minimum")
5651
+ beforeColon?: boolean
5652
+ afterColon?: boolean
5653
+ }
5654
+ align?: {
5655
+ mode?: ("strict" | "minimum")
5656
+ on?: ("colon" | "value")
5657
+ beforeColon?: boolean
5658
+ afterColon?: boolean
5659
+ }
5660
+ })]
5661
+ // ----- jsonc/no-irregular-whitespace -----
5662
+ type JsoncNoIrregularWhitespace = []|[{
5663
+ skipComments?: boolean
5664
+ skipStrings?: boolean
5665
+ skipTemplates?: boolean
5666
+ skipRegExps?: boolean
5667
+ skipJSXText?: boolean
5668
+ }]
5669
+ // ----- jsonc/object-curly-newline -----
5670
+ type JsoncObjectCurlyNewline = []|[((("always" | "never") | {
5671
+ multiline?: boolean
5672
+ minProperties?: number
5673
+ consistent?: boolean
5674
+ }) | {
5675
+ ObjectExpression?: (("always" | "never") | {
5676
+ multiline?: boolean
5677
+ minProperties?: number
5678
+ consistent?: boolean
5679
+ })
5680
+ ObjectPattern?: (("always" | "never") | {
5681
+ multiline?: boolean
5682
+ minProperties?: number
5683
+ consistent?: boolean
5684
+ })
5685
+ ImportDeclaration?: (("always" | "never") | {
5686
+ multiline?: boolean
5687
+ minProperties?: number
5688
+ consistent?: boolean
5689
+ })
5690
+ ExportDeclaration?: (("always" | "never") | {
5691
+ multiline?: boolean
5692
+ minProperties?: number
5693
+ consistent?: boolean
5694
+ })
5695
+ })]
5696
+ // ----- jsonc/object-curly-spacing -----
5697
+ type JsoncObjectCurlySpacing = []|[("always" | "never")]|[("always" | "never"), {
5698
+ arraysInObjects?: boolean
5699
+ objectsInObjects?: boolean
5700
+ }]
5701
+ // ----- jsonc/object-property-newline -----
5702
+ type JsoncObjectPropertyNewline = []|[{
5703
+ allowAllPropertiesOnSameLine?: boolean
5704
+ allowMultiplePropertiesPerLine?: boolean
5705
+ }]
5706
+ // ----- jsonc/quote-props -----
5707
+ type JsoncQuoteProps = ([]|[("always" | "as-needed" | "consistent" | "consistent-as-needed")] | []|[("always" | "as-needed" | "consistent" | "consistent-as-needed")]|[("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
5708
+ keywords?: boolean
5709
+ unnecessary?: boolean
5710
+ numbers?: boolean
5711
+ }])
5712
+ // ----- jsonc/quotes -----
5713
+ type JsoncQuotes = []|[("single" | "double" | "backtick")]|[("single" | "double" | "backtick"), ("avoid-escape" | {
5714
+ avoidEscape?: boolean
5715
+ allowTemplateLiterals?: boolean
5716
+ })]
5717
+ // ----- jsonc/sort-array-values -----
5718
+ type JsoncSortArrayValues = [{
5719
+ pathPattern: string
5720
+ order: ((string | {
5721
+ valuePattern?: string
5722
+ order?: {
5723
+ type?: ("asc" | "desc")
5724
+ caseSensitive?: boolean
5725
+ natural?: boolean
5726
+ }
5727
+ })[] | {
5728
+ type?: ("asc" | "desc")
5729
+ caseSensitive?: boolean
5730
+ natural?: boolean
5731
+ })
5732
+ minValues?: number
5733
+ }, ...({
5734
+ pathPattern: string
5735
+ order: ((string | {
5736
+ valuePattern?: string
5737
+ order?: {
5738
+ type?: ("asc" | "desc")
5739
+ caseSensitive?: boolean
5740
+ natural?: boolean
5741
+ }
5742
+ })[] | {
5743
+ type?: ("asc" | "desc")
5744
+ caseSensitive?: boolean
5745
+ natural?: boolean
5746
+ })
5747
+ minValues?: number
5748
+ })[]]
5749
+ // ----- jsonc/sort-keys -----
5750
+ type JsoncSortKeys = ([{
5751
+ pathPattern: string
5752
+ hasProperties?: string[]
5753
+ order: ((string | {
5754
+ keyPattern?: string
5755
+ order?: {
5756
+ type?: ("asc" | "desc")
5757
+ caseSensitive?: boolean
5758
+ natural?: boolean
5759
+ }
5760
+ })[] | {
5761
+ type?: ("asc" | "desc")
5762
+ caseSensitive?: boolean
5763
+ natural?: boolean
5764
+ })
5765
+ minKeys?: number
5766
+ allowLineSeparatedGroups?: boolean
5767
+ }, ...({
5768
+ pathPattern: string
5769
+ hasProperties?: string[]
5770
+ order: ((string | {
5771
+ keyPattern?: string
5772
+ order?: {
5773
+ type?: ("asc" | "desc")
5774
+ caseSensitive?: boolean
5775
+ natural?: boolean
5776
+ }
5777
+ })[] | {
5778
+ type?: ("asc" | "desc")
5779
+ caseSensitive?: boolean
5780
+ natural?: boolean
5781
+ })
5782
+ minKeys?: number
5783
+ allowLineSeparatedGroups?: boolean
5784
+ })[]] | []|[("asc" | "desc")]|[("asc" | "desc"), {
5785
+ caseSensitive?: boolean
5786
+ natural?: boolean
5787
+ minKeys?: number
5788
+ allowLineSeparatedGroups?: boolean
5789
+ }])
5790
+ // ----- jsonc/space-unary-ops -----
5791
+ type JsoncSpaceUnaryOps = []|[{
5792
+ words?: boolean
5793
+ nonwords?: boolean
5794
+ overrides?: {
5795
+ [k: string]: boolean | undefined
5796
+ }
5797
+ }]
5313
5798
  // ----- jsx-quotes -----
5314
5799
  type JsxQuotes = []|[("prefer-single" | "prefer-double")]
5315
5800
  // ----- key-spacing -----
@@ -6316,6 +6801,10 @@ type PerfectionistSortArrayIncludes = []|[{
6316
6801
  // ----- perfectionist/sort-classes -----
6317
6802
  type PerfectionistSortClasses = []|[{
6318
6803
 
6804
+ ignoreCallbackDependenciesPatterns?: string[]
6805
+
6806
+ partitionByComment?: (string[] | boolean | string)
6807
+
6319
6808
  customGroups?: ({
6320
6809
 
6321
6810
  groupName?: string
@@ -6325,12 +6814,12 @@ type PerfectionistSortClasses = []|[{
6325
6814
  order?: ("desc" | "asc")
6326
6815
  anyOf?: {
6327
6816
 
6328
- modifiers?: ("async" | "protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[]
6329
-
6330
6817
  elementValuePattern?: string
6331
6818
 
6332
6819
  decoratorNamePattern?: string
6333
6820
 
6821
+ modifiers?: ("async" | "protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[]
6822
+
6334
6823
  selector?: ("accessor-property" | "index-signature" | "constructor" | "static-block" | "get-method" | "set-method" | "function-property" | "property" | "method")
6335
6824
 
6336
6825
  elementNamePattern?: string
@@ -6343,21 +6832,17 @@ type PerfectionistSortClasses = []|[{
6343
6832
 
6344
6833
  order?: ("desc" | "asc")
6345
6834
 
6346
- modifiers?: ("async" | "protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[]
6347
-
6348
6835
  elementValuePattern?: string
6349
6836
 
6350
6837
  decoratorNamePattern?: string
6351
6838
 
6839
+ modifiers?: ("async" | "protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[]
6840
+
6352
6841
  selector?: ("accessor-property" | "index-signature" | "constructor" | "static-block" | "get-method" | "set-method" | "function-property" | "property" | "method")
6353
6842
 
6354
6843
  elementNamePattern?: string
6355
6844
  })[]
6356
6845
 
6357
- ignoreCallbackDependenciesPatterns?: string[]
6358
-
6359
- partitionByComment?: (string[] | boolean | string)
6360
-
6361
6846
  partitionByNewLine?: boolean
6362
6847
 
6363
6848
  specialCharacters?: ("remove" | "trim" | "keep")
@@ -6520,8 +7005,39 @@ type PerfectionistSortInterfaces = []|[{
6520
7005
  ignorePattern?: string[]
6521
7006
 
6522
7007
  partitionByComment?: (string[] | boolean | string)
7008
+ customGroups?: ({
7009
+ [k: string]: (string | string[]) | undefined
7010
+ } | ({
7011
+
7012
+ groupName?: string
7013
+
7014
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
7015
+
7016
+ order?: ("desc" | "asc")
7017
+ anyOf?: {
7018
+
7019
+ modifiers?: ("optional" | "required" | "multiline")[]
7020
+
7021
+ selector?: ("index-signature" | "member" | "method" | "multiline" | "property")
7022
+
7023
+ elementNamePattern?: string
7024
+ }[]
7025
+ } | {
7026
+
7027
+ groupName?: string
7028
+
7029
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
7030
+
7031
+ order?: ("desc" | "asc")
7032
+
7033
+ modifiers?: ("optional" | "required" | "multiline")[]
7034
+
7035
+ selector?: ("index-signature" | "member" | "method" | "multiline" | "property")
7036
+
7037
+ elementNamePattern?: string
7038
+ })[])
6523
7039
 
6524
- groupKind?: ("mixed" | "optional-first" | "required-first")
7040
+ groupKind?: ("mixed" | "required-first" | "optional-first")
6525
7041
 
6526
7042
  partitionByNewLine?: boolean
6527
7043
 
@@ -6529,10 +7045,6 @@ type PerfectionistSortInterfaces = []|[{
6529
7045
 
6530
7046
  newlinesBetween?: ("ignore" | "always" | "never")
6531
7047
 
6532
- customGroups?: {
6533
- [k: string]: (string | string[]) | undefined
6534
- }
6535
-
6536
7048
  ignoreCase?: boolean
6537
7049
 
6538
7050
  locales?: (string | string[])
@@ -6605,6 +7117,8 @@ type PerfectionistSortMaps = []|[{
6605
7117
  // ----- perfectionist/sort-modules -----
6606
7118
  type PerfectionistSortModules = []|[{
6607
7119
 
7120
+ partitionByComment?: (string[] | boolean | string)
7121
+
6608
7122
  customGroups?: ({
6609
7123
 
6610
7124
  groupName?: string
@@ -6614,12 +7128,10 @@ type PerfectionistSortModules = []|[{
6614
7128
  order?: ("desc" | "asc")
6615
7129
  anyOf?: {
6616
7130
 
6617
- modifiers?: ("async" | "declare" | "decorated" | "default" | "export")[]
6618
-
6619
- elementValuePattern?: string
6620
-
6621
7131
  decoratorNamePattern?: string
6622
7132
 
7133
+ modifiers?: ("async" | "declare" | "decorated" | "default" | "export")[]
7134
+
6623
7135
  selector?: ("enum" | "function" | "interface" | "type" | "class")
6624
7136
 
6625
7137
  elementNamePattern?: string
@@ -6632,19 +7144,15 @@ type PerfectionistSortModules = []|[{
6632
7144
 
6633
7145
  order?: ("desc" | "asc")
6634
7146
 
6635
- modifiers?: ("async" | "declare" | "decorated" | "default" | "export")[]
6636
-
6637
- elementValuePattern?: string
6638
-
6639
7147
  decoratorNamePattern?: string
6640
7148
 
7149
+ modifiers?: ("async" | "declare" | "decorated" | "default" | "export")[]
7150
+
6641
7151
  selector?: ("enum" | "function" | "interface" | "type" | "class")
6642
7152
 
6643
7153
  elementNamePattern?: string
6644
7154
  })[]
6645
7155
 
6646
- partitionByComment?: (string[] | boolean | string)
6647
-
6648
7156
  partitionByNewLine?: boolean
6649
7157
 
6650
7158
  specialCharacters?: ("remove" | "trim" | "keep")
@@ -6704,7 +7212,40 @@ type PerfectionistSortNamedImports = []|[{
6704
7212
  // ----- perfectionist/sort-object-types -----
6705
7213
  type PerfectionistSortObjectTypes = []|[{
6706
7214
 
7215
+ ignorePattern?: string[]
7216
+
6707
7217
  partitionByComment?: (string[] | boolean | string)
7218
+ customGroups?: ({
7219
+ [k: string]: (string | string[]) | undefined
7220
+ } | ({
7221
+
7222
+ groupName?: string
7223
+
7224
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
7225
+
7226
+ order?: ("desc" | "asc")
7227
+ anyOf?: {
7228
+
7229
+ modifiers?: ("optional" | "required" | "multiline")[]
7230
+
7231
+ selector?: ("index-signature" | "member" | "method" | "multiline" | "property")
7232
+
7233
+ elementNamePattern?: string
7234
+ }[]
7235
+ } | {
7236
+
7237
+ groupName?: string
7238
+
7239
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
7240
+
7241
+ order?: ("desc" | "asc")
7242
+
7243
+ modifiers?: ("optional" | "required" | "multiline")[]
7244
+
7245
+ selector?: ("index-signature" | "member" | "method" | "multiline" | "property")
7246
+
7247
+ elementNamePattern?: string
7248
+ })[])
6708
7249
 
6709
7250
  groupKind?: ("mixed" | "required-first" | "optional-first")
6710
7251
 
@@ -6714,10 +7255,6 @@ type PerfectionistSortObjectTypes = []|[{
6714
7255
 
6715
7256
  newlinesBetween?: ("ignore" | "always" | "never")
6716
7257
 
6717
- customGroups?: {
6718
- [k: string]: (string | string[]) | undefined
6719
- }
6720
-
6721
7258
  ignoreCase?: boolean
6722
7259
 
6723
7260
  locales?: (string | string[])
@@ -6950,6 +7487,7 @@ type SortKeys = []|[("asc" | "desc")]|[("asc" | "desc"), {
6950
7487
  natural?: boolean
6951
7488
  minKeys?: number
6952
7489
  allowLineSeparatedGroups?: boolean
7490
+ ignoreComputedKeys?: boolean
6953
7491
  }]
6954
7492
  // ----- sort-vars -----
6955
7493
  type SortVars = []|[{
@@ -7224,6 +7762,8 @@ type ConfigNames =
7224
7762
  | '@bfra.me/typescript/type-aware-rules'
7225
7763
  | '@bfra.me/vitest/plugin'
7226
7764
  | '@bfra.me/vitest/rules'
7765
+ | '@bfra.me/jsonc/plugins'
7766
+ | '@bfra.me/jsonc'
7227
7767
  | '@bfra.me/epilogue/cli'
7228
7768
  | '@bfra.me/epilogue/configs'
7229
7769
  | '@bfra.me/epilogue/scripts'
@@ -7398,6 +7938,10 @@ type Options = Flatten<{
7398
7938
  * Options to override the behavior of JavaScript-related rules.
7399
7939
  */
7400
7940
  javascript?: OptionsOverrides;
7941
+ /**
7942
+ * Options to override the behavior of linting JSON, JSON5 and JSONC files.
7943
+ */
7944
+ jsonc?: boolean | OptionsOverrides;
7401
7945
  /**
7402
7946
  * Options to override the behavior of Perfectionist sorting rules.
7403
7947
  */
@@ -7439,6 +7983,9 @@ declare function javascript(options?: JavaScriptOptions): Promise<Config[]>;
7439
7983
 
7440
7984
  declare function jsdoc(): Promise<Config[]>;
7441
7985
 
7986
+ type JsoncOptions = Flatten<OptionsFiles & OptionsOverrides>;
7987
+ declare function jsonc(options: JsoncOptions): Promise<Config[]>;
7988
+
7442
7989
  /**
7443
7990
  * Represents the combined options for the Perfectionist ESLint plugin, including options for editor integration, overrides, and the Perfectionist plugin itself.
7444
7991
  */
@@ -7538,9 +8085,12 @@ declare const GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
7538
8085
  declare const GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
7539
8086
  declare const GLOB_TS = "**/*.?([cm])ts";
7540
8087
  declare const GLOB_TSX = "**/*.tsx";
7541
- declare const GLOB_EXCLUDE: string[];
8088
+ declare const GLOB_JSON = "**/*.json";
8089
+ declare const GLOB_JSON5 = "**/*.json5";
8090
+ declare const GLOB_JSONC = "**/*.jsonc";
7542
8091
  declare const GLOB_TESTS: string[];
8092
+ declare const GLOB_EXCLUDE: string[];
7543
8093
 
7544
8094
  declare const config: ConfigComposer;
7545
8095
 
7546
- export { type AwaitableFlatConfig, type Config, type ConfigComposer, type ConfigNames, type Flatten, GLOB_EXCLUDE, GLOB_SRC, GLOB_SRC_EXT, GLOB_TESTS, GLOB_TS, GLOB_TSX, type JavaScriptOptions, type Options, type OptionsFiles, type OptionsIsInEditor, type OptionsOverrides, type OptionsPerfectionist, type OptionsTypeScript, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type PerfectionistOptions, type PrettierOptions, type Rules, type TypeScriptOptions, type VitestOptions, command, composeConfig, config, config as default, defineConfig, epilogue, eslintComments, ignores, imports, isInEditor, isInGitLifecycle, javascript, jsdoc, perfectionist, prettier, typescript, vitest };
8096
+ export { type AwaitableFlatConfig, type Config, type ConfigComposer, type ConfigNames, type Flatten, GLOB_EXCLUDE, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_SRC, GLOB_SRC_EXT, GLOB_TESTS, GLOB_TS, GLOB_TSX, type JavaScriptOptions, type JsoncOptions, type Options, type OptionsFiles, type OptionsIsInEditor, type OptionsOverrides, type OptionsPerfectionist, type OptionsTypeScript, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type PerfectionistOptions, type PrettierOptions, type Rules, type TypeScriptOptions, type VitestOptions, command, composeConfig, config, config as default, defineConfig, epilogue, eslintComments, ignores, imports, isInEditor, isInGitLifecycle, javascript, jsdoc, jsonc, perfectionist, prettier, typescript, vitest };