@vinicunca/eslint-config 5.1.0 → 5.3.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
@@ -331,6 +331,11 @@ interface RuleOptions {
331
331
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-exports-from-components/
332
332
  */
333
333
  'astro/no-exports-from-components'?: Linter.RuleEntry<[]>;
334
+ /**
335
+ * disallow omitted end tags
336
+ * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-omitted-end-tags/
337
+ */
338
+ 'astro/no-omitted-end-tags'?: Linter.RuleEntry<[]>;
334
339
  /**
335
340
  * disallow `prerender` export outside of pages/ directory
336
341
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-prerender-export-outside-pages/
@@ -513,10 +518,18 @@ interface RuleOptions {
513
518
  * Disallow dependencies in favor of more performant or secure alternatives
514
519
  */
515
520
  'e18e/ban-dependencies'?: Linter.RuleEntry<E18EBanDependencies>;
521
+ /**
522
+ * Disallow `delete` on properties — V8 deoptimizes the object to dictionary mode
523
+ */
524
+ 'e18e/no-delete-property'?: Linter.RuleEntry<[]>;
516
525
  /**
517
526
  * Prefer optimized alternatives to `indexOf()` equality checks
518
527
  */
519
528
  'e18e/no-indexof-equality'?: Linter.RuleEntry<[]>;
529
+ /**
530
+ * Disallow spreading the accumulator inside a `reduce` callback (O(N²) growth)
531
+ */
532
+ 'e18e/no-spread-in-reduce'?: Linter.RuleEntry<[]>;
520
533
  /**
521
534
  * Prefer Array.prototype.at() over length-based indexing
522
535
  */
@@ -530,7 +543,7 @@ interface RuleOptions {
530
543
  */
531
544
  'e18e/prefer-array-from-map'?: Linter.RuleEntry<[]>;
532
545
  /**
533
- * Prefer Array.some() over Array.find() when checking for element existence
546
+ * Prefer Array.some() over Array.find() and Array.filter().length checks when checking for element existence
534
547
  */
535
548
  'e18e/prefer-array-some'?: Linter.RuleEntry<[]>;
536
549
  /**
@@ -553,10 +566,22 @@ interface RuleOptions {
553
566
  * Prefer the exponentiation operator ** over Math.pow()
554
567
  */
555
568
  'e18e/prefer-exponentiation-operator'?: Linter.RuleEntry<[]>;
569
+ /**
570
+ * Prefer Array.prototype.flatMap() over .map(fn).flat() to avoid the intermediate array
571
+ */
572
+ 'e18e/prefer-flatmap-over-map-flat'?: Linter.RuleEntry<[]>;
573
+ /**
574
+ * Prefer `Map.prototype.getOrInsert()` over reading an entry with a default and writing it back
575
+ */
576
+ 'e18e/prefer-get-or-insert'?: Linter.RuleEntry<[]>;
556
577
  /**
557
578
  * Prefer .includes() over indexOf() comparisons for arrays and strings
558
579
  */
559
580
  'e18e/prefer-includes'?: Linter.RuleEntry<[]>;
581
+ /**
582
+ * Prefer String.prototype.{includes,startsWith,endsWith} over equivalent regex.test() calls
583
+ */
584
+ 'e18e/prefer-includes-over-regex-test'?: Linter.RuleEntry<[]>;
560
585
  /**
561
586
  * Prefer inline equality checks over temporary object creation for simple comparisons
562
587
  */
@@ -577,10 +602,18 @@ interface RuleOptions {
577
602
  * Prefer spread syntax over Array.concat(), Array.from(), Object.assign({}, ...), and Function.apply()
578
603
  */
579
604
  'e18e/prefer-spread-syntax'?: Linter.RuleEntry<[]>;
605
+ /**
606
+ * Prefer hoisting an `Intl.Collator` instance over calling localeCompare in a sort callback
607
+ */
608
+ 'e18e/prefer-static-collator'?: Linter.RuleEntry<[]>;
580
609
  /**
581
610
  * Prefer defining regular expressions at module scope to avoid re-compilation on every function call
582
611
  */
583
612
  'e18e/prefer-static-regex'?: Linter.RuleEntry<[]>;
613
+ /**
614
+ * Prefer String.fromCharCode() over String.fromCodePoint() for code points below 0x10000
615
+ */
616
+ 'e18e/prefer-string-fromcharcode'?: Linter.RuleEntry<[]>;
584
617
  /**
585
618
  * Prefer passing function and arguments directly to setTimeout/setInterval instead of wrapping in an arrow function or using bind
586
619
  */
@@ -3413,46 +3446,46 @@ interface RuleOptions {
3413
3446
  'react/immutability'?: Linter.RuleEntry<[]>;
3414
3447
  /**
3415
3448
  * Disallows passing 'children' as a prop.
3416
- * @see https://eslint-react.xyz/docs/rules/no-children-prop
3449
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-children-prop
3417
3450
  */
3418
3451
  'react/jsx-no-children-prop'?: Linter.RuleEntry<[]>;
3419
3452
  /**
3420
3453
  * 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
3454
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-children-prop-with-children
3422
3455
  */
3423
3456
  'react/jsx-no-children-prop-with-children'?: Linter.RuleEntry<[]>;
3424
3457
  /**
3425
3458
  * 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
3459
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-comment-textnodes
3427
3460
  */
3428
3461
  'react/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>;
3429
3462
  /**
3430
3463
  * Prevent patterns that cause deoptimization when using the automatic JSX runtime.
3431
- * @see https://eslint-react.xyz/docs/rules/no-key-after-spread
3464
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-key-after-spread
3432
3465
  */
3433
3466
  'react/jsx-no-key-after-spread'?: Linter.RuleEntry<[]>;
3434
3467
  /**
3435
3468
  * 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
3469
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-leaked-dollar
3437
3470
  */
3438
3471
  'react/jsx-no-leaked-dollar'?: Linter.RuleEntry<[]>;
3439
3472
  /**
3440
3473
  * 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
3474
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-leaked-semicolon
3442
3475
  */
3443
3476
  'react/jsx-no-leaked-semicolon'?: Linter.RuleEntry<[]>;
3444
3477
  /**
3445
3478
  * Disallow JSX namespace syntax, as React does not support them.
3446
- * @see https://eslint-react.xyz/docs/rules/no-namespace
3479
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-namespace
3447
3480
  */
3448
3481
  'react/jsx-no-namespace'?: Linter.RuleEntry<[]>;
3449
3482
  /**
3450
3483
  * Disallows useless fragment elements.
3451
- * @see https://eslint-react.xyz/docs/rules/no-useless-fragment
3484
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-useless-fragment
3452
3485
  */
3453
3486
  'react/jsx-no-useless-fragment'?: Linter.RuleEntry<ReactJsxNoUselessFragment>;
3454
3487
  /**
3455
- * Enforces the context name to be a valid component name with the suffix 'Context'.
3488
+ * Enforces identifier names assigned from `createContext` calls to be a valid component name with the suffix `Context`.
3456
3489
  * @see https://eslint-react.xyz/docs/rules/naming-convention-context-name
3457
3490
  */
3458
3491
  'react/naming-convention-context-name'?: Linter.RuleEntry<[]>;
@@ -3532,7 +3565,7 @@ interface RuleOptions {
3532
3565
  */
3533
3566
  'react/no-context-provider'?: Linter.RuleEntry<[]>;
3534
3567
  /**
3535
- * Disallows 'createRef' in function components.
3568
+ * Disallows 'createRef' in function components and Hooks.
3536
3569
  * @see https://eslint-react.xyz/docs/rules/no-create-ref
3537
3570
  */
3538
3571
  'react/no-create-ref'?: Linter.RuleEntry<[]>;
@@ -3657,7 +3690,7 @@ interface RuleOptions {
3657
3690
  */
3658
3691
  'react/no-unused-props'?: Linter.RuleEntry<[]>;
3659
3692
  /**
3660
- * Warns about state variables that are defined but never used, or only used in effects.
3693
+ * Warns about state variables that are defined but never used.
3661
3694
  * @see https://eslint-react.xyz/docs/rules/no-unused-state
3662
3695
  */
3663
3696
  'react/no-unused-state'?: Linter.RuleEntry<[]>;
@@ -3678,7 +3711,7 @@ interface RuleOptions {
3678
3711
  'react/refs'?: Linter.RuleEntry<[]>;
3679
3712
  /**
3680
3713
  * Validates and transforms React Client/Server Function definitions.
3681
- * @see https://eslint-react.xyz/docs/rules/function-definition
3714
+ * @see https://eslint-react.xyz/docs/rules/rsc-function-definition
3682
3715
  */
3683
3716
  'react/rsc-function-definition'?: Linter.RuleEntry<[]>;
3684
3717
  /**
@@ -3726,6 +3759,11 @@ interface RuleOptions {
3726
3759
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-fetch
3727
3760
  */
3728
3761
  'react/web-api-no-leaked-fetch'?: Linter.RuleEntry<[]>;
3762
+ /**
3763
+ * Enforces that every 'IntersectionObserver' created in a component or custom hook has a corresponding 'IntersectionObserver.disconnect()'.
3764
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-intersection-observer
3765
+ */
3766
+ 'react/web-api-no-leaked-intersection-observer'?: Linter.RuleEntry<[]>;
3729
3767
  /**
3730
3768
  * Enforces that every 'setInterval' in a component or custom hook has a corresponding 'clearInterval'.
3731
3769
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval
@@ -3827,7 +3865,7 @@ interface RuleOptions {
3827
3865
  */
3828
3866
  'react/x-no-context-provider'?: Linter.RuleEntry<[]>;
3829
3867
  /**
3830
- * Disallows 'createRef' in function components.
3868
+ * Disallows 'createRef' in function components and Hooks.
3831
3869
  * @see https://eslint-react.xyz/docs/rules/no-create-ref
3832
3870
  */
3833
3871
  'react/x-no-create-ref'?: Linter.RuleEntry<[]>;
@@ -3952,7 +3990,7 @@ interface RuleOptions {
3952
3990
  */
3953
3991
  'react/x-no-unused-props'?: Linter.RuleEntry<[]>;
3954
3992
  /**
3955
- * Warns about state variables that are defined but never used, or only used in effects.
3993
+ * Warns about state variables that are defined but never used.
3956
3994
  * @see https://eslint-react.xyz/docs/rules/no-unused-state
3957
3995
  */
3958
3996
  'react/x-no-unused-state'?: Linter.RuleEntry<[]>;
@@ -4602,32 +4640,37 @@ interface RuleOptions {
4602
4640
  */
4603
4641
  'sonar/assertions-in-tests'?: Linter.RuleEntry<[]>;
4604
4642
  /**
4605
- * Creating public APIs is security-sensitive
4643
+ * Async test assertions should be awaited or returned
4644
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8780/javascript
4645
+ */
4646
+ 'sonar/async-test-assertions'?: Linter.RuleEntry<[]>;
4647
+ /**
4648
+ * AWS API Gateway should require authentication
4606
4649
  * @see https://sonarsource.github.io/rspec/#/rspec/S6333/javascript
4607
4650
  */
4608
4651
  'sonar/aws-apigateway-public-api'?: Linter.RuleEntry<[]>;
4609
4652
  /**
4610
- * Allowing public network access to cloud resources is security-sensitive
4653
+ * Public network access to cloud resources should be disabled
4611
4654
  * @see https://sonarsource.github.io/rspec/#/rspec/S6329/javascript
4612
4655
  */
4613
4656
  'sonar/aws-ec2-rds-dms-public'?: Linter.RuleEntry<[]>;
4614
4657
  /**
4615
- * Using unencrypted EBS volumes is security-sensitive
4658
+ * EBS volumes should be encrypted
4616
4659
  * @see https://sonarsource.github.io/rspec/#/rspec/S6275/javascript
4617
4660
  */
4618
4661
  'sonar/aws-ec2-unencrypted-ebs-volume'?: Linter.RuleEntry<[]>;
4619
4662
  /**
4620
- * Using unencrypted EFS file systems is security-sensitive
4663
+ * Amazon EFS file systems should be encrypted
4621
4664
  * @see https://sonarsource.github.io/rspec/#/rspec/S6332/javascript
4622
4665
  */
4623
4666
  'sonar/aws-efs-unencrypted'?: Linter.RuleEntry<[]>;
4624
4667
  /**
4625
- * Policies granting all privileges are security-sensitive
4668
+ * Policies should not grant all privileges
4626
4669
  * @see https://sonarsource.github.io/rspec/#/rspec/S6302/javascript
4627
4670
  */
4628
4671
  'sonar/aws-iam-all-privileges'?: Linter.RuleEntry<[]>;
4629
4672
  /**
4630
- * Policies granting access to all resources of an account are security-sensitive
4673
+ * IAM policies should not grant access to all account resources
4631
4674
  * @see https://sonarsource.github.io/rspec/#/rspec/S6304/javascript
4632
4675
  */
4633
4676
  'sonar/aws-iam-all-resources-accessible'?: Linter.RuleEntry<[]>;
@@ -4637,17 +4680,17 @@ interface RuleOptions {
4637
4680
  */
4638
4681
  'sonar/aws-iam-privilege-escalation'?: Linter.RuleEntry<[]>;
4639
4682
  /**
4640
- * Policies authorizing public access to resources are security-sensitive
4683
+ * AWS resource-based policies should not grant public access
4641
4684
  * @see https://sonarsource.github.io/rspec/#/rspec/S6270/javascript
4642
4685
  */
4643
4686
  'sonar/aws-iam-public-access'?: Linter.RuleEntry<[]>;
4644
4687
  /**
4645
- * Using unencrypted Opensearch domains is security-sensitive
4688
+ * OpenSearch domains should have encryption at rest enabled
4646
4689
  * @see https://sonarsource.github.io/rspec/#/rspec/S6308/javascript
4647
4690
  */
4648
4691
  'sonar/aws-opensearchservice-domain'?: Linter.RuleEntry<[]>;
4649
4692
  /**
4650
- * Using unencrypted RDS DB resources is security-sensitive
4693
+ * Amazon RDS resources should be encrypted at rest
4651
4694
  * @see https://sonarsource.github.io/rspec/#/rspec/S6303/javascript
4652
4695
  */
4653
4696
  'sonar/aws-rds-unencrypted-databases'?: Linter.RuleEntry<[]>;
@@ -4657,43 +4700,37 @@ interface RuleOptions {
4657
4700
  */
4658
4701
  'sonar/aws-restricted-ip-admin-access'?: Linter.RuleEntry<[]>;
4659
4702
  /**
4660
- * Granting access to S3 buckets to all or authenticated users is security-sensitive
4703
+ * S3 buckets should not grant access to all users or authenticated users
4661
4704
  * @see https://sonarsource.github.io/rspec/#/rspec/S6265/javascript
4662
4705
  */
4663
4706
  'sonar/aws-s3-bucket-granted-access'?: Linter.RuleEntry<[]>;
4664
4707
  /**
4665
- * Authorizing HTTP communications with S3 buckets is security-sensitive
4708
+ * S3 buckets should enforce HTTPS-only access
4666
4709
  * @see https://sonarsource.github.io/rspec/#/rspec/S6249/javascript
4667
4710
  */
4668
4711
  'sonar/aws-s3-bucket-insecure-http'?: Linter.RuleEntry<[]>;
4669
4712
  /**
4670
- * Allowing public ACLs or policies on a S3 bucket is security-sensitive
4713
+ * Amazon S3 bucket public access should be fully blocked
4671
4714
  * @see https://sonarsource.github.io/rspec/#/rspec/S6281/javascript
4672
4715
  */
4673
4716
  'sonar/aws-s3-bucket-public-access'?: Linter.RuleEntry<[]>;
4674
4717
  /**
4675
- * Disabling server-side encryption of S3 buckets is security-sensitive
4676
- * @see https://sonarsource.github.io/rspec/#/rspec/S6245/javascript
4677
- * @deprecated
4678
- */
4679
- 'sonar/aws-s3-bucket-server-encryption'?: Linter.RuleEntry<[]>;
4680
- /**
4681
- * Disabling versioning of S3 buckets is security-sensitive
4718
+ * Amazon S3 buckets should have versioning enabled
4682
4719
  * @see https://sonarsource.github.io/rspec/#/rspec/S6252/javascript
4683
4720
  */
4684
4721
  'sonar/aws-s3-bucket-versioning'?: Linter.RuleEntry<[]>;
4685
4722
  /**
4686
- * Using unencrypted SageMaker notebook instances is security-sensitive
4723
+ * SageMaker notebook instances should be encrypted at rest
4687
4724
  * @see https://sonarsource.github.io/rspec/#/rspec/S6319/javascript
4688
4725
  */
4689
4726
  'sonar/aws-sagemaker-unencrypted-notebook'?: Linter.RuleEntry<[]>;
4690
4727
  /**
4691
- * Using unencrypted SNS topics is security-sensitive
4728
+ * Amazon SNS topics should be encrypted at rest
4692
4729
  * @see https://sonarsource.github.io/rspec/#/rspec/S6327/javascript
4693
4730
  */
4694
4731
  'sonar/aws-sns-unencrypted-topics'?: Linter.RuleEntry<[]>;
4695
4732
  /**
4696
- * Using unencrypted SQS queues is security-sensitive
4733
+ * SQS queues should be encrypted
4697
4734
  * @see https://sonarsource.github.io/rspec/#/rspec/S6330/javascript
4698
4735
  */
4699
4736
  'sonar/aws-sqs-unencrypted-queue'?: Linter.RuleEntry<[]>;
@@ -4717,12 +4754,6 @@ interface RuleOptions {
4717
4754
  * @see https://sonarsource.github.io/rspec/#/rspec/S1472/javascript
4718
4755
  */
4719
4756
  'sonar/call-argument-line'?: Linter.RuleEntry<[]>;
4720
- /**
4721
- * Disabling Certificate Transparency monitoring is security-sensitive
4722
- * @see https://sonarsource.github.io/rspec/#/rspec/S5742/javascript
4723
- * @deprecated
4724
- */
4725
- 'sonar/certificate-transparency'?: Linter.RuleEntry<[]>;
4726
4757
  /**
4727
4758
  * Chai assertions should have only one reason to succeed
4728
4759
  * @see https://sonarsource.github.io/rspec/#/rspec/S6092/javascript
@@ -4739,7 +4770,7 @@ interface RuleOptions {
4739
4770
  */
4740
4771
  'sonar/class-prototype'?: Linter.RuleEntry<[]>;
4741
4772
  /**
4742
- * Dynamically executing code is security-sensitive
4773
+ * Dynamic code execution should not use user-controlled data
4743
4774
  * @see https://sonarsource.github.io/rspec/#/rspec/S1523/javascript
4744
4775
  */
4745
4776
  'sonar/code-eval'?: Linter.RuleEntry<[]>;
@@ -4770,8 +4801,9 @@ interface RuleOptions {
4770
4801
  */
4771
4802
  'sonar/conditional-indentation'?: Linter.RuleEntry<[]>;
4772
4803
  /**
4773
- * Allowing confidential information to be logged is security-sensitive
4804
+ * Confidential information should not be logged
4774
4805
  * @see https://sonarsource.github.io/rspec/#/rspec/S5757/javascript
4806
+ * @deprecated
4775
4807
  */
4776
4808
  'sonar/confidential-information-logging'?: Linter.RuleEntry<[]>;
4777
4809
  /**
@@ -4780,33 +4812,27 @@ interface RuleOptions {
4780
4812
  */
4781
4813
  'sonar/constructor-for-side-effects'?: Linter.RuleEntry<[]>;
4782
4814
  /**
4783
- * Allowing requests with excessive content length is security-sensitive
4815
+ * HTTP request content length should be limited
4784
4816
  * @see https://sonarsource.github.io/rspec/#/rspec/S5693/javascript
4785
4817
  */
4786
4818
  'sonar/content-length'?: Linter.RuleEntry<SonarContentLength>;
4787
4819
  /**
4788
- * Disabling content security policy fetch directives is security-sensitive
4820
+ * Content security policy fetch directives should not be disabled
4789
4821
  * @see https://sonarsource.github.io/rspec/#/rspec/S5728/javascript
4790
4822
  */
4791
4823
  'sonar/content-security-policy'?: Linter.RuleEntry<[]>;
4792
4824
  /**
4793
- * Creating cookies without the "HttpOnly" flag is security-sensitive
4825
+ * Cookies should have the "HttpOnly" flag
4794
4826
  * @see https://sonarsource.github.io/rspec/#/rspec/S3330/javascript
4795
4827
  */
4796
4828
  'sonar/cookie-no-httponly'?: Linter.RuleEntry<[]>;
4797
4829
  /**
4798
- * Writing cookies is security-sensitive
4799
- * @see https://sonarsource.github.io/rspec/#/rspec/S2255/javascript
4800
- * @deprecated
4801
- */
4802
- 'sonar/cookies'?: Linter.RuleEntry<[]>;
4803
- /**
4804
- * Having a permissive Cross-Origin Resource Sharing policy is security-sensitive
4830
+ * Cross-Origin Resource Sharing (CORS) policy should be restricted to trusted origins
4805
4831
  * @see https://sonarsource.github.io/rspec/#/rspec/S5122/javascript
4806
4832
  */
4807
4833
  'sonar/cors'?: Linter.RuleEntry<[]>;
4808
4834
  /**
4809
- * Disabling CSRF protections is security-sensitive
4835
+ * CSRF protections should not be disabled
4810
4836
  * @see https://sonarsource.github.io/rspec/#/rspec/S4502/javascript
4811
4837
  */
4812
4838
  'sonar/csrf'?: Linter.RuleEntry<[]>;
@@ -4836,12 +4862,12 @@ interface RuleOptions {
4836
4862
  */
4837
4863
  'sonar/different-types-comparison'?: Linter.RuleEntry<[]>;
4838
4864
  /**
4839
- * Disabling auto-escaping in template engines is security-sensitive
4865
+ * Auto-escaping in HTML template engines should not be disabled
4840
4866
  * @see https://sonarsource.github.io/rspec/#/rspec/S5247/javascript
4841
4867
  */
4842
4868
  'sonar/disabled-auto-escaping'?: Linter.RuleEntry<[]>;
4843
4869
  /**
4844
- * Using remote artifacts without integrity checks is security-sensitive
4870
+ * Remote artifacts should not be used without integrity checks
4845
4871
  * @see https://sonarsource.github.io/rspec/#/rspec/S5725/javascript
4846
4872
  */
4847
4873
  'sonar/disabled-resource-integrity'?: Linter.RuleEntry<[]>;
@@ -4851,11 +4877,10 @@ interface RuleOptions {
4851
4877
  */
4852
4878
  'sonar/disabled-timeout'?: Linter.RuleEntry<[]>;
4853
4879
  /**
4854
- * Allowing browsers to perform DNS prefetching is security-sensitive
4855
- * @see https://sonarsource.github.io/rspec/#/rspec/S5743/javascript
4856
- * @deprecated
4880
+ * DOMPurify configuration should not be bypassable
4881
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8479/javascript
4857
4882
  */
4858
- 'sonar/dns-prefetching'?: Linter.RuleEntry<[]>;
4883
+ 'sonar/dompurify-unsafe-config'?: Linter.RuleEntry<[]>;
4859
4884
  /**
4860
4885
  * Character classes in regular expressions should not contain the same character twice
4861
4886
  * @see https://sonarsource.github.io/rspec/#/rspec/S5869/javascript
@@ -4876,12 +4901,6 @@ interface RuleOptions {
4876
4901
  * @see https://sonarsource.github.io/rspec/#/rspec/S5842/javascript
4877
4902
  */
4878
4903
  'sonar/empty-string-repetition'?: Linter.RuleEntry<[]>;
4879
- /**
4880
- * Encrypting data is security-sensitive
4881
- * @see https://sonarsource.github.io/rspec/#/rspec/S4787/javascript
4882
- * @deprecated
4883
- */
4884
- 'sonar/encryption'?: Linter.RuleEntry<[]>;
4885
4904
  /**
4886
4905
  * Encryption algorithms should be used with secure mode and padding scheme
4887
4906
  * @see https://sonarsource.github.io/rspec/#/rspec/S5542/javascript
@@ -4933,8 +4952,9 @@ interface RuleOptions {
4933
4952
  */
4934
4953
  'sonar/for-loop-increment-sign'?: Linter.RuleEntry<[]>;
4935
4954
  /**
4936
- * Disabling content security policy frame-ancestors directive is security-sensitive
4955
+ * Content Security Policy frame-ancestors directive should not be disabled
4937
4956
  * @see https://sonarsource.github.io/rspec/#/rspec/S5732/javascript
4957
+ * @deprecated
4938
4958
  */
4939
4959
  'sonar/frame-ancestors'?: Linter.RuleEntry<[]>;
4940
4960
  /**
@@ -4968,15 +4988,21 @@ interface RuleOptions {
4968
4988
  */
4969
4989
  'sonar/hardcoded-secret-signatures'?: Linter.RuleEntry<[]>;
4970
4990
  /**
4971
- * Using weak hashing algorithms is security-sensitive
4991
+ * Weak hashing algorithms should not be used
4972
4992
  * @see https://sonarsource.github.io/rspec/#/rspec/S4790/javascript
4973
4993
  */
4974
4994
  'sonar/hashing'?: Linter.RuleEntry<[]>;
4975
4995
  /**
4976
- * Statically serving hidden files is security-sensitive
4996
+ * Hidden files should not be served statically
4977
4997
  * @see https://sonarsource.github.io/rspec/#/rspec/S5691/javascript
4998
+ * @deprecated
4978
4999
  */
4979
5000
  'sonar/hidden-files'?: Linter.RuleEntry<[]>;
5001
+ /**
5002
+ * Lifecycle hooks should not be interleaved with test cases or nested suites
5003
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8782/javascript
5004
+ */
5005
+ 'sonar/hooks-before-test-cases'?: Linter.RuleEntry<[]>;
4980
5006
  /**
4981
5007
  * "in" should not be used with primitive types
4982
5008
  * @see https://sonarsource.github.io/rspec/#/rspec/S3785/javascript
@@ -4993,7 +5019,7 @@ interface RuleOptions {
4993
5019
  */
4994
5020
  'sonar/index-of-compare-to-positive-number'?: Linter.RuleEntry<[]>;
4995
5021
  /**
4996
- * Creating cookies without the "secure" flag is security-sensitive
5022
+ * Cookies should have the "secure" flag
4997
5023
  * @see https://sonarsource.github.io/rspec/#/rspec/S2092/javascript
4998
5024
  */
4999
5025
  'sonar/insecure-cookie'?: Linter.RuleEntry<[]>;
@@ -5018,7 +5044,7 @@ interface RuleOptions {
5018
5044
  */
5019
5045
  'sonar/label-position'?: Linter.RuleEntry<[]>;
5020
5046
  /**
5021
- * Authorizing an opened window to access back to the originating window is security-sensitive
5047
+ * Opened windows should not have access to the originating page
5022
5048
  * @see https://sonarsource.github.io/rspec/#/rspec/S5148/javascript
5023
5049
  */
5024
5050
  'sonar/link-with-target-blank'?: Linter.RuleEntry<[]>;
@@ -5068,7 +5094,7 @@ interface RuleOptions {
5068
5094
  */
5069
5095
  'sonar/no-alphabetical-sort'?: Linter.RuleEntry<[]>;
5070
5096
  /**
5071
- * Disabling Angular built-in sanitization is security-sensitive
5097
+ * Angular built-in sanitization should not be disabled
5072
5098
  * @see https://sonarsource.github.io/rspec/#/rspec/S6268/javascript
5073
5099
  */
5074
5100
  'sonar/no-angular-bypass-sanitization'?: Linter.RuleEntry<[]>;
@@ -5098,7 +5124,7 @@ interface RuleOptions {
5098
5124
  */
5099
5125
  'sonar/no-case-label-in-switch'?: Linter.RuleEntry<[]>;
5100
5126
  /**
5101
- * Using clear-text protocols is security-sensitive
5127
+ * Clear-text protocols should not be used
5102
5128
  * @see https://sonarsource.github.io/rspec/#/rspec/S5332/javascript
5103
5129
  */
5104
5130
  'sonar/no-clear-text-protocols'?: Linter.RuleEntry<[]>;
@@ -5147,6 +5173,11 @@ interface RuleOptions {
5147
5173
  * @see https://sonarsource.github.io/rspec/#/rspec/S1192/javascript
5148
5174
  */
5149
5175
  'sonar/no-duplicate-string'?: Linter.RuleEntry<SonarNoDuplicateString>;
5176
+ /**
5177
+ * Test titles should be unique within the same suite
5178
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8754/javascript
5179
+ */
5180
+ 'sonar/no-duplicate-test-title'?: Linter.RuleEntry<[]>;
5150
5181
  /**
5151
5182
  * Two branches in a conditional structure should not have exactly the same implementation
5152
5183
  * @see https://sonarsource.github.io/rspec/#/rspec/S1871/javascript
@@ -5187,6 +5218,11 @@ interface RuleOptions {
5187
5218
  * @see https://sonarsource.github.io/rspec/#/rspec/S2187/javascript
5188
5219
  */
5189
5220
  'sonar/no-empty-test-file'?: Linter.RuleEntry<[]>;
5221
+ /**
5222
+ * Test and suite titles should not be empty or whitespace-only
5223
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8781/javascript
5224
+ */
5225
+ 'sonar/no-empty-test-title'?: Linter.RuleEntry<[]>;
5190
5226
  /**
5191
5227
  * Equality operators should not be used in "for" loop termination conditions
5192
5228
  * @see https://sonarsource.github.io/rspec/#/rspec/S888/javascript
@@ -5207,11 +5243,21 @@ interface RuleOptions {
5207
5243
  * @see https://sonarsource.github.io/rspec/#/rspec/S128/javascript
5208
5244
  */
5209
5245
  'sonar/no-fallthrough'?: Linter.RuleEntry<[]>;
5246
+ /**
5247
+ * Floating point numbers should not be tested for equality
5248
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1244/javascript
5249
+ */
5250
+ 'sonar/no-floating-point-equality'?: Linter.RuleEntry<[]>;
5210
5251
  /**
5211
5252
  * "for in" should not be used with iterables
5212
5253
  * @see https://sonarsource.github.io/rspec/#/rspec/S4139/javascript
5213
5254
  */
5214
5255
  'sonar/no-for-in-iterable'?: Linter.RuleEntry<[]>;
5256
+ /**
5257
+ * Forced browser interactions should not bypass actionability checks
5258
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8783/javascript
5259
+ */
5260
+ 'sonar/no-forced-browser-interaction'?: Linter.RuleEntry<[]>;
5215
5261
  /**
5216
5262
  * Function declarations should not be made within blocks
5217
5263
  * @see https://sonarsource.github.io/rspec/#/rspec/S1530/javascript
@@ -5233,7 +5279,7 @@ interface RuleOptions {
5233
5279
  */
5234
5280
  'sonar/no-gratuitous-expressions'?: Linter.RuleEntry<[]>;
5235
5281
  /**
5236
- * Using hardcoded IP addresses is security-sensitive
5282
+ * IP addresses should not be hardcoded
5237
5283
  * @see https://sonarsource.github.io/rspec/#/rspec/S1313/javascript
5238
5284
  */
5239
5285
  'sonar/no-hardcoded-ip'?: Linter.RuleEntry<[]>;
@@ -5292,6 +5338,11 @@ interface RuleOptions {
5292
5338
  * @see https://sonarsource.github.io/rspec/#/rspec/S4619/javascript
5293
5339
  */
5294
5340
  'sonar/no-in-misuse'?: Linter.RuleEntry<[]>;
5341
+ /**
5342
+ * Assertions comparing incompatible types should not be made
5343
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5845/javascript
5344
+ */
5345
+ 'sonar/no-incompatible-assertion-types'?: Linter.RuleEntry<[]>;
5295
5346
  /**
5296
5347
  * Assertions should be complete
5297
5348
  * @see https://sonarsource.github.io/rspec/#/rspec/S2970/javascript
@@ -5313,8 +5364,9 @@ interface RuleOptions {
5313
5364
  */
5314
5365
  'sonar/no-internal-api-use'?: Linter.RuleEntry<[]>;
5315
5366
  /**
5316
- * Using intrusive permissions is security-sensitive
5367
+ * Sensitive permissions should not be requested unnecessarily
5317
5368
  * @see https://sonarsource.github.io/rspec/#/rspec/S5604/javascript
5369
+ * @deprecated
5318
5370
  */
5319
5371
  'sonar/no-intrusive-permissions'?: Linter.RuleEntry<SonarNoIntrusivePermissions>;
5320
5372
  /**
@@ -5333,8 +5385,9 @@ interface RuleOptions {
5333
5385
  */
5334
5386
  'sonar/no-inverted-boolean-check'?: Linter.RuleEntry<[]>;
5335
5387
  /**
5336
- * Forwarding client IP address is security-sensitive
5388
+ * Client IP address should not be forwarded to proxies
5337
5389
  * @see https://sonarsource.github.io/rspec/#/rspec/S5759/javascript
5390
+ * @deprecated
5338
5391
  */
5339
5392
  'sonar/no-ip-forward'?: Linter.RuleEntry<[]>;
5340
5393
  /**
@@ -5348,7 +5401,7 @@ interface RuleOptions {
5348
5401
  */
5349
5402
  'sonar/no-literal-call'?: Linter.RuleEntry<[]>;
5350
5403
  /**
5351
- * Allowing browsers to sniff MIME types is security-sensitive
5404
+ * Browsers should not be allowed to perform MIME type sniffing
5352
5405
  * @see https://sonarsource.github.io/rspec/#/rspec/S5734/javascript
5353
5406
  */
5354
5407
  'sonar/no-mime-sniff'?: Linter.RuleEntry<[]>;
@@ -5363,8 +5416,9 @@ interface RuleOptions {
5363
5416
  */
5364
5417
  'sonar/no-misleading-character-class'?: Linter.RuleEntry<[]>;
5365
5418
  /**
5366
- * Allowing mixed-content is security-sensitive
5419
+ * Content Security Policy should block mixed-content
5367
5420
  * @see https://sonarsource.github.io/rspec/#/rspec/S5730/javascript
5421
+ * @deprecated
5368
5422
  */
5369
5423
  'sonar/no-mixed-content'?: Linter.RuleEntry<[]>;
5370
5424
  /**
@@ -5398,7 +5452,7 @@ interface RuleOptions {
5398
5452
  */
5399
5453
  'sonar/no-nested-template-literals'?: Linter.RuleEntry<[]>;
5400
5454
  /**
5401
- * Searching OS commands in PATH is security-sensitive
5455
+ * OS commands should not rely on PATH resolution
5402
5456
  * @see https://sonarsource.github.io/rspec/#/rspec/S4036/javascript
5403
5457
  */
5404
5458
  'sonar/no-os-command-from-path'?: Linter.RuleEntry<[]>;
@@ -5444,7 +5498,7 @@ interface RuleOptions {
5444
5498
  */
5445
5499
  'sonar/no-reference-error'?: Linter.RuleEntry<[]>;
5446
5500
  /**
5447
- * Disabling strict HTTP no-referrer policy is security-sensitive
5501
+ * HTTP Referrer-Policy should not be set to an unsafe value
5448
5502
  * @see https://sonarsource.github.io/rspec/#/rspec/S5736/javascript
5449
5503
  */
5450
5504
  'sonar/no-referrer-policy'?: Linter.RuleEntry<[]>;
@@ -5509,6 +5563,11 @@ interface RuleOptions {
5509
5563
  * @see https://sonarsource.github.io/rspec/#/rspec/S5257/javascript
5510
5564
  */
5511
5565
  'sonar/no-table-as-layout'?: Linter.RuleEntry<[]>;
5566
+ /**
5567
+ * Assertions should not fail or succeed unconditionally
5568
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5914/javascript
5569
+ */
5570
+ 'sonar/no-trivial-assertions'?: Linter.RuleEntry<[]>;
5512
5571
  /**
5513
5572
  * Promise rejections should not be caught by "try" blocks
5514
5573
  * @see https://sonarsource.github.io/rspec/#/rspec/S4822/javascript
@@ -5535,8 +5594,9 @@ interface RuleOptions {
5535
5594
  */
5536
5595
  'sonar/no-uniq-key'?: Linter.RuleEntry<[]>;
5537
5596
  /**
5538
- * Expanding archive files without controlling resource consumption is security-sensitive
5597
+ * Expanding archive files should not be done without controlling resource consumption
5539
5598
  * @see https://sonarsource.github.io/rspec/#/rspec/S5042/javascript
5599
+ * @deprecated
5540
5600
  */
5541
5601
  'sonar/no-unsafe-unzip'?: Linter.RuleEntry<[]>;
5542
5602
  /**
@@ -5589,12 +5649,6 @@ interface RuleOptions {
5589
5649
  * @see https://sonarsource.github.io/rspec/#/rspec/S1526/javascript
5590
5650
  */
5591
5651
  'sonar/no-variable-usage-before-declaration'?: Linter.RuleEntry<[]>;
5592
- /**
5593
- * Disabling Vue.js built-in escaping is security-sensitive
5594
- * @see https://sonarsource.github.io/rspec/#/rspec/S6299/javascript
5595
- * @deprecated
5596
- */
5597
- 'sonar/no-vue-bypass-sanitization'?: Linter.RuleEntry<[]>;
5598
5652
  /**
5599
5653
  * Cipher algorithms should be robust
5600
5654
  * @see https://sonarsource.github.io/rspec/#/rspec/S5547/javascript
@@ -5636,8 +5690,9 @@ interface RuleOptions {
5636
5690
  */
5637
5691
  'sonar/operation-returning-nan'?: Linter.RuleEntry<[]>;
5638
5692
  /**
5639
- * Using shell interpreter when executing OS commands is security-sensitive
5693
+ * OS commands should not be executed using a shell interpreter
5640
5694
  * @see https://sonarsource.github.io/rspec/#/rspec/S4721/javascript
5695
+ * @deprecated
5641
5696
  */
5642
5697
  'sonar/os-command'?: Linter.RuleEntry<[]>;
5643
5698
  /**
@@ -5680,6 +5735,11 @@ interface RuleOptions {
5680
5735
  * @see https://sonarsource.github.io/rspec/#/rspec/S1126/javascript
5681
5736
  */
5682
5737
  'sonar/prefer-single-boolean-return'?: Linter.RuleEntry<[]>;
5738
+ /**
5739
+ * The most specific assertion should be used
5740
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5906/javascript
5741
+ */
5742
+ 'sonar/prefer-specific-assertions'?: Linter.RuleEntry<[]>;
5683
5743
  /**
5684
5744
  * Type predicates should be used
5685
5745
  * @see https://sonarsource.github.io/rspec/#/rspec/S4322/javascript
@@ -5691,18 +5751,12 @@ interface RuleOptions {
5691
5751
  */
5692
5752
  'sonar/prefer-while'?: Linter.RuleEntry<[]>;
5693
5753
  /**
5694
- * Using command line arguments is security-sensitive
5695
- * @see https://sonarsource.github.io/rspec/#/rspec/S4823/javascript
5696
- * @deprecated
5697
- */
5698
- 'sonar/process-argv'?: Linter.RuleEntry<[]>;
5699
- /**
5700
- * Delivering code in production with debug features activated is security-sensitive
5754
+ * Debugging features should not be enabled in production
5701
5755
  * @see https://sonarsource.github.io/rspec/#/rspec/S4507/javascript
5702
5756
  */
5703
5757
  'sonar/production-debug'?: Linter.RuleEntry<[]>;
5704
5758
  /**
5705
- * Using pseudorandom number generators (PRNGs) is security-sensitive
5759
+ * Pseudorandom number generators (PRNGs) should not be used in security contexts
5706
5760
  * @see https://sonarsource.github.io/rspec/#/rspec/S2245/javascript
5707
5761
  */
5708
5762
  'sonar/pseudo-random'?: Linter.RuleEntry<[]>;
@@ -5712,7 +5766,7 @@ interface RuleOptions {
5712
5766
  */
5713
5767
  'sonar/public-static-readonly'?: Linter.RuleEntry<[]>;
5714
5768
  /**
5715
- * Using publicly writable directories is security-sensitive
5769
+ * Temporary files should not be created in publicly writable directories
5716
5770
  * @see https://sonarsource.github.io/rspec/#/rspec/S5443/javascript
5717
5771
  */
5718
5772
  'sonar/publicly-writable-directories'?: Linter.RuleEntry<[]>;
@@ -5731,12 +5785,6 @@ interface RuleOptions {
5731
5785
  * @see https://sonarsource.github.io/rspec/#/rspec/S5843/javascript
5732
5786
  */
5733
5787
  'sonar/regex-complexity'?: Linter.RuleEntry<SonarRegexComplexity>;
5734
- /**
5735
- * Using regular expressions is security-sensitive
5736
- * @see https://sonarsource.github.io/rspec/#/rspec/S4784/javascript
5737
- * @deprecated
5738
- */
5739
- 'sonar/regular-expr'?: Linter.RuleEntry<[]>;
5740
5788
  /**
5741
5789
  * Wallet phrases should not be hard-coded
5742
5790
  * @see https://sonarsource.github.io/rspec/#/rspec/S7639/javascript
@@ -5763,18 +5811,12 @@ interface RuleOptions {
5763
5811
  */
5764
5812
  'sonar/single-character-alternation'?: Linter.RuleEntry<[]>;
5765
5813
  /**
5766
- * Using slow regular expressions is security-sensitive
5814
+ * Regular expressions should not cause catastrophic backtracking
5767
5815
  * @see https://sonarsource.github.io/rspec/#/rspec/S5852/javascript
5768
5816
  */
5769
5817
  'sonar/slow-regex'?: Linter.RuleEntry<[]>;
5770
5818
  /**
5771
- * Using Sockets is security-sensitive
5772
- * @see https://sonarsource.github.io/rspec/#/rspec/S4818/javascript
5773
- * @deprecated
5774
- */
5775
- 'sonar/sockets'?: Linter.RuleEntry<[]>;
5776
- /**
5777
- * Formatting SQL queries is security-sensitive
5819
+ * SQL queries should not be dynamically formatted
5778
5820
  * @see https://sonarsource.github.io/rspec/#/rspec/S2077/javascript
5779
5821
  */
5780
5822
  'sonar/sql-queries'?: Linter.RuleEntry<[]>;
@@ -5783,19 +5825,13 @@ interface RuleOptions {
5783
5825
  * @see https://sonarsource.github.io/rspec/#/rspec/S5973/javascript
5784
5826
  */
5785
5827
  'sonar/stable-tests'?: Linter.RuleEntry<[]>;
5786
- /**
5787
- * Reading the Standard Input is security-sensitive
5788
- * @see https://sonarsource.github.io/rspec/#/rspec/S4829/javascript
5789
- * @deprecated
5790
- */
5791
- 'sonar/standard-input'?: Linter.RuleEntry<[]>;
5792
5828
  /**
5793
5829
  * Regular expressions with the global flag should be used with caution
5794
5830
  * @see https://sonarsource.github.io/rspec/#/rspec/S6351/javascript
5795
5831
  */
5796
5832
  'sonar/stateful-regex'?: Linter.RuleEntry<[]>;
5797
5833
  /**
5798
- * Disabling Strict-Transport-Security policy is security-sensitive
5834
+ * HTTP Strict-Transport-Security policy should not be disabled
5799
5835
  * @see https://sonarsource.github.io/rspec/#/rspec/S5739/javascript
5800
5836
  */
5801
5837
  'sonar/strict-transport-security'?: Linter.RuleEntry<[]>;
@@ -5804,6 +5840,11 @@ interface RuleOptions {
5804
5840
  * @see https://sonarsource.github.io/rspec/#/rspec/S3003/javascript
5805
5841
  */
5806
5842
  'sonar/strings-comparison'?: Linter.RuleEntry<[]>;
5843
+ /**
5844
+ * Regular expressions should not cause non-linear backtracking
5845
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8786/javascript
5846
+ */
5847
+ 'sonar/super-linear-regex'?: Linter.RuleEntry<[]>;
5807
5848
  /**
5808
5849
  * Tables should have headers
5809
5850
  * @see https://sonarsource.github.io/rspec/#/rspec/S5256/javascript
@@ -5902,7 +5943,7 @@ interface RuleOptions {
5902
5943
  */
5903
5944
  'sonar/web-sql-database'?: Linter.RuleEntry<[]>;
5904
5945
  /**
5905
- * Disclosing fingerprints from web application technologies is security-sensitive
5946
+ * Web application technologies should not disclose version information
5906
5947
  * @see https://sonarsource.github.io/rspec/#/rspec/S5689/javascript
5907
5948
  */
5908
5949
  'sonar/x-powered-by'?: Linter.RuleEntry<[]>;
@@ -5911,12 +5952,6 @@ interface RuleOptions {
5911
5952
  * @see https://sonarsource.github.io/rspec/#/rspec/S2755/javascript
5912
5953
  */
5913
5954
  'sonar/xml-parser-xxe'?: Linter.RuleEntry<[]>;
5914
- /**
5915
- * Executing XPath expressions is security-sensitive
5916
- * @see https://sonarsource.github.io/rspec/#/rspec/S4817/javascript
5917
- * @deprecated
5918
- */
5919
- 'sonar/xpath'?: Linter.RuleEntry<[]>;
5920
5955
  /**
5921
5956
  * Enforce sorted `import` declarations within modules
5922
5957
  * @see https://eslint.org/docs/latest/rules/sort-imports
@@ -6650,6 +6685,11 @@ interface RuleOptions {
6650
6685
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-navigation-without-resolve/
6651
6686
  */
6652
6687
  'svelte/no-navigation-without-resolve'?: Linter.RuleEntry<SvelteNoNavigationWithoutResolve>;
6688
+ /**
6689
+ * disallow `<style>` elements nested inside other elements or blocks
6690
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-nested-style-tag/
6691
+ */
6692
+ 'svelte/no-nested-style-tag'?: Linter.RuleEntry<[]>;
6653
6693
  /**
6654
6694
  * disallow use of not function in event handler
6655
6695
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-not-function-handler/
@@ -6765,6 +6805,11 @@ interface RuleOptions {
6765
6805
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-const/
6766
6806
  */
6767
6807
  'svelte/prefer-const'?: Linter.RuleEntry<SveltePreferConst>;
6808
+ /**
6809
+ * disallow unnecessary `$derived.by()` when `$derived()` is sufficient
6810
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-derived-over-derived-by/
6811
+ */
6812
+ 'svelte/prefer-derived-over-derived-by'?: Linter.RuleEntry<[]>;
6768
6813
  /**
6769
6814
  * destructure values from object stores for better change tracking & fewer redraws
6770
6815
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-destructured-store-props/
@@ -8108,753 +8153,1623 @@ interface RuleOptions {
8108
8153
  */
8109
8154
  'unicode-bom'?: Linter.RuleEntry<UnicodeBom>;
8110
8155
  /**
8111
- * Improve regexes by making them shorter, consistent, and safer.
8112
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/better-regex.md
8156
+ * Prefer better DOM traversal APIs.
8157
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/better-dom-traversing.md
8158
+ */
8159
+ 'unicorn/better-dom-traversing'?: Linter.RuleEntry<[]>;
8160
+ /**
8161
+ * Removed. Prefer `eslint-plugin-regexp`
8162
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/deleted-and-deprecated-rules.md#better-regex
8163
+ * @deprecated
8113
8164
  */
8114
- 'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>;
8165
+ 'unicorn/better-regex'?: Linter.RuleEntry<[]>;
8115
8166
  /**
8116
8167
  * Enforce a specific parameter name in catch clauses.
8117
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/catch-error-name.md
8168
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/catch-error-name.md
8118
8169
  */
8119
8170
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>;
8171
+ /**
8172
+ * Enforce consistent class references in static methods.
8173
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/class-reference-in-static-methods.md
8174
+ */
8175
+ 'unicorn/class-reference-in-static-methods'?: Linter.RuleEntry<UnicornClassReferenceInStaticMethods>;
8176
+ /**
8177
+ * Enforce better comment content.
8178
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/comment-content.md
8179
+ */
8180
+ 'unicorn/comment-content'?: Linter.RuleEntry<UnicornCommentContent>;
8120
8181
  /**
8121
8182
  * Enforce consistent assertion style with `node:assert`.
8122
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-assert.md
8183
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-assert.md
8123
8184
  */
8124
8185
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>;
8186
+ /**
8187
+ * Enforce consistent naming for boolean names.
8188
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-boolean-name.md
8189
+ */
8190
+ 'unicorn/consistent-boolean-name'?: Linter.RuleEntry<UnicornConsistentBooleanName>;
8191
+ /**
8192
+ * Enforce consistent class member order.
8193
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-class-member-order.md
8194
+ */
8195
+ 'unicorn/consistent-class-member-order'?: Linter.RuleEntry<UnicornConsistentClassMemberOrder>;
8196
+ /**
8197
+ * Enforce consistent spelling of compound words in identifiers.
8198
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-compound-words.md
8199
+ */
8200
+ 'unicorn/consistent-compound-words'?: Linter.RuleEntry<UnicornConsistentCompoundWords>;
8201
+ /**
8202
+ * Enforce consistent conditional object spread style.
8203
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-conditional-object-spread.md
8204
+ */
8205
+ 'unicorn/consistent-conditional-object-spread'?: Linter.RuleEntry<UnicornConsistentConditionalObjectSpread>;
8125
8206
  /**
8126
8207
  * Prefer passing `Date` directly to the constructor when cloning.
8127
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-date-clone.md
8208
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-date-clone.md
8128
8209
  */
8129
8210
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>;
8130
8211
  /**
8131
8212
  * Use destructured variables over properties.
8132
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-destructuring.md
8213
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-destructuring.md
8133
8214
  */
8134
8215
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>;
8135
8216
  /**
8136
8217
  * Prefer consistent types when spreading a ternary in an array literal.
8137
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-empty-array-spread.md
8218
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-empty-array-spread.md
8138
8219
  */
8139
8220
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>;
8140
8221
  /**
8141
8222
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
8142
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-existence-index-check.md
8223
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-existence-index-check.md
8143
8224
  */
8144
8225
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>;
8226
+ /**
8227
+ * Enforce consistent decorator position on exported classes.
8228
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-export-decorator-position.md
8229
+ */
8230
+ 'unicorn/consistent-export-decorator-position'?: Linter.RuleEntry<UnicornConsistentExportDecoratorPosition>;
8145
8231
  /**
8146
8232
  * Move function definitions to the highest possible scope.
8147
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-function-scoping.md
8233
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-function-scoping.md
8148
8234
  */
8149
8235
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>;
8236
+ /**
8237
+ * Enforce function syntax by role.
8238
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-function-style.md
8239
+ */
8240
+ 'unicorn/consistent-function-style'?: Linter.RuleEntry<UnicornConsistentFunctionStyle>;
8241
+ /**
8242
+ * Enforce consistent JSON file reads before `JSON.parse()`.
8243
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-json-file-read.md
8244
+ */
8245
+ 'unicorn/consistent-json-file-read'?: Linter.RuleEntry<UnicornConsistentJsonFileRead>;
8246
+ /**
8247
+ * Enforce consistent optional chaining for same-base member access.
8248
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-optional-chaining.md
8249
+ */
8250
+ 'unicorn/consistent-optional-chaining'?: Linter.RuleEntry<[]>;
8150
8251
  /**
8151
8252
  * Enforce consistent style for escaping `${` in template literals.
8152
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-template-literal-escape.md
8253
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-template-literal-escape.md
8153
8254
  */
8154
8255
  'unicorn/consistent-template-literal-escape'?: Linter.RuleEntry<[]>;
8256
+ /**
8257
+ * Enforce consistent labels on tuple type elements.
8258
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-tuple-labels.md
8259
+ */
8260
+ 'unicorn/consistent-tuple-labels'?: Linter.RuleEntry<[]>;
8155
8261
  /**
8156
8262
  * Enforce correct `Error` subclassing.
8157
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/custom-error-definition.md
8263
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/custom-error-definition.md
8158
8264
  */
8159
8265
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>;
8266
+ /**
8267
+ * Enforce consistent default export declarations.
8268
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/default-export-style.md
8269
+ */
8270
+ 'unicorn/default-export-style'?: Linter.RuleEntry<UnicornDefaultExportStyle>;
8271
+ /**
8272
+ * Enforce consistent style for DOM element dataset access.
8273
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/dom-node-dataset.md
8274
+ */
8275
+ 'unicorn/dom-node-dataset'?: Linter.RuleEntry<UnicornDomNodeDataset>;
8160
8276
  /**
8161
8277
  * Enforce no spaces between braces.
8162
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/empty-brace-spaces.md
8278
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/empty-brace-spaces.md
8163
8279
  */
8164
8280
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>;
8165
8281
  /**
8166
8282
  * Enforce passing a `message` value when creating a built-in error.
8167
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/error-message.md
8283
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/error-message.md
8168
8284
  */
8169
8285
  'unicorn/error-message'?: Linter.RuleEntry<[]>;
8170
8286
  /**
8171
8287
  * Require escape sequences to use uppercase or lowercase values.
8172
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/escape-case.md
8288
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/escape-case.md
8173
8289
  */
8174
8290
  'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>;
8175
8291
  /**
8176
8292
  * Add expiration conditions to TODO comments.
8177
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/expiring-todo-comments.md
8293
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/expiring-todo-comments.md
8178
8294
  */
8179
8295
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>;
8180
8296
  /**
8181
8297
  * Enforce explicitly comparing the `length` or `size` property of a value.
8182
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/explicit-length-check.md
8298
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/explicit-length-check.md
8183
8299
  */
8184
8300
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>;
8185
8301
  /**
8186
- * Enforce a case style for filenames.
8187
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/filename-case.md
8302
+ * Enforce or disallow explicit `delay` argument for `setTimeout()` and `setInterval()`.
8303
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/explicit-timer-delay.md
8304
+ */
8305
+ 'unicorn/explicit-timer-delay'?: Linter.RuleEntry<UnicornExplicitTimerDelay>;
8306
+ /**
8307
+ * Enforce a case style for filenames and directory names.
8308
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/filename-case.md
8188
8309
  */
8189
8310
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>;
8311
+ /**
8312
+ * Require identifiers to match a specified regular expression.
8313
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/id-match.md
8314
+ */
8315
+ 'unicorn/id-match'?: Linter.RuleEntry<UnicornIdMatch>;
8190
8316
  /**
8191
8317
  * Enforce specific import styles per module.
8192
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/import-style.md
8318
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/import-style.md
8193
8319
  */
8194
8320
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>;
8195
8321
  /**
8196
8322
  * Prevent usage of variables from outside the scope of isolated functions.
8197
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/isolated-functions.md
8323
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/isolated-functions.md
8198
8324
  */
8199
8325
  'unicorn/isolated-functions'?: Linter.RuleEntry<UnicornIsolatedFunctions>;
8200
8326
  /**
8201
- * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
8202
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/new-for-builtins.md
8327
+ * Require or disallow logical assignment operator shorthand
8328
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/logical-assignment-operators.md
8329
+ */
8330
+ 'unicorn/logical-assignment-operators'?: Linter.RuleEntry<UnicornLogicalAssignmentOperators>;
8331
+ /**
8332
+ * Limit the depth of nested calls.
8333
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/max-nested-calls.md
8334
+ */
8335
+ 'unicorn/max-nested-calls'?: Linter.RuleEntry<UnicornMaxNestedCalls>;
8336
+ /**
8337
+ * Enforce replacements for variable, property, and filenames.
8338
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/name-replacements.md
8339
+ */
8340
+ 'unicorn/name-replacements'?: Linter.RuleEntry<UnicornNameReplacements>;
8341
+ /**
8342
+ * Enforce correct use of `new` for builtin constructors.
8343
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/new-for-builtins.md
8203
8344
  */
8204
8345
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>;
8205
8346
  /**
8206
8347
  * Enforce specifying rules to disable in `eslint-disable` comments.
8207
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-abusive-eslint-disable.md
8348
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-abusive-eslint-disable.md
8208
8349
  */
8209
8350
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>;
8210
8351
  /**
8211
8352
  * Disallow recursive access to `this` within getters and setters.
8212
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-accessor-recursion.md
8353
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-accessor-recursion.md
8213
8354
  */
8214
8355
  'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>;
8356
+ /**
8357
+ * Disallow bitwise operators where a logical operator was likely intended.
8358
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-accidental-bitwise-operator.md
8359
+ */
8360
+ 'unicorn/no-accidental-bitwise-operator'?: Linter.RuleEntry<[]>;
8215
8361
  /**
8216
8362
  * Disallow anonymous functions and classes as the default export.
8217
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-anonymous-default-export.md
8363
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-anonymous-default-export.md
8218
8364
  */
8219
8365
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>;
8220
8366
  /**
8221
8367
  * Prevent passing a function reference directly to iterator methods.
8222
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-callback-reference.md
8368
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-array-callback-reference.md
8223
8369
  */
8224
- 'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>;
8370
+ 'unicorn/no-array-callback-reference'?: Linter.RuleEntry<UnicornNoArrayCallbackReference>;
8225
8371
  /**
8226
- * Prefer `for…of` over the `forEach` method.
8227
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-for-each.md
8372
+ * Disallow array accumulation with `Array#concat()` in loops.
8373
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-array-concat-in-loop.md
8374
+ */
8375
+ 'unicorn/no-array-concat-in-loop'?: Linter.RuleEntry<[]>;
8376
+ /**
8377
+ * Disallow using reference values as `Array#fill()` values.
8378
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-array-fill-with-reference-type.md
8228
8379
  */
8229
- 'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>;
8380
+ 'unicorn/no-array-fill-with-reference-type'?: Linter.RuleEntry<[]>;
8381
+ /**
8382
+ * Disallow `.fill()` after `Array.from({length: …})`.
8383
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-array-from-fill.md
8384
+ */
8385
+ 'unicorn/no-array-from-fill'?: Linter.RuleEntry<[]>;
8386
+ /**
8387
+ * Disallow front-of-array mutation.
8388
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-array-front-mutation.md
8389
+ */
8390
+ 'unicorn/no-array-front-mutation'?: Linter.RuleEntry<[]>;
8230
8391
  /**
8231
8392
  * Disallow using the `this` argument in array methods.
8232
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-method-this-argument.md
8393
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-array-method-this-argument.md
8233
8394
  */
8234
8395
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>;
8235
8396
  /**
8236
8397
  * Replaced by `unicorn/prefer-single-call` which covers more cases.
8237
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-array-push-push
8398
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/deleted-and-deprecated-rules.md#no-array-push-push
8238
8399
  * @deprecated
8239
8400
  */
8240
8401
  'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>;
8241
8402
  /**
8242
8403
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
8243
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-reduce.md
8404
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-array-reduce.md
8244
8405
  */
8245
8406
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>;
8246
8407
  /**
8247
8408
  * Prefer `Array#toReversed()` over `Array#reverse()`.
8248
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-reverse.md
8409
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-array-reverse.md
8249
8410
  */
8250
8411
  'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>;
8251
8412
  /**
8252
8413
  * Prefer `Array#toSorted()` over `Array#sort()`.
8253
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-sort.md
8414
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-array-sort.md
8254
8415
  */
8255
8416
  'unicorn/no-array-sort'?: Linter.RuleEntry<UnicornNoArraySort>;
8417
+ /**
8418
+ * Disallow sorting arrays to get the minimum or maximum value.
8419
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-array-sort-for-min-max.md
8420
+ */
8421
+ 'unicorn/no-array-sort-for-min-max'?: Linter.RuleEntry<[]>;
8422
+ /**
8423
+ * Prefer `Array#toSpliced()` over `Array#splice()`.
8424
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-array-splice.md
8425
+ */
8426
+ 'unicorn/no-array-splice'?: Linter.RuleEntry<[]>;
8427
+ /**
8428
+ * Disallow asterisk prefixes in documentation comments.
8429
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-asterisk-prefix-in-documentation-comments.md
8430
+ */
8431
+ 'unicorn/no-asterisk-prefix-in-documentation-comments'?: Linter.RuleEntry<[]>;
8256
8432
  /**
8257
8433
  * Disallow member access from await expression.
8258
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-await-expression-member.md
8434
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-await-expression-member.md
8259
8435
  */
8260
8436
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>;
8261
8437
  /**
8262
8438
  * Disallow using `await` in `Promise` method parameters.
8263
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-await-in-promise-methods.md
8439
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-await-in-promise-methods.md
8264
8440
  */
8265
8441
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>;
8442
+ /**
8443
+ * Disallow unnecessary `Blob` to `File` conversion.
8444
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-blob-to-file.md
8445
+ */
8446
+ 'unicorn/no-blob-to-file'?: Linter.RuleEntry<[]>;
8447
+ /**
8448
+ * Disallow boolean-returning sort comparators.
8449
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-boolean-sort-comparator.md
8450
+ */
8451
+ 'unicorn/no-boolean-sort-comparator'?: Linter.RuleEntry<[]>;
8452
+ /**
8453
+ * Disallow `break` and `continue` in nested loops and switches inside loops.
8454
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-break-in-nested-loop.md
8455
+ */
8456
+ 'unicorn/no-break-in-nested-loop'?: Linter.RuleEntry<[]>;
8457
+ /**
8458
+ * Prefer drawing canvases directly instead of converting them to images.
8459
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-canvas-to-image.md
8460
+ */
8461
+ 'unicorn/no-canvas-to-image'?: Linter.RuleEntry<[]>;
8462
+ /**
8463
+ * Disallow chained comparisons such as `a < b < c`.
8464
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-chained-comparison.md
8465
+ */
8466
+ 'unicorn/no-chained-comparison'?: Linter.RuleEntry<[]>;
8467
+ /**
8468
+ * Disallow accessing `Map`, `Set`, `WeakMap`, and `WeakSet` entries with bracket notation.
8469
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-collection-bracket-access.md
8470
+ */
8471
+ 'unicorn/no-collection-bracket-access'?: Linter.RuleEntry<[]>;
8472
+ /**
8473
+ * Disallow dynamic object property existence checks.
8474
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-computed-property-existence-check.md
8475
+ */
8476
+ 'unicorn/no-computed-property-existence-check'?: Linter.RuleEntry<[]>;
8477
+ /**
8478
+ * Disallow confusing uses of `Array#{splice,toSpliced}()`.
8479
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-confusing-array-splice.md
8480
+ */
8481
+ 'unicorn/no-confusing-array-splice'?: Linter.RuleEntry<[]>;
8482
+ /**
8483
+ * Disallow confusing uses of `Array#with()`.
8484
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-confusing-array-with.md
8485
+ */
8486
+ 'unicorn/no-confusing-array-with'?: Linter.RuleEntry<[]>;
8266
8487
  /**
8267
8488
  * Do not use leading/trailing space between `console.log` parameters.
8268
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-console-spaces.md
8489
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-console-spaces.md
8269
8490
  */
8270
8491
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>;
8492
+ /**
8493
+ * Disallow arithmetic and bitwise operations that always evaluate to `0`.
8494
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-constant-zero-expression.md
8495
+ */
8496
+ 'unicorn/no-constant-zero-expression'?: Linter.RuleEntry<[]>;
8497
+ /**
8498
+ * Disallow declarations before conditional early exits when they are only used after the exit.
8499
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-declarations-before-early-exit.md
8500
+ */
8501
+ 'unicorn/no-declarations-before-early-exit'?: Linter.RuleEntry<[]>;
8271
8502
  /**
8272
8503
  * Do not use `document.cookie` directly.
8273
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-document-cookie.md
8504
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-document-cookie.md
8274
8505
  */
8275
8506
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>;
8507
+ /**
8508
+ * Disallow two comparisons of the same operands that can be combined into one.
8509
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-double-comparison.md
8510
+ */
8511
+ 'unicorn/no-double-comparison'?: Linter.RuleEntry<[]>;
8512
+ /**
8513
+ * Disallow duplicate adjacent branches in if chains.
8514
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-duplicate-if-branches.md
8515
+ */
8516
+ 'unicorn/no-duplicate-if-branches'?: Linter.RuleEntry<[]>;
8517
+ /**
8518
+ * Disallow adjacent duplicate operands in logical expressions.
8519
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-duplicate-logical-operands.md
8520
+ */
8521
+ 'unicorn/no-duplicate-logical-operands'?: Linter.RuleEntry<[]>;
8522
+ /**
8523
+ * Disallow `.map()` and `.filter()` in `for…of` and `for await…of` loop headers.
8524
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-duplicate-loops.md
8525
+ */
8526
+ 'unicorn/no-duplicate-loops'?: Linter.RuleEntry<[]>;
8527
+ /**
8528
+ * Disallow duplicate values in `Set` constructor array literals.
8529
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-duplicate-set-values.md
8530
+ */
8531
+ 'unicorn/no-duplicate-set-values'?: Linter.RuleEntry<[]>;
8276
8532
  /**
8277
8533
  * Disallow empty files.
8278
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-empty-file.md
8534
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-empty-file.md
8279
8535
  */
8280
- 'unicorn/no-empty-file'?: Linter.RuleEntry<[]>;
8536
+ 'unicorn/no-empty-file'?: Linter.RuleEntry<UnicornNoEmptyFile>;
8537
+ /**
8538
+ * Disallow assigning to built-in error properties.
8539
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-error-property-assignment.md
8540
+ */
8541
+ 'unicorn/no-error-property-assignment'?: Linter.RuleEntry<[]>;
8542
+ /**
8543
+ * Disallow exports in scripts.
8544
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-exports-in-scripts.md
8545
+ */
8546
+ 'unicorn/no-exports-in-scripts'?: Linter.RuleEntry<[]>;
8547
+ /**
8548
+ * Prefer `for…of` over the `forEach` method.
8549
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-for-each.md
8550
+ */
8551
+ 'unicorn/no-for-each'?: Linter.RuleEntry<[]>;
8281
8552
  /**
8282
8553
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
8283
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-for-loop.md
8554
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-for-loop.md
8284
8555
  */
8285
8556
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>;
8286
8557
  /**
8287
- * Enforce the use of Unicode escapes instead of hexadecimal escapes.
8288
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-hex-escape.md
8558
+ * Disallow assigning properties on the global object.
8559
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-global-object-property-assignment.md
8560
+ */
8561
+ 'unicorn/no-global-object-property-assignment'?: Linter.RuleEntry<[]>;
8562
+ /**
8563
+ * Replaced by `unicorn/prefer-unicode-code-point-escapes` which covers more cases.
8564
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/deleted-and-deprecated-rules.md#no-hex-escape
8565
+ * @deprecated
8289
8566
  */
8290
8567
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>;
8291
8568
  /**
8292
8569
  * Disallow immediate mutation after variable assignment.
8293
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-immediate-mutation.md
8570
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-immediate-mutation.md
8294
8571
  */
8295
8572
  'unicorn/no-immediate-mutation'?: Linter.RuleEntry<[]>;
8573
+ /**
8574
+ * Disallow impossible comparisons against `.length` or `.size`.
8575
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-impossible-length-comparison.md
8576
+ */
8577
+ 'unicorn/no-impossible-length-comparison'?: Linter.RuleEntry<[]>;
8578
+ /**
8579
+ * Disallow incorrect `querySelector()` and `querySelectorAll()` usage.
8580
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-incorrect-query-selector.md
8581
+ */
8582
+ 'unicorn/no-incorrect-query-selector'?: Linter.RuleEntry<[]>;
8583
+ /**
8584
+ * Disallow incorrect template literal interpolation syntax.
8585
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-incorrect-template-string-interpolation.md
8586
+ */
8587
+ 'unicorn/no-incorrect-template-string-interpolation'?: Linter.RuleEntry<[]>;
8296
8588
  /**
8297
8589
  * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
8298
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-instanceof-array
8590
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/deleted-and-deprecated-rules.md#no-instanceof-array
8299
8591
  * @deprecated
8300
8592
  */
8301
8593
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>;
8302
8594
  /**
8303
8595
  * Disallow `instanceof` with built-in objects
8304
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-instanceof-builtins.md
8596
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-instanceof-builtins.md
8305
8597
  */
8306
8598
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>;
8599
+ /**
8600
+ * Disallow calling functions and constructors with an invalid number of arguments.
8601
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-invalid-argument-count.md
8602
+ */
8603
+ 'unicorn/no-invalid-argument-count'?: Linter.RuleEntry<UnicornNoInvalidArgumentCount>;
8604
+ /**
8605
+ * Disallow comparing a single character from a string to a multi-character string.
8606
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-invalid-character-comparison.md
8607
+ */
8608
+ 'unicorn/no-invalid-character-comparison'?: Linter.RuleEntry<[]>;
8307
8609
  /**
8308
8610
  * Disallow invalid options in `fetch()` and `new Request()`.
8309
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-invalid-fetch-options.md
8611
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-invalid-fetch-options.md
8310
8612
  */
8311
8613
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>;
8614
+ /**
8615
+ * Disallow invalid `accept` values on file inputs.
8616
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-invalid-file-input-accept.md
8617
+ */
8618
+ 'unicorn/no-invalid-file-input-accept'?: Linter.RuleEntry<[]>;
8312
8619
  /**
8313
8620
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
8314
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-invalid-remove-event-listener.md
8621
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-invalid-remove-event-listener.md
8315
8622
  */
8316
8623
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>;
8624
+ /**
8625
+ * Disallow invalid implementations of well-known symbol methods.
8626
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-invalid-well-known-symbol-methods.md
8627
+ */
8628
+ 'unicorn/no-invalid-well-known-symbol-methods'?: Linter.RuleEntry<[]>;
8317
8629
  /**
8318
8630
  * Disallow identifiers starting with `new` or `class`.
8319
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-keyword-prefix.md
8631
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-keyword-prefix.md
8320
8632
  */
8321
8633
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>;
8634
+ /**
8635
+ * Disallow accessing `event.currentTarget` after the synchronous event dispatch has finished.
8636
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-late-current-target-access.md
8637
+ */
8638
+ 'unicorn/no-late-current-target-access'?: Linter.RuleEntry<[]>;
8639
+ /**
8640
+ * Disallow event-control method calls after the synchronous event dispatch has finished.
8641
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-late-event-control.md
8642
+ */
8643
+ 'unicorn/no-late-event-control'?: Linter.RuleEntry<[]>;
8322
8644
  /**
8323
8645
  * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
8324
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
8646
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
8325
8647
  * @deprecated
8326
8648
  */
8327
8649
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>;
8328
8650
  /**
8329
8651
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
8330
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-lonely-if.md
8652
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-lonely-if.md
8331
8653
  */
8332
8654
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>;
8655
+ /**
8656
+ * Disallow mutating a loop iterable during iteration.
8657
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-loop-iterable-mutation.md
8658
+ */
8659
+ 'unicorn/no-loop-iterable-mutation'?: Linter.RuleEntry<[]>;
8333
8660
  /**
8334
8661
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
8335
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-magic-array-flat-depth.md
8662
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-magic-array-flat-depth.md
8336
8663
  */
8337
8664
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>;
8665
+ /**
8666
+ * Disallow manually wrapped comments.
8667
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-manually-wrapped-comments.md
8668
+ */
8669
+ 'unicorn/no-manually-wrapped-comments'?: Linter.RuleEntry<[]>;
8670
+ /**
8671
+ * Disallow checking a Map key before accessing a different key.
8672
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-mismatched-map-key.md
8673
+ */
8674
+ 'unicorn/no-mismatched-map-key'?: Linter.RuleEntry<[]>;
8675
+ /**
8676
+ * Disallow misrefactored compound assignments where the target is duplicated in the right-hand side.
8677
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-misrefactored-assignment.md
8678
+ */
8679
+ 'unicorn/no-misrefactored-assignment'?: Linter.RuleEntry<[]>;
8338
8680
  /**
8339
8681
  * Disallow named usage of default import and export.
8340
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-named-default.md
8682
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-named-default.md
8341
8683
  */
8342
8684
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>;
8685
+ /**
8686
+ * Disallow negated array predicate calls.
8687
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-negated-array-predicate.md
8688
+ */
8689
+ 'unicorn/no-negated-array-predicate'?: Linter.RuleEntry<[]>;
8690
+ /**
8691
+ * Disallow negated comparisons.
8692
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-negated-comparison.md
8693
+ */
8694
+ 'unicorn/no-negated-comparison'?: Linter.RuleEntry<UnicornNoNegatedComparison>;
8343
8695
  /**
8344
8696
  * Disallow negated conditions.
8345
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-negated-condition.md
8697
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-negated-condition.md
8346
8698
  */
8347
8699
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>;
8348
8700
  /**
8349
8701
  * Disallow negated expression in equality check.
8350
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-negation-in-equality-check.md
8702
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-negation-in-equality-check.md
8351
8703
  */
8352
8704
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>;
8353
8705
  /**
8354
8706
  * Disallow nested ternary expressions.
8355
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-nested-ternary.md
8707
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-nested-ternary.md
8356
8708
  */
8357
8709
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>;
8358
8710
  /**
8359
8711
  * Disallow `new Array()`.
8360
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-new-array.md
8712
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-new-array.md
8361
8713
  */
8362
8714
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>;
8363
8715
  /**
8364
8716
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
8365
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-new-buffer.md
8717
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-new-buffer.md
8366
8718
  */
8367
8719
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>;
8720
+ /**
8721
+ * Disallow non-function values with function-style verb prefixes.
8722
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-non-function-verb-prefix.md
8723
+ */
8724
+ 'unicorn/no-non-function-verb-prefix'?: Linter.RuleEntry<UnicornNoNonFunctionVerbPrefix>;
8725
+ /**
8726
+ * Disallow non-standard properties on built-in objects.
8727
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-nonstandard-builtin-properties.md
8728
+ */
8729
+ 'unicorn/no-nonstandard-builtin-properties'?: Linter.RuleEntry<[]>;
8368
8730
  /**
8369
8731
  * Disallow the use of the `null` literal.
8370
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-null.md
8732
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-null.md
8371
8733
  */
8372
8734
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>;
8373
8735
  /**
8374
8736
  * Disallow the use of objects as default parameters.
8375
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-object-as-default-parameter.md
8737
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-object-as-default-parameter.md
8376
8738
  */
8377
8739
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>;
8740
+ /**
8741
+ * Disallow `Object` methods with `Map` or `Set`.
8742
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-object-methods-with-collections.md
8743
+ */
8744
+ 'unicorn/no-object-methods-with-collections'?: Linter.RuleEntry<[]>;
8745
+ /**
8746
+ * Disallow optional chaining on undeclared variables.
8747
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-optional-chaining-on-undeclared-variable.md
8748
+ */
8749
+ 'unicorn/no-optional-chaining-on-undeclared-variable'?: Linter.RuleEntry<[]>;
8378
8750
  /**
8379
8751
  * Disallow `process.exit()`.
8380
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-process-exit.md
8752
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-process-exit.md
8381
8753
  */
8382
8754
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>;
8755
+ /**
8756
+ * Disallow comparisons made redundant by an equality check in the same logical AND.
8757
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-redundant-comparison.md
8758
+ */
8759
+ 'unicorn/no-redundant-comparison'?: Linter.RuleEntry<[]>;
8760
+ /**
8761
+ * Disallow using the return value of `Array#push()` and `Array#unshift()`.
8762
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-return-array-push.md
8763
+ */
8764
+ 'unicorn/no-return-array-push'?: Linter.RuleEntry<[]>;
8765
+ /**
8766
+ * Disallow selector syntax in DOM names.
8767
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-selector-as-dom-name.md
8768
+ */
8769
+ 'unicorn/no-selector-as-dom-name'?: Linter.RuleEntry<[]>;
8383
8770
  /**
8384
8771
  * Disallow passing single-element arrays to `Promise` methods.
8385
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-single-promise-in-promise-methods.md
8772
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-single-promise-in-promise-methods.md
8386
8773
  */
8387
8774
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>;
8388
8775
  /**
8389
8776
  * Disallow classes that only have static members.
8390
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-static-only-class.md
8777
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-static-only-class.md
8391
8778
  */
8392
8779
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>;
8780
+ /**
8781
+ * Prefer comparing values directly over subtracting and comparing to `0`.
8782
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-subtraction-comparison.md
8783
+ */
8784
+ 'unicorn/no-subtraction-comparison'?: Linter.RuleEntry<[]>;
8393
8785
  /**
8394
8786
  * Disallow `then` property.
8395
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-thenable.md
8787
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-thenable.md
8396
8788
  */
8397
8789
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>;
8398
8790
  /**
8399
8791
  * Disallow assigning `this` to a variable.
8400
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-this-assignment.md
8792
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-this-assignment.md
8401
8793
  */
8402
8794
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>;
8795
+ /**
8796
+ * Disallow `this` outside of classes.
8797
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-this-outside-of-class.md
8798
+ */
8799
+ 'unicorn/no-this-outside-of-class'?: Linter.RuleEntry<[]>;
8800
+ /**
8801
+ * Disallow assigning to top-level variables from inside functions.
8802
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-top-level-assignment-in-function.md
8803
+ */
8804
+ 'unicorn/no-top-level-assignment-in-function'?: Linter.RuleEntry<[]>;
8805
+ /**
8806
+ * Disallow top-level side effects in exported modules.
8807
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-top-level-side-effects.md
8808
+ */
8809
+ 'unicorn/no-top-level-side-effects'?: Linter.RuleEntry<[]>;
8403
8810
  /**
8404
8811
  * Disallow comparing `undefined` using `typeof`.
8405
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-typeof-undefined.md
8812
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-typeof-undefined.md
8406
8813
  */
8407
8814
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>;
8815
+ /**
8816
+ * Disallow referencing methods without calling them.
8817
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-uncalled-method.md
8818
+ */
8819
+ 'unicorn/no-uncalled-method'?: Linter.RuleEntry<[]>;
8820
+ /**
8821
+ * Require class members to be declared.
8822
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-undeclared-class-members.md
8823
+ */
8824
+ 'unicorn/no-undeclared-class-members'?: Linter.RuleEntry<[]>;
8408
8825
  /**
8409
8826
  * Disallow using `1` as the `depth` argument of `Array#flat()`.
8410
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-array-flat-depth.md
8827
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unnecessary-array-flat-depth.md
8411
8828
  */
8412
8829
  'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>;
8413
8830
  /**
8414
8831
  * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
8415
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-array-splice-count.md
8832
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unnecessary-array-splice-count.md
8416
8833
  */
8417
8834
  'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>;
8418
8835
  /**
8419
8836
  * Disallow awaiting non-promise values.
8420
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-await.md
8837
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unnecessary-await.md
8421
8838
  */
8422
8839
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>;
8840
+ /**
8841
+ * Disallow unnecessary comparisons against boolean literals.
8842
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unnecessary-boolean-comparison.md
8843
+ */
8844
+ 'unicorn/no-unnecessary-boolean-comparison'?: Linter.RuleEntry<[]>;
8845
+ /**
8846
+ * Disallow unnecessary `globalThis` references.
8847
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unnecessary-global-this.md
8848
+ */
8849
+ 'unicorn/no-unnecessary-global-this'?: Linter.RuleEntry<[]>;
8850
+ /**
8851
+ * Disallow unnecessary nested ternary expressions.
8852
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unnecessary-nested-ternary.md
8853
+ */
8854
+ 'unicorn/no-unnecessary-nested-ternary'?: Linter.RuleEntry<[]>;
8423
8855
  /**
8424
8856
  * Enforce the use of built-in methods instead of unnecessary polyfills.
8425
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-polyfills.md
8857
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unnecessary-polyfills.md
8426
8858
  */
8427
8859
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>;
8428
8860
  /**
8429
8861
  * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
8430
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-slice-end.md
8862
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unnecessary-slice-end.md
8431
8863
  */
8432
8864
  'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>;
8865
+ /**
8866
+ * Disallow `Array#splice()` when simpler alternatives exist.
8867
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unnecessary-splice.md
8868
+ */
8869
+ 'unicorn/no-unnecessary-splice'?: Linter.RuleEntry<[]>;
8433
8870
  /**
8434
8871
  * Disallow unreadable array destructuring.
8435
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-array-destructuring.md
8872
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unreadable-array-destructuring.md
8436
8873
  */
8437
- 'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>;
8874
+ 'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<UnicornNoUnreadableArrayDestructuring>;
8875
+ /**
8876
+ * Disallow unreadable iterable expressions in `for…of` and `for await…of` loop headers.
8877
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unreadable-for-of-expression.md
8878
+ */
8879
+ 'unicorn/no-unreadable-for-of-expression'?: Linter.RuleEntry<[]>;
8438
8880
  /**
8439
8881
  * Disallow unreadable IIFEs.
8440
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-iife.md
8882
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unreadable-iife.md
8441
8883
  */
8442
8884
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>;
8885
+ /**
8886
+ * Disallow unreadable `new` expressions.
8887
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unreadable-new-expression.md
8888
+ */
8889
+ 'unicorn/no-unreadable-new-expression'?: Linter.RuleEntry<[]>;
8890
+ /**
8891
+ * Disallow unreadable object destructuring.
8892
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unreadable-object-destructuring.md
8893
+ */
8894
+ 'unicorn/no-unreadable-object-destructuring'?: Linter.RuleEntry<[]>;
8895
+ /**
8896
+ * Prevent unsafe use of ArrayBuffer view `.buffer`.
8897
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unsafe-buffer-conversion.md
8898
+ */
8899
+ 'unicorn/no-unsafe-buffer-conversion'?: Linter.RuleEntry<[]>;
8900
+ /**
8901
+ * Disallow unsafe DOM HTML APIs.
8902
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unsafe-dom-html.md
8903
+ */
8904
+ 'unicorn/no-unsafe-dom-html'?: Linter.RuleEntry<[]>;
8905
+ /**
8906
+ * Disallow unsafe values as property keys.
8907
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unsafe-property-key.md
8908
+ */
8909
+ 'unicorn/no-unsafe-property-key'?: Linter.RuleEntry<[]>;
8910
+ /**
8911
+ * Disallow non-literal replacement values in `String#replace()` and `String#replaceAll()`.
8912
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unsafe-string-replacement.md
8913
+ */
8914
+ 'unicorn/no-unsafe-string-replacement'?: Linter.RuleEntry<[]>;
8915
+ /**
8916
+ * Disallow ignoring the return value of selected array methods.
8917
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unused-array-method-return.md
8918
+ */
8919
+ 'unicorn/no-unused-array-method-return'?: Linter.RuleEntry<[]>;
8443
8920
  /**
8444
8921
  * Disallow unused object properties.
8445
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unused-properties.md
8922
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unused-properties.md
8446
8923
  */
8447
8924
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>;
8925
+ /**
8926
+ * Disallow unnecessary `Boolean()` casts in array predicate callbacks.
8927
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-boolean-cast.md
8928
+ */
8929
+ 'unicorn/no-useless-boolean-cast'?: Linter.RuleEntry<[]>;
8930
+ /**
8931
+ * Disallow useless type coercions of values that are already of the target type.
8932
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-coercion.md
8933
+ */
8934
+ 'unicorn/no-useless-coercion'?: Linter.RuleEntry<[]>;
8448
8935
  /**
8449
8936
  * Disallow useless values or fallbacks in `Set`, `Map`, `WeakSet`, or `WeakMap`.
8450
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-collection-argument.md
8937
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-collection-argument.md
8451
8938
  */
8452
8939
  'unicorn/no-useless-collection-argument'?: Linter.RuleEntry<[]>;
8940
+ /**
8941
+ * Disallow useless compound assignments such as `x += 0`.
8942
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-compound-assignment.md
8943
+ */
8944
+ 'unicorn/no-useless-compound-assignment'?: Linter.RuleEntry<[]>;
8945
+ /**
8946
+ * Disallow useless concatenation of literals.
8947
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-concat.md
8948
+ */
8949
+ 'unicorn/no-useless-concat'?: Linter.RuleEntry<[]>;
8950
+ /**
8951
+ * Disallow useless `continue` statements.
8952
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-continue.md
8953
+ */
8954
+ 'unicorn/no-useless-continue'?: Linter.RuleEntry<[]>;
8955
+ /**
8956
+ * Disallow unnecessary existence checks before deletion.
8957
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-delete-check.md
8958
+ */
8959
+ 'unicorn/no-useless-delete-check'?: Linter.RuleEntry<[]>;
8960
+ /**
8961
+ * Disallow `else` after a statement that exits.
8962
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-else.md
8963
+ */
8964
+ 'unicorn/no-useless-else'?: Linter.RuleEntry<[]>;
8453
8965
  /**
8454
8966
  * Disallow unnecessary `Error.captureStackTrace(…)`.
8455
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-error-capture-stack-trace.md
8967
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-error-capture-stack-trace.md
8456
8968
  */
8457
8969
  'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>;
8458
8970
  /**
8459
8971
  * Disallow useless fallback when spreading in object literals.
8460
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-fallback-in-spread.md
8972
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-fallback-in-spread.md
8461
8973
  */
8462
8974
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>;
8463
8975
  /**
8464
8976
  * Disallow unnecessary `.toArray()` on iterators.
8465
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-iterator-to-array.md
8977
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-iterator-to-array.md
8466
8978
  */
8467
8979
  'unicorn/no-useless-iterator-to-array'?: Linter.RuleEntry<[]>;
8468
8980
  /**
8469
8981
  * Disallow useless array length check.
8470
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-length-check.md
8982
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-length-check.md
8471
8983
  */
8472
8984
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>;
8985
+ /**
8986
+ * Disallow unnecessary operands in logical expressions involving boolean literals.
8987
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-logical-operand.md
8988
+ */
8989
+ 'unicorn/no-useless-logical-operand'?: Linter.RuleEntry<[]>;
8990
+ /**
8991
+ * Disallow useless overrides of class methods.
8992
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-override.md
8993
+ */
8994
+ 'unicorn/no-useless-override'?: Linter.RuleEntry<[]>;
8473
8995
  /**
8474
8996
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
8475
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-promise-resolve-reject.md
8997
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-promise-resolve-reject.md
8476
8998
  */
8477
8999
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>;
9000
+ /**
9001
+ * Disallow simple recursive function calls that can be replaced with a loop.
9002
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-recursion.md
9003
+ */
9004
+ 'unicorn/no-useless-recursion'?: Linter.RuleEntry<[]>;
8478
9005
  /**
8479
9006
  * Disallow unnecessary spread.
8480
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-spread.md
9007
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-spread.md
8481
9008
  */
8482
9009
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>;
8483
9010
  /**
8484
9011
  * Disallow useless case in switch statements.
8485
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-switch-case.md
9012
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-switch-case.md
8486
9013
  */
8487
9014
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>;
9015
+ /**
9016
+ * Disallow useless template literal expressions.
9017
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-template-literals.md
9018
+ */
9019
+ 'unicorn/no-useless-template-literals'?: Linter.RuleEntry<[]>;
8488
9020
  /**
8489
9021
  * Disallow useless `undefined`.
8490
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-undefined.md
9022
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-undefined.md
8491
9023
  */
8492
9024
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>;
9025
+ /**
9026
+ * Disallow the bitwise XOR operator where exponentiation was likely intended.
9027
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-xor-as-exponentiation.md
9028
+ */
9029
+ 'unicorn/no-xor-as-exponentiation'?: Linter.RuleEntry<[]>;
8493
9030
  /**
8494
9031
  * Disallow number literals with zero fractions or dangling dots.
8495
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-zero-fractions.md
9032
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-zero-fractions.md
8496
9033
  */
8497
9034
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>;
8498
9035
  /**
8499
9036
  * Enforce proper case for numeric literals.
8500
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/number-literal-case.md
9037
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/number-literal-case.md
8501
9038
  */
8502
9039
  'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>;
8503
9040
  /**
8504
9041
  * Enforce the style of numeric separators by correctly grouping digits.
8505
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/numeric-separators-style.md
9042
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/numeric-separators-style.md
8506
9043
  */
8507
9044
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>;
9045
+ /**
9046
+ * Require assignment operator shorthand where possible.
9047
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/operator-assignment.md
9048
+ */
9049
+ 'unicorn/operator-assignment'?: Linter.RuleEntry<UnicornOperatorAssignment>;
9050
+ /**
9051
+ * Prefer `AbortSignal.timeout()` over manually aborting an `AbortController` with `setTimeout()`.
9052
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-abort-signal-timeout.md
9053
+ */
9054
+ 'unicorn/prefer-abort-signal-timeout'?: Linter.RuleEntry<[]>;
8508
9055
  /**
8509
9056
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
8510
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-add-event-listener.md
9057
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-add-event-listener.md
8511
9058
  */
8512
9059
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>;
9060
+ /**
9061
+ * Prefer an options object over a boolean in `.addEventListener()`.
9062
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-add-event-listener-options.md
9063
+ */
9064
+ 'unicorn/prefer-add-event-listener-options'?: Linter.RuleEntry<[]>;
9065
+ /**
9066
+ * Prefer `AggregateError` when throwing collected errors.
9067
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-aggregate-error.md
9068
+ */
9069
+ 'unicorn/prefer-aggregate-error'?: Linter.RuleEntry<[]>;
8513
9070
  /**
8514
9071
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
8515
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-find.md
9072
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-array-find.md
8516
9073
  */
8517
9074
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>;
8518
9075
  /**
8519
9076
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
8520
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-flat.md
9077
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-array-flat.md
8521
9078
  */
8522
9079
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>;
8523
9080
  /**
8524
- * Prefer `.flatMap(…)` over `.map(…).flat()`.
8525
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-flat-map.md
9081
+ * Prefer `.flatMap(…)` over `.map(…).flat()` and `.filter(…).flatMap(…)`.
9082
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-array-flat-map.md
8526
9083
  */
8527
9084
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>;
9085
+ /**
9086
+ * Prefer `Array.fromAsync()` over `for await…of` array accumulation.
9087
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-array-from-async.md
9088
+ */
9089
+ 'unicorn/prefer-array-from-async'?: Linter.RuleEntry<[]>;
9090
+ /**
9091
+ * Prefer using the `Array.from()` mapping function argument.
9092
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-array-from-map.md
9093
+ */
9094
+ 'unicorn/prefer-array-from-map'?: Linter.RuleEntry<[]>;
8528
9095
  /**
8529
9096
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
8530
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-index-of.md
9097
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-array-index-of.md
8531
9098
  */
8532
9099
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>;
9100
+ /**
9101
+ * Prefer iterating an array directly or with `Array#keys()` over `Array#entries()` when the index or value is unused.
9102
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-array-iterable-methods.md
9103
+ */
9104
+ 'unicorn/prefer-array-iterable-methods'?: Linter.RuleEntry<[]>;
9105
+ /**
9106
+ * Prefer last-oriented array methods over `Array#reverse()` or `Array#toReversed()` followed by a method.
9107
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-array-last-methods.md
9108
+ */
9109
+ 'unicorn/prefer-array-last-methods'?: Linter.RuleEntry<[]>;
9110
+ /**
9111
+ * Prefer `Array#slice()` over `Array#splice()` when reading from the returned array.
9112
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-array-slice.md
9113
+ */
9114
+ 'unicorn/prefer-array-slice'?: Linter.RuleEntry<[]>;
8533
9115
  /**
8534
9116
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
8535
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-some.md
9117
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-array-some.md
8536
9118
  */
8537
9119
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>;
8538
9120
  /**
8539
9121
  * Prefer `.at()` method for index access and `String#charAt()`.
8540
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-at.md
9122
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-at.md
8541
9123
  */
8542
9124
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>;
9125
+ /**
9126
+ * Prefer `await` over promise chaining.
9127
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-await.md
9128
+ */
9129
+ 'unicorn/prefer-await'?: Linter.RuleEntry<[]>;
8543
9130
  /**
8544
9131
  * Prefer `BigInt` literals over the constructor.
8545
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-bigint-literals.md
9132
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-bigint-literals.md
8546
9133
  */
8547
9134
  'unicorn/prefer-bigint-literals'?: Linter.RuleEntry<[]>;
8548
9135
  /**
8549
9136
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
8550
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-blob-reading-methods.md
9137
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-blob-reading-methods.md
8551
9138
  */
8552
9139
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>;
9140
+ /**
9141
+ * Prefer directly returning boolean expressions over `if` statements.
9142
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-boolean-return.md
9143
+ */
9144
+ 'unicorn/prefer-boolean-return'?: Linter.RuleEntry<[]>;
8553
9145
  /**
8554
9146
  * Prefer class field declarations over `this` assignments in constructors.
8555
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-class-fields.md
9147
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-class-fields.md
8556
9148
  */
8557
9149
  'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>;
8558
9150
  /**
8559
9151
  * Prefer using `Element#classList.toggle()` to toggle class names.
8560
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-classlist-toggle.md
9152
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-classlist-toggle.md
8561
9153
  */
8562
9154
  'unicorn/prefer-classlist-toggle'?: Linter.RuleEntry<[]>;
8563
9155
  /**
8564
9156
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
8565
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-code-point.md
9157
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-code-point.md
8566
9158
  */
8567
9159
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>;
9160
+ /**
9161
+ * Prefer early continues over whole-loop conditional wrapping.
9162
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-continue.md
9163
+ */
9164
+ 'unicorn/prefer-continue'?: Linter.RuleEntry<UnicornPreferContinue>;
8568
9165
  /**
8569
9166
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
8570
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-date-now.md
9167
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-date-now.md
8571
9168
  */
8572
9169
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>;
8573
9170
  /**
8574
9171
  * Prefer default parameters over reassignment.
8575
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-default-parameters.md
9172
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-default-parameters.md
8576
9173
  */
8577
9174
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>;
8578
9175
  /**
8579
- * Prefer `Node#append()` over `Node#appendChild()`.
8580
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-append.md
9176
+ * Prefer direct iteration over default iterator method calls.
9177
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-direct-iteration.md
9178
+ */
9179
+ 'unicorn/prefer-direct-iteration'?: Linter.RuleEntry<[]>;
9180
+ /**
9181
+ * Prefer using `using`/`await using` over manual `try`/`finally` resource disposal.
9182
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-dispose.md
9183
+ */
9184
+ 'unicorn/prefer-dispose'?: Linter.RuleEntry<[]>;
9185
+ /**
9186
+ * Prefer `Element#append()` over `Node#appendChild()`.
9187
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-dom-node-append.md
8581
9188
  */
8582
9189
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>;
8583
9190
  /**
8584
- * Prefer using `.dataset` on DOM elements over calling attribute methods.
8585
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-dataset.md
9191
+ * Renamed to `unicorn/dom-node-dataset`.
9192
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/deleted-and-deprecated-rules.md#prefer-dom-node-dataset
9193
+ * @deprecated
8586
9194
  */
8587
9195
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>;
9196
+ /**
9197
+ * Prefer `.getHTML()` and `.setHTML()` over `.innerHTML`.
9198
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-dom-node-html-methods.md
9199
+ */
9200
+ 'unicorn/prefer-dom-node-html-methods'?: Linter.RuleEntry<[]>;
8588
9201
  /**
8589
9202
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
8590
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-remove.md
9203
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-dom-node-remove.md
8591
9204
  */
8592
9205
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>;
9206
+ /**
9207
+ * Prefer `.replaceChildren()` when emptying DOM children.
9208
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-dom-node-replace-children.md
9209
+ */
9210
+ 'unicorn/prefer-dom-node-replace-children'?: Linter.RuleEntry<[]>;
8593
9211
  /**
8594
9212
  * Prefer `.textContent` over `.innerText`.
8595
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-text-content.md
9213
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-dom-node-text-content.md
8596
9214
  */
8597
9215
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>;
9216
+ /**
9217
+ * Prefer early returns over full-function conditional wrapping.
9218
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-early-return.md
9219
+ */
9220
+ 'unicorn/prefer-early-return'?: Linter.RuleEntry<UnicornPreferEarlyReturn>;
9221
+ /**
9222
+ * Prefer `else if` over adjacent `if` statements with related conditions.
9223
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-else-if.md
9224
+ */
9225
+ 'unicorn/prefer-else-if'?: Linter.RuleEntry<[]>;
9226
+ /**
9227
+ * Prefer `Error.isError()` when checking for errors.
9228
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-error-is-error.md
9229
+ */
9230
+ 'unicorn/prefer-error-is-error'?: Linter.RuleEntry<[]>;
8598
9231
  /**
8599
9232
  * Prefer `EventTarget` over `EventEmitter`.
8600
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-event-target.md
9233
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-event-target.md
8601
9234
  */
8602
9235
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>;
8603
9236
  /**
8604
9237
  * Prefer `export…from` when re-exporting.
8605
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-export-from.md
9238
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-export-from.md
8606
9239
  */
8607
9240
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>;
9241
+ /**
9242
+ * Prefer flat `Math.min()` and `Math.max()` calls over nested calls.
9243
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-flat-math-min-max.md
9244
+ */
9245
+ 'unicorn/prefer-flat-math-min-max'?: Linter.RuleEntry<[]>;
9246
+ /**
9247
+ * Prefer `.getOrInsertComputed()` when the default value has side effects.
9248
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-get-or-insert-computed.md
9249
+ */
9250
+ 'unicorn/prefer-get-or-insert-computed'?: Linter.RuleEntry<[]>;
9251
+ /**
9252
+ * Prefer global numeric constants over `Number` static properties.
9253
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-global-number-constants.md
9254
+ */
9255
+ 'unicorn/prefer-global-number-constants'?: Linter.RuleEntry<[]>;
8608
9256
  /**
8609
9257
  * Prefer `globalThis` over `window`, `self`, and `global`.
8610
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-global-this.md
9258
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-global-this.md
8611
9259
  */
8612
9260
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>;
9261
+ /**
9262
+ * Prefer `.has()` when checking existence.
9263
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-has-check.md
9264
+ */
9265
+ 'unicorn/prefer-has-check'?: Linter.RuleEntry<[]>;
9266
+ /**
9267
+ * Prefer moving code shared by all branches of an `if` statement out of the branches.
9268
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-hoisting-branch-code.md
9269
+ */
9270
+ 'unicorn/prefer-hoisting-branch-code'?: Linter.RuleEntry<[]>;
9271
+ /**
9272
+ * Prefer HTTPS over HTTP.
9273
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-https.md
9274
+ */
9275
+ 'unicorn/prefer-https'?: Linter.RuleEntry<[]>;
9276
+ /**
9277
+ * Prefer identifiers over string literals in import and export specifiers.
9278
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-identifier-import-export-specifiers.md
9279
+ */
9280
+ 'unicorn/prefer-identifier-import-export-specifiers'?: Linter.RuleEntry<[]>;
8613
9281
  /**
8614
9282
  * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
8615
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-import-meta-properties.md
9283
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-import-meta-properties.md
8616
9284
  */
8617
9285
  'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>;
8618
9286
  /**
8619
9287
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
8620
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-includes.md
9288
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-includes.md
8621
9289
  */
8622
9290
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>;
8623
9291
  /**
8624
- * Prefer reading a JSON file as a buffer.
8625
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-json-parse-buffer.md
9292
+ * Prefer `.includes()` over repeated equality comparisons.
9293
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-includes-over-repeated-comparisons.md
9294
+ */
9295
+ 'unicorn/prefer-includes-over-repeated-comparisons'?: Linter.RuleEntry<UnicornPreferIncludesOverRepeatedComparisons>;
9296
+ /**
9297
+ * Prefer passing iterables directly to constructors instead of filling empty collections.
9298
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-iterable-in-constructor.md
9299
+ */
9300
+ 'unicorn/prefer-iterable-in-constructor'?: Linter.RuleEntry<[]>;
9301
+ /**
9302
+ * Prefer `Iterator.concat(…)` over temporary spread arrays.
9303
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-iterator-concat.md
9304
+ */
9305
+ 'unicorn/prefer-iterator-concat'?: Linter.RuleEntry<[]>;
9306
+ /**
9307
+ * Prefer `Iterator#toArray()` over temporary arrays from iterator spreads.
9308
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-iterator-to-array.md
9309
+ */
9310
+ 'unicorn/prefer-iterator-to-array'?: Linter.RuleEntry<[]>;
9311
+ /**
9312
+ * Prefer moving `.toArray()` to the end of iterator helper chains.
9313
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-iterator-to-array-at-end.md
9314
+ */
9315
+ 'unicorn/prefer-iterator-to-array-at-end'?: Linter.RuleEntry<[]>;
9316
+ /**
9317
+ * Renamed to `unicorn/consistent-json-file-read`.
9318
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/deleted-and-deprecated-rules.md#prefer-json-parse-buffer
9319
+ * @deprecated
8626
9320
  */
8627
9321
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>;
8628
9322
  /**
8629
- * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
8630
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-keyboard-event-key.md
9323
+ * Prefer `KeyboardEvent#key` over deprecated keyboard event properties.
9324
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-keyboard-event-key.md
8631
9325
  */
8632
9326
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>;
9327
+ /**
9328
+ * Prefer `location.assign()` over assigning to `location.href`.
9329
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-location-assign.md
9330
+ */
9331
+ 'unicorn/prefer-location-assign'?: Linter.RuleEntry<[]>;
8633
9332
  /**
8634
9333
  * Prefer using a logical operator over a ternary.
8635
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-logical-operator-over-ternary.md
9334
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-logical-operator-over-ternary.md
8636
9335
  */
8637
9336
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>;
9337
+ /**
9338
+ * Prefer `new Map()` over `Object.fromEntries()` when using the result as a map.
9339
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-map-from-entries.md
9340
+ */
9341
+ 'unicorn/prefer-map-from-entries'?: Linter.RuleEntry<[]>;
9342
+ /**
9343
+ * Prefer `Math.abs()` over manual absolute value expressions and symmetric range checks.
9344
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-math-abs.md
9345
+ */
9346
+ 'unicorn/prefer-math-abs'?: Linter.RuleEntry<[]>;
9347
+ /**
9348
+ * Prefer `Math` constants over their approximate numeric values.
9349
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-math-constants.md
9350
+ */
9351
+ 'unicorn/prefer-math-constants'?: Linter.RuleEntry<[]>;
8638
9352
  /**
8639
9353
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
8640
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-math-min-max.md
9354
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-math-min-max.md
8641
9355
  */
8642
9356
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>;
8643
9357
  /**
8644
- * Enforce the use of `Math.trunc` instead of bitwise operators.
8645
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-math-trunc.md
9358
+ * Prefer `Math.trunc()` for truncating numbers.
9359
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-math-trunc.md
8646
9360
  */
8647
9361
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>;
8648
9362
  /**
8649
- * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
8650
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-modern-dom-apis.md
9363
+ * Prefer moving ternaries into the minimal varying part of an expression.
9364
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-minimal-ternary.md
9365
+ */
9366
+ 'unicorn/prefer-minimal-ternary'?: Linter.RuleEntry<UnicornPreferMinimalTernary>;
9367
+ /**
9368
+ * Prefer modern DOM APIs.
9369
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-modern-dom-apis.md
8651
9370
  */
8652
9371
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>;
8653
9372
  /**
8654
9373
  * Prefer modern `Math` APIs over legacy patterns.
8655
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-modern-math-apis.md
9374
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-modern-math-apis.md
8656
9375
  */
8657
9376
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>;
8658
9377
  /**
8659
9378
  * Prefer JavaScript modules (ESM) over CommonJS.
8660
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-module.md
9379
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-module.md
8661
9380
  */
8662
9381
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>;
8663
9382
  /**
8664
9383
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
8665
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-native-coercion-functions.md
9384
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-native-coercion-functions.md
8666
9385
  */
8667
9386
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>;
8668
9387
  /**
8669
9388
  * Prefer negative index over `.length - index` when possible.
8670
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-negative-index.md
9389
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-negative-index.md
8671
9390
  */
8672
9391
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>;
8673
9392
  /**
8674
9393
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
8675
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-node-protocol.md
9394
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-node-protocol.md
9395
+ */
9396
+ 'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>;
9397
+ /**
9398
+ * Prefer `Number()` over `parseFloat()` and base-10 `parseInt()`.
9399
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-number-coercion.md
9400
+ */
9401
+ 'unicorn/prefer-number-coercion'?: Linter.RuleEntry<[]>;
9402
+ /**
9403
+ * Prefer `Number.isSafeInteger()` over integer checks.
9404
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-number-is-safe-integer.md
9405
+ */
9406
+ 'unicorn/prefer-number-is-safe-integer'?: Linter.RuleEntry<[]>;
9407
+ /**
9408
+ * Prefer `Number` static methods over global functions and optionally static properties over global constants.
9409
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-number-properties.md
9410
+ */
9411
+ 'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>;
9412
+ /**
9413
+ * Prefer `Object.defineProperties()` over multiple `Object.defineProperty()` calls.
9414
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-object-define-properties.md
9415
+ */
9416
+ 'unicorn/prefer-object-define-properties'?: Linter.RuleEntry<[]>;
9417
+ /**
9418
+ * Prefer object destructuring defaults over default object literals with spread.
9419
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-object-destructuring-defaults.md
9420
+ */
9421
+ 'unicorn/prefer-object-destructuring-defaults'?: Linter.RuleEntry<[]>;
9422
+ /**
9423
+ * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
9424
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-object-from-entries.md
9425
+ */
9426
+ 'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>;
9427
+ /**
9428
+ * Prefer the most specific `Object` iterable method.
9429
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-object-iterable-methods.md
9430
+ */
9431
+ 'unicorn/prefer-object-iterable-methods'?: Linter.RuleEntry<[]>;
9432
+ /**
9433
+ * Prefer observer APIs over resize and scroll listeners with layout reads.
9434
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-observer-apis.md
9435
+ */
9436
+ 'unicorn/prefer-observer-apis'?: Linter.RuleEntry<[]>;
9437
+ /**
9438
+ * Prefer omitting the `catch` binding parameter.
9439
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-optional-catch-binding.md
9440
+ */
9441
+ 'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>;
9442
+ /**
9443
+ * Prefer `Path2D` for repeatedly drawn canvas paths.
9444
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-path2d.md
8676
9445
  */
8677
- 'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>;
9446
+ 'unicorn/prefer-path2d'?: Linter.RuleEntry<[]>;
8678
9447
  /**
8679
- * Prefer `Number` static properties over global ones.
8680
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-number-properties.md
9448
+ * Prefer private class fields over the underscore-prefix convention.
9449
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-private-class-fields.md
8681
9450
  */
8682
- 'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>;
9451
+ 'unicorn/prefer-private-class-fields'?: Linter.RuleEntry<[]>;
8683
9452
  /**
8684
- * Prefer using `Object.fromEntries()` to transform a list of key-value pairs into an object.
8685
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-object-from-entries.md
9453
+ * Prefer `Promise.try()` over promise-wrapping boilerplate.
9454
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-promise-try.md
8686
9455
  */
8687
- 'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>;
9456
+ 'unicorn/prefer-promise-try'?: Linter.RuleEntry<[]>;
8688
9457
  /**
8689
- * Prefer omitting the `catch` binding parameter.
8690
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-optional-catch-binding.md
9458
+ * Prefer `Promise.withResolvers()` when extracting resolver functions from `new Promise()`.
9459
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-promise-with-resolvers.md
8691
9460
  */
8692
- 'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>;
9461
+ 'unicorn/prefer-promise-with-resolvers'?: Linter.RuleEntry<[]>;
8693
9462
  /**
8694
9463
  * Prefer borrowing methods from the prototype instead of the instance.
8695
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-prototype-methods.md
9464
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-prototype-methods.md
8696
9465
  */
8697
9466
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>;
8698
9467
  /**
8699
- * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
8700
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-query-selector.md
9468
+ * Prefer `.querySelector()` and `.querySelectorAll()` over older DOM query methods.
9469
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-query-selector.md
9470
+ */
9471
+ 'unicorn/prefer-query-selector'?: Linter.RuleEntry<UnicornPreferQuerySelector>;
9472
+ /**
9473
+ * Prefer `queueMicrotask()` over `process.nextTick()`, `setImmediate()`, and `setTimeout(…, 0)`.
9474
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-queue-microtask.md
8701
9475
  */
8702
- 'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>;
9476
+ 'unicorn/prefer-queue-microtask'?: Linter.RuleEntry<UnicornPreferQueueMicrotask>;
8703
9477
  /**
8704
9478
  * Prefer `Reflect.apply()` over `Function#apply()`.
8705
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-reflect-apply.md
9479
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-reflect-apply.md
8706
9480
  */
8707
9481
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>;
8708
9482
  /**
8709
- * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
8710
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-regexp-test.md
9483
+ * Prefer `RegExp.escape()` for escaping strings to use in regular expressions.
9484
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-regexp-escape.md
9485
+ */
9486
+ 'unicorn/prefer-regexp-escape'?: Linter.RuleEntry<[]>;
9487
+ /**
9488
+ * Prefer `RegExp#test()` over `String#match()`, `String#search()`, and `RegExp#exec()`.
9489
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-regexp-test.md
8711
9490
  */
8712
9491
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>;
8713
9492
  /**
8714
9493
  * Prefer `Response.json()` over `new Response(JSON.stringify())`.
8715
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-response-static-json.md
9494
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-response-static-json.md
8716
9495
  */
8717
9496
  'unicorn/prefer-response-static-json'?: Linter.RuleEntry<[]>;
9497
+ /**
9498
+ * Prefer `:scope` when using element query selector methods.
9499
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-scoped-selector.md
9500
+ */
9501
+ 'unicorn/prefer-scoped-selector'?: Linter.RuleEntry<[]>;
8718
9502
  /**
8719
9503
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
8720
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-set-has.md
9504
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-set-has.md
8721
9505
  */
8722
- 'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>;
9506
+ 'unicorn/prefer-set-has'?: Linter.RuleEntry<UnicornPreferSetHas>;
9507
+ /**
9508
+ * Prefer `Set` methods for Set operations.
9509
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-set-methods.md
9510
+ */
9511
+ 'unicorn/prefer-set-methods'?: Linter.RuleEntry<[]>;
8723
9512
  /**
8724
9513
  * Prefer using `Set#size` instead of `Array#length`.
8725
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-set-size.md
9514
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-set-size.md
8726
9515
  */
8727
9516
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>;
9517
+ /**
9518
+ * Prefer arrow function properties over methods with a single return.
9519
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-short-arrow-method.md
9520
+ */
9521
+ 'unicorn/prefer-short-arrow-method'?: Linter.RuleEntry<[]>;
8728
9522
  /**
8729
9523
  * Prefer simple conditions first in logical expressions.
8730
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-simple-condition-first.md
9524
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-simple-condition-first.md
8731
9525
  */
8732
9526
  'unicorn/prefer-simple-condition-first'?: Linter.RuleEntry<[]>;
8733
9527
  /**
8734
- * Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
8735
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-single-call.md
9528
+ * Prefer a simple comparison function for `Array#sort()`.
9529
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-simple-sort-comparator.md
9530
+ */
9531
+ 'unicorn/prefer-simple-sort-comparator'?: Linter.RuleEntry<[]>;
9532
+ /**
9533
+ * Prefer a single `Array#some()` or `Array#every()` with a combined predicate.
9534
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-single-array-predicate.md
9535
+ */
9536
+ 'unicorn/prefer-single-array-predicate'?: Linter.RuleEntry<[]>;
9537
+ /**
9538
+ * Enforce combining multiple `Array#{push,unshift}()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
9539
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-single-call.md
8736
9540
  */
8737
9541
  'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>;
8738
9542
  /**
8739
- * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
8740
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-spread.md
9543
+ * Prefer a single object destructuring declaration per local const source.
9544
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-single-object-destructuring.md
9545
+ */
9546
+ 'unicorn/prefer-single-object-destructuring'?: Linter.RuleEntry<[]>;
9547
+ /**
9548
+ * Enforce combining multiple single-character replacements into a single `String#replaceAll()` with a regular expression.
9549
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-single-replace.md
9550
+ */
9551
+ 'unicorn/prefer-single-replace'?: Linter.RuleEntry<[]>;
9552
+ /**
9553
+ * Prefer declaring variables in the smallest possible scope.
9554
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-smaller-scope.md
9555
+ */
9556
+ 'unicorn/prefer-smaller-scope'?: Linter.RuleEntry<[]>;
9557
+ /**
9558
+ * Prefer `String#split()` with a limit.
9559
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-split-limit.md
9560
+ */
9561
+ 'unicorn/prefer-split-limit'?: Linter.RuleEntry<[]>;
9562
+ /**
9563
+ * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()`, and trivial `for…of` copies.
9564
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-spread.md
8741
9565
  */
8742
9566
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>;
9567
+ /**
9568
+ * Prefer `String#matchAll()` over `RegExp#exec()` loops.
9569
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-string-match-all.md
9570
+ */
9571
+ 'unicorn/prefer-string-match-all'?: Linter.RuleEntry<[]>;
9572
+ /**
9573
+ * Prefer `String#padStart()` and `String#padEnd()` over manual string padding.
9574
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-string-pad-start-end.md
9575
+ */
9576
+ 'unicorn/prefer-string-pad-start-end'?: Linter.RuleEntry<[]>;
8743
9577
  /**
8744
9578
  * Prefer using the `String.raw` tag to avoid escaping `\`.
8745
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-raw.md
9579
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-string-raw.md
8746
9580
  */
8747
9581
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>;
8748
9582
  /**
8749
- * Prefer `String#replaceAll()` over regex searches with the global flag.
8750
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-replace-all.md
9583
+ * Prefer `String#repeat()` for repeated whitespace.
9584
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-string-repeat.md
9585
+ */
9586
+ 'unicorn/prefer-string-repeat'?: Linter.RuleEntry<UnicornPreferStringRepeat>;
9587
+ /**
9588
+ * Prefer `String#replaceAll()` over regex searches with the global flag and `String#split().join()`.
9589
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-string-replace-all.md
8751
9590
  */
8752
9591
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>;
8753
9592
  /**
8754
9593
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
8755
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-slice.md
9594
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-string-slice.md
8756
9595
  */
8757
9596
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>;
8758
9597
  /**
8759
- * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
8760
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-starts-ends-with.md
9598
+ * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()` and `String#indexOf() === 0`.
9599
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-string-starts-ends-with.md
8761
9600
  */
8762
9601
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>;
8763
9602
  /**
8764
9603
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
8765
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-trim-start-end.md
9604
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-string-trim-start-end.md
8766
9605
  */
8767
9606
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>;
8768
9607
  /**
8769
9608
  * Prefer using `structuredClone` to create a deep clone.
8770
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-structured-clone.md
9609
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-structured-clone.md
8771
9610
  */
8772
9611
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>;
8773
9612
  /**
8774
9613
  * Prefer `switch` over multiple `else-if`.
8775
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-switch.md
9614
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-switch.md
8776
9615
  */
8777
9616
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>;
8778
9617
  /**
8779
- * Prefer ternary expressions over simple `if-else` statements.
8780
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-ternary.md
9618
+ * Prefer `Temporal` over `Date`.
9619
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-temporal.md
9620
+ */
9621
+ 'unicorn/prefer-temporal'?: Linter.RuleEntry<UnicornPreferTemporal>;
9622
+ /**
9623
+ * Prefer ternary expressions over simple `if` statements that return or assign values.
9624
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-ternary.md
8781
9625
  */
8782
9626
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>;
9627
+ /**
9628
+ * Prefer using `Element#toggleAttribute()` to toggle attributes.
9629
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-toggle-attribute.md
9630
+ */
9631
+ 'unicorn/prefer-toggle-attribute'?: Linter.RuleEntry<[]>;
8783
9632
  /**
8784
9633
  * Prefer top-level await over top-level promises and async function calls.
8785
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-top-level-await.md
9634
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-top-level-await.md
8786
9635
  */
8787
9636
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>;
8788
9637
  /**
8789
9638
  * Enforce throwing `TypeError` in type checking conditions.
8790
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-type-error.md
9639
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-type-error.md
8791
9640
  */
8792
9641
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>;
8793
9642
  /**
8794
- * Prevent abbreviations.
8795
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prevent-abbreviations.md
9643
+ * Require type literals to be last in union types.
9644
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-type-literal-last.md
9645
+ */
9646
+ 'unicorn/prefer-type-literal-last'?: Linter.RuleEntry<[]>;
9647
+ /**
9648
+ * Prefer `Uint8Array#toBase64()` and `Uint8Array.fromBase64()` over `atob()`, `btoa()`, and `Buffer` base64 conversions.
9649
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-uint8array-base64.md
9650
+ */
9651
+ 'unicorn/prefer-uint8array-base64'?: Linter.RuleEntry<[]>;
9652
+ /**
9653
+ * Prefer the unary minus operator over multiplying or dividing by `-1`.
9654
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-unary-minus.md
9655
+ */
9656
+ 'unicorn/prefer-unary-minus'?: Linter.RuleEntry<[]>;
9657
+ /**
9658
+ * Prefer Unicode code point escapes over legacy escape sequences.
9659
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-unicode-code-point-escapes.md
9660
+ */
9661
+ 'unicorn/prefer-unicode-code-point-escapes'?: Linter.RuleEntry<[]>;
9662
+ /**
9663
+ * Prefer `URL.canParse()` over constructing a `URL` in a try/catch for validation.
9664
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-url-can-parse.md
9665
+ */
9666
+ 'unicorn/prefer-url-can-parse'?: Linter.RuleEntry<[]>;
9667
+ /**
9668
+ * Prefer `URL#href` over stringifying a `URL`.
9669
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-url-href.md
8796
9670
  */
8797
- 'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>;
9671
+ 'unicorn/prefer-url-href'?: Linter.RuleEntry<[]>;
9672
+ /**
9673
+ * Prefer `URLSearchParams` over manually splitting query strings.
9674
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-url-search-parameters.md
9675
+ */
9676
+ 'unicorn/prefer-url-search-parameters'?: Linter.RuleEntry<[]>;
9677
+ /**
9678
+ * Prefer putting the condition in the while statement.
9679
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-while-loop-condition.md
9680
+ */
9681
+ 'unicorn/prefer-while-loop-condition'?: Linter.RuleEntry<[]>;
9682
+ /**
9683
+ * Renamed to `unicorn/name-replacements`.
9684
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/deleted-and-deprecated-rules.md#prevent-abbreviations
9685
+ * @deprecated
9686
+ */
9687
+ 'unicorn/prevent-abbreviations'?: Linter.RuleEntry<[]>;
8798
9688
  /**
8799
9689
  * Enforce consistent relative URL style.
8800
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/relative-url-style.md
9690
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/relative-url-style.md
8801
9691
  */
8802
9692
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>;
8803
9693
  /**
8804
9694
  * Enforce using the separator argument with `Array#join()`.
8805
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-array-join-separator.md
9695
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/require-array-join-separator.md
8806
9696
  */
8807
9697
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>;
9698
+ /**
9699
+ * Require a compare function when calling `Array#sort()` or `Array#toSorted()`.
9700
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/require-array-sort-compare.md
9701
+ */
9702
+ 'unicorn/require-array-sort-compare'?: Linter.RuleEntry<[]>;
9703
+ /**
9704
+ * Require `CSS.escape()` for interpolated values in CSS selectors.
9705
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/require-css-escape.md
9706
+ */
9707
+ 'unicorn/require-css-escape'?: Linter.RuleEntry<UnicornRequireCssEscape>;
8808
9708
  /**
8809
9709
  * Require non-empty module attributes for imports and exports
8810
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-module-attributes.md
9710
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/require-module-attributes.md
8811
9711
  */
8812
9712
  'unicorn/require-module-attributes'?: Linter.RuleEntry<[]>;
8813
9713
  /**
8814
9714
  * Require non-empty specifier list in import and export statements.
8815
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-module-specifiers.md
9715
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/require-module-specifiers.md
8816
9716
  */
8817
9717
  'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>;
8818
9718
  /**
8819
9719
  * Enforce using the digits argument with `Number#toFixed()`.
8820
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-number-to-fixed-digits-argument.md
9720
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/require-number-to-fixed-digits-argument.md
8821
9721
  */
8822
9722
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>;
9723
+ /**
9724
+ * Require passive event listeners for high-frequency events.
9725
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/require-passive-events.md
9726
+ */
9727
+ 'unicorn/require-passive-events'?: Linter.RuleEntry<[]>;
8823
9728
  /**
8824
9729
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
8825
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-post-message-target-origin.md
9730
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/require-post-message-target-origin.md
8826
9731
  */
8827
9732
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>;
9733
+ /**
9734
+ * Require boolean-returning Proxy traps to return booleans.
9735
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/require-proxy-trap-boolean-return.md
9736
+ */
9737
+ 'unicorn/require-proxy-trap-boolean-return'?: Linter.RuleEntry<[]>;
8828
9738
  /**
8829
9739
  * Enforce better string content.
8830
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/string-content.md
9740
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/string-content.md
8831
9741
  */
8832
9742
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>;
8833
9743
  /**
8834
9744
  * Enforce consistent brace style for `case` clauses.
8835
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/switch-case-braces.md
9745
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/switch-case-braces.md
8836
9746
  */
8837
9747
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>;
8838
9748
  /**
8839
9749
  * Enforce consistent `break`/`return`/`continue`/`throw` position in `case` clauses.
8840
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/switch-case-break-position.md
9750
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/switch-case-break-position.md
8841
9751
  */
8842
9752
  'unicorn/switch-case-break-position'?: Linter.RuleEntry<[]>;
8843
9753
  /**
8844
9754
  * Fix whitespace-insensitive template indentation.
8845
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/template-indent.md
9755
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/template-indent.md
8846
9756
  */
8847
9757
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>;
8848
9758
  /**
8849
9759
  * Enforce consistent case for text encoding identifiers.
8850
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/text-encoding-identifier-case.md
9760
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/text-encoding-identifier-case.md
8851
9761
  */
8852
9762
  'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<UnicornTextEncodingIdentifierCase>;
8853
9763
  /**
8854
9764
  * Require `new` when creating an error.
8855
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/throw-new-error.md
9765
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/throw-new-error.md
8856
9766
  */
8857
9767
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>;
9768
+ /**
9769
+ * Limit the complexity of `try` blocks.
9770
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/try-complexity.md
9771
+ */
9772
+ 'unicorn/try-complexity'?: Linter.RuleEntry<UnicornTryComplexity>;
8858
9773
  /**
8859
9774
  * Utilities in UnoCSS blocklist
8860
9775
  * @see https://unocss.dev/integrations/eslint#rules
@@ -9204,7 +10119,7 @@ interface RuleOptions {
9204
10119
  */
9205
10120
  'vue/jsx-uses-vars'?: Linter.RuleEntry<[]>;
9206
10121
  /**
9207
- * Enforce consistent spacing between keys and values in object literal properties in `<template>`
10122
+ * Enforce consistent spacing between property names and type annotations in types and interfaces in `<template>`
9208
10123
  * @see https://eslint.vuejs.org/rules/key-spacing.html
9209
10124
  */
9210
10125
  'vue/key-spacing'?: Linter.RuleEntry<VueKeySpacing>;
@@ -9926,7 +10841,7 @@ interface RuleOptions {
9926
10841
  */
9927
10842
  'vue/prop-name-casing'?: Linter.RuleEntry<VuePropNameCasing>;
9928
10843
  /**
9929
- * Require quotes around object literal property names in `<template>`
10844
+ * Require quotes around object literal, type literal, interfaces and enums property names in `<template>`
9930
10845
  * @see https://eslint.vuejs.org/rules/quote-props.html
9931
10846
  */
9932
10847
  'vue/quote-props'?: Linter.RuleEntry<VueQuoteProps>;
@@ -10369,6 +11284,11 @@ interface RuleOptions {
10369
11284
  * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-tab-indent.html
10370
11285
  */
10371
11286
  'yaml/no-tab-indent'?: Linter.RuleEntry<[]>;
11287
+ /**
11288
+ * disallow trailing whitespace at the end of lines
11289
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-trailing-spaces.html
11290
+ */
11291
+ 'yaml/no-trailing-spaces'?: Linter.RuleEntry<YamlNoTrailingSpaces>;
10372
11292
  /**
10373
11293
  * disallow trailing zeros for floats
10374
11294
  * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-trailing-zeros.html
@@ -15897,7 +16817,7 @@ type SonarArrowFunctionConvention = [] | [{
15897
16817
  type SonarClassName = [] | [{
15898
16818
  format?: string;
15899
16819
  }]; // ----- sonar/cognitive-complexity -----
15900
- type SonarCognitiveComplexity = [] | [(number | string)] | [(number | string), string]; // ----- sonar/comment-regex -----
16820
+ type SonarCognitiveComplexity = [] | [(number | "silence-issues")] | [(number | "silence-issues"), "silence-issues"]; // ----- sonar/comment-regex -----
15901
16821
  type SonarCommentRegex = [] | [{
15902
16822
  regularExpression?: string;
15903
16823
  message?: string;
@@ -18476,43 +19396,110 @@ type TsUnifiedSignatures = [] | [{
18476
19396
  ignoreDifferentlyNamedParameters?: boolean;
18477
19397
  ignoreOverloadsWithDifferentJSDoc?: boolean;
18478
19398
  }]; // ----- unicode-bom -----
18479
- type UnicodeBom = [] | [("always" | "never")]; // ----- unicorn/better-regex -----
18480
- type UnicornBetterRegex = [] | [{
18481
- sortCharacterClasses?: boolean;
18482
- }]; // ----- unicorn/catch-error-name -----
19399
+ type UnicodeBom = [] | [("always" | "never")]; // ----- unicorn/catch-error-name -----
18483
19400
  type UnicornCatchErrorName = [] | [{
18484
19401
  name?: string;
18485
19402
  ignore?: unknown[];
18486
- }]; // ----- unicorn/consistent-function-scoping -----
19403
+ }]; // ----- unicorn/class-reference-in-static-methods -----
19404
+ type UnicornClassReferenceInStaticMethods = [] | [{
19405
+ preferThis?: boolean;
19406
+ preferSuper?: boolean;
19407
+ }]; // ----- unicorn/comment-content -----
19408
+ type UnicornCommentContent = [] | [{
19409
+ checkUniformCase?: boolean;
19410
+ extendDefaultReplacements?: boolean;
19411
+ replacements?: {
19412
+ [k: string]: (false | string | {
19413
+ replacement: string;
19414
+ caseSensitive?: boolean;
19415
+ }) | undefined;
19416
+ };
19417
+ }]; // ----- unicorn/consistent-boolean-name -----
19418
+ type UnicornConsistentBooleanName = [] | [{
19419
+ checkProperties?: boolean;
19420
+ prefixes?: {
19421
+ [k: string]: boolean | undefined;
19422
+ };
19423
+ ignore?: unknown[];
19424
+ }]; // ----- unicorn/consistent-class-member-order -----
19425
+ type UnicornConsistentClassMemberOrder = [] | [{
19426
+ order?: [("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method")];
19427
+ }]; // ----- unicorn/consistent-compound-words -----
19428
+ type UnicornConsistentCompoundWords = [] | [{
19429
+ checkProperties?: boolean;
19430
+ checkVariables?: boolean;
19431
+ checkDefaultAndNamespaceImports?: (boolean | "internal");
19432
+ checkShorthandImports?: (boolean | "internal");
19433
+ checkShorthandProperties?: boolean;
19434
+ extendDefaultReplacements?: boolean;
19435
+ replacements?: _UnicornConsistentCompoundWords_Replacements;
19436
+ allowList?: _UnicornConsistentCompoundWords_TrueObject;
19437
+ }];
19438
+ interface _UnicornConsistentCompoundWords_Replacements {
19439
+ [k: string]: (false | string) | undefined;
19440
+ }
19441
+ interface _UnicornConsistentCompoundWords_TrueObject {
19442
+ [k: string]: true | undefined;
19443
+ } // ----- unicorn/consistent-conditional-object-spread -----
19444
+ type UnicornConsistentConditionalObjectSpread = [] | [("logical" | "ternary")]; // ----- unicorn/consistent-export-decorator-position -----
19445
+ type UnicornConsistentExportDecoratorPosition = [] | [("above" | "before" | "after")]; // ----- unicorn/consistent-function-scoping -----
18487
19446
  type UnicornConsistentFunctionScoping = [] | [{
18488
19447
  checkArrowFunctions?: boolean;
19448
+ }]; // ----- unicorn/consistent-function-style -----
19449
+ type UnicornConsistentFunctionStyle = [] | [{
19450
+ default?: ("declaration" | "function-expression" | "arrow-function" | "ignore");
19451
+ namedFunctions?: ("declaration" | "function-expression" | "arrow-function" | "ignore");
19452
+ namedExports?: ("declaration" | "function-expression" | "arrow-function" | "ignore");
19453
+ callbacks?: ("function-expression" | "arrow-function" | "ignore");
19454
+ objectProperties?: ("method" | "function-expression" | "arrow-function" | "ignore");
19455
+ reassignedVariables?: ("function-expression" | "arrow-function" | "ignore");
19456
+ typedVariables?: ("function-expression" | "arrow-function" | "ignore");
19457
+ }]; // ----- unicorn/consistent-json-file-read -----
19458
+ type UnicornConsistentJsonFileRead = [] | [("string" | "buffer")]; // ----- unicorn/default-export-style -----
19459
+ type UnicornDefaultExportStyle = [] | [{
19460
+ functions?: ("inline" | "separate" | "ignore");
19461
+ classes?: ("inline" | "separate" | "ignore");
19462
+ }]; // ----- unicorn/dom-node-dataset -----
19463
+ type UnicornDomNodeDataset = [] | [{
19464
+ preferAttributes?: boolean;
18489
19465
  }]; // ----- unicorn/escape-case -----
18490
19466
  type UnicornEscapeCase = [] | [("uppercase" | "lowercase")]; // ----- unicorn/expiring-todo-comments -----
18491
19467
  type UnicornExpiringTodoComments = [] | [{
18492
19468
  terms?: string[];
18493
19469
  ignore?: unknown[];
18494
- ignoreDates?: boolean;
18495
- ignoreDatesOnPullRequests?: boolean;
19470
+ checkDates?: boolean;
19471
+ checkDatesOnPullRequests?: boolean;
18496
19472
  allowWarningComments?: boolean;
18497
19473
  date?: string;
18498
19474
  }]; // ----- unicorn/explicit-length-check -----
18499
19475
  type UnicornExplicitLengthCheck = [] | [{
18500
19476
  "non-zero"?: ("greater-than" | "not-equal");
18501
- }]; // ----- unicorn/filename-case -----
19477
+ }]; // ----- unicorn/explicit-timer-delay -----
19478
+ type UnicornExplicitTimerDelay = [] | [("always" | "never")]; // ----- unicorn/filename-case -----
18502
19479
  type UnicornFilenameCase = [] | [({
18503
- case?: ("camelCase" | "snakeCase" | "kebabCase" | "pascalCase");
19480
+ case?: ("camelCase" | "camelCaseWithAcronyms" | "snakeCase" | "kebabCase" | "pascalCase");
18504
19481
  ignore?: unknown[];
18505
19482
  multipleFileExtensions?: boolean;
19483
+ checkDirectories?: boolean;
18506
19484
  } | {
18507
19485
  cases?: {
18508
19486
  camelCase?: boolean;
19487
+ camelCaseWithAcronyms?: boolean;
18509
19488
  snakeCase?: boolean;
18510
19489
  kebabCase?: boolean;
18511
19490
  pascalCase?: boolean;
18512
19491
  };
18513
19492
  ignore?: unknown[];
18514
19493
  multipleFileExtensions?: boolean;
18515
- })]; // ----- unicorn/import-style -----
19494
+ checkDirectories?: boolean;
19495
+ })]; // ----- unicorn/id-match -----
19496
+ type UnicornIdMatch = [] | [string] | [string, {
19497
+ properties?: boolean;
19498
+ classFields?: boolean;
19499
+ onlyDeclarations?: boolean;
19500
+ ignoreDestructuring?: boolean;
19501
+ checkNamedSpecifiers?: boolean;
19502
+ }]; // ----- unicorn/import-style -----
18516
19503
  type UnicornImportStyle = [] | [{
18517
19504
  checkImport?: boolean;
18518
19505
  checkDynamicImport?: boolean;
@@ -18535,6 +19522,38 @@ type UnicornIsolatedFunctions = [] | [{
18535
19522
  functions?: string[];
18536
19523
  selectors?: string[];
18537
19524
  comments?: string[];
19525
+ }]; // ----- unicorn/logical-assignment-operators -----
19526
+ type UnicornLogicalAssignmentOperators = (([] | ["always"] | ["always", {
19527
+ enforceForIfStatements?: boolean;
19528
+ }] | ["never"]) & unknown[]); // ----- unicorn/max-nested-calls -----
19529
+ type UnicornMaxNestedCalls = [] | [{
19530
+ max?: number;
19531
+ }]; // ----- unicorn/name-replacements -----
19532
+ type UnicornNameReplacements = [] | [{
19533
+ checkProperties?: boolean;
19534
+ checkVariables?: boolean;
19535
+ checkDefaultAndNamespaceImports?: (boolean | string);
19536
+ checkShorthandImports?: (boolean | string);
19537
+ checkShorthandProperties?: boolean;
19538
+ checkFilenames?: boolean;
19539
+ extendDefaultReplacements?: boolean;
19540
+ replacements?: _UnicornNameReplacements_NameReplacements;
19541
+ extendDefaultAllowList?: boolean;
19542
+ allowList?: _UnicornNameReplacements_BooleanObject;
19543
+ ignore?: unknown[];
19544
+ }];
19545
+ type _UnicornNameReplacementsReplacements = (false | _UnicornNameReplacements_BooleanObject) | undefined;
19546
+ interface _UnicornNameReplacements_NameReplacements {
19547
+ [k: string]: _UnicornNameReplacementsReplacements | undefined;
19548
+ }
19549
+ interface _UnicornNameReplacements_BooleanObject {
19550
+ [k: string]: boolean | undefined;
19551
+ }
19552
+ interface _UnicornNameReplacements_BooleanObject {
19553
+ [k: string]: boolean | undefined;
19554
+ } // ----- unicorn/no-array-callback-reference -----
19555
+ type UnicornNoArrayCallbackReference = [] | [{
19556
+ ignore?: string[];
18538
19557
  }]; // ----- unicorn/no-array-reduce -----
18539
19558
  type UnicornNoArrayReduce = [] | [{
18540
19559
  allowSimpleOperations?: boolean;
@@ -18544,28 +19563,47 @@ type UnicornNoArrayReverse = [] | [{
18544
19563
  }]; // ----- unicorn/no-array-sort -----
18545
19564
  type UnicornNoArraySort = [] | [{
18546
19565
  allowExpressionStatement?: boolean;
19566
+ }]; // ----- unicorn/no-empty-file -----
19567
+ type UnicornNoEmptyFile = [] | [{
19568
+ allowComments?: boolean;
18547
19569
  }]; // ----- unicorn/no-instanceof-builtins -----
18548
19570
  type UnicornNoInstanceofBuiltins = [] | [{
18549
19571
  useErrorIsError?: boolean;
18550
19572
  strategy?: ("loose" | "strict");
18551
19573
  include?: string[];
18552
19574
  exclude?: string[];
19575
+ }]; // ----- unicorn/no-invalid-argument-count -----
19576
+ type UnicornNoInvalidArgumentCount = [] | [{
19577
+ [k: string]: (number | [number, ...(number)[]] | {
19578
+ min?: number;
19579
+ max?: number;
19580
+ }) | undefined;
18553
19581
  }]; // ----- unicorn/no-keyword-prefix -----
18554
19582
  type UnicornNoKeywordPrefix = [] | [{
18555
19583
  disallowedPrefixes?: [] | [string];
18556
19584
  checkProperties?: boolean;
18557
19585
  onlyCamelCase?: boolean;
19586
+ }]; // ----- unicorn/no-negated-comparison -----
19587
+ type UnicornNoNegatedComparison = [] | [{
19588
+ checkLogicalExpressions?: boolean;
19589
+ }]; // ----- unicorn/no-non-function-verb-prefix -----
19590
+ type UnicornNoNonFunctionVerbPrefix = [] | [{
19591
+ verbs?: string[];
18558
19592
  }]; // ----- unicorn/no-null -----
18559
19593
  type UnicornNoNull = [] | [{
19594
+ checkArguments?: boolean;
18560
19595
  checkStrictEquality?: boolean;
18561
19596
  }]; // ----- unicorn/no-typeof-undefined -----
18562
19597
  type UnicornNoTypeofUndefined = [] | [{
18563
19598
  checkGlobalVariables?: boolean;
18564
19599
  }]; // ----- unicorn/no-unnecessary-polyfills -----
18565
19600
  type UnicornNoUnnecessaryPolyfills = [] | [{
18566
- targets: (string | unknown[] | {
19601
+ targets?: (string | unknown[] | {
18567
19602
  [k: string]: unknown | undefined;
18568
19603
  });
19604
+ }]; // ----- unicorn/no-unreadable-array-destructuring -----
19605
+ type UnicornNoUnreadableArrayDestructuring = [] | [{
19606
+ maximumIgnoredElements?: number;
18569
19607
  }]; // ----- unicorn/no-useless-undefined -----
18570
19608
  type UnicornNoUselessUndefined = [] | [{
18571
19609
  checkArguments?: boolean;
@@ -18594,9 +19632,11 @@ type UnicornNumericSeparatorsStyle = [] | [{
18594
19632
  onlyIfContainsSeparator?: boolean;
18595
19633
  minimumDigits?: number;
18596
19634
  groupLength?: number;
19635
+ fractionGroupLength?: number;
18597
19636
  };
18598
19637
  onlyIfContainsSeparator?: boolean;
18599
- }]; // ----- unicorn/prefer-add-event-listener -----
19638
+ }]; // ----- unicorn/operator-assignment -----
19639
+ type UnicornOperatorAssignment = [] | [("always" | "never")]; // ----- unicorn/prefer-add-event-listener -----
18600
19640
  type UnicornPreferAddEventListener = [] | [{
18601
19641
  excludedPackages?: string[];
18602
19642
  }]; // ----- unicorn/prefer-array-find -----
@@ -18609,9 +19649,22 @@ type UnicornPreferArrayFlat = [] | [{
18609
19649
  type UnicornPreferAt = [] | [{
18610
19650
  getLastElementFunctions?: unknown[];
18611
19651
  checkAllIndexAccess?: boolean;
19652
+ }]; // ----- unicorn/prefer-continue -----
19653
+ type UnicornPreferContinue = [] | [{
19654
+ maximumStatements?: number;
19655
+ }]; // ----- unicorn/prefer-early-return -----
19656
+ type UnicornPreferEarlyReturn = [] | [{
19657
+ maximumStatements?: number;
18612
19658
  }]; // ----- unicorn/prefer-export-from -----
18613
19659
  type UnicornPreferExportFrom = [] | [{
18614
- ignoreUsedVariables?: boolean;
19660
+ checkUsedVariables?: boolean;
19661
+ }]; // ----- unicorn/prefer-includes-over-repeated-comparisons -----
19662
+ type UnicornPreferIncludesOverRepeatedComparisons = [] | [{
19663
+ minimumComparisons?: number;
19664
+ }]; // ----- unicorn/prefer-minimal-ternary -----
19665
+ type UnicornPreferMinimalTernary = [] | [{
19666
+ checkVaryingCallee?: boolean;
19667
+ checkComputedMemberAccess?: boolean;
18615
19668
  }]; // ----- unicorn/prefer-number-properties -----
18616
19669
  type UnicornPreferNumberProperties = [] | [{
18617
19670
  checkInfinity?: boolean;
@@ -18619,9 +19672,22 @@ type UnicornPreferNumberProperties = [] | [{
18619
19672
  }]; // ----- unicorn/prefer-object-from-entries -----
18620
19673
  type UnicornPreferObjectFromEntries = [] | [{
18621
19674
  functions?: unknown[];
19675
+ }]; // ----- unicorn/prefer-query-selector -----
19676
+ type UnicornPreferQuerySelector = [] | [{
19677
+ allowWithVariables?: boolean;
19678
+ }]; // ----- unicorn/prefer-queue-microtask -----
19679
+ type UnicornPreferQueueMicrotask = [] | [{
19680
+ checkSetImmediate?: boolean;
19681
+ checkSetTimeout?: boolean;
19682
+ }]; // ----- unicorn/prefer-set-has -----
19683
+ type UnicornPreferSetHas = [] | [{
19684
+ minimumItems?: number;
18622
19685
  }]; // ----- unicorn/prefer-single-call -----
18623
19686
  type UnicornPreferSingleCall = [] | [{
18624
19687
  ignore?: unknown[];
19688
+ }]; // ----- unicorn/prefer-string-repeat -----
19689
+ type UnicornPreferStringRepeat = [] | [{
19690
+ minimumRepetitions?: number;
18625
19691
  }]; // ----- unicorn/prefer-structured-clone -----
18626
19692
  type UnicornPreferStructuredClone = [] | [{
18627
19693
  functions?: unknown[];
@@ -18629,42 +19695,29 @@ type UnicornPreferStructuredClone = [] | [{
18629
19695
  type UnicornPreferSwitch = [] | [{
18630
19696
  minimumCases?: number;
18631
19697
  emptyDefaultCase?: ("no-default-comment" | "do-nothing-comment" | "no-default-case");
19698
+ }]; // ----- unicorn/prefer-temporal -----
19699
+ type UnicornPreferTemporal = [] | [{
19700
+ checkDateNow?: boolean;
19701
+ checkReferences?: boolean;
19702
+ checkMethods?: boolean;
18632
19703
  }]; // ----- unicorn/prefer-ternary -----
18633
- type UnicornPreferTernary = [] | [("always" | "only-single-line")]; // ----- unicorn/prevent-abbreviations -----
18634
- type UnicornPreventAbbreviations = [] | [{
18635
- checkProperties?: boolean;
18636
- checkVariables?: boolean;
18637
- checkDefaultAndNamespaceImports?: (boolean | string);
18638
- checkShorthandImports?: (boolean | string);
18639
- checkShorthandProperties?: boolean;
18640
- checkFilenames?: boolean;
18641
- extendDefaultReplacements?: boolean;
18642
- replacements?: _UnicornPreventAbbreviations_Abbreviations;
18643
- extendDefaultAllowList?: boolean;
18644
- allowList?: _UnicornPreventAbbreviations_BooleanObject;
18645
- ignore?: unknown[];
18646
- }];
18647
- type _UnicornPreventAbbreviationsReplacements = (false | _UnicornPreventAbbreviations_BooleanObject) | undefined;
18648
- interface _UnicornPreventAbbreviations_Abbreviations {
18649
- [k: string]: _UnicornPreventAbbreviationsReplacements | undefined;
18650
- }
18651
- interface _UnicornPreventAbbreviations_BooleanObject {
18652
- [k: string]: boolean | undefined;
18653
- }
18654
- interface _UnicornPreventAbbreviations_BooleanObject {
18655
- [k: string]: boolean | undefined;
18656
- } // ----- unicorn/relative-url-style -----
18657
- type UnicornRelativeUrlStyle = [] | [("never" | "always")]; // ----- unicorn/string-content -----
19704
+ type UnicornPreferTernary = [] | [("always" | "only-single-line")]; // ----- unicorn/relative-url-style -----
19705
+ type UnicornRelativeUrlStyle = [] | [("never" | "always")]; // ----- unicorn/require-css-escape -----
19706
+ type UnicornRequireCssEscape = [] | [{
19707
+ checkAllSelectors?: boolean;
19708
+ }]; // ----- unicorn/string-content -----
18658
19709
  type UnicornStringContent = [] | [{
18659
19710
  patterns?: {
18660
19711
  [k: string]: (string | {
18661
19712
  suggest: string;
18662
19713
  fix?: boolean;
19714
+ caseSensitive?: boolean;
18663
19715
  message?: string;
18664
19716
  }) | undefined;
18665
19717
  };
19718
+ selectors?: string[];
18666
19719
  }]; // ----- unicorn/switch-case-braces -----
18667
- type UnicornSwitchCaseBraces = [] | [("always" | "avoid")]; // ----- unicorn/template-indent -----
19720
+ type UnicornSwitchCaseBraces = [] | [("always" | "avoid" | "single-statement")]; // ----- unicorn/template-indent -----
18668
19721
  type UnicornTemplateIndent = [] | [{
18669
19722
  indent?: (string | number);
18670
19723
  tags?: string[];
@@ -18674,6 +19727,9 @@ type UnicornTemplateIndent = [] | [{
18674
19727
  }]; // ----- unicorn/text-encoding-identifier-case -----
18675
19728
  type UnicornTextEncodingIdentifierCase = [] | [{
18676
19729
  withDash?: boolean;
19730
+ }]; // ----- unicorn/try-complexity -----
19731
+ type UnicornTryComplexity = [] | [{
19732
+ max?: number;
18677
19733
  }]; // ----- unocss/enforce-class-compile -----
18678
19734
  type UnocssEnforceClassCompile = [] | [{
18679
19735
  prefix?: string;
@@ -18796,6 +19852,7 @@ type VueArrayElementNewline = [] | [(_VueArrayElementNewlineBasicConfig | {
18796
19852
  ArrayPattern?: _VueArrayElementNewlineBasicConfig;
18797
19853
  })];
18798
19854
  type _VueArrayElementNewlineBasicConfig = (("always" | "never" | "consistent") | {
19855
+ consistent?: boolean;
18799
19856
  multiline?: boolean;
18800
19857
  minItems?: (number | null);
18801
19858
  }); // ----- vue/arrow-spacing -----
@@ -18855,9 +19912,14 @@ type VueCommaDangle = [] | [(_VueCommaDangleValue | {
18855
19912
  imports?: _VueCommaDangleValueWithIgnore;
18856
19913
  exports?: _VueCommaDangleValueWithIgnore;
18857
19914
  functions?: _VueCommaDangleValueWithIgnore;
19915
+ importAttributes?: _VueCommaDangleValueWithIgnore;
19916
+ dynamicImports?: _VueCommaDangleValueWithIgnore;
19917
+ enums?: _VueCommaDangleValueWithIgnore;
19918
+ generics?: _VueCommaDangleValueWithIgnore;
19919
+ tuples?: _VueCommaDangleValueWithIgnore;
18858
19920
  })];
18859
19921
  type _VueCommaDangleValue = ("always-multiline" | "always" | "never" | "only-multiline");
18860
- type _VueCommaDangleValueWithIgnore = ("always-multiline" | "always" | "ignore" | "never" | "only-multiline"); // ----- vue/comma-spacing -----
19922
+ type _VueCommaDangleValueWithIgnore = ("always-multiline" | "always" | "never" | "only-multiline" | "ignore"); // ----- vue/comma-spacing -----
18861
19923
  type VueCommaSpacing = [] | [{
18862
19924
  before?: boolean;
18863
19925
  after?: boolean;
@@ -18907,6 +19969,10 @@ type VueFirstAttributeLinebreak = [] | [{
18907
19969
  }]; // ----- vue/func-call-spacing -----
18908
19970
  type VueFuncCallSpacing = ([] | ["never"] | [] | ["always"] | ["always", {
18909
19971
  allowNewlines?: boolean;
19972
+ optionalChain?: {
19973
+ before?: boolean;
19974
+ after?: boolean;
19975
+ };
18910
19976
  }]); // ----- vue/html-button-has-type -----
18911
19977
  type VueHtmlButtonHasType = [] | [{
18912
19978
  button?: boolean;
@@ -18978,6 +20044,7 @@ type VueKeySpacing = [] | [({
18978
20044
  mode?: ("strict" | "minimum");
18979
20045
  beforeColon?: boolean;
18980
20046
  afterColon?: boolean;
20047
+ ignoredNodes?: ("ObjectExpression" | "ObjectPattern" | "ImportDeclaration" | "ExportNamedDeclaration" | "ExportAllDeclaration" | "TSTypeLiteral" | "TSInterfaceBody" | "ClassBody")[];
18981
20048
  } | {
18982
20049
  singleLine?: {
18983
20050
  mode?: ("strict" | "minimum");
@@ -19021,18 +20088,6 @@ type VueKeywordSpacing = [] | [{
19021
20088
  before?: boolean;
19022
20089
  after?: boolean;
19023
20090
  };
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
20091
  boolean?: {
19037
20092
  before?: boolean;
19038
20093
  after?: boolean;
@@ -19125,18 +20180,10 @@ type VueKeywordSpacing = [] | [{
19125
20180
  before?: boolean;
19126
20181
  after?: boolean;
19127
20182
  };
19128
- from?: {
19129
- before?: boolean;
19130
- after?: boolean;
19131
- };
19132
20183
  function?: {
19133
20184
  before?: boolean;
19134
20185
  after?: boolean;
19135
20186
  };
19136
- get?: {
19137
- before?: boolean;
19138
- after?: boolean;
19139
- };
19140
20187
  goto?: {
19141
20188
  before?: boolean;
19142
20189
  after?: boolean;
@@ -19169,10 +20216,6 @@ type VueKeywordSpacing = [] | [{
19169
20216
  before?: boolean;
19170
20217
  after?: boolean;
19171
20218
  };
19172
- let?: {
19173
- before?: boolean;
19174
- after?: boolean;
19175
- };
19176
20219
  long?: {
19177
20220
  before?: boolean;
19178
20221
  after?: boolean;
@@ -19189,10 +20232,6 @@ type VueKeywordSpacing = [] | [{
19189
20232
  before?: boolean;
19190
20233
  after?: boolean;
19191
20234
  };
19192
- of?: {
19193
- before?: boolean;
19194
- after?: boolean;
19195
- };
19196
20235
  package?: {
19197
20236
  before?: boolean;
19198
20237
  after?: boolean;
@@ -19213,10 +20252,6 @@ type VueKeywordSpacing = [] | [{
19213
20252
  before?: boolean;
19214
20253
  after?: boolean;
19215
20254
  };
19216
- set?: {
19217
- before?: boolean;
19218
- after?: boolean;
19219
- };
19220
20255
  short?: {
19221
20256
  before?: boolean;
19222
20257
  after?: boolean;
@@ -19285,10 +20320,66 @@ type VueKeywordSpacing = [] | [{
19285
20320
  before?: boolean;
19286
20321
  after?: boolean;
19287
20322
  };
20323
+ arguments?: {
20324
+ before?: boolean;
20325
+ after?: boolean;
20326
+ };
20327
+ as?: {
20328
+ before?: boolean;
20329
+ after?: boolean;
20330
+ };
20331
+ async?: {
20332
+ before?: boolean;
20333
+ after?: boolean;
20334
+ };
20335
+ await?: {
20336
+ before?: boolean;
20337
+ after?: boolean;
20338
+ };
20339
+ eval?: {
20340
+ before?: boolean;
20341
+ after?: boolean;
20342
+ };
20343
+ from?: {
20344
+ before?: boolean;
20345
+ after?: boolean;
20346
+ };
20347
+ get?: {
20348
+ before?: boolean;
20349
+ after?: boolean;
20350
+ };
20351
+ let?: {
20352
+ before?: boolean;
20353
+ after?: boolean;
20354
+ };
20355
+ of?: {
20356
+ before?: boolean;
20357
+ after?: boolean;
20358
+ };
20359
+ set?: {
20360
+ before?: boolean;
20361
+ after?: boolean;
20362
+ };
20363
+ type?: {
20364
+ before?: boolean;
20365
+ after?: boolean;
20366
+ };
20367
+ using?: {
20368
+ before?: boolean;
20369
+ after?: boolean;
20370
+ };
19288
20371
  yield?: {
19289
20372
  before?: boolean;
19290
20373
  after?: boolean;
19291
20374
  };
20375
+ accessor?: {
20376
+ before?: boolean;
20377
+ after?: boolean;
20378
+ };
20379
+ satisfies?: {
20380
+ before?: boolean;
20381
+ after?: boolean;
20382
+ };
19292
20383
  };
19293
20384
  }]; // ----- vue/match-component-file-name -----
19294
20385
  type VueMatchComponentFileName = [] | [{
@@ -19408,7 +20499,9 @@ type VueMultilineHtmlElementContentNewline = [] | [{
19408
20499
  ignores?: string[];
19409
20500
  allowEmptyLines?: boolean;
19410
20501
  }]; // ----- vue/multiline-ternary -----
19411
- type VueMultilineTernary = [] | [("always" | "always-multiline" | "never")]; // ----- vue/mustache-interpolation-spacing -----
20502
+ type VueMultilineTernary = [] | [("always" | "always-multiline" | "never")] | [("always" | "always-multiline" | "never"), {
20503
+ ignoreJSX?: boolean;
20504
+ }]; // ----- vue/mustache-interpolation-spacing -----
19412
20505
  type VueMustacheInterpolationSpacing = [] | [("always" | "never")]; // ----- vue/new-line-between-multi-line-property -----
19413
20506
  type VueNewLineBetweenMultiLineProperty = [] | [{
19414
20507
  minLineOfMultilineProperty?: number;
@@ -19468,6 +20561,13 @@ type VueNoExtraParens = ([] | ["functions"] | [] | ["all"] | ["all", {
19468
20561
  enforceForNewInMemberExpressions?: boolean;
19469
20562
  enforceForFunctionPrototypeMethods?: boolean;
19470
20563
  allowParensAfterCommentPattern?: string;
20564
+ nestedConditionalExpressions?: boolean;
20565
+ allowNodesInSpreadElement?: {
20566
+ ConditionalExpression?: boolean;
20567
+ LogicalExpression?: boolean;
20568
+ AwaitExpression?: boolean;
20569
+ };
20570
+ ignoredNodes?: string[];
19471
20571
  }]); // ----- vue/no-implicit-coercion -----
19472
20572
  type VueNoImplicitCoercion = [] | [{
19473
20573
  boolean?: boolean;
@@ -19691,14 +20791,41 @@ type VueObjectCurlyNewline = [] | [((("always" | "never") | {
19691
20791
  minProperties?: number;
19692
20792
  consistent?: boolean;
19693
20793
  });
20794
+ TSTypeLiteral?: (("always" | "never") | {
20795
+ multiline?: boolean;
20796
+ minProperties?: number;
20797
+ consistent?: boolean;
20798
+ });
20799
+ TSInterfaceBody?: (("always" | "never") | {
20800
+ multiline?: boolean;
20801
+ minProperties?: number;
20802
+ consistent?: boolean;
20803
+ });
20804
+ TSEnumBody?: (("always" | "never") | {
20805
+ multiline?: boolean;
20806
+ minProperties?: number;
20807
+ consistent?: boolean;
20808
+ });
19694
20809
  })]; // ----- vue/object-curly-spacing -----
19695
20810
  type VueObjectCurlySpacing = [] | [("always" | "never")] | [("always" | "never"), {
19696
20811
  arraysInObjects?: boolean;
19697
20812
  objectsInObjects?: boolean;
20813
+ overrides?: {
20814
+ ObjectPattern?: ("always" | "never");
20815
+ ObjectExpression?: ("always" | "never");
20816
+ ImportDeclaration?: ("always" | "never");
20817
+ ImportAttributes?: ("always" | "never");
20818
+ ExportNamedDeclaration?: ("always" | "never");
20819
+ ExportAllDeclaration?: ("always" | "never");
20820
+ TSMappedType?: ("always" | "never");
20821
+ TSTypeLiteral?: ("always" | "never");
20822
+ TSInterfaceBody?: ("always" | "never");
20823
+ TSEnumBody?: ("always" | "never");
20824
+ };
20825
+ emptyObjects?: ("ignore" | "always" | "never");
19698
20826
  }]; // ----- vue/object-property-newline -----
19699
20827
  type VueObjectPropertyNewline = [] | [{
19700
20828
  allowAllPropertiesOnSameLine?: boolean;
19701
- allowMultiplePropertiesPerLine?: boolean;
19702
20829
  }]; // ----- vue/object-shorthand -----
19703
20830
  type VueObjectShorthand = ([] | [("always" | "methods" | "properties" | "never" | "consistent" | "consistent-as-needed")] | [] | [("always" | "methods" | "properties")] | [("always" | "methods" | "properties"), {
19704
20831
  avoidQuotes?: boolean;
@@ -19708,7 +20835,7 @@ type VueObjectShorthand = ([] | [("always" | "methods" | "properties" | "never"
19708
20835
  avoidQuotes?: boolean;
19709
20836
  avoidExplicitReturnArrows?: boolean;
19710
20837
  }]); // ----- vue/operator-linebreak -----
19711
- type VueOperatorLinebreak = [] | [("after" | "before" | "none" | null)] | [("after" | "before" | "none" | null), {
20838
+ type VueOperatorLinebreak = [] | [(("after" | "before" | "none") | null)] | [(("after" | "before" | "none") | null), {
19712
20839
  overrides?: {
19713
20840
  [k: string]: ("after" | "before" | "none" | "ignore") | undefined;
19714
20841
  };
@@ -19796,6 +20923,7 @@ type VueSpaceInParens = [] | [("always" | "never")] | [("always" | "never"), {
19796
20923
  }]; // ----- vue/space-infix-ops -----
19797
20924
  type VueSpaceInfixOps = [] | [{
19798
20925
  int32Hint?: boolean;
20926
+ ignoreTypes?: boolean;
19799
20927
  }]; // ----- vue/space-unary-ops -----
19800
20928
  type VueSpaceUnaryOps = [] | [{
19801
20929
  words?: boolean;
@@ -19943,6 +21071,10 @@ type YamlNoMultipleEmptyLines = [] | [{
19943
21071
  max: number;
19944
21072
  maxEOF?: number;
19945
21073
  maxBOF?: number;
21074
+ }]; // ----- yaml/no-trailing-spaces -----
21075
+ type YamlNoTrailingSpaces = [] | [{
21076
+ skipBlankLines?: boolean;
21077
+ ignoreComments?: boolean;
19946
21078
  }]; // ----- yaml/plain-scalar -----
19947
21079
  type YamlPlainScalar = [] | [("always" | "never")] | [("always" | "never"), {
19948
21080
  ignorePatterns?: string[];
@@ -20037,7 +21169,7 @@ type Yoda = [] | [("always" | "never")] | [("always" | "never"), {
20037
21169
  exceptRange?: boolean;
20038
21170
  onlyEquality?: boolean;
20039
21171
  }]; // Names of all the configs
20040
- type ConfigNames = 'vinicunca/gitignore' | 'vinicunca/ignores' | 'vinicunca/javascript/setup' | 'vinicunca/javascript/rules' | 'vinicunca/eslint-comments/rules' | 'vinicunca/command/rules' | 'vinicunca/sonar/rules' | 'vinicunca/perfectionist/rules' | 'vinicunca/node/rules' | 'vinicunca/jsdoc/setup' | 'vinicunca/jsdoc/rules' | 'vinicunca/imports/rules' | 'vinicunca/e18e/rules' | 'vinicunca/unicorn/rules' | 'antfu/jsx/setup' | 'vinicunca/typescript/setup' | 'vinicunca/typescript/parser' | 'vinicunca/typescript/type-aware-parser' | 'vinicunca/typescript/rules' | 'vinicunca/typescript/rules-type-aware' | 'antfu/typescript/erasable-syntax-only' | 'vinicunca/stylistic/rules' | 'vinicunca/regexp/rules' | 'vinicunca/test/setup' | 'vinicunca/test/rules' | 'vinicunca/vue/setup' | 'vinicunca/vue/rules' | 'vinicunca/react/setup' | 'vinicunca/react/rules' | 'vinicunca/react/typescript' | 'vinicunca/react/type-aware-rules' | 'vinicunca/nextjs/setup' | 'vinicunca/nextjs/rules' | 'vinicunca/solid/setup' | 'vinicunca/solid/rules' | 'vinicunca/svelte/setup' | 'vinicunca/svelte/rules' | 'vinicunca/unocss' | 'vinicunca/astro/setup' | 'vinicunca/astro/rules' | 'vinicunca/jsonc/setup' | 'vinicunca/jsonc/rules' | 'vinicunca/sort/package-json' | 'vinicunca/sort/tsconfig' | 'vinicunca/pnpm/package-json' | 'vinicunca/pnpm/pnpm-workspace-yaml' | 'vinicunca/pnpm/pnpm-workspace-yaml-sort' | 'vinicunca/yaml/setup' | 'vinicunca/yaml/rules' | 'vinicunca/toml/setup' | 'vinicunca/toml/rules' | 'vinicunca/markdown/setup' | 'vinicunca/markdown/processor' | 'vinicunca/markdown/parser' | 'vinicunca/markdown/rules' | 'vinicunca/markdown/disables/markdown' | 'vinicunca/markdown/disables' | 'vinicunca/formatter/setup' | 'vinicunca/formatter/css' | 'vinicunca/formatter/scss' | 'vinicunca/formatter/less' | 'vinicunca/formatter/html' | 'vinicunca/formatter/xml' | 'vinicunca/formatter/svg' | 'vinicunca/formatter/markdown' | 'vinicunca/formatter/astro' | 'vinicunca/formatter/astro/disables' | 'vinicunca/formatter/graphql' | 'vinicunca/disables/scripts' | 'vinicunca/disables/cli' | 'vinicunca/disables/bin' | 'vinicunca/disables/dts' | 'vinicunca/disables/cjs' | 'vinicunca/disables/config-files';
21172
+ type ConfigNames = 'vinicunca/gitignore' | 'vinicunca/ignores' | 'vinicunca/javascript/setup' | 'vinicunca/javascript/rules' | 'vinicunca/eslint-comments/rules' | 'vinicunca/command/rules' | 'vinicunca/sonar/rules' | 'vinicunca/perfectionist/rules' | 'vinicunca/node/rules' | 'vinicunca/jsdoc/setup' | 'vinicunca/jsdoc/rules' | 'vinicunca/imports/rules' | 'vinicunca/e18e/rules' | 'vinicunca/unicorn/setup' | 'vinicunca/unicorn/rules' | 'antfu/jsx/setup' | 'vinicunca/typescript/setup' | 'vinicunca/typescript/parser' | 'vinicunca/typescript/type-aware-parser' | 'vinicunca/typescript/rules' | 'vinicunca/typescript/rules-type-aware' | 'antfu/typescript/erasable-syntax-only' | 'vinicunca/stylistic/rules' | 'vinicunca/regexp/rules' | 'vinicunca/test/setup' | 'vinicunca/test/rules' | 'vinicunca/vue/setup' | 'vinicunca/vue/rules' | 'vinicunca/react/setup' | 'vinicunca/react/rules' | 'vinicunca/react/typescript' | 'vinicunca/react/type-aware-rules' | 'vinicunca/nextjs/setup' | 'vinicunca/nextjs/rules' | 'vinicunca/solid/setup' | 'vinicunca/solid/rules' | 'vinicunca/svelte/setup' | 'vinicunca/svelte/rules' | 'vinicunca/unocss' | 'vinicunca/astro/setup' | 'vinicunca/astro/rules' | 'vinicunca/jsonc/setup' | 'vinicunca/jsonc/rules' | 'vinicunca/sort/package-json' | 'vinicunca/sort/tsconfig' | 'vinicunca/pnpm/package-json' | 'vinicunca/pnpm/pnpm-workspace-yaml' | 'vinicunca/pnpm/pnpm-workspace-yaml-sort' | 'vinicunca/yaml/setup' | 'vinicunca/yaml/rules' | 'vinicunca/toml/setup' | 'vinicunca/toml/rules' | 'vinicunca/markdown/setup' | 'vinicunca/markdown/processor' | 'vinicunca/markdown/parser' | 'vinicunca/markdown/rules' | 'vinicunca/markdown/disables/markdown' | 'vinicunca/markdown/disables' | 'vinicunca/formatter/setup' | 'vinicunca/formatter/css' | 'vinicunca/formatter/scss' | 'vinicunca/formatter/less' | 'vinicunca/formatter/html' | 'vinicunca/formatter/xml' | 'vinicunca/formatter/svg' | 'vinicunca/formatter/markdown' | 'vinicunca/formatter/astro' | 'vinicunca/formatter/astro/disables' | 'vinicunca/formatter/graphql' | 'vinicunca/disables/scripts' | 'vinicunca/disables/cli' | 'vinicunca/disables/bin' | 'vinicunca/disables/dts' | 'vinicunca/disables/cjs' | 'vinicunca/disables/config-files';
20041
21173
  //#endregion
20042
21174
  //#region src/vendor/prettier-types.d.ts
20043
21175
  /**