@lichthagel/eslint-config 1.0.10 → 1.0.12

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/dist/index.d.cts CHANGED
@@ -635,7 +635,7 @@ interface RuleOptions {
635
635
  * Disallow using code marked as `@deprecated`
636
636
  * @see https://typescript-eslint.io/rules/no-deprecated
637
637
  */
638
- '@typescript-eslint/no-deprecated'?: Linter.RuleEntry<[]>
638
+ '@typescript-eslint/no-deprecated'?: Linter.RuleEntry<TypescriptEslintNoDeprecated>
639
639
  /**
640
640
  * Disallow duplicate class members
641
641
  * @see https://typescript-eslint.io/rules/no-dupe-class-members
@@ -753,6 +753,11 @@ interface RuleOptions {
753
753
  * @see https://typescript-eslint.io/rules/no-misused-promises
754
754
  */
755
755
  '@typescript-eslint/no-misused-promises'?: Linter.RuleEntry<TypescriptEslintNoMisusedPromises>
756
+ /**
757
+ * Disallow using the spread operator when it might cause unexpected behavior
758
+ * @see https://typescript-eslint.io/rules/no-misused-spread
759
+ */
760
+ '@typescript-eslint/no-misused-spread'?: Linter.RuleEntry<TypescriptEslintNoMisusedSpread>
756
761
  /**
757
762
  * Disallow enums from having both number and string members
758
763
  * @see https://typescript-eslint.io/rules/no-mixed-enums
@@ -1275,7 +1280,7 @@ interface RuleOptions {
1275
1280
  */
1276
1281
  'default-case'?: Linter.RuleEntry<DefaultCase>
1277
1282
  /**
1278
- * Enforce `default` clauses in switch statements to be last
1283
+ * Enforce `default` clauses in `switch` statements to be last
1279
1284
  * @see https://eslint.org/docs/latest/rules/default-case-last
1280
1285
  */
1281
1286
  'default-case-last'?: Linter.RuleEntry<[]>
@@ -2962,7 +2967,7 @@ interface RuleOptions {
2962
2967
  */
2963
2968
  'solid/style-prop'?: Linter.RuleEntry<SolidStyleProp>
2964
2969
  /**
2965
- * Enforce sorted import declarations within modules
2970
+ * Enforce sorted `import` declarations within modules
2966
2971
  * @see https://eslint.org/docs/latest/rules/sort-imports
2967
2972
  */
2968
2973
  'sort-imports'?: Linter.RuleEntry<SortImports>
@@ -4557,6 +4562,7 @@ type StylisticKeySpacing = []|[({
4557
4562
  mode?: ("strict" | "minimum")
4558
4563
  beforeColon?: boolean
4559
4564
  afterColon?: boolean
4565
+ ignoredNodes?: ("ObjectExpression" | "ObjectPattern" | "ImportDeclaration" | "ExportNamedDeclaration" | "ExportAllDeclaration" | "TSTypeLiteral" | "TSInterfaceBody" | "ClassBody")[]
4560
4566
  } | {
4561
4567
  singleLine?: {
4562
4568
  mode?: ("strict" | "minimum")
@@ -5072,6 +5078,7 @@ type StylisticNoExtraParens = ([]|["functions"] | []|["all"]|["all", {
5072
5078
  enforceForNewInMemberExpressions?: boolean
5073
5079
  enforceForFunctionPrototypeMethods?: boolean
5074
5080
  allowParensAfterCommentPattern?: string
5081
+ nestedConditionalExpressions?: boolean
5075
5082
  }])
5076
5083
  // ----- @stylistic/no-mixed-operators -----
5077
5084
  type StylisticNoMixedOperators = []|[{
@@ -5169,14 +5176,14 @@ type StylisticOperatorLinebreak = []|[(("after" | "before" | "none") | null)]|[(
5169
5176
  }
5170
5177
  }]
5171
5178
  // ----- @stylistic/padded-blocks -----
5172
- type StylisticPaddedBlocks = []|[(("always" | "never") | {
5173
- blocks?: ("always" | "never")
5174
- switches?: ("always" | "never")
5175
- classes?: ("always" | "never")
5176
- })]|[(("always" | "never") | {
5177
- blocks?: ("always" | "never")
5178
- switches?: ("always" | "never")
5179
- classes?: ("always" | "never")
5179
+ type StylisticPaddedBlocks = []|[(("always" | "never" | "start" | "end") | {
5180
+ blocks?: ("always" | "never" | "start" | "end")
5181
+ switches?: ("always" | "never" | "start" | "end")
5182
+ classes?: ("always" | "never" | "start" | "end")
5183
+ })]|[(("always" | "never" | "start" | "end") | {
5184
+ blocks?: ("always" | "never" | "start" | "end")
5185
+ switches?: ("always" | "never" | "start" | "end")
5186
+ classes?: ("always" | "never" | "start" | "end")
5180
5187
  }), {
5181
5188
  allowSingleLineBlocks?: boolean
5182
5189
  }]
@@ -5344,6 +5351,8 @@ type TypescriptEslintConsistentTypeAssertions = []|[({
5344
5351
  assertionStyle: "never"
5345
5352
  } | {
5346
5353
 
5354
+ arrayLiteralTypeAssertions?: ("allow" | "allow-as-parameter" | "never")
5355
+
5347
5356
  assertionStyle?: ("as" | "angle-bracket")
5348
5357
 
5349
5358
  objectLiteralTypeAssertions?: ("allow" | "allow-as-parameter" | "never")
@@ -5800,6 +5809,22 @@ type TypescriptEslintNoConfusingVoidExpression = []|[{
5800
5809
 
5801
5810
  ignoreVoidReturningFunctions?: boolean
5802
5811
  }]
5812
+ // ----- @typescript-eslint/no-deprecated -----
5813
+ type TypescriptEslintNoDeprecated = []|[{
5814
+
5815
+ allow?: (string | {
5816
+ from: "file"
5817
+ name: (string | [string, ...(string)[]])
5818
+ path?: string
5819
+ } | {
5820
+ from: "lib"
5821
+ name: (string | [string, ...(string)[]])
5822
+ } | {
5823
+ from: "package"
5824
+ name: (string | [string, ...(string)[]])
5825
+ package: string
5826
+ })[]
5827
+ }]
5803
5828
  // ----- @typescript-eslint/no-duplicate-type-constituents -----
5804
5829
  type TypescriptEslintNoDuplicateTypeConstituents = []|[{
5805
5830
 
@@ -5941,6 +5966,22 @@ type TypescriptEslintNoMisusedPromises = []|[{
5941
5966
  variables?: boolean
5942
5967
  })
5943
5968
  }]
5969
+ // ----- @typescript-eslint/no-misused-spread -----
5970
+ type TypescriptEslintNoMisusedSpread = []|[{
5971
+
5972
+ allow?: (string | {
5973
+ from: "file"
5974
+ name: (string | [string, ...(string)[]])
5975
+ path?: string
5976
+ } | {
5977
+ from: "lib"
5978
+ name: (string | [string, ...(string)[]])
5979
+ } | {
5980
+ from: "package"
5981
+ name: (string | [string, ...(string)[]])
5982
+ package: string
5983
+ })[]
5984
+ }]
5944
5985
  // ----- @typescript-eslint/no-namespace -----
5945
5986
  type TypescriptEslintNoNamespace = []|[{
5946
5987
 
@@ -6016,7 +6057,7 @@ type TypescriptEslintNoShadow = []|[{
6016
6057
 
6017
6058
  builtinGlobals?: boolean
6018
6059
 
6019
- hoist?: ("all" | "functions" | "never")
6060
+ hoist?: ("all" | "functions" | "functions-and-types" | "never" | "types")
6020
6061
 
6021
6062
  ignoreFunctionTypeParameterNameValueShadow?: boolean
6022
6063
 
@@ -7962,7 +8003,11 @@ type PaddingLineBetweenStatements = {
7962
8003
  // ----- perfectionist/sort-array-includes -----
7963
8004
  type PerfectionistSortArrayIncludes = {
7964
8005
 
7965
- partitionByComment?: (string[] | boolean | string)
8006
+ partitionByComment?: (string[] | boolean | string | {
8007
+ block?: (string[] | boolean | string)
8008
+ line?: (string[] | boolean | string)
8009
+ [k: string]: unknown | undefined
8010
+ })
7966
8011
 
7967
8012
  groupKind?: ("mixed" | "literals-first" | "spreads-first")
7968
8013
 
@@ -7973,6 +8018,8 @@ type PerfectionistSortArrayIncludes = {
7973
8018
  type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
7974
8019
 
7975
8020
  order?: ("desc" | "asc")
8021
+
8022
+ newlinesInside?: ("always" | "never")
7976
8023
  anyOf?: {
7977
8024
 
7978
8025
  selector?: ("literal" | "spread")
@@ -7987,6 +8034,8 @@ type PerfectionistSortArrayIncludes = {
7987
8034
 
7988
8035
  order?: ("desc" | "asc")
7989
8036
 
8037
+ newlinesInside?: ("always" | "never")
8038
+
7990
8039
  selector?: ("literal" | "spread")
7991
8040
 
7992
8041
  elementNamePattern?: string
@@ -8007,7 +8056,11 @@ type PerfectionistSortArrayIncludes = {
8007
8056
 
8008
8057
  locales?: (string | string[])
8009
8058
 
8010
- groups?: (string | string[])[]
8059
+ groups?: (string | string[] | {
8060
+
8061
+ newlinesBetween?: ("ignore" | "always" | "never")
8062
+ [k: string]: unknown | undefined
8063
+ })[]
8011
8064
 
8012
8065
  order?: ("asc" | "desc")
8013
8066
  }[]
@@ -8016,7 +8069,11 @@ type PerfectionistSortClasses = []|[{
8016
8069
 
8017
8070
  ignoreCallbackDependenciesPatterns?: string[]
8018
8071
 
8019
- partitionByComment?: (string[] | boolean | string)
8072
+ partitionByComment?: (string[] | boolean | string | {
8073
+ block?: (string[] | boolean | string)
8074
+ line?: (string[] | boolean | string)
8075
+ [k: string]: unknown | undefined
8076
+ })
8020
8077
 
8021
8078
  customGroups?: ({
8022
8079
 
@@ -8025,6 +8082,8 @@ type PerfectionistSortClasses = []|[{
8025
8082
  type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
8026
8083
 
8027
8084
  order?: ("desc" | "asc")
8085
+
8086
+ newlinesInside?: ("always" | "never")
8028
8087
  anyOf?: {
8029
8088
 
8030
8089
  elementValuePattern?: string
@@ -8045,6 +8104,8 @@ type PerfectionistSortClasses = []|[{
8045
8104
 
8046
8105
  order?: ("desc" | "asc")
8047
8106
 
8107
+ newlinesInside?: ("always" | "never")
8108
+
8048
8109
  elementValuePattern?: string
8049
8110
 
8050
8111
  decoratorNamePattern?: string
@@ -8070,14 +8131,22 @@ type PerfectionistSortClasses = []|[{
8070
8131
 
8071
8132
  locales?: (string | string[])
8072
8133
 
8073
- groups?: (string | string[])[]
8134
+ groups?: (string | string[] | {
8135
+
8136
+ newlinesBetween?: ("ignore" | "always" | "never")
8137
+ [k: string]: unknown | undefined
8138
+ })[]
8074
8139
 
8075
8140
  order?: ("asc" | "desc")
8076
8141
  }]
8077
8142
  // ----- perfectionist/sort-decorators -----
8078
8143
  type PerfectionistSortDecorators = []|[{
8079
8144
 
8080
- partitionByComment?: (string[] | boolean | string)
8145
+ partitionByComment?: (string[] | boolean | string | {
8146
+ block?: (string[] | boolean | string)
8147
+ line?: (string[] | boolean | string)
8148
+ [k: string]: unknown | undefined
8149
+ })
8081
8150
 
8082
8151
  sortOnParameters?: boolean
8083
8152
 
@@ -8103,14 +8172,22 @@ type PerfectionistSortDecorators = []|[{
8103
8172
 
8104
8173
  locales?: (string | string[])
8105
8174
 
8106
- groups?: (string | string[])[]
8175
+ groups?: (string | string[] | {
8176
+
8177
+ newlinesBetween?: ("ignore" | "always" | "never")
8178
+ [k: string]: unknown | undefined
8179
+ })[]
8107
8180
 
8108
8181
  order?: ("asc" | "desc")
8109
8182
  }]
8110
8183
  // ----- perfectionist/sort-enums -----
8111
8184
  type PerfectionistSortEnums = []|[{
8112
8185
 
8113
- partitionByComment?: (string[] | boolean | string)
8186
+ partitionByComment?: (string[] | boolean | string | {
8187
+ block?: (string[] | boolean | string)
8188
+ line?: (string[] | boolean | string)
8189
+ [k: string]: unknown | undefined
8190
+ })
8114
8191
 
8115
8192
  forceNumericSort?: boolean
8116
8193
 
@@ -8133,7 +8210,11 @@ type PerfectionistSortEnums = []|[{
8133
8210
  // ----- perfectionist/sort-exports -----
8134
8211
  type PerfectionistSortExports = []|[{
8135
8212
 
8136
- partitionByComment?: (string[] | boolean | string)
8213
+ partitionByComment?: (string[] | boolean | string | {
8214
+ block?: (string[] | boolean | string)
8215
+ line?: (string[] | boolean | string)
8216
+ [k: string]: unknown | undefined
8217
+ })
8137
8218
 
8138
8219
  groupKind?: ("mixed" | "values-first" | "types-first")
8139
8220
 
@@ -8168,7 +8249,11 @@ type PerfectionistSortHeritageClauses = []|[{
8168
8249
 
8169
8250
  locales?: (string | string[])
8170
8251
 
8171
- groups?: (string | string[])[]
8252
+ groups?: (string | string[] | {
8253
+
8254
+ newlinesBetween?: ("ignore" | "always" | "never")
8255
+ [k: string]: unknown | undefined
8256
+ })[]
8172
8257
 
8173
8258
  order?: ("asc" | "desc")
8174
8259
  }]
@@ -8187,7 +8272,11 @@ type _PerfectionistSortImportsSortImports = (_PerfectionistSortImportsMaxLineLen
8187
8272
  }
8188
8273
  }
8189
8274
 
8190
- partitionByComment?: (string[] | boolean | string)
8275
+ partitionByComment?: (string[] | boolean | string | {
8276
+ block?: (string[] | boolean | string)
8277
+ line?: (string[] | boolean | string)
8278
+ [k: string]: unknown | undefined
8279
+ })
8191
8280
 
8192
8281
  internalPattern?: string[]
8193
8282
 
@@ -8213,7 +8302,11 @@ type _PerfectionistSortImportsSortImports = (_PerfectionistSortImportsMaxLineLen
8213
8302
 
8214
8303
  locales?: (string | string[])
8215
8304
 
8216
- groups?: (string | string[])[]
8305
+ groups?: (string | string[] | {
8306
+
8307
+ newlinesBetween?: ("ignore" | "always" | "never")
8308
+ [k: string]: unknown | undefined
8309
+ })[]
8217
8310
 
8218
8311
  order?: ("asc" | "desc")
8219
8312
  })
@@ -8233,7 +8326,11 @@ type PerfectionistSortInterfaces = {
8233
8326
  declarationMatchesPattern?: string
8234
8327
  }
8235
8328
 
8236
- partitionByComment?: (string[] | boolean | string)
8329
+ partitionByComment?: (string[] | boolean | string | {
8330
+ block?: (string[] | boolean | string)
8331
+ line?: (string[] | boolean | string)
8332
+ [k: string]: unknown | undefined
8333
+ })
8237
8334
  customGroups?: ({
8238
8335
  [k: string]: (string | string[]) | undefined
8239
8336
  } | ({
@@ -8243,6 +8340,8 @@ type PerfectionistSortInterfaces = {
8243
8340
  type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
8244
8341
 
8245
8342
  order?: ("desc" | "asc")
8343
+
8344
+ newlinesInside?: ("always" | "never")
8246
8345
  anyOf?: {
8247
8346
 
8248
8347
  modifiers?: ("optional" | "required" | "multiline")[]
@@ -8259,6 +8358,8 @@ type PerfectionistSortInterfaces = {
8259
8358
 
8260
8359
  order?: ("desc" | "asc")
8261
8360
 
8361
+ newlinesInside?: ("always" | "never")
8362
+
8262
8363
  modifiers?: ("optional" | "required" | "multiline")[]
8263
8364
 
8264
8365
  selector?: ("index-signature" | "member" | "method" | "multiline" | "property")
@@ -8282,14 +8383,22 @@ type PerfectionistSortInterfaces = {
8282
8383
 
8283
8384
  locales?: (string | string[])
8284
8385
 
8285
- groups?: (string | string[])[]
8386
+ groups?: (string | string[] | {
8387
+
8388
+ newlinesBetween?: ("ignore" | "always" | "never")
8389
+ [k: string]: unknown | undefined
8390
+ })[]
8286
8391
 
8287
8392
  order?: ("asc" | "desc")
8288
8393
  }[]
8289
8394
  // ----- perfectionist/sort-intersection-types -----
8290
8395
  type PerfectionistSortIntersectionTypes = []|[{
8291
8396
 
8292
- partitionByComment?: (string[] | boolean | string)
8397
+ partitionByComment?: (string[] | boolean | string | {
8398
+ block?: (string[] | boolean | string)
8399
+ line?: (string[] | boolean | string)
8400
+ [k: string]: unknown | undefined
8401
+ })
8293
8402
 
8294
8403
  partitionByNewLine?: boolean
8295
8404
 
@@ -8305,7 +8414,11 @@ type PerfectionistSortIntersectionTypes = []|[{
8305
8414
 
8306
8415
  locales?: (string | string[])
8307
8416
 
8308
- groups?: (string | string[])[]
8417
+ groups?: (string | string[] | {
8418
+
8419
+ newlinesBetween?: ("ignore" | "always" | "never")
8420
+ [k: string]: unknown | undefined
8421
+ })[]
8309
8422
 
8310
8423
  order?: ("asc" | "desc")
8311
8424
  }]
@@ -8328,14 +8441,22 @@ type PerfectionistSortJsxProps = []|[{
8328
8441
 
8329
8442
  locales?: (string | string[])
8330
8443
 
8331
- groups?: (string | string[])[]
8444
+ groups?: (string | string[] | {
8445
+
8446
+ newlinesBetween?: ("ignore" | "always" | "never")
8447
+ [k: string]: unknown | undefined
8448
+ })[]
8332
8449
 
8333
8450
  order?: ("asc" | "desc")
8334
8451
  }]
8335
8452
  // ----- perfectionist/sort-maps -----
8336
8453
  type PerfectionistSortMaps = []|[{
8337
8454
 
8338
- partitionByComment?: (string[] | boolean | string)
8455
+ partitionByComment?: (string[] | boolean | string | {
8456
+ block?: (string[] | boolean | string)
8457
+ line?: (string[] | boolean | string)
8458
+ [k: string]: unknown | undefined
8459
+ })
8339
8460
 
8340
8461
  partitionByNewLine?: boolean
8341
8462
 
@@ -8354,7 +8475,11 @@ type PerfectionistSortMaps = []|[{
8354
8475
  // ----- perfectionist/sort-modules -----
8355
8476
  type PerfectionistSortModules = []|[{
8356
8477
 
8357
- partitionByComment?: (string[] | boolean | string)
8478
+ partitionByComment?: (string[] | boolean | string | {
8479
+ block?: (string[] | boolean | string)
8480
+ line?: (string[] | boolean | string)
8481
+ [k: string]: unknown | undefined
8482
+ })
8358
8483
 
8359
8484
  customGroups?: ({
8360
8485
 
@@ -8363,6 +8488,8 @@ type PerfectionistSortModules = []|[{
8363
8488
  type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
8364
8489
 
8365
8490
  order?: ("desc" | "asc")
8491
+
8492
+ newlinesInside?: ("always" | "never")
8366
8493
  anyOf?: {
8367
8494
 
8368
8495
  decoratorNamePattern?: string
@@ -8381,6 +8508,8 @@ type PerfectionistSortModules = []|[{
8381
8508
 
8382
8509
  order?: ("desc" | "asc")
8383
8510
 
8511
+ newlinesInside?: ("always" | "never")
8512
+
8384
8513
  decoratorNamePattern?: string
8385
8514
 
8386
8515
  modifiers?: ("async" | "declare" | "decorated" | "default" | "export")[]
@@ -8404,14 +8533,22 @@ type PerfectionistSortModules = []|[{
8404
8533
 
8405
8534
  locales?: (string | string[])
8406
8535
 
8407
- groups?: (string | string[])[]
8536
+ groups?: (string | string[] | {
8537
+
8538
+ newlinesBetween?: ("ignore" | "always" | "never")
8539
+ [k: string]: unknown | undefined
8540
+ })[]
8408
8541
 
8409
8542
  order?: ("asc" | "desc")
8410
8543
  }]
8411
8544
  // ----- perfectionist/sort-named-exports -----
8412
8545
  type PerfectionistSortNamedExports = []|[{
8413
8546
 
8414
- partitionByComment?: (string[] | boolean | string)
8547
+ partitionByComment?: (string[] | boolean | string | {
8548
+ block?: (string[] | boolean | string)
8549
+ line?: (string[] | boolean | string)
8550
+ [k: string]: unknown | undefined
8551
+ })
8415
8552
 
8416
8553
  groupKind?: ("mixed" | "values-first" | "types-first")
8417
8554
 
@@ -8432,7 +8569,11 @@ type PerfectionistSortNamedExports = []|[{
8432
8569
  // ----- perfectionist/sort-named-imports -----
8433
8570
  type PerfectionistSortNamedImports = []|[{
8434
8571
 
8435
- partitionByComment?: (string[] | boolean | string)
8572
+ partitionByComment?: (string[] | boolean | string | {
8573
+ block?: (string[] | boolean | string)
8574
+ line?: (string[] | boolean | string)
8575
+ [k: string]: unknown | undefined
8576
+ })
8436
8577
 
8437
8578
  groupKind?: ("mixed" | "values-first" | "types-first")
8438
8579
 
@@ -8461,7 +8602,11 @@ type PerfectionistSortObjectTypes = {
8461
8602
  declarationMatchesPattern?: string
8462
8603
  }
8463
8604
 
8464
- partitionByComment?: (string[] | boolean | string)
8605
+ partitionByComment?: (string[] | boolean | string | {
8606
+ block?: (string[] | boolean | string)
8607
+ line?: (string[] | boolean | string)
8608
+ [k: string]: unknown | undefined
8609
+ })
8465
8610
  customGroups?: ({
8466
8611
  [k: string]: (string | string[]) | undefined
8467
8612
  } | ({
@@ -8471,6 +8616,8 @@ type PerfectionistSortObjectTypes = {
8471
8616
  type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
8472
8617
 
8473
8618
  order?: ("desc" | "asc")
8619
+
8620
+ newlinesInside?: ("always" | "never")
8474
8621
  anyOf?: {
8475
8622
 
8476
8623
  modifiers?: ("optional" | "required" | "multiline")[]
@@ -8487,6 +8634,8 @@ type PerfectionistSortObjectTypes = {
8487
8634
 
8488
8635
  order?: ("desc" | "asc")
8489
8636
 
8637
+ newlinesInside?: ("always" | "never")
8638
+
8490
8639
  modifiers?: ("optional" | "required" | "multiline")[]
8491
8640
 
8492
8641
  selector?: ("index-signature" | "member" | "method" | "multiline" | "property")
@@ -8510,7 +8659,11 @@ type PerfectionistSortObjectTypes = {
8510
8659
 
8511
8660
  locales?: (string | string[])
8512
8661
 
8513
- groups?: (string | string[])[]
8662
+ groups?: (string | string[] | {
8663
+
8664
+ newlinesBetween?: ("ignore" | "always" | "never")
8665
+ [k: string]: unknown | undefined
8666
+ })[]
8514
8667
 
8515
8668
  order?: ("asc" | "desc")
8516
8669
  }[]
@@ -8528,7 +8681,11 @@ type PerfectionistSortObjects = {
8528
8681
  callingFunctionNamePattern?: string
8529
8682
  }
8530
8683
 
8531
- partitionByComment?: (string[] | boolean | string)
8684
+ partitionByComment?: (string[] | boolean | string | {
8685
+ block?: (string[] | boolean | string)
8686
+ line?: (string[] | boolean | string)
8687
+ [k: string]: unknown | undefined
8688
+ })
8532
8689
 
8533
8690
  destructureOnly?: boolean
8534
8691
 
@@ -8554,14 +8711,22 @@ type PerfectionistSortObjects = {
8554
8711
 
8555
8712
  locales?: (string | string[])
8556
8713
 
8557
- groups?: (string | string[])[]
8714
+ groups?: (string | string[] | {
8715
+
8716
+ newlinesBetween?: ("ignore" | "always" | "never")
8717
+ [k: string]: unknown | undefined
8718
+ })[]
8558
8719
 
8559
8720
  order?: ("asc" | "desc")
8560
8721
  }[]
8561
8722
  // ----- perfectionist/sort-sets -----
8562
8723
  type PerfectionistSortSets = {
8563
8724
 
8564
- partitionByComment?: (string[] | boolean | string)
8725
+ partitionByComment?: (string[] | boolean | string | {
8726
+ block?: (string[] | boolean | string)
8727
+ line?: (string[] | boolean | string)
8728
+ [k: string]: unknown | undefined
8729
+ })
8565
8730
 
8566
8731
  groupKind?: ("mixed" | "literals-first" | "spreads-first")
8567
8732
 
@@ -8572,6 +8737,8 @@ type PerfectionistSortSets = {
8572
8737
  type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
8573
8738
 
8574
8739
  order?: ("desc" | "asc")
8740
+
8741
+ newlinesInside?: ("always" | "never")
8575
8742
  anyOf?: {
8576
8743
 
8577
8744
  selector?: ("literal" | "spread")
@@ -8586,6 +8753,8 @@ type PerfectionistSortSets = {
8586
8753
 
8587
8754
  order?: ("desc" | "asc")
8588
8755
 
8756
+ newlinesInside?: ("always" | "never")
8757
+
8589
8758
  selector?: ("literal" | "spread")
8590
8759
 
8591
8760
  elementNamePattern?: string
@@ -8606,7 +8775,11 @@ type PerfectionistSortSets = {
8606
8775
 
8607
8776
  locales?: (string | string[])
8608
8777
 
8609
- groups?: (string | string[])[]
8778
+ groups?: (string | string[] | {
8779
+
8780
+ newlinesBetween?: ("ignore" | "always" | "never")
8781
+ [k: string]: unknown | undefined
8782
+ })[]
8610
8783
 
8611
8784
  order?: ("asc" | "desc")
8612
8785
  }[]
@@ -8628,7 +8801,11 @@ type PerfectionistSortSwitchCase = []|[{
8628
8801
  // ----- perfectionist/sort-union-types -----
8629
8802
  type PerfectionistSortUnionTypes = []|[{
8630
8803
 
8631
- partitionByComment?: (string[] | boolean | string)
8804
+ partitionByComment?: (string[] | boolean | string | {
8805
+ block?: (string[] | boolean | string)
8806
+ line?: (string[] | boolean | string)
8807
+ [k: string]: unknown | undefined
8808
+ })
8632
8809
 
8633
8810
  partitionByNewLine?: boolean
8634
8811
 
@@ -8644,14 +8821,22 @@ type PerfectionistSortUnionTypes = []|[{
8644
8821
 
8645
8822
  locales?: (string | string[])
8646
8823
 
8647
- groups?: (string | string[])[]
8824
+ groups?: (string | string[] | {
8825
+
8826
+ newlinesBetween?: ("ignore" | "always" | "never")
8827
+ [k: string]: unknown | undefined
8828
+ })[]
8648
8829
 
8649
8830
  order?: ("asc" | "desc")
8650
8831
  }]
8651
8832
  // ----- perfectionist/sort-variable-declarations -----
8652
8833
  type PerfectionistSortVariableDeclarations = []|[{
8653
8834
 
8654
- partitionByComment?: (string[] | boolean | string)
8835
+ partitionByComment?: (string[] | boolean | string | {
8836
+ block?: (string[] | boolean | string)
8837
+ line?: (string[] | boolean | string)
8838
+ [k: string]: unknown | undefined
8839
+ })
8655
8840
 
8656
8841
  partitionByNewLine?: boolean
8657
8842
 
package/dist/index.d.ts CHANGED
@@ -635,7 +635,7 @@ interface RuleOptions {
635
635
  * Disallow using code marked as `@deprecated`
636
636
  * @see https://typescript-eslint.io/rules/no-deprecated
637
637
  */
638
- '@typescript-eslint/no-deprecated'?: Linter.RuleEntry<[]>
638
+ '@typescript-eslint/no-deprecated'?: Linter.RuleEntry<TypescriptEslintNoDeprecated>
639
639
  /**
640
640
  * Disallow duplicate class members
641
641
  * @see https://typescript-eslint.io/rules/no-dupe-class-members
@@ -753,6 +753,11 @@ interface RuleOptions {
753
753
  * @see https://typescript-eslint.io/rules/no-misused-promises
754
754
  */
755
755
  '@typescript-eslint/no-misused-promises'?: Linter.RuleEntry<TypescriptEslintNoMisusedPromises>
756
+ /**
757
+ * Disallow using the spread operator when it might cause unexpected behavior
758
+ * @see https://typescript-eslint.io/rules/no-misused-spread
759
+ */
760
+ '@typescript-eslint/no-misused-spread'?: Linter.RuleEntry<TypescriptEslintNoMisusedSpread>
756
761
  /**
757
762
  * Disallow enums from having both number and string members
758
763
  * @see https://typescript-eslint.io/rules/no-mixed-enums
@@ -1275,7 +1280,7 @@ interface RuleOptions {
1275
1280
  */
1276
1281
  'default-case'?: Linter.RuleEntry<DefaultCase>
1277
1282
  /**
1278
- * Enforce `default` clauses in switch statements to be last
1283
+ * Enforce `default` clauses in `switch` statements to be last
1279
1284
  * @see https://eslint.org/docs/latest/rules/default-case-last
1280
1285
  */
1281
1286
  'default-case-last'?: Linter.RuleEntry<[]>
@@ -2962,7 +2967,7 @@ interface RuleOptions {
2962
2967
  */
2963
2968
  'solid/style-prop'?: Linter.RuleEntry<SolidStyleProp>
2964
2969
  /**
2965
- * Enforce sorted import declarations within modules
2970
+ * Enforce sorted `import` declarations within modules
2966
2971
  * @see https://eslint.org/docs/latest/rules/sort-imports
2967
2972
  */
2968
2973
  'sort-imports'?: Linter.RuleEntry<SortImports>
@@ -4557,6 +4562,7 @@ type StylisticKeySpacing = []|[({
4557
4562
  mode?: ("strict" | "minimum")
4558
4563
  beforeColon?: boolean
4559
4564
  afterColon?: boolean
4565
+ ignoredNodes?: ("ObjectExpression" | "ObjectPattern" | "ImportDeclaration" | "ExportNamedDeclaration" | "ExportAllDeclaration" | "TSTypeLiteral" | "TSInterfaceBody" | "ClassBody")[]
4560
4566
  } | {
4561
4567
  singleLine?: {
4562
4568
  mode?: ("strict" | "minimum")
@@ -5072,6 +5078,7 @@ type StylisticNoExtraParens = ([]|["functions"] | []|["all"]|["all", {
5072
5078
  enforceForNewInMemberExpressions?: boolean
5073
5079
  enforceForFunctionPrototypeMethods?: boolean
5074
5080
  allowParensAfterCommentPattern?: string
5081
+ nestedConditionalExpressions?: boolean
5075
5082
  }])
5076
5083
  // ----- @stylistic/no-mixed-operators -----
5077
5084
  type StylisticNoMixedOperators = []|[{
@@ -5169,14 +5176,14 @@ type StylisticOperatorLinebreak = []|[(("after" | "before" | "none") | null)]|[(
5169
5176
  }
5170
5177
  }]
5171
5178
  // ----- @stylistic/padded-blocks -----
5172
- type StylisticPaddedBlocks = []|[(("always" | "never") | {
5173
- blocks?: ("always" | "never")
5174
- switches?: ("always" | "never")
5175
- classes?: ("always" | "never")
5176
- })]|[(("always" | "never") | {
5177
- blocks?: ("always" | "never")
5178
- switches?: ("always" | "never")
5179
- classes?: ("always" | "never")
5179
+ type StylisticPaddedBlocks = []|[(("always" | "never" | "start" | "end") | {
5180
+ blocks?: ("always" | "never" | "start" | "end")
5181
+ switches?: ("always" | "never" | "start" | "end")
5182
+ classes?: ("always" | "never" | "start" | "end")
5183
+ })]|[(("always" | "never" | "start" | "end") | {
5184
+ blocks?: ("always" | "never" | "start" | "end")
5185
+ switches?: ("always" | "never" | "start" | "end")
5186
+ classes?: ("always" | "never" | "start" | "end")
5180
5187
  }), {
5181
5188
  allowSingleLineBlocks?: boolean
5182
5189
  }]
@@ -5344,6 +5351,8 @@ type TypescriptEslintConsistentTypeAssertions = []|[({
5344
5351
  assertionStyle: "never"
5345
5352
  } | {
5346
5353
 
5354
+ arrayLiteralTypeAssertions?: ("allow" | "allow-as-parameter" | "never")
5355
+
5347
5356
  assertionStyle?: ("as" | "angle-bracket")
5348
5357
 
5349
5358
  objectLiteralTypeAssertions?: ("allow" | "allow-as-parameter" | "never")
@@ -5800,6 +5809,22 @@ type TypescriptEslintNoConfusingVoidExpression = []|[{
5800
5809
 
5801
5810
  ignoreVoidReturningFunctions?: boolean
5802
5811
  }]
5812
+ // ----- @typescript-eslint/no-deprecated -----
5813
+ type TypescriptEslintNoDeprecated = []|[{
5814
+
5815
+ allow?: (string | {
5816
+ from: "file"
5817
+ name: (string | [string, ...(string)[]])
5818
+ path?: string
5819
+ } | {
5820
+ from: "lib"
5821
+ name: (string | [string, ...(string)[]])
5822
+ } | {
5823
+ from: "package"
5824
+ name: (string | [string, ...(string)[]])
5825
+ package: string
5826
+ })[]
5827
+ }]
5803
5828
  // ----- @typescript-eslint/no-duplicate-type-constituents -----
5804
5829
  type TypescriptEslintNoDuplicateTypeConstituents = []|[{
5805
5830
 
@@ -5941,6 +5966,22 @@ type TypescriptEslintNoMisusedPromises = []|[{
5941
5966
  variables?: boolean
5942
5967
  })
5943
5968
  }]
5969
+ // ----- @typescript-eslint/no-misused-spread -----
5970
+ type TypescriptEslintNoMisusedSpread = []|[{
5971
+
5972
+ allow?: (string | {
5973
+ from: "file"
5974
+ name: (string | [string, ...(string)[]])
5975
+ path?: string
5976
+ } | {
5977
+ from: "lib"
5978
+ name: (string | [string, ...(string)[]])
5979
+ } | {
5980
+ from: "package"
5981
+ name: (string | [string, ...(string)[]])
5982
+ package: string
5983
+ })[]
5984
+ }]
5944
5985
  // ----- @typescript-eslint/no-namespace -----
5945
5986
  type TypescriptEslintNoNamespace = []|[{
5946
5987
 
@@ -6016,7 +6057,7 @@ type TypescriptEslintNoShadow = []|[{
6016
6057
 
6017
6058
  builtinGlobals?: boolean
6018
6059
 
6019
- hoist?: ("all" | "functions" | "never")
6060
+ hoist?: ("all" | "functions" | "functions-and-types" | "never" | "types")
6020
6061
 
6021
6062
  ignoreFunctionTypeParameterNameValueShadow?: boolean
6022
6063
 
@@ -7962,7 +8003,11 @@ type PaddingLineBetweenStatements = {
7962
8003
  // ----- perfectionist/sort-array-includes -----
7963
8004
  type PerfectionistSortArrayIncludes = {
7964
8005
 
7965
- partitionByComment?: (string[] | boolean | string)
8006
+ partitionByComment?: (string[] | boolean | string | {
8007
+ block?: (string[] | boolean | string)
8008
+ line?: (string[] | boolean | string)
8009
+ [k: string]: unknown | undefined
8010
+ })
7966
8011
 
7967
8012
  groupKind?: ("mixed" | "literals-first" | "spreads-first")
7968
8013
 
@@ -7973,6 +8018,8 @@ type PerfectionistSortArrayIncludes = {
7973
8018
  type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
7974
8019
 
7975
8020
  order?: ("desc" | "asc")
8021
+
8022
+ newlinesInside?: ("always" | "never")
7976
8023
  anyOf?: {
7977
8024
 
7978
8025
  selector?: ("literal" | "spread")
@@ -7987,6 +8034,8 @@ type PerfectionistSortArrayIncludes = {
7987
8034
 
7988
8035
  order?: ("desc" | "asc")
7989
8036
 
8037
+ newlinesInside?: ("always" | "never")
8038
+
7990
8039
  selector?: ("literal" | "spread")
7991
8040
 
7992
8041
  elementNamePattern?: string
@@ -8007,7 +8056,11 @@ type PerfectionistSortArrayIncludes = {
8007
8056
 
8008
8057
  locales?: (string | string[])
8009
8058
 
8010
- groups?: (string | string[])[]
8059
+ groups?: (string | string[] | {
8060
+
8061
+ newlinesBetween?: ("ignore" | "always" | "never")
8062
+ [k: string]: unknown | undefined
8063
+ })[]
8011
8064
 
8012
8065
  order?: ("asc" | "desc")
8013
8066
  }[]
@@ -8016,7 +8069,11 @@ type PerfectionistSortClasses = []|[{
8016
8069
 
8017
8070
  ignoreCallbackDependenciesPatterns?: string[]
8018
8071
 
8019
- partitionByComment?: (string[] | boolean | string)
8072
+ partitionByComment?: (string[] | boolean | string | {
8073
+ block?: (string[] | boolean | string)
8074
+ line?: (string[] | boolean | string)
8075
+ [k: string]: unknown | undefined
8076
+ })
8020
8077
 
8021
8078
  customGroups?: ({
8022
8079
 
@@ -8025,6 +8082,8 @@ type PerfectionistSortClasses = []|[{
8025
8082
  type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
8026
8083
 
8027
8084
  order?: ("desc" | "asc")
8085
+
8086
+ newlinesInside?: ("always" | "never")
8028
8087
  anyOf?: {
8029
8088
 
8030
8089
  elementValuePattern?: string
@@ -8045,6 +8104,8 @@ type PerfectionistSortClasses = []|[{
8045
8104
 
8046
8105
  order?: ("desc" | "asc")
8047
8106
 
8107
+ newlinesInside?: ("always" | "never")
8108
+
8048
8109
  elementValuePattern?: string
8049
8110
 
8050
8111
  decoratorNamePattern?: string
@@ -8070,14 +8131,22 @@ type PerfectionistSortClasses = []|[{
8070
8131
 
8071
8132
  locales?: (string | string[])
8072
8133
 
8073
- groups?: (string | string[])[]
8134
+ groups?: (string | string[] | {
8135
+
8136
+ newlinesBetween?: ("ignore" | "always" | "never")
8137
+ [k: string]: unknown | undefined
8138
+ })[]
8074
8139
 
8075
8140
  order?: ("asc" | "desc")
8076
8141
  }]
8077
8142
  // ----- perfectionist/sort-decorators -----
8078
8143
  type PerfectionistSortDecorators = []|[{
8079
8144
 
8080
- partitionByComment?: (string[] | boolean | string)
8145
+ partitionByComment?: (string[] | boolean | string | {
8146
+ block?: (string[] | boolean | string)
8147
+ line?: (string[] | boolean | string)
8148
+ [k: string]: unknown | undefined
8149
+ })
8081
8150
 
8082
8151
  sortOnParameters?: boolean
8083
8152
 
@@ -8103,14 +8172,22 @@ type PerfectionistSortDecorators = []|[{
8103
8172
 
8104
8173
  locales?: (string | string[])
8105
8174
 
8106
- groups?: (string | string[])[]
8175
+ groups?: (string | string[] | {
8176
+
8177
+ newlinesBetween?: ("ignore" | "always" | "never")
8178
+ [k: string]: unknown | undefined
8179
+ })[]
8107
8180
 
8108
8181
  order?: ("asc" | "desc")
8109
8182
  }]
8110
8183
  // ----- perfectionist/sort-enums -----
8111
8184
  type PerfectionistSortEnums = []|[{
8112
8185
 
8113
- partitionByComment?: (string[] | boolean | string)
8186
+ partitionByComment?: (string[] | boolean | string | {
8187
+ block?: (string[] | boolean | string)
8188
+ line?: (string[] | boolean | string)
8189
+ [k: string]: unknown | undefined
8190
+ })
8114
8191
 
8115
8192
  forceNumericSort?: boolean
8116
8193
 
@@ -8133,7 +8210,11 @@ type PerfectionistSortEnums = []|[{
8133
8210
  // ----- perfectionist/sort-exports -----
8134
8211
  type PerfectionistSortExports = []|[{
8135
8212
 
8136
- partitionByComment?: (string[] | boolean | string)
8213
+ partitionByComment?: (string[] | boolean | string | {
8214
+ block?: (string[] | boolean | string)
8215
+ line?: (string[] | boolean | string)
8216
+ [k: string]: unknown | undefined
8217
+ })
8137
8218
 
8138
8219
  groupKind?: ("mixed" | "values-first" | "types-first")
8139
8220
 
@@ -8168,7 +8249,11 @@ type PerfectionistSortHeritageClauses = []|[{
8168
8249
 
8169
8250
  locales?: (string | string[])
8170
8251
 
8171
- groups?: (string | string[])[]
8252
+ groups?: (string | string[] | {
8253
+
8254
+ newlinesBetween?: ("ignore" | "always" | "never")
8255
+ [k: string]: unknown | undefined
8256
+ })[]
8172
8257
 
8173
8258
  order?: ("asc" | "desc")
8174
8259
  }]
@@ -8187,7 +8272,11 @@ type _PerfectionistSortImportsSortImports = (_PerfectionistSortImportsMaxLineLen
8187
8272
  }
8188
8273
  }
8189
8274
 
8190
- partitionByComment?: (string[] | boolean | string)
8275
+ partitionByComment?: (string[] | boolean | string | {
8276
+ block?: (string[] | boolean | string)
8277
+ line?: (string[] | boolean | string)
8278
+ [k: string]: unknown | undefined
8279
+ })
8191
8280
 
8192
8281
  internalPattern?: string[]
8193
8282
 
@@ -8213,7 +8302,11 @@ type _PerfectionistSortImportsSortImports = (_PerfectionistSortImportsMaxLineLen
8213
8302
 
8214
8303
  locales?: (string | string[])
8215
8304
 
8216
- groups?: (string | string[])[]
8305
+ groups?: (string | string[] | {
8306
+
8307
+ newlinesBetween?: ("ignore" | "always" | "never")
8308
+ [k: string]: unknown | undefined
8309
+ })[]
8217
8310
 
8218
8311
  order?: ("asc" | "desc")
8219
8312
  })
@@ -8233,7 +8326,11 @@ type PerfectionistSortInterfaces = {
8233
8326
  declarationMatchesPattern?: string
8234
8327
  }
8235
8328
 
8236
- partitionByComment?: (string[] | boolean | string)
8329
+ partitionByComment?: (string[] | boolean | string | {
8330
+ block?: (string[] | boolean | string)
8331
+ line?: (string[] | boolean | string)
8332
+ [k: string]: unknown | undefined
8333
+ })
8237
8334
  customGroups?: ({
8238
8335
  [k: string]: (string | string[]) | undefined
8239
8336
  } | ({
@@ -8243,6 +8340,8 @@ type PerfectionistSortInterfaces = {
8243
8340
  type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
8244
8341
 
8245
8342
  order?: ("desc" | "asc")
8343
+
8344
+ newlinesInside?: ("always" | "never")
8246
8345
  anyOf?: {
8247
8346
 
8248
8347
  modifiers?: ("optional" | "required" | "multiline")[]
@@ -8259,6 +8358,8 @@ type PerfectionistSortInterfaces = {
8259
8358
 
8260
8359
  order?: ("desc" | "asc")
8261
8360
 
8361
+ newlinesInside?: ("always" | "never")
8362
+
8262
8363
  modifiers?: ("optional" | "required" | "multiline")[]
8263
8364
 
8264
8365
  selector?: ("index-signature" | "member" | "method" | "multiline" | "property")
@@ -8282,14 +8383,22 @@ type PerfectionistSortInterfaces = {
8282
8383
 
8283
8384
  locales?: (string | string[])
8284
8385
 
8285
- groups?: (string | string[])[]
8386
+ groups?: (string | string[] | {
8387
+
8388
+ newlinesBetween?: ("ignore" | "always" | "never")
8389
+ [k: string]: unknown | undefined
8390
+ })[]
8286
8391
 
8287
8392
  order?: ("asc" | "desc")
8288
8393
  }[]
8289
8394
  // ----- perfectionist/sort-intersection-types -----
8290
8395
  type PerfectionistSortIntersectionTypes = []|[{
8291
8396
 
8292
- partitionByComment?: (string[] | boolean | string)
8397
+ partitionByComment?: (string[] | boolean | string | {
8398
+ block?: (string[] | boolean | string)
8399
+ line?: (string[] | boolean | string)
8400
+ [k: string]: unknown | undefined
8401
+ })
8293
8402
 
8294
8403
  partitionByNewLine?: boolean
8295
8404
 
@@ -8305,7 +8414,11 @@ type PerfectionistSortIntersectionTypes = []|[{
8305
8414
 
8306
8415
  locales?: (string | string[])
8307
8416
 
8308
- groups?: (string | string[])[]
8417
+ groups?: (string | string[] | {
8418
+
8419
+ newlinesBetween?: ("ignore" | "always" | "never")
8420
+ [k: string]: unknown | undefined
8421
+ })[]
8309
8422
 
8310
8423
  order?: ("asc" | "desc")
8311
8424
  }]
@@ -8328,14 +8441,22 @@ type PerfectionistSortJsxProps = []|[{
8328
8441
 
8329
8442
  locales?: (string | string[])
8330
8443
 
8331
- groups?: (string | string[])[]
8444
+ groups?: (string | string[] | {
8445
+
8446
+ newlinesBetween?: ("ignore" | "always" | "never")
8447
+ [k: string]: unknown | undefined
8448
+ })[]
8332
8449
 
8333
8450
  order?: ("asc" | "desc")
8334
8451
  }]
8335
8452
  // ----- perfectionist/sort-maps -----
8336
8453
  type PerfectionistSortMaps = []|[{
8337
8454
 
8338
- partitionByComment?: (string[] | boolean | string)
8455
+ partitionByComment?: (string[] | boolean | string | {
8456
+ block?: (string[] | boolean | string)
8457
+ line?: (string[] | boolean | string)
8458
+ [k: string]: unknown | undefined
8459
+ })
8339
8460
 
8340
8461
  partitionByNewLine?: boolean
8341
8462
 
@@ -8354,7 +8475,11 @@ type PerfectionistSortMaps = []|[{
8354
8475
  // ----- perfectionist/sort-modules -----
8355
8476
  type PerfectionistSortModules = []|[{
8356
8477
 
8357
- partitionByComment?: (string[] | boolean | string)
8478
+ partitionByComment?: (string[] | boolean | string | {
8479
+ block?: (string[] | boolean | string)
8480
+ line?: (string[] | boolean | string)
8481
+ [k: string]: unknown | undefined
8482
+ })
8358
8483
 
8359
8484
  customGroups?: ({
8360
8485
 
@@ -8363,6 +8488,8 @@ type PerfectionistSortModules = []|[{
8363
8488
  type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
8364
8489
 
8365
8490
  order?: ("desc" | "asc")
8491
+
8492
+ newlinesInside?: ("always" | "never")
8366
8493
  anyOf?: {
8367
8494
 
8368
8495
  decoratorNamePattern?: string
@@ -8381,6 +8508,8 @@ type PerfectionistSortModules = []|[{
8381
8508
 
8382
8509
  order?: ("desc" | "asc")
8383
8510
 
8511
+ newlinesInside?: ("always" | "never")
8512
+
8384
8513
  decoratorNamePattern?: string
8385
8514
 
8386
8515
  modifiers?: ("async" | "declare" | "decorated" | "default" | "export")[]
@@ -8404,14 +8533,22 @@ type PerfectionistSortModules = []|[{
8404
8533
 
8405
8534
  locales?: (string | string[])
8406
8535
 
8407
- groups?: (string | string[])[]
8536
+ groups?: (string | string[] | {
8537
+
8538
+ newlinesBetween?: ("ignore" | "always" | "never")
8539
+ [k: string]: unknown | undefined
8540
+ })[]
8408
8541
 
8409
8542
  order?: ("asc" | "desc")
8410
8543
  }]
8411
8544
  // ----- perfectionist/sort-named-exports -----
8412
8545
  type PerfectionistSortNamedExports = []|[{
8413
8546
 
8414
- partitionByComment?: (string[] | boolean | string)
8547
+ partitionByComment?: (string[] | boolean | string | {
8548
+ block?: (string[] | boolean | string)
8549
+ line?: (string[] | boolean | string)
8550
+ [k: string]: unknown | undefined
8551
+ })
8415
8552
 
8416
8553
  groupKind?: ("mixed" | "values-first" | "types-first")
8417
8554
 
@@ -8432,7 +8569,11 @@ type PerfectionistSortNamedExports = []|[{
8432
8569
  // ----- perfectionist/sort-named-imports -----
8433
8570
  type PerfectionistSortNamedImports = []|[{
8434
8571
 
8435
- partitionByComment?: (string[] | boolean | string)
8572
+ partitionByComment?: (string[] | boolean | string | {
8573
+ block?: (string[] | boolean | string)
8574
+ line?: (string[] | boolean | string)
8575
+ [k: string]: unknown | undefined
8576
+ })
8436
8577
 
8437
8578
  groupKind?: ("mixed" | "values-first" | "types-first")
8438
8579
 
@@ -8461,7 +8602,11 @@ type PerfectionistSortObjectTypes = {
8461
8602
  declarationMatchesPattern?: string
8462
8603
  }
8463
8604
 
8464
- partitionByComment?: (string[] | boolean | string)
8605
+ partitionByComment?: (string[] | boolean | string | {
8606
+ block?: (string[] | boolean | string)
8607
+ line?: (string[] | boolean | string)
8608
+ [k: string]: unknown | undefined
8609
+ })
8465
8610
  customGroups?: ({
8466
8611
  [k: string]: (string | string[]) | undefined
8467
8612
  } | ({
@@ -8471,6 +8616,8 @@ type PerfectionistSortObjectTypes = {
8471
8616
  type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
8472
8617
 
8473
8618
  order?: ("desc" | "asc")
8619
+
8620
+ newlinesInside?: ("always" | "never")
8474
8621
  anyOf?: {
8475
8622
 
8476
8623
  modifiers?: ("optional" | "required" | "multiline")[]
@@ -8487,6 +8634,8 @@ type PerfectionistSortObjectTypes = {
8487
8634
 
8488
8635
  order?: ("desc" | "asc")
8489
8636
 
8637
+ newlinesInside?: ("always" | "never")
8638
+
8490
8639
  modifiers?: ("optional" | "required" | "multiline")[]
8491
8640
 
8492
8641
  selector?: ("index-signature" | "member" | "method" | "multiline" | "property")
@@ -8510,7 +8659,11 @@ type PerfectionistSortObjectTypes = {
8510
8659
 
8511
8660
  locales?: (string | string[])
8512
8661
 
8513
- groups?: (string | string[])[]
8662
+ groups?: (string | string[] | {
8663
+
8664
+ newlinesBetween?: ("ignore" | "always" | "never")
8665
+ [k: string]: unknown | undefined
8666
+ })[]
8514
8667
 
8515
8668
  order?: ("asc" | "desc")
8516
8669
  }[]
@@ -8528,7 +8681,11 @@ type PerfectionistSortObjects = {
8528
8681
  callingFunctionNamePattern?: string
8529
8682
  }
8530
8683
 
8531
- partitionByComment?: (string[] | boolean | string)
8684
+ partitionByComment?: (string[] | boolean | string | {
8685
+ block?: (string[] | boolean | string)
8686
+ line?: (string[] | boolean | string)
8687
+ [k: string]: unknown | undefined
8688
+ })
8532
8689
 
8533
8690
  destructureOnly?: boolean
8534
8691
 
@@ -8554,14 +8711,22 @@ type PerfectionistSortObjects = {
8554
8711
 
8555
8712
  locales?: (string | string[])
8556
8713
 
8557
- groups?: (string | string[])[]
8714
+ groups?: (string | string[] | {
8715
+
8716
+ newlinesBetween?: ("ignore" | "always" | "never")
8717
+ [k: string]: unknown | undefined
8718
+ })[]
8558
8719
 
8559
8720
  order?: ("asc" | "desc")
8560
8721
  }[]
8561
8722
  // ----- perfectionist/sort-sets -----
8562
8723
  type PerfectionistSortSets = {
8563
8724
 
8564
- partitionByComment?: (string[] | boolean | string)
8725
+ partitionByComment?: (string[] | boolean | string | {
8726
+ block?: (string[] | boolean | string)
8727
+ line?: (string[] | boolean | string)
8728
+ [k: string]: unknown | undefined
8729
+ })
8565
8730
 
8566
8731
  groupKind?: ("mixed" | "literals-first" | "spreads-first")
8567
8732
 
@@ -8572,6 +8737,8 @@ type PerfectionistSortSets = {
8572
8737
  type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
8573
8738
 
8574
8739
  order?: ("desc" | "asc")
8740
+
8741
+ newlinesInside?: ("always" | "never")
8575
8742
  anyOf?: {
8576
8743
 
8577
8744
  selector?: ("literal" | "spread")
@@ -8586,6 +8753,8 @@ type PerfectionistSortSets = {
8586
8753
 
8587
8754
  order?: ("desc" | "asc")
8588
8755
 
8756
+ newlinesInside?: ("always" | "never")
8757
+
8589
8758
  selector?: ("literal" | "spread")
8590
8759
 
8591
8760
  elementNamePattern?: string
@@ -8606,7 +8775,11 @@ type PerfectionistSortSets = {
8606
8775
 
8607
8776
  locales?: (string | string[])
8608
8777
 
8609
- groups?: (string | string[])[]
8778
+ groups?: (string | string[] | {
8779
+
8780
+ newlinesBetween?: ("ignore" | "always" | "never")
8781
+ [k: string]: unknown | undefined
8782
+ })[]
8610
8783
 
8611
8784
  order?: ("asc" | "desc")
8612
8785
  }[]
@@ -8628,7 +8801,11 @@ type PerfectionistSortSwitchCase = []|[{
8628
8801
  // ----- perfectionist/sort-union-types -----
8629
8802
  type PerfectionistSortUnionTypes = []|[{
8630
8803
 
8631
- partitionByComment?: (string[] | boolean | string)
8804
+ partitionByComment?: (string[] | boolean | string | {
8805
+ block?: (string[] | boolean | string)
8806
+ line?: (string[] | boolean | string)
8807
+ [k: string]: unknown | undefined
8808
+ })
8632
8809
 
8633
8810
  partitionByNewLine?: boolean
8634
8811
 
@@ -8644,14 +8821,22 @@ type PerfectionistSortUnionTypes = []|[{
8644
8821
 
8645
8822
  locales?: (string | string[])
8646
8823
 
8647
- groups?: (string | string[])[]
8824
+ groups?: (string | string[] | {
8825
+
8826
+ newlinesBetween?: ("ignore" | "always" | "never")
8827
+ [k: string]: unknown | undefined
8828
+ })[]
8648
8829
 
8649
8830
  order?: ("asc" | "desc")
8650
8831
  }]
8651
8832
  // ----- perfectionist/sort-variable-declarations -----
8652
8833
  type PerfectionistSortVariableDeclarations = []|[{
8653
8834
 
8654
- partitionByComment?: (string[] | boolean | string)
8835
+ partitionByComment?: (string[] | boolean | string | {
8836
+ block?: (string[] | boolean | string)
8837
+ line?: (string[] | boolean | string)
8838
+ [k: string]: unknown | undefined
8839
+ })
8655
8840
 
8656
8841
  partitionByNewLine?: boolean
8657
8842
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lichthagel/eslint-config",
3
- "version": "1.0.10",
3
+ "version": "1.0.12",
4
4
  "description": "Licht's ESLint config",
5
5
  "keywords": [
6
6
  "eslint",
@@ -61,14 +61,14 @@
61
61
  "eslint-plugin-solid": "^0.14.3",
62
62
  "eslint-plugin-svelte": "^2.44.1",
63
63
  "eslint-plugin-tailwindcss": "^3.17.4",
64
- "eslint-typegen": "^0.3.2",
64
+ "eslint-typegen": "^1.0.0",
65
65
  "husky": "^9.1.6",
66
66
  "lint-staged": "^15.2.10",
67
67
  "svelte": "^5.12.0",
68
68
  "tsup": "^8.3.0",
69
69
  "tsx": "^4.19.1",
70
70
  "typescript": "^5.6.2",
71
- "vitest": "^2.1.2"
71
+ "vitest": "^3.0.0"
72
72
  },
73
73
  "peerDependencies": {
74
74
  "eslint": ">=8.40.0",