@vinicunca/eslint-config 3.5.2 → 3.7.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/dist/index.d.ts CHANGED
@@ -7932,12 +7932,6 @@ interface RuleOptions {
7932
7932
  * @see https://eslint.vuejs.org/rules/component-options-name-casing.html
7933
7933
  */
7934
7934
  'vue/component-options-name-casing'?: Linter.RuleEntry<VueComponentOptionsNameCasing>
7935
- /**
7936
- * enforce order of component top-level elements
7937
- * @see https://eslint.vuejs.org/rules/component-tags-order.html
7938
- * @deprecated
7939
- */
7940
- 'vue/component-tags-order'?: Linter.RuleEntry<VueComponentTagsOrder>
7941
7935
  /**
7942
7936
  * enforce specific casing for custom event name
7943
7937
  * @see https://eslint.vuejs.org/rules/custom-event-name-casing.html
@@ -8004,7 +7998,7 @@ interface RuleOptions {
8004
7998
  */
8005
7999
  'vue/html-closing-bracket-spacing'?: Linter.RuleEntry<VueHtmlClosingBracketSpacing>
8006
8000
  /**
8007
- * enforce unified line brake in HTML comments
8001
+ * enforce unified line break in HTML comments
8008
8002
  * @see https://eslint.vuejs.org/rules/html-comment-content-newline.html
8009
8003
  */
8010
8004
  'vue/html-comment-content-newline'?: Linter.RuleEntry<VueHtmlCommentContentNewline>
@@ -8314,11 +8308,15 @@ interface RuleOptions {
8314
8308
  */
8315
8309
  'vue/no-extra-parens'?: Linter.RuleEntry<VueNoExtraParens>
8316
8310
  /**
8317
- * require valid keys in model option
8318
- * @see https://eslint.vuejs.org/rules/no-invalid-model-keys.html
8319
- * @deprecated
8311
+ * Disallow shorthand type conversions in `<template>`
8312
+ * @see https://eslint.vuejs.org/rules/no-implicit-coercion.html
8320
8313
  */
8321
- 'vue/no-invalid-model-keys'?: Linter.RuleEntry<[]>
8314
+ 'vue/no-implicit-coercion'?: Linter.RuleEntry<VueNoImplicitCoercion>
8315
+ /**
8316
+ * disallow importing Vue compiler macros
8317
+ * @see https://eslint.vuejs.org/rules/no-import-compiler-macros.html
8318
+ */
8319
+ 'vue/no-import-compiler-macros'?: Linter.RuleEntry<[]>
8322
8320
  /**
8323
8321
  * disallow irregular whitespace in `.vue` files
8324
8322
  * @see https://eslint.vuejs.org/rules/no-irregular-whitespace.html
@@ -8345,12 +8343,12 @@ interface RuleOptions {
8345
8343
  */
8346
8344
  'vue/no-multi-spaces'?: Linter.RuleEntry<VueNoMultiSpaces>
8347
8345
  /**
8348
- * disallow to pass multiple objects into array to class
8346
+ * disallow passing multiple objects in an array to class
8349
8347
  * @see https://eslint.vuejs.org/rules/no-multiple-objects-in-class.html
8350
8348
  */
8351
8349
  'vue/no-multiple-objects-in-class'?: Linter.RuleEntry<[]>
8352
8350
  /**
8353
- * disallow to pass multiple arguments to scoped slots
8351
+ * disallow passing multiple arguments to scoped slots
8354
8352
  * @see https://eslint.vuejs.org/rules/no-multiple-slot-args.html
8355
8353
  */
8356
8354
  'vue/no-multiple-slot-args'?: Linter.RuleEntry<[]>
@@ -8379,12 +8377,6 @@ interface RuleOptions {
8379
8377
  * @see https://eslint.vuejs.org/rules/no-ref-as-operand.html
8380
8378
  */
8381
8379
  'vue/no-ref-as-operand'?: Linter.RuleEntry<[]>
8382
- /**
8383
- * disallow usages of ref objects that can lead to loss of reactivity
8384
- * @see https://eslint.vuejs.org/rules/no-ref-object-destructure.html
8385
- * @deprecated
8386
- */
8387
- 'vue/no-ref-object-destructure'?: Linter.RuleEntry<[]>
8388
8380
  /**
8389
8381
  * disallow usages of ref objects that can lead to loss of reactivity
8390
8382
  * @see https://eslint.vuejs.org/rules/no-ref-object-reactivity-loss.html
@@ -8475,12 +8467,6 @@ interface RuleOptions {
8475
8467
  * @see https://eslint.vuejs.org/rules/no-root-v-if.html
8476
8468
  */
8477
8469
  'vue/no-root-v-if'?: Linter.RuleEntry<[]>
8478
- /**
8479
- * disallow usages that lose the reactivity of `props` passed to `setup`
8480
- * @see https://eslint.vuejs.org/rules/no-setup-props-destructure.html
8481
- * @deprecated
8482
- */
8483
- 'vue/no-setup-props-destructure'?: Linter.RuleEntry<[]>
8484
8470
  /**
8485
8471
  * disallow usages that lose the reactivity of `props` passed to `setup`
8486
8472
  * @see https://eslint.vuejs.org/rules/no-setup-props-reactivity-loss.html
@@ -8614,6 +8600,7 @@ interface RuleOptions {
8614
8600
  /**
8615
8601
  * disallow `key` attribute on `<template v-for>`
8616
8602
  * @see https://eslint.vuejs.org/rules/no-v-for-template-key.html
8603
+ * @deprecated
8617
8604
  */
8618
8605
  'vue/no-v-for-template-key'?: Linter.RuleEntry<[]>
8619
8606
  /**
@@ -8629,6 +8616,7 @@ interface RuleOptions {
8629
8616
  /**
8630
8617
  * disallow adding an argument to `v-model` used in custom component
8631
8618
  * @see https://eslint.vuejs.org/rules/no-v-model-argument.html
8619
+ * @deprecated
8632
8620
  */
8633
8621
  'vue/no-v-model-argument'?: Linter.RuleEntry<[]>
8634
8622
  /**
@@ -8861,12 +8849,6 @@ interface RuleOptions {
8861
8849
  * @see https://eslint.vuejs.org/rules/script-indent.html
8862
8850
  */
8863
8851
  'vue/script-indent'?: Linter.RuleEntry<VueScriptIndent>
8864
- /**
8865
- * prevent `<script setup>` variables used in `<template>` to be marked as unused
8866
- * @see https://eslint.vuejs.org/rules/script-setup-uses-vars.html
8867
- * @deprecated
8868
- */
8869
- 'vue/script-setup-uses-vars'?: Linter.RuleEntry<[]>
8870
8852
  /**
8871
8853
  * require a line break before and after the contents of a singleline element
8872
8854
  * @see https://eslint.vuejs.org/rules/singleline-html-element-content-newline.html
@@ -8937,12 +8919,6 @@ interface RuleOptions {
8937
8919
  * @see https://eslint.vuejs.org/rules/v-on-event-hyphenation.html
8938
8920
  */
8939
8921
  'vue/v-on-event-hyphenation'?: Linter.RuleEntry<VueVOnEventHyphenation>
8940
- /**
8941
- * enforce or forbid parentheses after method calls without arguments in `v-on` directives
8942
- * @see https://eslint.vuejs.org/rules/v-on-function-call.html
8943
- * @deprecated
8944
- */
8945
- 'vue/v-on-function-call'?: Linter.RuleEntry<VueVOnFunctionCall>
8946
8922
  /**
8947
8923
  * enforce writing style for handlers in `v-on` directives
8948
8924
  * @see https://eslint.vuejs.org/rules/v-on-handler-style.html
@@ -8981,6 +8957,7 @@ interface RuleOptions {
8981
8957
  /**
8982
8958
  * require valid keys in model option
8983
8959
  * @see https://eslint.vuejs.org/rules/valid-model-definition.html
8960
+ * @deprecated
8984
8961
  */
8985
8962
  'vue/valid-model-definition'?: Linter.RuleEntry<[]>
8986
8963
  /**
@@ -9001,6 +8978,7 @@ interface RuleOptions {
9001
8978
  /**
9002
8979
  * enforce valid `.sync` modifier on `v-bind` directives
9003
8980
  * @see https://eslint.vuejs.org/rules/valid-v-bind-sync.html
8981
+ * @deprecated
9004
8982
  */
9005
8983
  'vue/valid-v-bind-sync'?: Linter.RuleEntry<[]>
9006
8984
  /**
@@ -11593,18 +11571,7 @@ type NodeNoRestrictedRequire = []|[(string | {
11593
11571
  // ----- node/no-sync -----
11594
11572
  type NodeNoSync = []|[{
11595
11573
  allowAtRootLevel?: boolean
11596
- ignores?: (string | {
11597
- from?: "file"
11598
- path?: string
11599
- name?: string[]
11600
- } | {
11601
- from?: "lib"
11602
- name?: string[]
11603
- } | {
11604
- from?: "package"
11605
- package?: string
11606
- name?: string[]
11607
- })[]
11574
+ ignores?: string[]
11608
11575
  }]
11609
11576
  // ----- node/no-unpublished-bin -----
11610
11577
  type NodeNoUnpublishedBin = []|[{
@@ -11835,8 +11802,6 @@ type PaddingLineBetweenStatements = {
11835
11802
  // ----- perfectionist/sort-array-includes -----
11836
11803
  type PerfectionistSortArrayIncludes = {
11837
11804
 
11838
- specialCharacters?: ("remove" | "trim" | "keep")
11839
-
11840
11805
  fallbackSort?: {
11841
11806
 
11842
11807
  order?: ("asc" | "desc")
@@ -11845,6 +11810,8 @@ type PerfectionistSortArrayIncludes = {
11845
11810
  [k: string]: unknown | undefined
11846
11811
  }
11847
11812
 
11813
+ specialCharacters?: ("remove" | "trim" | "keep")
11814
+
11848
11815
  ignoreCase?: boolean
11849
11816
 
11850
11817
  alphabet?: string
@@ -11859,13 +11826,21 @@ type PerfectionistSortArrayIncludes = {
11859
11826
 
11860
11827
  customGroups?: ({
11861
11828
 
11862
- groupName?: string
11829
+ newlinesInside?: ("always" | "never")
11863
11830
 
11864
- type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
11831
+ fallbackSort?: {
11832
+
11833
+ order?: ("asc" | "desc")
11834
+
11835
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
11836
+ [k: string]: unknown | undefined
11837
+ }
11865
11838
 
11866
- order?: ("desc" | "asc")
11839
+ groupName?: string
11867
11840
 
11868
- newlinesInside?: ("always" | "never")
11841
+ order?: ("asc" | "desc")
11842
+
11843
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
11869
11844
  anyOf?: {
11870
11845
 
11871
11846
  selector?: ("literal" | "spread")
@@ -11880,13 +11855,21 @@ type PerfectionistSortArrayIncludes = {
11880
11855
  }[]
11881
11856
  } | {
11882
11857
 
11883
- groupName?: string
11858
+ newlinesInside?: ("always" | "never")
11859
+
11860
+ fallbackSort?: {
11861
+
11862
+ order?: ("asc" | "desc")
11863
+
11864
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
11865
+ [k: string]: unknown | undefined
11866
+ }
11884
11867
 
11885
- type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
11868
+ groupName?: string
11886
11869
 
11887
- order?: ("desc" | "asc")
11870
+ order?: ("asc" | "desc")
11888
11871
 
11889
- newlinesInside?: ("always" | "never")
11872
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
11890
11873
 
11891
11874
  selector?: ("literal" | "spread")
11892
11875
 
@@ -11944,8 +11927,6 @@ type PerfectionistSortArrayIncludes = {
11944
11927
  // ----- perfectionist/sort-classes -----
11945
11928
  type PerfectionistSortClasses = []|[{
11946
11929
 
11947
- specialCharacters?: ("remove" | "trim" | "keep")
11948
-
11949
11930
  fallbackSort?: {
11950
11931
 
11951
11932
  order?: ("asc" | "desc")
@@ -11954,6 +11935,8 @@ type PerfectionistSortClasses = []|[{
11954
11935
  [k: string]: unknown | undefined
11955
11936
  }
11956
11937
 
11938
+ specialCharacters?: ("remove" | "trim" | "keep")
11939
+
11957
11940
  ignoreCase?: boolean
11958
11941
 
11959
11942
  alphabet?: string
@@ -11966,13 +11949,21 @@ type PerfectionistSortClasses = []|[{
11966
11949
 
11967
11950
  customGroups?: ({
11968
11951
 
11969
- groupName?: string
11952
+ newlinesInside?: ("always" | "never")
11970
11953
 
11971
- type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
11954
+ fallbackSort?: {
11955
+
11956
+ order?: ("asc" | "desc")
11957
+
11958
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
11959
+ [k: string]: unknown | undefined
11960
+ }
11972
11961
 
11973
- order?: ("desc" | "asc")
11962
+ groupName?: string
11974
11963
 
11975
- newlinesInside?: ("always" | "never")
11964
+ order?: ("asc" | "desc")
11965
+
11966
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
11976
11967
  anyOf?: {
11977
11968
 
11978
11969
  modifiers?: ("async" | "protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[]
@@ -12005,13 +11996,21 @@ type PerfectionistSortClasses = []|[{
12005
11996
  }[]
12006
11997
  } | {
12007
11998
 
12008
- groupName?: string
11999
+ newlinesInside?: ("always" | "never")
12009
12000
 
12010
- type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
12001
+ fallbackSort?: {
12002
+
12003
+ order?: ("asc" | "desc")
12004
+
12005
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
12006
+ [k: string]: unknown | undefined
12007
+ }
12011
12008
 
12012
- order?: ("desc" | "asc")
12009
+ groupName?: string
12013
12010
 
12014
- newlinesInside?: ("always" | "never")
12011
+ order?: ("asc" | "desc")
12012
+
12013
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
12015
12014
 
12016
12015
  modifiers?: ("async" | "protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[]
12017
12016
 
@@ -12085,8 +12084,6 @@ type PerfectionistSortClasses = []|[{
12085
12084
  // ----- perfectionist/sort-decorators -----
12086
12085
  type PerfectionistSortDecorators = []|[{
12087
12086
 
12088
- specialCharacters?: ("remove" | "trim" | "keep")
12089
-
12090
12087
  fallbackSort?: {
12091
12088
 
12092
12089
  order?: ("asc" | "desc")
@@ -12095,6 +12092,8 @@ type PerfectionistSortDecorators = []|[{
12095
12092
  [k: string]: unknown | undefined
12096
12093
  }
12097
12094
 
12095
+ specialCharacters?: ("remove" | "trim" | "keep")
12096
+
12098
12097
  ignoreCase?: boolean
12099
12098
 
12100
12099
  alphabet?: string
@@ -12150,8 +12149,6 @@ type PerfectionistSortDecorators = []|[{
12150
12149
  // ----- perfectionist/sort-enums -----
12151
12150
  type PerfectionistSortEnums = []|[{
12152
12151
 
12153
- specialCharacters?: ("remove" | "trim" | "keep")
12154
-
12155
12152
  fallbackSort?: {
12156
12153
 
12157
12154
  order?: ("asc" | "desc")
@@ -12160,6 +12157,8 @@ type PerfectionistSortEnums = []|[{
12160
12157
  [k: string]: unknown | undefined
12161
12158
  }
12162
12159
 
12160
+ specialCharacters?: ("remove" | "trim" | "keep")
12161
+
12163
12162
  ignoreCase?: boolean
12164
12163
 
12165
12164
  alphabet?: string
@@ -12175,13 +12174,21 @@ type PerfectionistSortEnums = []|[{
12175
12174
  [k: string]: (string | string[]) | undefined
12176
12175
  } | ({
12177
12176
 
12178
- groupName?: string
12177
+ newlinesInside?: ("always" | "never")
12178
+
12179
+ fallbackSort?: {
12180
+
12181
+ order?: ("asc" | "desc")
12182
+
12183
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
12184
+ [k: string]: unknown | undefined
12185
+ }
12179
12186
 
12180
- type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
12187
+ groupName?: string
12181
12188
 
12182
- order?: ("desc" | "asc")
12189
+ order?: ("asc" | "desc")
12183
12190
 
12184
- newlinesInside?: ("always" | "never")
12191
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
12185
12192
  anyOf?: {
12186
12193
 
12187
12194
  elementValuePattern?: (({
@@ -12202,13 +12209,21 @@ type PerfectionistSortEnums = []|[{
12202
12209
  }[]
12203
12210
  } | {
12204
12211
 
12205
- groupName?: string
12212
+ newlinesInside?: ("always" | "never")
12206
12213
 
12207
- type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
12214
+ fallbackSort?: {
12215
+
12216
+ order?: ("asc" | "desc")
12217
+
12218
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
12219
+ [k: string]: unknown | undefined
12220
+ }
12208
12221
 
12209
- order?: ("desc" | "asc")
12222
+ groupName?: string
12210
12223
 
12211
- newlinesInside?: ("always" | "never")
12224
+ order?: ("asc" | "desc")
12225
+
12226
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
12212
12227
 
12213
12228
  elementValuePattern?: (({
12214
12229
  pattern?: string
@@ -12264,8 +12279,6 @@ type PerfectionistSortEnums = []|[{
12264
12279
  // ----- perfectionist/sort-exports -----
12265
12280
  type PerfectionistSortExports = []|[{
12266
12281
 
12267
- specialCharacters?: ("remove" | "trim" | "keep")
12268
-
12269
12282
  fallbackSort?: {
12270
12283
 
12271
12284
  order?: ("asc" | "desc")
@@ -12274,6 +12287,8 @@ type PerfectionistSortExports = []|[{
12274
12287
  [k: string]: unknown | undefined
12275
12288
  }
12276
12289
 
12290
+ specialCharacters?: ("remove" | "trim" | "keep")
12291
+
12277
12292
  ignoreCase?: boolean
12278
12293
 
12279
12294
  alphabet?: string
@@ -12314,8 +12329,6 @@ type PerfectionistSortExports = []|[{
12314
12329
  // ----- perfectionist/sort-heritage-clauses -----
12315
12330
  type PerfectionistSortHeritageClauses = []|[{
12316
12331
 
12317
- specialCharacters?: ("remove" | "trim" | "keep")
12318
-
12319
12332
  fallbackSort?: {
12320
12333
 
12321
12334
  order?: ("asc" | "desc")
@@ -12324,6 +12337,8 @@ type PerfectionistSortHeritageClauses = []|[{
12324
12337
  [k: string]: unknown | undefined
12325
12338
  }
12326
12339
 
12340
+ specialCharacters?: ("remove" | "trim" | "keep")
12341
+
12327
12342
  ignoreCase?: boolean
12328
12343
 
12329
12344
  alphabet?: string
@@ -12347,8 +12362,6 @@ type PerfectionistSortHeritageClauses = []|[{
12347
12362
  type PerfectionistSortImports = []|[_PerfectionistSortImportsSortImports]
12348
12363
  type _PerfectionistSortImportsSortImports = (_PerfectionistSortImportsMaxLineLengthRequiresLineLengthType & {
12349
12364
 
12350
- specialCharacters?: ("remove" | "trim" | "keep")
12351
-
12352
12365
  fallbackSort?: {
12353
12366
 
12354
12367
  order?: ("asc" | "desc")
@@ -12357,6 +12370,8 @@ type _PerfectionistSortImportsSortImports = (_PerfectionistSortImportsMaxLineLen
12357
12370
  [k: string]: unknown | undefined
12358
12371
  }
12359
12372
 
12373
+ specialCharacters?: ("remove" | "trim" | "keep")
12374
+
12360
12375
  ignoreCase?: boolean
12361
12376
 
12362
12377
  alphabet?: string
@@ -12436,8 +12451,6 @@ interface _PerfectionistSortImports_IsLineLength {
12436
12451
  // ----- perfectionist/sort-interfaces -----
12437
12452
  type PerfectionistSortInterfaces = {
12438
12453
 
12439
- specialCharacters?: ("remove" | "trim" | "keep")
12440
-
12441
12454
  fallbackSort?: {
12442
12455
 
12443
12456
  order?: ("asc" | "desc")
@@ -12446,6 +12459,8 @@ type PerfectionistSortInterfaces = {
12446
12459
  [k: string]: unknown | undefined
12447
12460
  }
12448
12461
 
12462
+ specialCharacters?: ("remove" | "trim" | "keep")
12463
+
12449
12464
  ignoreCase?: boolean
12450
12465
 
12451
12466
  alphabet?: string
@@ -12459,19 +12474,36 @@ type PerfectionistSortInterfaces = {
12459
12474
  [k: string]: (string | string[]) | undefined
12460
12475
  } | ({
12461
12476
 
12462
- groupName?: string
12477
+ newlinesInside?: ("always" | "never")
12463
12478
 
12464
- type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
12479
+ fallbackSort?: {
12480
+
12481
+ order?: ("asc" | "desc")
12482
+
12483
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
12484
+ sortBy?: ("name" | "value")
12485
+ [k: string]: unknown | undefined
12486
+ }
12465
12487
 
12466
- order?: ("desc" | "asc")
12488
+ groupName?: string
12467
12489
 
12468
- newlinesInside?: ("always" | "never")
12490
+ order?: ("asc" | "desc")
12491
+
12492
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
12469
12493
  anyOf?: {
12470
12494
 
12471
12495
  modifiers?: ("optional" | "required" | "multiline")[]
12472
12496
 
12473
12497
  selector?: ("index-signature" | "member" | "method" | "multiline" | "property")
12474
12498
 
12499
+ elementValuePattern?: (({
12500
+ pattern?: string
12501
+ flags?: string
12502
+ } | string)[] | ({
12503
+ pattern?: string
12504
+ flags?: string
12505
+ } | string))
12506
+
12475
12507
  elementNamePattern?: (({
12476
12508
  pattern?: string
12477
12509
  flags?: string
@@ -12479,21 +12511,39 @@ type PerfectionistSortInterfaces = {
12479
12511
  pattern?: string
12480
12512
  flags?: string
12481
12513
  } | string))
12514
+ sortBy?: ("name" | "value")
12482
12515
  }[]
12483
12516
  } | {
12484
12517
 
12485
- groupName?: string
12518
+ newlinesInside?: ("always" | "never")
12486
12519
 
12487
- type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
12520
+ fallbackSort?: {
12521
+
12522
+ order?: ("asc" | "desc")
12523
+
12524
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
12525
+ sortBy?: ("name" | "value")
12526
+ [k: string]: unknown | undefined
12527
+ }
12488
12528
 
12489
- order?: ("desc" | "asc")
12529
+ groupName?: string
12490
12530
 
12491
- newlinesInside?: ("always" | "never")
12531
+ order?: ("asc" | "desc")
12532
+
12533
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
12492
12534
 
12493
12535
  modifiers?: ("optional" | "required" | "multiline")[]
12494
12536
 
12495
12537
  selector?: ("index-signature" | "member" | "method" | "multiline" | "property")
12496
12538
 
12539
+ elementValuePattern?: (({
12540
+ pattern?: string
12541
+ flags?: string
12542
+ } | string)[] | ({
12543
+ pattern?: string
12544
+ flags?: string
12545
+ } | string))
12546
+
12497
12547
  elementNamePattern?: (({
12498
12548
  pattern?: string
12499
12549
  flags?: string
@@ -12501,6 +12551,7 @@ type PerfectionistSortInterfaces = {
12501
12551
  pattern?: string
12502
12552
  flags?: string
12503
12553
  } | string))
12554
+ sortBy?: ("name" | "value")
12504
12555
  })[])
12505
12556
  useConfigurationIf?: {
12506
12557
 
@@ -12557,6 +12608,7 @@ type PerfectionistSortInterfaces = {
12557
12608
  pattern?: string
12558
12609
  flags?: string
12559
12610
  } | string))
12611
+ sortBy?: ("name" | "value")
12560
12612
 
12561
12613
  groups?: (string | string[] | {
12562
12614
 
@@ -12566,8 +12618,6 @@ type PerfectionistSortInterfaces = {
12566
12618
  // ----- perfectionist/sort-intersection-types -----
12567
12619
  type PerfectionistSortIntersectionTypes = []|[{
12568
12620
 
12569
- specialCharacters?: ("remove" | "trim" | "keep")
12570
-
12571
12621
  fallbackSort?: {
12572
12622
 
12573
12623
  order?: ("asc" | "desc")
@@ -12576,6 +12626,8 @@ type PerfectionistSortIntersectionTypes = []|[{
12576
12626
  [k: string]: unknown | undefined
12577
12627
  }
12578
12628
 
12629
+ specialCharacters?: ("remove" | "trim" | "keep")
12630
+
12579
12631
  ignoreCase?: boolean
12580
12632
 
12581
12633
  alphabet?: string
@@ -12621,8 +12673,6 @@ type PerfectionistSortIntersectionTypes = []|[{
12621
12673
  // ----- perfectionist/sort-jsx-props -----
12622
12674
  type PerfectionistSortJsxProps = {
12623
12675
 
12624
- specialCharacters?: ("remove" | "trim" | "keep")
12625
-
12626
12676
  fallbackSort?: {
12627
12677
 
12628
12678
  order?: ("asc" | "desc")
@@ -12631,6 +12681,8 @@ type PerfectionistSortJsxProps = {
12631
12681
  [k: string]: unknown | undefined
12632
12682
  }
12633
12683
 
12684
+ specialCharacters?: ("remove" | "trim" | "keep")
12685
+
12634
12686
  ignoreCase?: boolean
12635
12687
 
12636
12688
  alphabet?: string
@@ -12683,8 +12735,6 @@ type PerfectionistSortJsxProps = {
12683
12735
  // ----- perfectionist/sort-maps -----
12684
12736
  type PerfectionistSortMaps = {
12685
12737
 
12686
- specialCharacters?: ("remove" | "trim" | "keep")
12687
-
12688
12738
  fallbackSort?: {
12689
12739
 
12690
12740
  order?: ("asc" | "desc")
@@ -12693,6 +12743,8 @@ type PerfectionistSortMaps = {
12693
12743
  [k: string]: unknown | undefined
12694
12744
  }
12695
12745
 
12746
+ specialCharacters?: ("remove" | "trim" | "keep")
12747
+
12696
12748
  ignoreCase?: boolean
12697
12749
 
12698
12750
  alphabet?: string
@@ -12705,13 +12757,21 @@ type PerfectionistSortMaps = {
12705
12757
 
12706
12758
  customGroups?: ({
12707
12759
 
12708
- groupName?: string
12760
+ newlinesInside?: ("always" | "never")
12709
12761
 
12710
- type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
12762
+ fallbackSort?: {
12763
+
12764
+ order?: ("asc" | "desc")
12765
+
12766
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
12767
+ [k: string]: unknown | undefined
12768
+ }
12711
12769
 
12712
- order?: ("desc" | "asc")
12770
+ groupName?: string
12713
12771
 
12714
- newlinesInside?: ("always" | "never")
12772
+ order?: ("asc" | "desc")
12773
+
12774
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
12715
12775
  anyOf?: {
12716
12776
 
12717
12777
  elementNamePattern?: (({
@@ -12724,13 +12784,21 @@ type PerfectionistSortMaps = {
12724
12784
  }[]
12725
12785
  } | {
12726
12786
 
12727
- groupName?: string
12787
+ newlinesInside?: ("always" | "never")
12728
12788
 
12729
- type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
12789
+ fallbackSort?: {
12790
+
12791
+ order?: ("asc" | "desc")
12792
+
12793
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
12794
+ [k: string]: unknown | undefined
12795
+ }
12730
12796
 
12731
- order?: ("desc" | "asc")
12797
+ groupName?: string
12732
12798
 
12733
- newlinesInside?: ("always" | "never")
12799
+ order?: ("asc" | "desc")
12800
+
12801
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
12734
12802
 
12735
12803
  elementNamePattern?: (({
12736
12804
  pattern?: string
@@ -12786,8 +12854,6 @@ type PerfectionistSortMaps = {
12786
12854
  // ----- perfectionist/sort-modules -----
12787
12855
  type PerfectionistSortModules = []|[{
12788
12856
 
12789
- specialCharacters?: ("remove" | "trim" | "keep")
12790
-
12791
12857
  fallbackSort?: {
12792
12858
 
12793
12859
  order?: ("asc" | "desc")
@@ -12796,6 +12862,8 @@ type PerfectionistSortModules = []|[{
12796
12862
  [k: string]: unknown | undefined
12797
12863
  }
12798
12864
 
12865
+ specialCharacters?: ("remove" | "trim" | "keep")
12866
+
12799
12867
  ignoreCase?: boolean
12800
12868
 
12801
12869
  alphabet?: string
@@ -12808,13 +12876,21 @@ type PerfectionistSortModules = []|[{
12808
12876
 
12809
12877
  customGroups?: ({
12810
12878
 
12811
- groupName?: string
12879
+ newlinesInside?: ("always" | "never")
12880
+
12881
+ fallbackSort?: {
12882
+
12883
+ order?: ("asc" | "desc")
12884
+
12885
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
12886
+ [k: string]: unknown | undefined
12887
+ }
12812
12888
 
12813
- type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
12889
+ groupName?: string
12814
12890
 
12815
- order?: ("desc" | "asc")
12891
+ order?: ("asc" | "desc")
12816
12892
 
12817
- newlinesInside?: ("always" | "never")
12893
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
12818
12894
  anyOf?: {
12819
12895
 
12820
12896
  modifiers?: ("async" | "declare" | "decorated" | "default" | "export")[]
@@ -12839,13 +12915,21 @@ type PerfectionistSortModules = []|[{
12839
12915
  }[]
12840
12916
  } | {
12841
12917
 
12842
- groupName?: string
12918
+ newlinesInside?: ("always" | "never")
12843
12919
 
12844
- type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
12920
+ fallbackSort?: {
12921
+
12922
+ order?: ("asc" | "desc")
12923
+
12924
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
12925
+ [k: string]: unknown | undefined
12926
+ }
12845
12927
 
12846
- order?: ("desc" | "asc")
12928
+ groupName?: string
12847
12929
 
12848
- newlinesInside?: ("always" | "never")
12930
+ order?: ("asc" | "desc")
12931
+
12932
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
12849
12933
 
12850
12934
  modifiers?: ("async" | "declare" | "decorated" | "default" | "export")[]
12851
12935
 
@@ -12903,8 +12987,6 @@ type PerfectionistSortModules = []|[{
12903
12987
  // ----- perfectionist/sort-named-exports -----
12904
12988
  type PerfectionistSortNamedExports = []|[{
12905
12989
 
12906
- specialCharacters?: ("remove" | "trim" | "keep")
12907
-
12908
12990
  fallbackSort?: {
12909
12991
 
12910
12992
  order?: ("asc" | "desc")
@@ -12913,6 +12995,8 @@ type PerfectionistSortNamedExports = []|[{
12913
12995
  [k: string]: unknown | undefined
12914
12996
  }
12915
12997
 
12998
+ specialCharacters?: ("remove" | "trim" | "keep")
12999
+
12916
13000
  ignoreCase?: boolean
12917
13001
 
12918
13002
  alphabet?: string
@@ -12955,8 +13039,6 @@ type PerfectionistSortNamedExports = []|[{
12955
13039
  // ----- perfectionist/sort-named-imports -----
12956
13040
  type PerfectionistSortNamedImports = []|[{
12957
13041
 
12958
- specialCharacters?: ("remove" | "trim" | "keep")
12959
-
12960
13042
  fallbackSort?: {
12961
13043
 
12962
13044
  order?: ("asc" | "desc")
@@ -12965,6 +13047,8 @@ type PerfectionistSortNamedImports = []|[{
12965
13047
  [k: string]: unknown | undefined
12966
13048
  }
12967
13049
 
13050
+ specialCharacters?: ("remove" | "trim" | "keep")
13051
+
12968
13052
  ignoreCase?: boolean
12969
13053
 
12970
13054
  alphabet?: string
@@ -13007,8 +13091,6 @@ type PerfectionistSortNamedImports = []|[{
13007
13091
  // ----- perfectionist/sort-object-types -----
13008
13092
  type PerfectionistSortObjectTypes = {
13009
13093
 
13010
- specialCharacters?: ("remove" | "trim" | "keep")
13011
-
13012
13094
  fallbackSort?: {
13013
13095
 
13014
13096
  order?: ("asc" | "desc")
@@ -13017,6 +13099,8 @@ type PerfectionistSortObjectTypes = {
13017
13099
  [k: string]: unknown | undefined
13018
13100
  }
13019
13101
 
13102
+ specialCharacters?: ("remove" | "trim" | "keep")
13103
+
13020
13104
  ignoreCase?: boolean
13021
13105
 
13022
13106
  alphabet?: string
@@ -13030,19 +13114,36 @@ type PerfectionistSortObjectTypes = {
13030
13114
  [k: string]: (string | string[]) | undefined
13031
13115
  } | ({
13032
13116
 
13033
- groupName?: string
13117
+ newlinesInside?: ("always" | "never")
13034
13118
 
13035
- type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
13119
+ fallbackSort?: {
13120
+
13121
+ order?: ("asc" | "desc")
13122
+
13123
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
13124
+ sortBy?: ("name" | "value")
13125
+ [k: string]: unknown | undefined
13126
+ }
13036
13127
 
13037
- order?: ("desc" | "asc")
13128
+ groupName?: string
13038
13129
 
13039
- newlinesInside?: ("always" | "never")
13130
+ order?: ("asc" | "desc")
13131
+
13132
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
13040
13133
  anyOf?: {
13041
13134
 
13042
13135
  modifiers?: ("optional" | "required" | "multiline")[]
13043
13136
 
13044
13137
  selector?: ("index-signature" | "member" | "method" | "multiline" | "property")
13045
13138
 
13139
+ elementValuePattern?: (({
13140
+ pattern?: string
13141
+ flags?: string
13142
+ } | string)[] | ({
13143
+ pattern?: string
13144
+ flags?: string
13145
+ } | string))
13146
+
13046
13147
  elementNamePattern?: (({
13047
13148
  pattern?: string
13048
13149
  flags?: string
@@ -13050,21 +13151,39 @@ type PerfectionistSortObjectTypes = {
13050
13151
  pattern?: string
13051
13152
  flags?: string
13052
13153
  } | string))
13154
+ sortBy?: ("name" | "value")
13053
13155
  }[]
13054
13156
  } | {
13055
13157
 
13056
- groupName?: string
13158
+ newlinesInside?: ("always" | "never")
13159
+
13160
+ fallbackSort?: {
13161
+
13162
+ order?: ("asc" | "desc")
13163
+
13164
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
13165
+ sortBy?: ("name" | "value")
13166
+ [k: string]: unknown | undefined
13167
+ }
13057
13168
 
13058
- type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
13169
+ groupName?: string
13059
13170
 
13060
- order?: ("desc" | "asc")
13171
+ order?: ("asc" | "desc")
13061
13172
 
13062
- newlinesInside?: ("always" | "never")
13173
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
13063
13174
 
13064
13175
  modifiers?: ("optional" | "required" | "multiline")[]
13065
13176
 
13066
13177
  selector?: ("index-signature" | "member" | "method" | "multiline" | "property")
13067
13178
 
13179
+ elementValuePattern?: (({
13180
+ pattern?: string
13181
+ flags?: string
13182
+ } | string)[] | ({
13183
+ pattern?: string
13184
+ flags?: string
13185
+ } | string))
13186
+
13068
13187
  elementNamePattern?: (({
13069
13188
  pattern?: string
13070
13189
  flags?: string
@@ -13072,6 +13191,7 @@ type PerfectionistSortObjectTypes = {
13072
13191
  pattern?: string
13073
13192
  flags?: string
13074
13193
  } | string))
13194
+ sortBy?: ("name" | "value")
13075
13195
  })[])
13076
13196
  useConfigurationIf?: {
13077
13197
 
@@ -13128,6 +13248,7 @@ type PerfectionistSortObjectTypes = {
13128
13248
  pattern?: string
13129
13249
  flags?: string
13130
13250
  } | string))
13251
+ sortBy?: ("name" | "value")
13131
13252
 
13132
13253
  groups?: (string | string[] | {
13133
13254
 
@@ -13137,8 +13258,6 @@ type PerfectionistSortObjectTypes = {
13137
13258
  // ----- perfectionist/sort-objects -----
13138
13259
  type PerfectionistSortObjects = {
13139
13260
 
13140
- specialCharacters?: ("remove" | "trim" | "keep")
13141
-
13142
13261
  fallbackSort?: {
13143
13262
 
13144
13263
  order?: ("asc" | "desc")
@@ -13147,6 +13266,8 @@ type PerfectionistSortObjects = {
13147
13266
  [k: string]: unknown | undefined
13148
13267
  }
13149
13268
 
13269
+ specialCharacters?: ("remove" | "trim" | "keep")
13270
+
13150
13271
  ignoreCase?: boolean
13151
13272
 
13152
13273
  alphabet?: string
@@ -13165,13 +13286,21 @@ type PerfectionistSortObjects = {
13165
13286
  [k: string]: (string | string[]) | undefined
13166
13287
  } | ({
13167
13288
 
13168
- groupName?: string
13289
+ newlinesInside?: ("always" | "never")
13169
13290
 
13170
- type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
13291
+ fallbackSort?: {
13292
+
13293
+ order?: ("asc" | "desc")
13294
+
13295
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
13296
+ [k: string]: unknown | undefined
13297
+ }
13298
+
13299
+ groupName?: string
13171
13300
 
13172
- order?: ("desc" | "asc")
13301
+ order?: ("asc" | "desc")
13173
13302
 
13174
- newlinesInside?: ("always" | "never")
13303
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
13175
13304
  anyOf?: {
13176
13305
 
13177
13306
  modifiers?: ("optional" | "required" | "multiline")[]
@@ -13196,13 +13325,21 @@ type PerfectionistSortObjects = {
13196
13325
  }[]
13197
13326
  } | {
13198
13327
 
13199
- groupName?: string
13328
+ newlinesInside?: ("always" | "never")
13200
13329
 
13201
- type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
13330
+ fallbackSort?: {
13331
+
13332
+ order?: ("asc" | "desc")
13333
+
13334
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
13335
+ [k: string]: unknown | undefined
13336
+ }
13202
13337
 
13203
- order?: ("desc" | "asc")
13338
+ groupName?: string
13204
13339
 
13205
- newlinesInside?: ("always" | "never")
13340
+ order?: ("asc" | "desc")
13341
+
13342
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
13206
13343
 
13207
13344
  modifiers?: ("optional" | "required" | "multiline")[]
13208
13345
 
@@ -13292,8 +13429,6 @@ type PerfectionistSortObjects = {
13292
13429
  // ----- perfectionist/sort-sets -----
13293
13430
  type PerfectionistSortSets = {
13294
13431
 
13295
- specialCharacters?: ("remove" | "trim" | "keep")
13296
-
13297
13432
  fallbackSort?: {
13298
13433
 
13299
13434
  order?: ("asc" | "desc")
@@ -13302,6 +13437,8 @@ type PerfectionistSortSets = {
13302
13437
  [k: string]: unknown | undefined
13303
13438
  }
13304
13439
 
13440
+ specialCharacters?: ("remove" | "trim" | "keep")
13441
+
13305
13442
  ignoreCase?: boolean
13306
13443
 
13307
13444
  alphabet?: string
@@ -13316,13 +13453,21 @@ type PerfectionistSortSets = {
13316
13453
 
13317
13454
  customGroups?: ({
13318
13455
 
13319
- groupName?: string
13456
+ newlinesInside?: ("always" | "never")
13320
13457
 
13321
- type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
13458
+ fallbackSort?: {
13459
+
13460
+ order?: ("asc" | "desc")
13461
+
13462
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
13463
+ [k: string]: unknown | undefined
13464
+ }
13322
13465
 
13323
- order?: ("desc" | "asc")
13466
+ groupName?: string
13324
13467
 
13325
- newlinesInside?: ("always" | "never")
13468
+ order?: ("asc" | "desc")
13469
+
13470
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
13326
13471
  anyOf?: {
13327
13472
 
13328
13473
  selector?: ("literal" | "spread")
@@ -13337,13 +13482,21 @@ type PerfectionistSortSets = {
13337
13482
  }[]
13338
13483
  } | {
13339
13484
 
13340
- groupName?: string
13485
+ newlinesInside?: ("always" | "never")
13486
+
13487
+ fallbackSort?: {
13488
+
13489
+ order?: ("asc" | "desc")
13490
+
13491
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
13492
+ [k: string]: unknown | undefined
13493
+ }
13341
13494
 
13342
- type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
13495
+ groupName?: string
13343
13496
 
13344
- order?: ("desc" | "asc")
13497
+ order?: ("asc" | "desc")
13345
13498
 
13346
- newlinesInside?: ("always" | "never")
13499
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
13347
13500
 
13348
13501
  selector?: ("literal" | "spread")
13349
13502
 
@@ -13401,8 +13554,6 @@ type PerfectionistSortSets = {
13401
13554
  // ----- perfectionist/sort-switch-case -----
13402
13555
  type PerfectionistSortSwitchCase = []|[{
13403
13556
 
13404
- specialCharacters?: ("remove" | "trim" | "keep")
13405
-
13406
13557
  fallbackSort?: {
13407
13558
 
13408
13559
  order?: ("asc" | "desc")
@@ -13411,6 +13562,8 @@ type PerfectionistSortSwitchCase = []|[{
13411
13562
  [k: string]: unknown | undefined
13412
13563
  }
13413
13564
 
13565
+ specialCharacters?: ("remove" | "trim" | "keep")
13566
+
13414
13567
  ignoreCase?: boolean
13415
13568
 
13416
13569
  alphabet?: string
@@ -13424,8 +13577,6 @@ type PerfectionistSortSwitchCase = []|[{
13424
13577
  // ----- perfectionist/sort-union-types -----
13425
13578
  type PerfectionistSortUnionTypes = []|[{
13426
13579
 
13427
- specialCharacters?: ("remove" | "trim" | "keep")
13428
-
13429
13580
  fallbackSort?: {
13430
13581
 
13431
13582
  order?: ("asc" | "desc")
@@ -13434,6 +13585,8 @@ type PerfectionistSortUnionTypes = []|[{
13434
13585
  [k: string]: unknown | undefined
13435
13586
  }
13436
13587
 
13588
+ specialCharacters?: ("remove" | "trim" | "keep")
13589
+
13437
13590
  ignoreCase?: boolean
13438
13591
 
13439
13592
  alphabet?: string
@@ -13479,8 +13632,6 @@ type PerfectionistSortUnionTypes = []|[{
13479
13632
  // ----- perfectionist/sort-variable-declarations -----
13480
13633
  type PerfectionistSortVariableDeclarations = []|[{
13481
13634
 
13482
- specialCharacters?: ("remove" | "trim" | "keep")
13483
-
13484
13635
  fallbackSort?: {
13485
13636
 
13486
13637
  order?: ("asc" | "desc")
@@ -13489,6 +13640,8 @@ type PerfectionistSortVariableDeclarations = []|[{
13489
13640
  [k: string]: unknown | undefined
13490
13641
  }
13491
13642
 
13643
+ specialCharacters?: ("remove" | "trim" | "keep")
13644
+
13492
13645
  ignoreCase?: boolean
13493
13646
 
13494
13647
  alphabet?: string
@@ -17243,16 +17396,10 @@ type VueComponentNameInTemplateCasing = []|[("PascalCase" | "kebab-case")]|[("Pa
17243
17396
  }]
17244
17397
  // ----- vue/component-options-name-casing -----
17245
17398
  type VueComponentOptionsNameCasing = []|[("camelCase" | "kebab-case" | "PascalCase")]
17246
- // ----- vue/component-tags-order -----
17247
- type VueComponentTagsOrder = []|[{
17248
- order?: (string | string[])[]
17249
- }]
17250
17399
  // ----- vue/custom-event-name-casing -----
17251
- type VueCustomEventNameCasing = ([]|[("kebab-case" | "camelCase")]|[("kebab-case" | "camelCase"), {
17252
- ignores?: string[]
17253
- }] | []|[{
17400
+ type VueCustomEventNameCasing = []|[("kebab-case" | "camelCase")]|[("kebab-case" | "camelCase"), {
17254
17401
  ignores?: string[]
17255
- }])
17402
+ }]
17256
17403
  // ----- vue/define-emits-declaration -----
17257
17404
  type VueDefineEmitsDeclaration = []|[("type-based" | "type-literal" | "runtime")]
17258
17405
  // ----- vue/define-macros-order -----
@@ -17883,6 +18030,14 @@ type VueNoExtraParens = ([]|["functions"] | []|["all"]|["all", {
17883
18030
  enforceForFunctionPrototypeMethods?: boolean
17884
18031
  allowParensAfterCommentPattern?: string
17885
18032
  }])
18033
+ // ----- vue/no-implicit-coercion -----
18034
+ type VueNoImplicitCoercion = []|[{
18035
+ boolean?: boolean
18036
+ number?: boolean
18037
+ string?: boolean
18038
+ disallowTemplateShorthand?: boolean
18039
+ allow?: ("~" | "!!" | "+" | "- -" | "-" | "*")[]
18040
+ }]
17886
18041
  // ----- vue/no-irregular-whitespace -----
17887
18042
  type VueNoIrregularWhitespace = []|[{
17888
18043
  skipComments?: boolean
@@ -18174,9 +18329,13 @@ type VuePaddingLinesInComponentDefinition = []|[(("always" | "never") | {
18174
18329
  groupSingleLineProperties?: boolean
18175
18330
  })]
18176
18331
  // ----- vue/prefer-true-attribute-shorthand -----
18177
- type VuePreferTrueAttributeShorthand = []|[("always" | "never")]
18332
+ type VuePreferTrueAttributeShorthand = []|[("always" | "never")]|[("always" | "never"), {
18333
+ except?: string[]
18334
+ }]
18178
18335
  // ----- vue/prop-name-casing -----
18179
- type VuePropNameCasing = []|[("camelCase" | "snake_case")]
18336
+ type VuePropNameCasing = []|[("camelCase" | "snake_case")]|[("camelCase" | "snake_case"), {
18337
+ ignoreProps?: string[]
18338
+ }]
18180
18339
  // ----- vue/quote-props -----
18181
18340
  type VueQuoteProps = ([]|[("always" | "as-needed" | "consistent" | "consistent-as-needed")] | []|[("always" | "as-needed" | "consistent" | "consistent-as-needed")]|[("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
18182
18341
  keywords?: boolean
@@ -18241,7 +18400,6 @@ type VueSortKeys = []|[("asc" | "desc")]|[("asc" | "desc"), {
18241
18400
  ignoreGrandchildrenOf?: unknown[]
18242
18401
  minKeys?: number
18243
18402
  natural?: boolean
18244
- runOutsideVue?: boolean
18245
18403
  }]
18246
18404
  // ----- vue/space-in-parens -----
18247
18405
  type VueSpaceInParens = []|[("always" | "never")]|[("always" | "never"), {
@@ -18279,10 +18437,6 @@ type VueVOnEventHyphenation = []|[("always" | "never")]|[("always" | "never"), {
18279
18437
  })[]
18280
18438
  ignoreTags?: string[]
18281
18439
  }]
18282
- // ----- vue/v-on-function-call -----
18283
- type VueVOnFunctionCall = []|[("always" | "never")]|[("always" | "never"), {
18284
- ignoreIncludesComment?: boolean
18285
- }]
18286
18440
  // ----- vue/v-on-handler-style -----
18287
18441
  type VueVOnHandlerStyle = []|[(("inline" | "inline-function") | ["method", ("inline" | "inline-function")])]|[(("inline" | "inline-function") | ["method", ("inline" | "inline-function")]), {
18288
18442
  ignoreIncludesComment?: boolean
@@ -18525,7 +18679,7 @@ type Yoda = []|[("always" | "never")]|[("always" | "never"), {
18525
18679
  onlyEquality?: boolean
18526
18680
  }]
18527
18681
  // Names of all the configs
18528
- type ConfigNames = 'vinicunca/astro/setup' | 'vinicunca/astro/rules' | 'vinicunca/eslint-comments/rules' | 'vinicunca/formatter/setup' | 'vinicunca/imports/rules' | 'vinicunca/imports/disables/bin' | 'vinicunca/javascript/setup' | 'vinicunca/javascript/rules' | 'vinicunca/javascript/disables' | 'vinicunca/jsx/setup' | 'vinicunca/jsdoc/rules' | 'vinicunca/jsonc/setup' | 'vinicunca/jsonc/rules' | 'vinicunca/markdown/setup' | 'vinicunca/markdown/processor' | 'vinicunca/markdown/parser' | 'vinicunca/markdown/disables' | 'vinicunca/node/rules' | 'vinicunca/perfectionist/rules' | 'vinicunca/react/setup' | 'vinicunca/react/rules' | 'vinicunca/solid/setup' | 'vinicunca/solid/rules' | 'vinicunca/sort/package-json' | 'vinicunca/stylistic/rules' | 'vinicunca/svelte/setup' | 'vinicunca/svelte/rules' | 'vinicunca/test/setup' | 'vinicunca/test/rules' | 'vinicunca/toml/setup' | 'vinicunca/toml/rules' | 'vinicunca/regexp/rules' | 'vinicunca/sonar/rules' | 'vinicunca/typescript/setup' | 'vinicunca/typescript/parser' | 'vinicunca/typescript/rules' | 'vinicunca/typescript/disables/dts' | 'vinicunca/typescript/disables/tests' | 'vinicunca/typescript/disables/javascript' | 'vinicunca/unicorn/rules' | 'vinicunca/unocss' | 'vinicunca/vue/setup' | 'vinicunca/vue/rules' | 'vinicunca/yaml/setup' | 'vinicunca/yaml/rules'
18682
+ type ConfigNames = 'vinicunca/astro/setup' | 'vinicunca/astro/rules' | 'vinicunca/eslint-comments/rules' | 'vinicunca/formatter/setup' | 'vinicunca/imports/rules' | 'vinicunca/imports/disables/bin' | 'vinicunca/javascript/setup' | 'vinicunca/javascript/rules' | 'vinicunca/javascript/disables' | 'vinicunca/jsx/setup' | 'vinicunca/jsdoc/rules' | 'vinicunca/jsonc/setup' | 'vinicunca/jsonc/rules' | 'vinicunca/markdown/setup' | 'vinicunca/markdown/processor' | 'vinicunca/markdown/parser' | 'vinicunca/markdown/disables' | 'vinicunca/node/rules' | 'vinicunca/perfectionist/rules' | 'vinicunca/react/setup' | 'vinicunca/react/rules' | 'vinicunca/solid/setup' | 'vinicunca/solid/rules' | 'vinicunca/sort/package-json' | 'vinicunca/stylistic/rules' | 'vinicunca/svelte/setup' | 'vinicunca/svelte/rules' | 'vinicunca/test/setup' | 'vinicunca/test/rules' | 'vinicunca/toml/setup' | 'vinicunca/toml/rules' | 'vinicunca/regexp/rules' | 'vinicunca/sonar/rules' | 'vinicunca/typescript/setup' | 'vinicunca/typescript/parser' | 'vinicunca/typescript/rules' | 'vinicunca/typescript/disables/dts' | 'vinicunca/typescript/disables/tests' | 'vinicunca/typescript/disables/javascript' | 'vinicunca/unicorn/rules' | 'vinicunca/unocss' | 'vinicunca/vue/setup' | 'vinicunca/vue/rules' | 'vinicunca/yaml/setup' | 'vinicunca/yaml/rules' | 'vinicunca/yaml/pnpm-workspace'
18529
18683
 
18530
18684
  type VendoredPrettierOptions = Partial<VendoredPrettierOptionsRequired>;
18531
18685
  interface VendoredPrettierOptionsRequired {
@@ -18942,6 +19096,17 @@ interface OptionsConfig extends OptionsComponentExts, OptionsProjectType {
18942
19096
  * @default false
18943
19097
  */
18944
19098
  unocss?: boolean | OptionsUnoCSS;
19099
+ /**
19100
+ * Enable pnpm catalogs support.
19101
+ *
19102
+ * Currently it's disabled by default, as it's still experimental.
19103
+ * In the future it will be smartly enabled based on the project usage.
19104
+ *
19105
+ * @see https://github.com/antfu/pnpm-workspace-utils
19106
+ * @experimental
19107
+ * @default false
19108
+ */
19109
+ pnpm?: boolean;
18945
19110
  /**
18946
19111
  * Use external formatters to format files.
18947
19112
  *
@@ -19020,6 +19185,8 @@ declare function node(): Promise<Array<TypedFlatConfigItem>>;
19020
19185
  */
19021
19186
  declare function perfectionist(): Promise<Array<TypedFlatConfigItem>>;
19022
19187
 
19188
+ declare function pnpm(): Promise<Array<TypedFlatConfigItem>>;
19189
+
19023
19190
  declare function react(options?: OptionsFiles & OptionsOverrides & OptionsTypeScriptParserOptions & OptionsTypeScriptWithTypes): Promise<Array<TypedFlatConfigItem>>;
19024
19191
 
19025
19192
  declare function regexp(options?: OptionsOverrides & OptionsRegExp): Promise<Array<TypedFlatConfigItem>>;
@@ -19167,4 +19334,4 @@ declare function ensurePackages(packages: Array<string | undefined>): Promise<vo
19167
19334
  declare function isInEditorEnv(): boolean;
19168
19335
  declare function isInGitHooksOrLintStaged(): boolean;
19169
19336
 
19170
- export { type Awaitable, type ConfigNames, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, type OptionsComponentExts, type OptionsConfig, type OptionsFiles, type OptionsFormatters, type OptionsHasTypeScript, type OptionsIsInEditor, type OptionsOverrides, type OptionsProjectType, type OptionsRegExp, type OptionsStylistic, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type OptionsTypescript, type OptionsUnicorn, type OptionsUnoCSS, type OptionsVue, type ResolvedOptions, type Rules, STYLISTIC_CONFIG_DEFAULTS, type StylisticConfig, type StylisticOptions, type TypedFlatConfigItem, astro, combineConfigs, command, comments, defaultPluginRenaming, ensurePackages, formatters, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, node, parserPlain, perfectionist, react, regexp, renamePluginInConfigs, renameRules, solid, sonar, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vinicuncaESLint, vue, yaml };
19337
+ export { type Awaitable, type ConfigNames, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, type OptionsComponentExts, type OptionsConfig, type OptionsFiles, type OptionsFormatters, type OptionsHasTypeScript, type OptionsIsInEditor, type OptionsOverrides, type OptionsProjectType, type OptionsRegExp, type OptionsStylistic, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type OptionsTypescript, type OptionsUnicorn, type OptionsUnoCSS, type OptionsVue, type ResolvedOptions, type Rules, STYLISTIC_CONFIG_DEFAULTS, type StylisticConfig, type StylisticOptions, type TypedFlatConfigItem, astro, combineConfigs, command, comments, defaultPluginRenaming, ensurePackages, formatters, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, node, parserPlain, perfectionist, pnpm, react, regexp, renamePluginInConfigs, renameRules, solid, sonar, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vinicuncaESLint, vue, yaml };
package/dist/index.js CHANGED
@@ -1257,6 +1257,30 @@ async function perfectionist() {
1257
1257
  ];
1258
1258
  }
1259
1259
 
1260
+ // src/configs/pnpm.ts
1261
+ async function pnpm() {
1262
+ return [
1263
+ {
1264
+ files: [
1265
+ "package.json",
1266
+ "**/package.json"
1267
+ ],
1268
+ languageOptions: {
1269
+ parser: await interopDefault(import("jsonc-eslint-parser"))
1270
+ },
1271
+ name: "vinicunca/pnpm/rules",
1272
+ plugins: {
1273
+ pnpm: await interopDefault(import("eslint-plugin-pnpm"))
1274
+ },
1275
+ rules: {
1276
+ "pnpm/enforce-catalog": ERROR,
1277
+ "pnpm/prefer-workspace-settings": ERROR,
1278
+ "pnpm/valid-catalog": ERROR
1279
+ }
1280
+ }
1281
+ ];
1282
+ }
1283
+
1260
1284
  // src/configs/react.ts
1261
1285
  import { isPackageExists as isPackageExists3 } from "local-pkg";
1262
1286
  var ReactRefreshAllowConstantExportPackages = [
@@ -2171,10 +2195,11 @@ async function unicorn(options = {}) {
2171
2195
  unicorn: default7
2172
2196
  },
2173
2197
  rules: {
2174
- ...options.allRecommended ? default7.configs["flat/recommended"].rules : {
2198
+ ...options.allRecommended ? default7.configs.recommended.rules : {
2199
+ "unicorn/consistent-empty-array-spread": ERROR,
2175
2200
  "unicorn/error-message": ERROR,
2176
2201
  "unicorn/escape-case": ERROR,
2177
- "unicorn/no-instanceof-array": ERROR,
2202
+ "unicorn/no-instanceof-builtins": ERROR,
2178
2203
  "unicorn/no-new-array": ERROR,
2179
2204
  "unicorn/no-new-buffer": ERROR,
2180
2205
  "unicorn/number-literal-case": ERROR,
@@ -2295,9 +2320,9 @@ async function vue(options = {}) {
2295
2320
  ]),
2296
2321
  rules: {
2297
2322
  ...pluginVue.configs.base.rules,
2298
- ...pluginVue.configs["vue3-essential"].rules,
2299
- ...pluginVue.configs["vue3-strongly-recommended"].rules,
2300
- ...pluginVue.configs["vue3-recommended"].rules,
2323
+ ...pluginVue.configs["flat/essential"].map((c) => c.rules).reduce((acc, c) => ({ ...acc, ...c }), {}),
2324
+ ...pluginVue.configs["flat/strongly-recommended"].map((c) => c.rules).reduce((acc, c) => ({ ...acc, ...c }), {}),
2325
+ ...pluginVue.configs["flat/recommended"].map((c) => c.rules).reduce((acc, c) => ({ ...acc, ...c }), {}),
2301
2326
  "node/prefer-global/process": OFF,
2302
2327
  "vue/block-order": [ERROR, {
2303
2328
  order: ["script", "template", "style"]
@@ -2450,8 +2475,33 @@ async function yaml(options = {}) {
2450
2475
  },
2451
2476
  {
2452
2477
  files: ["pnpm-workspace.yaml"],
2478
+ name: "vinicunca/yaml/pnpm-workspace",
2453
2479
  rules: {
2454
- "yaml/sort-keys": ERROR
2480
+ "yaml/sort-keys": [
2481
+ ERROR,
2482
+ {
2483
+ order: [
2484
+ "packages",
2485
+ "overrides",
2486
+ "patchedDependencies",
2487
+ "hoistPattern",
2488
+ "catalog",
2489
+ "catalogs",
2490
+ "allowedDeprecatedVersions",
2491
+ "allowNonAppliedPatches",
2492
+ "configDependencies",
2493
+ "ignoredBuiltDependencies",
2494
+ "ignoredOptionalDependencies",
2495
+ "neverBuiltDependencies",
2496
+ "onlyBuiltDependencies",
2497
+ "onlyBuiltDependenciesFile",
2498
+ "packageExtensions",
2499
+ "peerDependencyRules",
2500
+ "supportedArchitectures"
2501
+ ],
2502
+ pathPattern: "^$"
2503
+ }
2504
+ ]
2455
2505
  }
2456
2506
  }
2457
2507
  ];
@@ -2497,6 +2547,7 @@ function vinicuncaESLint(options = {}, ...userConfigs) {
2497
2547
  regexp: enableRegexp = true,
2498
2548
  solid: enableSolid = false,
2499
2549
  svelte: enableSvelte = false,
2550
+ pnpm: enableCatalogs = false,
2500
2551
  typescript: enableTypeScript = isPackageExists4("typescript"),
2501
2552
  unicorn: enableUnicorn = true,
2502
2553
  unocss: enableUnoCSS = false,
@@ -2639,6 +2690,11 @@ function vinicuncaESLint(options = {}, ...userConfigs) {
2639
2690
  sortTsconfig()
2640
2691
  );
2641
2692
  }
2693
+ if (enableCatalogs) {
2694
+ configs2.push(
2695
+ pnpm()
2696
+ );
2697
+ }
2642
2698
  if (options.yaml ?? true) {
2643
2699
  configs2.push(yaml({
2644
2700
  overrides: getOverrides(options, "yaml"),
@@ -2761,6 +2817,7 @@ export {
2761
2817
  default6 as pluginSonar,
2762
2818
  default7 as pluginUnicorn,
2763
2819
  default8 as pluginUnusedImports,
2820
+ pnpm,
2764
2821
  react,
2765
2822
  regexp,
2766
2823
  renamePluginInConfigs,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vinicunca/eslint-config",
3
3
  "type": "module",
4
- "version": "3.5.2",
4
+ "version": "3.7.0",
5
5
  "description": "Vinicunca ESLint config",
6
6
  "author": {
7
7
  "name": "praburangki",
@@ -112,37 +112,38 @@
112
112
  "@antfu/install-pkg": "^1.0.0",
113
113
  "@clack/prompts": "^0.10.0",
114
114
  "@eslint-community/eslint-plugin-eslint-comments": "^4.4.1",
115
- "@eslint/markdown": "^6.2.2",
115
+ "@eslint/markdown": "^6.3.0",
116
116
  "@stylistic/eslint-plugin": "^4.2.0",
117
117
  "@typescript-eslint/eslint-plugin": "^8.26.0",
118
118
  "@typescript-eslint/parser": "^8.26.0",
119
- "@unocss/eslint-plugin": "^66.1.0-beta.3",
119
+ "@unocss/eslint-plugin": "^66.0.0",
120
120
  "@vitest/eslint-plugin": "^1.1.36",
121
121
  "eslint-config-flat-gitignore": "^2.1.0",
122
122
  "eslint-flat-config-utils": "^2.0.1",
123
123
  "eslint-merge-processors": "^2.0.0",
124
- "eslint-plugin-antfu": "^3.1.0",
124
+ "eslint-plugin-antfu": "^3.1.1",
125
125
  "eslint-plugin-command": "^3.1.0",
126
126
  "eslint-plugin-format": "^1.0.1",
127
127
  "eslint-plugin-import-x": "^4.6.1",
128
128
  "eslint-plugin-jsdoc": "^50.6.3",
129
129
  "eslint-plugin-jsonc": "^2.19.1",
130
- "eslint-plugin-n": "^17.16.1",
130
+ "eslint-plugin-n": "^17.16.2",
131
131
  "eslint-plugin-no-only-tests": "^3.3.0",
132
- "eslint-plugin-perfectionist": "^4.9.0",
132
+ "eslint-plugin-perfectionist": "^4.10.1",
133
+ "eslint-plugin-pnpm": "^0.1.2",
133
134
  "eslint-plugin-regexp": "^2.7.0",
134
135
  "eslint-plugin-sonarjs": "^3.0.2",
135
136
  "eslint-plugin-toml": "^0.12.0",
136
137
  "eslint-plugin-unicorn": "^57.0.0",
137
138
  "eslint-plugin-unused-imports": "^4.1.4",
138
- "eslint-plugin-vue": "^9.32.0",
139
+ "eslint-plugin-vue": "^10.0.0",
139
140
  "eslint-plugin-yml": "^1.17.0",
140
141
  "eslint-processor-vue-blocks": "^2.0.0",
141
142
  "globals": "^16.0.0",
142
143
  "jsonc-eslint-parser": "^2.4.0",
143
144
  "local-pkg": "^1.1.1",
144
145
  "toml-eslint-parser": "^0.10.0",
145
- "vue-eslint-parser": "^9.4.3",
146
+ "vue-eslint-parser": "^10.1.1",
146
147
  "yaml-eslint-parser": "^1.3.0"
147
148
  },
148
149
  "scripts": {