@vinicunca/eslint-config 5.1.0 → 5.2.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.mts CHANGED
@@ -3413,46 +3413,46 @@ interface RuleOptions {
3413
3413
  'react/immutability'?: Linter.RuleEntry<[]>;
3414
3414
  /**
3415
3415
  * Disallows passing 'children' as a prop.
3416
- * @see https://eslint-react.xyz/docs/rules/no-children-prop
3416
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-children-prop
3417
3417
  */
3418
3418
  'react/jsx-no-children-prop'?: Linter.RuleEntry<[]>;
3419
3419
  /**
3420
3420
  * Disallows passing 'children' as a prop when children are also passed as nested content.
3421
- * @see https://eslint-react.xyz/docs/rules/no-children-prop-with-children
3421
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-children-prop-with-children
3422
3422
  */
3423
3423
  'react/jsx-no-children-prop-with-children'?: Linter.RuleEntry<[]>;
3424
3424
  /**
3425
3425
  * Prevents comment strings from being accidentally inserted into a JSX element's text nodes.
3426
- * @see https://eslint-react.xyz/docs/rules/no-comment-textnodes
3426
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-comment-textnodes
3427
3427
  */
3428
3428
  'react/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>;
3429
3429
  /**
3430
3430
  * Prevent patterns that cause deoptimization when using the automatic JSX runtime.
3431
- * @see https://eslint-react.xyz/docs/rules/no-key-after-spread
3431
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-key-after-spread
3432
3432
  */
3433
3433
  'react/jsx-no-key-after-spread'?: Linter.RuleEntry<[]>;
3434
3434
  /**
3435
3435
  * Catches `$` before `{expr}` in JSX — typically from template literal `${expr}` being copy-pasted into JSX without removing the `$`. The `$` "leaks" into the rendered output.
3436
- * @see https://eslint-react.xyz/docs/rules/no-leaked-dollar
3436
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-leaked-dollar
3437
3437
  */
3438
3438
  'react/jsx-no-leaked-dollar'?: Linter.RuleEntry<[]>;
3439
3439
  /**
3440
3440
  * Catches `;` at the start of JSX text nodes — typically from accidentally placing a statement-ending `;` inside JSX. The `;` "leaks" into the rendered output.
3441
- * @see https://eslint-react.xyz/docs/rules/no-leaked-semicolon
3441
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-leaked-semicolon
3442
3442
  */
3443
3443
  'react/jsx-no-leaked-semicolon'?: Linter.RuleEntry<[]>;
3444
3444
  /**
3445
3445
  * Disallow JSX namespace syntax, as React does not support them.
3446
- * @see https://eslint-react.xyz/docs/rules/no-namespace
3446
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-namespace
3447
3447
  */
3448
3448
  'react/jsx-no-namespace'?: Linter.RuleEntry<[]>;
3449
3449
  /**
3450
3450
  * Disallows useless fragment elements.
3451
- * @see https://eslint-react.xyz/docs/rules/no-useless-fragment
3451
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-useless-fragment
3452
3452
  */
3453
3453
  'react/jsx-no-useless-fragment'?: Linter.RuleEntry<ReactJsxNoUselessFragment>;
3454
3454
  /**
3455
- * Enforces the context name to be a valid component name with the suffix 'Context'.
3455
+ * Enforces identifier names assigned from `createContext` calls to be a valid component name with the suffix `Context`.
3456
3456
  * @see https://eslint-react.xyz/docs/rules/naming-convention-context-name
3457
3457
  */
3458
3458
  'react/naming-convention-context-name'?: Linter.RuleEntry<[]>;
@@ -3678,7 +3678,7 @@ interface RuleOptions {
3678
3678
  'react/refs'?: Linter.RuleEntry<[]>;
3679
3679
  /**
3680
3680
  * Validates and transforms React Client/Server Function definitions.
3681
- * @see https://eslint-react.xyz/docs/rules/function-definition
3681
+ * @see https://eslint-react.xyz/docs/rules/rsc-function-definition
3682
3682
  */
3683
3683
  'react/rsc-function-definition'?: Linter.RuleEntry<[]>;
3684
3684
  /**
@@ -4612,7 +4612,7 @@ interface RuleOptions {
4612
4612
  */
4613
4613
  'sonar/aws-ec2-rds-dms-public'?: Linter.RuleEntry<[]>;
4614
4614
  /**
4615
- * Using unencrypted EBS volumes is security-sensitive
4615
+ * EBS volumes should be encrypted
4616
4616
  * @see https://sonarsource.github.io/rspec/#/rspec/S6275/javascript
4617
4617
  */
4618
4618
  'sonar/aws-ec2-unencrypted-ebs-volume'?: Linter.RuleEntry<[]>;
@@ -4622,7 +4622,7 @@ interface RuleOptions {
4622
4622
  */
4623
4623
  'sonar/aws-efs-unencrypted'?: Linter.RuleEntry<[]>;
4624
4624
  /**
4625
- * Policies granting all privileges are security-sensitive
4625
+ * Policies should not grant all privileges
4626
4626
  * @see https://sonarsource.github.io/rspec/#/rspec/S6302/javascript
4627
4627
  */
4628
4628
  'sonar/aws-iam-all-privileges'?: Linter.RuleEntry<[]>;
@@ -4637,17 +4637,17 @@ interface RuleOptions {
4637
4637
  */
4638
4638
  'sonar/aws-iam-privilege-escalation'?: Linter.RuleEntry<[]>;
4639
4639
  /**
4640
- * Policies authorizing public access to resources are security-sensitive
4640
+ * AWS resource-based policies should not grant public access
4641
4641
  * @see https://sonarsource.github.io/rspec/#/rspec/S6270/javascript
4642
4642
  */
4643
4643
  'sonar/aws-iam-public-access'?: Linter.RuleEntry<[]>;
4644
4644
  /**
4645
- * Using unencrypted Opensearch domains is security-sensitive
4645
+ * OpenSearch domains should have encryption at rest enabled
4646
4646
  * @see https://sonarsource.github.io/rspec/#/rspec/S6308/javascript
4647
4647
  */
4648
4648
  'sonar/aws-opensearchservice-domain'?: Linter.RuleEntry<[]>;
4649
4649
  /**
4650
- * Using unencrypted RDS DB resources is security-sensitive
4650
+ * Amazon RDS resources should be encrypted at rest
4651
4651
  * @see https://sonarsource.github.io/rspec/#/rspec/S6303/javascript
4652
4652
  */
4653
4653
  'sonar/aws-rds-unencrypted-databases'?: Linter.RuleEntry<[]>;
@@ -4657,7 +4657,7 @@ interface RuleOptions {
4657
4657
  */
4658
4658
  'sonar/aws-restricted-ip-admin-access'?: Linter.RuleEntry<[]>;
4659
4659
  /**
4660
- * Granting access to S3 buckets to all or authenticated users is security-sensitive
4660
+ * S3 buckets should not grant access to all users or authenticated users
4661
4661
  * @see https://sonarsource.github.io/rspec/#/rspec/S6265/javascript
4662
4662
  */
4663
4663
  'sonar/aws-s3-bucket-granted-access'?: Linter.RuleEntry<[]>;
@@ -4693,7 +4693,7 @@ interface RuleOptions {
4693
4693
  */
4694
4694
  'sonar/aws-sns-unencrypted-topics'?: Linter.RuleEntry<[]>;
4695
4695
  /**
4696
- * Using unencrypted SQS queues is security-sensitive
4696
+ * SQS queues should be encrypted
4697
4697
  * @see https://sonarsource.github.io/rspec/#/rspec/S6330/javascript
4698
4698
  */
4699
4699
  'sonar/aws-sqs-unencrypted-queue'?: Linter.RuleEntry<[]>;
@@ -4780,7 +4780,7 @@ interface RuleOptions {
4780
4780
  */
4781
4781
  'sonar/constructor-for-side-effects'?: Linter.RuleEntry<[]>;
4782
4782
  /**
4783
- * Allowing requests with excessive content length is security-sensitive
4783
+ * HTTP request content length should be limited
4784
4784
  * @see https://sonarsource.github.io/rspec/#/rspec/S5693/javascript
4785
4785
  */
4786
4786
  'sonar/content-length'?: Linter.RuleEntry<SonarContentLength>;
@@ -4801,7 +4801,7 @@ interface RuleOptions {
4801
4801
  */
4802
4802
  'sonar/cookies'?: Linter.RuleEntry<[]>;
4803
4803
  /**
4804
- * Having a permissive Cross-Origin Resource Sharing policy is security-sensitive
4804
+ * Cross-Origin Resource Sharing (CORS) policy should be restricted to trusted origins
4805
4805
  * @see https://sonarsource.github.io/rspec/#/rspec/S5122/javascript
4806
4806
  */
4807
4807
  'sonar/cors'?: Linter.RuleEntry<[]>;
@@ -4856,6 +4856,11 @@ interface RuleOptions {
4856
4856
  * @deprecated
4857
4857
  */
4858
4858
  'sonar/dns-prefetching'?: Linter.RuleEntry<[]>;
4859
+ /**
4860
+ * DOMPurify configuration should not be bypassable
4861
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8479/javascript
4862
+ */
4863
+ 'sonar/dompurify-unsafe-config'?: Linter.RuleEntry<[]>;
4859
4864
  /**
4860
4865
  * Character classes in regular expressions should not contain the same character twice
4861
4866
  * @see https://sonarsource.github.io/rspec/#/rspec/S5869/javascript
@@ -4993,7 +4998,7 @@ interface RuleOptions {
4993
4998
  */
4994
4999
  'sonar/index-of-compare-to-positive-number'?: Linter.RuleEntry<[]>;
4995
5000
  /**
4996
- * Creating cookies without the "secure" flag is security-sensitive
5001
+ * Cookies should have the "secure" flag
4997
5002
  * @see https://sonarsource.github.io/rspec/#/rspec/S2092/javascript
4998
5003
  */
4999
5004
  'sonar/insecure-cookie'?: Linter.RuleEntry<[]>;
@@ -5018,7 +5023,7 @@ interface RuleOptions {
5018
5023
  */
5019
5024
  'sonar/label-position'?: Linter.RuleEntry<[]>;
5020
5025
  /**
5021
- * Authorizing an opened window to access back to the originating window is security-sensitive
5026
+ * Opened windows should not have access to the originating page
5022
5027
  * @see https://sonarsource.github.io/rspec/#/rspec/S5148/javascript
5023
5028
  */
5024
5029
  'sonar/link-with-target-blank'?: Linter.RuleEntry<[]>;
@@ -5233,7 +5238,7 @@ interface RuleOptions {
5233
5238
  */
5234
5239
  'sonar/no-gratuitous-expressions'?: Linter.RuleEntry<[]>;
5235
5240
  /**
5236
- * Using hardcoded IP addresses is security-sensitive
5241
+ * IP addresses should not be hardcoded
5237
5242
  * @see https://sonarsource.github.io/rspec/#/rspec/S1313/javascript
5238
5243
  */
5239
5244
  'sonar/no-hardcoded-ip'?: Linter.RuleEntry<[]>;
@@ -5535,8 +5540,9 @@ interface RuleOptions {
5535
5540
  */
5536
5541
  'sonar/no-uniq-key'?: Linter.RuleEntry<[]>;
5537
5542
  /**
5538
- * Expanding archive files without controlling resource consumption is security-sensitive
5543
+ * Expanding archive files should not be done without controlling resource consumption
5539
5544
  * @see https://sonarsource.github.io/rspec/#/rspec/S5042/javascript
5545
+ * @deprecated
5540
5546
  */
5541
5547
  'sonar/no-unsafe-unzip'?: Linter.RuleEntry<[]>;
5542
5548
  /**
@@ -5712,7 +5718,7 @@ interface RuleOptions {
5712
5718
  */
5713
5719
  'sonar/public-static-readonly'?: Linter.RuleEntry<[]>;
5714
5720
  /**
5715
- * Using publicly writable directories is security-sensitive
5721
+ * Temporary files should not be created in publicly writable directories
5716
5722
  * @see https://sonarsource.github.io/rspec/#/rspec/S5443/javascript
5717
5723
  */
5718
5724
  'sonar/publicly-writable-directories'?: Linter.RuleEntry<[]>;
@@ -5902,7 +5908,7 @@ interface RuleOptions {
5902
5908
  */
5903
5909
  'sonar/web-sql-database'?: Linter.RuleEntry<[]>;
5904
5910
  /**
5905
- * Disclosing fingerprints from web application technologies is security-sensitive
5911
+ * Web application technologies should not disclose version information
5906
5912
  * @see https://sonarsource.github.io/rspec/#/rspec/S5689/javascript
5907
5913
  */
5908
5914
  'sonar/x-powered-by'?: Linter.RuleEntry<[]>;
@@ -6650,6 +6656,11 @@ interface RuleOptions {
6650
6656
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-navigation-without-resolve/
6651
6657
  */
6652
6658
  'svelte/no-navigation-without-resolve'?: Linter.RuleEntry<SvelteNoNavigationWithoutResolve>;
6659
+ /**
6660
+ * disallow `<style>` elements nested inside other elements or blocks
6661
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-nested-style-tag/
6662
+ */
6663
+ 'svelte/no-nested-style-tag'?: Linter.RuleEntry<[]>;
6653
6664
  /**
6654
6665
  * disallow use of not function in event handler
6655
6666
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-not-function-handler/
@@ -6765,6 +6776,11 @@ interface RuleOptions {
6765
6776
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-const/
6766
6777
  */
6767
6778
  'svelte/prefer-const'?: Linter.RuleEntry<SveltePreferConst>;
6779
+ /**
6780
+ * disallow unnecessary `$derived.by()` when `$derived()` is sufficient
6781
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-derived-over-derived-by/
6782
+ */
6783
+ 'svelte/prefer-derived-over-derived-by'?: Linter.RuleEntry<[]>;
6768
6784
  /**
6769
6785
  * destructure values from object stores for better change tracking & fewer redraws
6770
6786
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-destructured-store-props/
@@ -9204,7 +9220,7 @@ interface RuleOptions {
9204
9220
  */
9205
9221
  'vue/jsx-uses-vars'?: Linter.RuleEntry<[]>;
9206
9222
  /**
9207
- * Enforce consistent spacing between keys and values in object literal properties in `<template>`
9223
+ * Enforce consistent spacing between property names and type annotations in types and interfaces in `<template>`
9208
9224
  * @see https://eslint.vuejs.org/rules/key-spacing.html
9209
9225
  */
9210
9226
  'vue/key-spacing'?: Linter.RuleEntry<VueKeySpacing>;
@@ -9926,7 +9942,7 @@ interface RuleOptions {
9926
9942
  */
9927
9943
  'vue/prop-name-casing'?: Linter.RuleEntry<VuePropNameCasing>;
9928
9944
  /**
9929
- * Require quotes around object literal property names in `<template>`
9945
+ * Require quotes around object literal, type literal, interfaces and enums property names in `<template>`
9930
9946
  * @see https://eslint.vuejs.org/rules/quote-props.html
9931
9947
  */
9932
9948
  'vue/quote-props'?: Linter.RuleEntry<VueQuoteProps>;
@@ -15897,7 +15913,7 @@ type SonarArrowFunctionConvention = [] | [{
15897
15913
  type SonarClassName = [] | [{
15898
15914
  format?: string;
15899
15915
  }]; // ----- sonar/cognitive-complexity -----
15900
- type SonarCognitiveComplexity = [] | [(number | string)] | [(number | string), string]; // ----- sonar/comment-regex -----
15916
+ type SonarCognitiveComplexity = [] | [(number | "silence-issues")] | [(number | "silence-issues"), "silence-issues"]; // ----- sonar/comment-regex -----
15901
15917
  type SonarCommentRegex = [] | [{
15902
15918
  regularExpression?: string;
15903
15919
  message?: string;
@@ -18796,6 +18812,7 @@ type VueArrayElementNewline = [] | [(_VueArrayElementNewlineBasicConfig | {
18796
18812
  ArrayPattern?: _VueArrayElementNewlineBasicConfig;
18797
18813
  })];
18798
18814
  type _VueArrayElementNewlineBasicConfig = (("always" | "never" | "consistent") | {
18815
+ consistent?: boolean;
18799
18816
  multiline?: boolean;
18800
18817
  minItems?: (number | null);
18801
18818
  }); // ----- vue/arrow-spacing -----
@@ -18855,9 +18872,14 @@ type VueCommaDangle = [] | [(_VueCommaDangleValue | {
18855
18872
  imports?: _VueCommaDangleValueWithIgnore;
18856
18873
  exports?: _VueCommaDangleValueWithIgnore;
18857
18874
  functions?: _VueCommaDangleValueWithIgnore;
18875
+ importAttributes?: _VueCommaDangleValueWithIgnore;
18876
+ dynamicImports?: _VueCommaDangleValueWithIgnore;
18877
+ enums?: _VueCommaDangleValueWithIgnore;
18878
+ generics?: _VueCommaDangleValueWithIgnore;
18879
+ tuples?: _VueCommaDangleValueWithIgnore;
18858
18880
  })];
18859
18881
  type _VueCommaDangleValue = ("always-multiline" | "always" | "never" | "only-multiline");
18860
- type _VueCommaDangleValueWithIgnore = ("always-multiline" | "always" | "ignore" | "never" | "only-multiline"); // ----- vue/comma-spacing -----
18882
+ type _VueCommaDangleValueWithIgnore = ("always-multiline" | "always" | "never" | "only-multiline" | "ignore"); // ----- vue/comma-spacing -----
18861
18883
  type VueCommaSpacing = [] | [{
18862
18884
  before?: boolean;
18863
18885
  after?: boolean;
@@ -18907,6 +18929,10 @@ type VueFirstAttributeLinebreak = [] | [{
18907
18929
  }]; // ----- vue/func-call-spacing -----
18908
18930
  type VueFuncCallSpacing = ([] | ["never"] | [] | ["always"] | ["always", {
18909
18931
  allowNewlines?: boolean;
18932
+ optionalChain?: {
18933
+ before?: boolean;
18934
+ after?: boolean;
18935
+ };
18910
18936
  }]); // ----- vue/html-button-has-type -----
18911
18937
  type VueHtmlButtonHasType = [] | [{
18912
18938
  button?: boolean;
@@ -18978,6 +19004,7 @@ type VueKeySpacing = [] | [({
18978
19004
  mode?: ("strict" | "minimum");
18979
19005
  beforeColon?: boolean;
18980
19006
  afterColon?: boolean;
19007
+ ignoredNodes?: ("ObjectExpression" | "ObjectPattern" | "ImportDeclaration" | "ExportNamedDeclaration" | "ExportAllDeclaration" | "TSTypeLiteral" | "TSInterfaceBody" | "ClassBody")[];
18981
19008
  } | {
18982
19009
  singleLine?: {
18983
19010
  mode?: ("strict" | "minimum");
@@ -19021,18 +19048,6 @@ type VueKeywordSpacing = [] | [{
19021
19048
  before?: boolean;
19022
19049
  after?: boolean;
19023
19050
  };
19024
- as?: {
19025
- before?: boolean;
19026
- after?: boolean;
19027
- };
19028
- async?: {
19029
- before?: boolean;
19030
- after?: boolean;
19031
- };
19032
- await?: {
19033
- before?: boolean;
19034
- after?: boolean;
19035
- };
19036
19051
  boolean?: {
19037
19052
  before?: boolean;
19038
19053
  after?: boolean;
@@ -19125,18 +19140,10 @@ type VueKeywordSpacing = [] | [{
19125
19140
  before?: boolean;
19126
19141
  after?: boolean;
19127
19142
  };
19128
- from?: {
19129
- before?: boolean;
19130
- after?: boolean;
19131
- };
19132
19143
  function?: {
19133
19144
  before?: boolean;
19134
19145
  after?: boolean;
19135
19146
  };
19136
- get?: {
19137
- before?: boolean;
19138
- after?: boolean;
19139
- };
19140
19147
  goto?: {
19141
19148
  before?: boolean;
19142
19149
  after?: boolean;
@@ -19169,10 +19176,6 @@ type VueKeywordSpacing = [] | [{
19169
19176
  before?: boolean;
19170
19177
  after?: boolean;
19171
19178
  };
19172
- let?: {
19173
- before?: boolean;
19174
- after?: boolean;
19175
- };
19176
19179
  long?: {
19177
19180
  before?: boolean;
19178
19181
  after?: boolean;
@@ -19189,10 +19192,6 @@ type VueKeywordSpacing = [] | [{
19189
19192
  before?: boolean;
19190
19193
  after?: boolean;
19191
19194
  };
19192
- of?: {
19193
- before?: boolean;
19194
- after?: boolean;
19195
- };
19196
19195
  package?: {
19197
19196
  before?: boolean;
19198
19197
  after?: boolean;
@@ -19213,10 +19212,6 @@ type VueKeywordSpacing = [] | [{
19213
19212
  before?: boolean;
19214
19213
  after?: boolean;
19215
19214
  };
19216
- set?: {
19217
- before?: boolean;
19218
- after?: boolean;
19219
- };
19220
19215
  short?: {
19221
19216
  before?: boolean;
19222
19217
  after?: boolean;
@@ -19285,10 +19280,66 @@ type VueKeywordSpacing = [] | [{
19285
19280
  before?: boolean;
19286
19281
  after?: boolean;
19287
19282
  };
19283
+ arguments?: {
19284
+ before?: boolean;
19285
+ after?: boolean;
19286
+ };
19287
+ as?: {
19288
+ before?: boolean;
19289
+ after?: boolean;
19290
+ };
19291
+ async?: {
19292
+ before?: boolean;
19293
+ after?: boolean;
19294
+ };
19295
+ await?: {
19296
+ before?: boolean;
19297
+ after?: boolean;
19298
+ };
19299
+ eval?: {
19300
+ before?: boolean;
19301
+ after?: boolean;
19302
+ };
19303
+ from?: {
19304
+ before?: boolean;
19305
+ after?: boolean;
19306
+ };
19307
+ get?: {
19308
+ before?: boolean;
19309
+ after?: boolean;
19310
+ };
19311
+ let?: {
19312
+ before?: boolean;
19313
+ after?: boolean;
19314
+ };
19315
+ of?: {
19316
+ before?: boolean;
19317
+ after?: boolean;
19318
+ };
19319
+ set?: {
19320
+ before?: boolean;
19321
+ after?: boolean;
19322
+ };
19323
+ type?: {
19324
+ before?: boolean;
19325
+ after?: boolean;
19326
+ };
19327
+ using?: {
19328
+ before?: boolean;
19329
+ after?: boolean;
19330
+ };
19288
19331
  yield?: {
19289
19332
  before?: boolean;
19290
19333
  after?: boolean;
19291
19334
  };
19335
+ accessor?: {
19336
+ before?: boolean;
19337
+ after?: boolean;
19338
+ };
19339
+ satisfies?: {
19340
+ before?: boolean;
19341
+ after?: boolean;
19342
+ };
19292
19343
  };
19293
19344
  }]; // ----- vue/match-component-file-name -----
19294
19345
  type VueMatchComponentFileName = [] | [{
@@ -19408,7 +19459,9 @@ type VueMultilineHtmlElementContentNewline = [] | [{
19408
19459
  ignores?: string[];
19409
19460
  allowEmptyLines?: boolean;
19410
19461
  }]; // ----- vue/multiline-ternary -----
19411
- type VueMultilineTernary = [] | [("always" | "always-multiline" | "never")]; // ----- vue/mustache-interpolation-spacing -----
19462
+ type VueMultilineTernary = [] | [("always" | "always-multiline" | "never")] | [("always" | "always-multiline" | "never"), {
19463
+ ignoreJSX?: boolean;
19464
+ }]; // ----- vue/mustache-interpolation-spacing -----
19412
19465
  type VueMustacheInterpolationSpacing = [] | [("always" | "never")]; // ----- vue/new-line-between-multi-line-property -----
19413
19466
  type VueNewLineBetweenMultiLineProperty = [] | [{
19414
19467
  minLineOfMultilineProperty?: number;
@@ -19468,6 +19521,13 @@ type VueNoExtraParens = ([] | ["functions"] | [] | ["all"] | ["all", {
19468
19521
  enforceForNewInMemberExpressions?: boolean;
19469
19522
  enforceForFunctionPrototypeMethods?: boolean;
19470
19523
  allowParensAfterCommentPattern?: string;
19524
+ nestedConditionalExpressions?: boolean;
19525
+ allowNodesInSpreadElement?: {
19526
+ ConditionalExpression?: boolean;
19527
+ LogicalExpression?: boolean;
19528
+ AwaitExpression?: boolean;
19529
+ };
19530
+ ignoredNodes?: string[];
19471
19531
  }]); // ----- vue/no-implicit-coercion -----
19472
19532
  type VueNoImplicitCoercion = [] | [{
19473
19533
  boolean?: boolean;
@@ -19691,14 +19751,41 @@ type VueObjectCurlyNewline = [] | [((("always" | "never") | {
19691
19751
  minProperties?: number;
19692
19752
  consistent?: boolean;
19693
19753
  });
19754
+ TSTypeLiteral?: (("always" | "never") | {
19755
+ multiline?: boolean;
19756
+ minProperties?: number;
19757
+ consistent?: boolean;
19758
+ });
19759
+ TSInterfaceBody?: (("always" | "never") | {
19760
+ multiline?: boolean;
19761
+ minProperties?: number;
19762
+ consistent?: boolean;
19763
+ });
19764
+ TSEnumBody?: (("always" | "never") | {
19765
+ multiline?: boolean;
19766
+ minProperties?: number;
19767
+ consistent?: boolean;
19768
+ });
19694
19769
  })]; // ----- vue/object-curly-spacing -----
19695
19770
  type VueObjectCurlySpacing = [] | [("always" | "never")] | [("always" | "never"), {
19696
19771
  arraysInObjects?: boolean;
19697
19772
  objectsInObjects?: boolean;
19773
+ overrides?: {
19774
+ ObjectPattern?: ("always" | "never");
19775
+ ObjectExpression?: ("always" | "never");
19776
+ ImportDeclaration?: ("always" | "never");
19777
+ ImportAttributes?: ("always" | "never");
19778
+ ExportNamedDeclaration?: ("always" | "never");
19779
+ ExportAllDeclaration?: ("always" | "never");
19780
+ TSMappedType?: ("always" | "never");
19781
+ TSTypeLiteral?: ("always" | "never");
19782
+ TSInterfaceBody?: ("always" | "never");
19783
+ TSEnumBody?: ("always" | "never");
19784
+ };
19785
+ emptyObjects?: ("ignore" | "always" | "never");
19698
19786
  }]; // ----- vue/object-property-newline -----
19699
19787
  type VueObjectPropertyNewline = [] | [{
19700
19788
  allowAllPropertiesOnSameLine?: boolean;
19701
- allowMultiplePropertiesPerLine?: boolean;
19702
19789
  }]; // ----- vue/object-shorthand -----
19703
19790
  type VueObjectShorthand = ([] | [("always" | "methods" | "properties" | "never" | "consistent" | "consistent-as-needed")] | [] | [("always" | "methods" | "properties")] | [("always" | "methods" | "properties"), {
19704
19791
  avoidQuotes?: boolean;
@@ -19708,7 +19795,7 @@ type VueObjectShorthand = ([] | [("always" | "methods" | "properties" | "never"
19708
19795
  avoidQuotes?: boolean;
19709
19796
  avoidExplicitReturnArrows?: boolean;
19710
19797
  }]); // ----- vue/operator-linebreak -----
19711
- type VueOperatorLinebreak = [] | [("after" | "before" | "none" | null)] | [("after" | "before" | "none" | null), {
19798
+ type VueOperatorLinebreak = [] | [(("after" | "before" | "none") | null)] | [(("after" | "before" | "none") | null), {
19712
19799
  overrides?: {
19713
19800
  [k: string]: ("after" | "before" | "none" | "ignore") | undefined;
19714
19801
  };
@@ -19796,6 +19883,7 @@ type VueSpaceInParens = [] | [("always" | "never")] | [("always" | "never"), {
19796
19883
  }]; // ----- vue/space-infix-ops -----
19797
19884
  type VueSpaceInfixOps = [] | [{
19798
19885
  int32Hint?: boolean;
19886
+ ignoreTypes?: boolean;
19799
19887
  }]; // ----- vue/space-unary-ops -----
19800
19888
  type VueSpaceUnaryOps = [] | [{
19801
19889
  words?: boolean;
package/dist/index.mjs CHANGED
@@ -18,17 +18,17 @@ import pluginUnusedImports from "eslint-plugin-unused-imports";
18
18
  import globals from "globals";
19
19
  import { mergeProcessors, processorPassThrough } from "eslint-merge-processors";
20
20
  import { configs } from "eslint-plugin-regexp";
21
- //#region node_modules/.pnpm/@vinicunca+perkakas@1.13.2/node_modules/@vinicunca/perkakas/dist/is-boolean.js
21
+ //#region node_modules/.pnpm/@vinicunca+perkakas@1.15.0/node_modules/@vinicunca/perkakas/dist/is-boolean.js
22
22
  function e$2(e) {
23
23
  return typeof e == `boolean`;
24
24
  }
25
25
  //#endregion
26
- //#region node_modules/.pnpm/@vinicunca+perkakas@1.13.2/node_modules/@vinicunca/perkakas/dist/is-function.js
26
+ //#region node_modules/.pnpm/@vinicunca+perkakas@1.15.0/node_modules/@vinicunca/perkakas/dist/is-function.js
27
27
  function e$1(e) {
28
28
  return typeof e == `function`;
29
29
  }
30
30
  //#endregion
31
- //#region node_modules/.pnpm/@vinicunca+perkakas@1.13.2/node_modules/@vinicunca/perkakas/dist/is-number.js
31
+ //#region node_modules/.pnpm/@vinicunca+perkakas@1.15.0/node_modules/@vinicunca/perkakas/dist/is-number.js
32
32
  function e(e) {
33
33
  return typeof e == `number` && !Number.isNaN(e);
34
34
  }
@@ -2084,7 +2084,7 @@ async function typescript(options = {}) {
2084
2084
  }] : [],
2085
2085
  ...erasableOnly ? [{
2086
2086
  name: "antfu/typescript/erasable-syntax-only",
2087
- plugins: { "erasable-syntax-only": await interopDefault(import("./lib-BXrNxJq9.mjs")) },
2087
+ plugins: { "erasable-syntax-only": await interopDefault(import("./lib-8varpJW2.mjs")) },
2088
2088
  rules: {
2089
2089
  "erasable-syntax-only/enums": ERROR,
2090
2090
  "erasable-syntax-only/import-aliases": ERROR,