@vinicunca/eslint-config 5.2.0 → 5.4.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,12 @@ 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
+ * @deprecated
338
+ */
339
+ 'astro/no-omitted-end-tags'?: Linter.RuleEntry<[]>;
334
340
  /**
335
341
  * disallow `prerender` export outside of pages/ directory
336
342
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-prerender-export-outside-pages/
@@ -389,6 +395,7 @@ interface RuleOptions {
389
395
  /**
390
396
  * disallow warnings when compiling.
391
397
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/valid-compile/
398
+ * @deprecated
392
399
  */
393
400
  'astro/valid-compile'?: Linter.RuleEntry<[]>;
394
401
  /**
@@ -513,10 +520,18 @@ interface RuleOptions {
513
520
  * Disallow dependencies in favor of more performant or secure alternatives
514
521
  */
515
522
  'e18e/ban-dependencies'?: Linter.RuleEntry<E18EBanDependencies>;
523
+ /**
524
+ * Disallow `delete` on properties — V8 deoptimizes the object to dictionary mode
525
+ */
526
+ 'e18e/no-delete-property'?: Linter.RuleEntry<[]>;
516
527
  /**
517
528
  * Prefer optimized alternatives to `indexOf()` equality checks
518
529
  */
519
530
  'e18e/no-indexof-equality'?: Linter.RuleEntry<[]>;
531
+ /**
532
+ * Disallow spreading the accumulator inside a `reduce` callback (O(N²) growth)
533
+ */
534
+ 'e18e/no-spread-in-reduce'?: Linter.RuleEntry<[]>;
520
535
  /**
521
536
  * Prefer Array.prototype.at() over length-based indexing
522
537
  */
@@ -530,7 +545,7 @@ interface RuleOptions {
530
545
  */
531
546
  'e18e/prefer-array-from-map'?: Linter.RuleEntry<[]>;
532
547
  /**
533
- * Prefer Array.some() over Array.find() when checking for element existence
548
+ * Prefer Array.some() over Array.find() and Array.filter().length checks when checking for element existence
534
549
  */
535
550
  'e18e/prefer-array-some'?: Linter.RuleEntry<[]>;
536
551
  /**
@@ -553,10 +568,22 @@ interface RuleOptions {
553
568
  * Prefer the exponentiation operator ** over Math.pow()
554
569
  */
555
570
  'e18e/prefer-exponentiation-operator'?: Linter.RuleEntry<[]>;
571
+ /**
572
+ * Prefer Array.prototype.flatMap() over .map(fn).flat() to avoid the intermediate array
573
+ */
574
+ 'e18e/prefer-flatmap-over-map-flat'?: Linter.RuleEntry<[]>;
575
+ /**
576
+ * Prefer `Map.prototype.getOrInsert()` over reading an entry with a default and writing it back
577
+ */
578
+ 'e18e/prefer-get-or-insert'?: Linter.RuleEntry<[]>;
556
579
  /**
557
580
  * Prefer .includes() over indexOf() comparisons for arrays and strings
558
581
  */
559
582
  'e18e/prefer-includes'?: Linter.RuleEntry<[]>;
583
+ /**
584
+ * Prefer String.prototype.{includes,startsWith,endsWith} over equivalent regex.test() calls
585
+ */
586
+ 'e18e/prefer-includes-over-regex-test'?: Linter.RuleEntry<[]>;
560
587
  /**
561
588
  * Prefer inline equality checks over temporary object creation for simple comparisons
562
589
  */
@@ -577,10 +604,18 @@ interface RuleOptions {
577
604
  * Prefer spread syntax over Array.concat(), Array.from(), Object.assign({}, ...), and Function.apply()
578
605
  */
579
606
  'e18e/prefer-spread-syntax'?: Linter.RuleEntry<[]>;
607
+ /**
608
+ * Prefer hoisting an `Intl.Collator` instance over calling localeCompare in a sort callback
609
+ */
610
+ 'e18e/prefer-static-collator'?: Linter.RuleEntry<[]>;
580
611
  /**
581
612
  * Prefer defining regular expressions at module scope to avoid re-compilation on every function call
582
613
  */
583
614
  'e18e/prefer-static-regex'?: Linter.RuleEntry<[]>;
615
+ /**
616
+ * Prefer String.fromCharCode() over String.fromCodePoint() for code points below 0x10000
617
+ */
618
+ 'e18e/prefer-string-fromcharcode'?: Linter.RuleEntry<[]>;
584
619
  /**
585
620
  * Prefer passing function and arguments directly to setTimeout/setInterval instead of wrapping in an arrow function or using bind
586
621
  */
@@ -2063,7 +2098,7 @@ interface RuleOptions {
2063
2098
  * Disallow expressions where the operation doesn't affect the value
2064
2099
  * @see https://eslint.org/docs/latest/rules/no-constant-binary-expression
2065
2100
  */
2066
- 'no-constant-binary-expression'?: Linter.RuleEntry<[]>;
2101
+ 'no-constant-binary-expression'?: Linter.RuleEntry<NoConstantBinaryExpression>;
2067
2102
  /**
2068
2103
  * Disallow constant expressions in conditions
2069
2104
  * @see https://eslint.org/docs/latest/rules/no-constant-condition
@@ -3407,7 +3442,7 @@ interface RuleOptions {
3407
3442
  */
3408
3443
  'react/globals'?: Linter.RuleEntry<[]>;
3409
3444
  /**
3410
- * Validates against mutating props, state, and other values that are immutable.
3445
+ * Validates against passing functions that mutate captured local variables into frozen contexts such as JSX props, hook arguments, and hook return values.
3411
3446
  * @see https://eslint-react.xyz/docs/rules/immutability
3412
3447
  */
3413
3448
  'react/immutability'?: Linter.RuleEntry<[]>;
@@ -3532,7 +3567,7 @@ interface RuleOptions {
3532
3567
  */
3533
3568
  'react/no-context-provider'?: Linter.RuleEntry<[]>;
3534
3569
  /**
3535
- * Disallows 'createRef' in function components.
3570
+ * Disallows 'createRef' in function components and Hooks.
3536
3571
  * @see https://eslint-react.xyz/docs/rules/no-create-ref
3537
3572
  */
3538
3573
  'react/no-create-ref'?: Linter.RuleEntry<[]>;
@@ -3657,7 +3692,7 @@ interface RuleOptions {
3657
3692
  */
3658
3693
  'react/no-unused-props'?: Linter.RuleEntry<[]>;
3659
3694
  /**
3660
- * Warns about state variables that are defined but never used, or only used in effects.
3695
+ * Warns about state variables that are defined but never used.
3661
3696
  * @see https://eslint-react.xyz/docs/rules/no-unused-state
3662
3697
  */
3663
3698
  'react/no-unused-state'?: Linter.RuleEntry<[]>;
@@ -3726,6 +3761,11 @@ interface RuleOptions {
3726
3761
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-fetch
3727
3762
  */
3728
3763
  'react/web-api-no-leaked-fetch'?: Linter.RuleEntry<[]>;
3764
+ /**
3765
+ * Enforces that every 'IntersectionObserver' created in a component or custom hook has a corresponding 'IntersectionObserver.disconnect()'.
3766
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-intersection-observer
3767
+ */
3768
+ 'react/web-api-no-leaked-intersection-observer'?: Linter.RuleEntry<[]>;
3729
3769
  /**
3730
3770
  * Enforces that every 'setInterval' in a component or custom hook has a corresponding 'clearInterval'.
3731
3771
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval
@@ -3757,7 +3797,7 @@ interface RuleOptions {
3757
3797
  */
3758
3798
  'react/x-globals'?: Linter.RuleEntry<[]>;
3759
3799
  /**
3760
- * Validates against mutating props, state, and other values that are immutable.
3800
+ * Validates against passing functions that mutate captured local variables into frozen contexts such as JSX props, hook arguments, and hook return values.
3761
3801
  * @see https://eslint-react.xyz/docs/rules/immutability
3762
3802
  */
3763
3803
  'react/x-immutability'?: Linter.RuleEntry<[]>;
@@ -3827,7 +3867,7 @@ interface RuleOptions {
3827
3867
  */
3828
3868
  'react/x-no-context-provider'?: Linter.RuleEntry<[]>;
3829
3869
  /**
3830
- * Disallows 'createRef' in function components.
3870
+ * Disallows 'createRef' in function components and Hooks.
3831
3871
  * @see https://eslint-react.xyz/docs/rules/no-create-ref
3832
3872
  */
3833
3873
  'react/x-no-create-ref'?: Linter.RuleEntry<[]>;
@@ -3952,7 +3992,7 @@ interface RuleOptions {
3952
3992
  */
3953
3993
  'react/x-no-unused-props'?: Linter.RuleEntry<[]>;
3954
3994
  /**
3955
- * Warns about state variables that are defined but never used, or only used in effects.
3995
+ * Warns about state variables that are defined but never used.
3956
3996
  * @see https://eslint-react.xyz/docs/rules/no-unused-state
3957
3997
  */
3958
3998
  'react/x-no-unused-state'?: Linter.RuleEntry<[]>;
@@ -4602,12 +4642,17 @@ interface RuleOptions {
4602
4642
  */
4603
4643
  'sonar/assertions-in-tests'?: Linter.RuleEntry<[]>;
4604
4644
  /**
4605
- * Creating public APIs is security-sensitive
4645
+ * Async test assertions should be awaited or returned
4646
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8780/javascript
4647
+ */
4648
+ 'sonar/async-test-assertions'?: Linter.RuleEntry<[]>;
4649
+ /**
4650
+ * AWS API Gateway should require authentication
4606
4651
  * @see https://sonarsource.github.io/rspec/#/rspec/S6333/javascript
4607
4652
  */
4608
4653
  'sonar/aws-apigateway-public-api'?: Linter.RuleEntry<[]>;
4609
4654
  /**
4610
- * Allowing public network access to cloud resources is security-sensitive
4655
+ * Public network access to cloud resources should be disabled
4611
4656
  * @see https://sonarsource.github.io/rspec/#/rspec/S6329/javascript
4612
4657
  */
4613
4658
  'sonar/aws-ec2-rds-dms-public'?: Linter.RuleEntry<[]>;
@@ -4617,7 +4662,7 @@ interface RuleOptions {
4617
4662
  */
4618
4663
  'sonar/aws-ec2-unencrypted-ebs-volume'?: Linter.RuleEntry<[]>;
4619
4664
  /**
4620
- * Using unencrypted EFS file systems is security-sensitive
4665
+ * Amazon EFS file systems should be encrypted
4621
4666
  * @see https://sonarsource.github.io/rspec/#/rspec/S6332/javascript
4622
4667
  */
4623
4668
  'sonar/aws-efs-unencrypted'?: Linter.RuleEntry<[]>;
@@ -4627,7 +4672,7 @@ interface RuleOptions {
4627
4672
  */
4628
4673
  'sonar/aws-iam-all-privileges'?: Linter.RuleEntry<[]>;
4629
4674
  /**
4630
- * Policies granting access to all resources of an account are security-sensitive
4675
+ * IAM policies should not grant access to all account resources
4631
4676
  * @see https://sonarsource.github.io/rspec/#/rspec/S6304/javascript
4632
4677
  */
4633
4678
  'sonar/aws-iam-all-resources-accessible'?: Linter.RuleEntry<[]>;
@@ -4662,33 +4707,27 @@ interface RuleOptions {
4662
4707
  */
4663
4708
  'sonar/aws-s3-bucket-granted-access'?: Linter.RuleEntry<[]>;
4664
4709
  /**
4665
- * Authorizing HTTP communications with S3 buckets is security-sensitive
4710
+ * S3 buckets should enforce HTTPS-only access
4666
4711
  * @see https://sonarsource.github.io/rspec/#/rspec/S6249/javascript
4667
4712
  */
4668
4713
  'sonar/aws-s3-bucket-insecure-http'?: Linter.RuleEntry<[]>;
4669
4714
  /**
4670
- * Allowing public ACLs or policies on a S3 bucket is security-sensitive
4715
+ * Amazon S3 bucket public access should be fully blocked
4671
4716
  * @see https://sonarsource.github.io/rspec/#/rspec/S6281/javascript
4672
4717
  */
4673
4718
  'sonar/aws-s3-bucket-public-access'?: Linter.RuleEntry<[]>;
4674
4719
  /**
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
4720
+ * Amazon S3 buckets should have versioning enabled
4682
4721
  * @see https://sonarsource.github.io/rspec/#/rspec/S6252/javascript
4683
4722
  */
4684
4723
  'sonar/aws-s3-bucket-versioning'?: Linter.RuleEntry<[]>;
4685
4724
  /**
4686
- * Using unencrypted SageMaker notebook instances is security-sensitive
4725
+ * SageMaker notebook instances should be encrypted at rest
4687
4726
  * @see https://sonarsource.github.io/rspec/#/rspec/S6319/javascript
4688
4727
  */
4689
4728
  'sonar/aws-sagemaker-unencrypted-notebook'?: Linter.RuleEntry<[]>;
4690
4729
  /**
4691
- * Using unencrypted SNS topics is security-sensitive
4730
+ * Amazon SNS topics should be encrypted at rest
4692
4731
  * @see https://sonarsource.github.io/rspec/#/rspec/S6327/javascript
4693
4732
  */
4694
4733
  'sonar/aws-sns-unencrypted-topics'?: Linter.RuleEntry<[]>;
@@ -4717,12 +4756,6 @@ interface RuleOptions {
4717
4756
  * @see https://sonarsource.github.io/rspec/#/rspec/S1472/javascript
4718
4757
  */
4719
4758
  '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
4759
  /**
4727
4760
  * Chai assertions should have only one reason to succeed
4728
4761
  * @see https://sonarsource.github.io/rspec/#/rspec/S6092/javascript
@@ -4739,7 +4772,7 @@ interface RuleOptions {
4739
4772
  */
4740
4773
  'sonar/class-prototype'?: Linter.RuleEntry<[]>;
4741
4774
  /**
4742
- * Dynamically executing code is security-sensitive
4775
+ * Dynamic code execution should not use user-controlled data
4743
4776
  * @see https://sonarsource.github.io/rspec/#/rspec/S1523/javascript
4744
4777
  */
4745
4778
  'sonar/code-eval'?: Linter.RuleEntry<[]>;
@@ -4770,8 +4803,9 @@ interface RuleOptions {
4770
4803
  */
4771
4804
  'sonar/conditional-indentation'?: Linter.RuleEntry<[]>;
4772
4805
  /**
4773
- * Allowing confidential information to be logged is security-sensitive
4806
+ * Confidential information should not be logged
4774
4807
  * @see https://sonarsource.github.io/rspec/#/rspec/S5757/javascript
4808
+ * @deprecated
4775
4809
  */
4776
4810
  'sonar/confidential-information-logging'?: Linter.RuleEntry<[]>;
4777
4811
  /**
@@ -4785,28 +4819,22 @@ interface RuleOptions {
4785
4819
  */
4786
4820
  'sonar/content-length'?: Linter.RuleEntry<SonarContentLength>;
4787
4821
  /**
4788
- * Disabling content security policy fetch directives is security-sensitive
4822
+ * Content security policy fetch directives should not be disabled
4789
4823
  * @see https://sonarsource.github.io/rspec/#/rspec/S5728/javascript
4790
4824
  */
4791
4825
  'sonar/content-security-policy'?: Linter.RuleEntry<[]>;
4792
4826
  /**
4793
- * Creating cookies without the "HttpOnly" flag is security-sensitive
4827
+ * Cookies should have the "HttpOnly" flag
4794
4828
  * @see https://sonarsource.github.io/rspec/#/rspec/S3330/javascript
4795
4829
  */
4796
4830
  'sonar/cookie-no-httponly'?: Linter.RuleEntry<[]>;
4797
- /**
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
4831
  /**
4804
4832
  * Cross-Origin Resource Sharing (CORS) policy should be restricted to trusted origins
4805
4833
  * @see https://sonarsource.github.io/rspec/#/rspec/S5122/javascript
4806
4834
  */
4807
4835
  'sonar/cors'?: Linter.RuleEntry<[]>;
4808
4836
  /**
4809
- * Disabling CSRF protections is security-sensitive
4837
+ * CSRF protections should not be disabled
4810
4838
  * @see https://sonarsource.github.io/rspec/#/rspec/S4502/javascript
4811
4839
  */
4812
4840
  'sonar/csrf'?: Linter.RuleEntry<[]>;
@@ -4836,12 +4864,12 @@ interface RuleOptions {
4836
4864
  */
4837
4865
  'sonar/different-types-comparison'?: Linter.RuleEntry<[]>;
4838
4866
  /**
4839
- * Disabling auto-escaping in template engines is security-sensitive
4867
+ * Auto-escaping in HTML template engines should not be disabled
4840
4868
  * @see https://sonarsource.github.io/rspec/#/rspec/S5247/javascript
4841
4869
  */
4842
4870
  'sonar/disabled-auto-escaping'?: Linter.RuleEntry<[]>;
4843
4871
  /**
4844
- * Using remote artifacts without integrity checks is security-sensitive
4872
+ * Remote artifacts should not be used without integrity checks
4845
4873
  * @see https://sonarsource.github.io/rspec/#/rspec/S5725/javascript
4846
4874
  */
4847
4875
  'sonar/disabled-resource-integrity'?: Linter.RuleEntry<[]>;
@@ -4850,12 +4878,6 @@ interface RuleOptions {
4850
4878
  * @see https://sonarsource.github.io/rspec/#/rspec/S6080/javascript
4851
4879
  */
4852
4880
  'sonar/disabled-timeout'?: Linter.RuleEntry<[]>;
4853
- /**
4854
- * Allowing browsers to perform DNS prefetching is security-sensitive
4855
- * @see https://sonarsource.github.io/rspec/#/rspec/S5743/javascript
4856
- * @deprecated
4857
- */
4858
- 'sonar/dns-prefetching'?: Linter.RuleEntry<[]>;
4859
4881
  /**
4860
4882
  * DOMPurify configuration should not be bypassable
4861
4883
  * @see https://sonarsource.github.io/rspec/#/rspec/S8479/javascript
@@ -4881,12 +4903,6 @@ interface RuleOptions {
4881
4903
  * @see https://sonarsource.github.io/rspec/#/rspec/S5842/javascript
4882
4904
  */
4883
4905
  'sonar/empty-string-repetition'?: Linter.RuleEntry<[]>;
4884
- /**
4885
- * Encrypting data is security-sensitive
4886
- * @see https://sonarsource.github.io/rspec/#/rspec/S4787/javascript
4887
- * @deprecated
4888
- */
4889
- 'sonar/encryption'?: Linter.RuleEntry<[]>;
4890
4906
  /**
4891
4907
  * Encryption algorithms should be used with secure mode and padding scheme
4892
4908
  * @see https://sonarsource.github.io/rspec/#/rspec/S5542/javascript
@@ -4938,8 +4954,9 @@ interface RuleOptions {
4938
4954
  */
4939
4955
  'sonar/for-loop-increment-sign'?: Linter.RuleEntry<[]>;
4940
4956
  /**
4941
- * Disabling content security policy frame-ancestors directive is security-sensitive
4957
+ * Content Security Policy frame-ancestors directive should not be disabled
4942
4958
  * @see https://sonarsource.github.io/rspec/#/rspec/S5732/javascript
4959
+ * @deprecated
4943
4960
  */
4944
4961
  'sonar/frame-ancestors'?: Linter.RuleEntry<[]>;
4945
4962
  /**
@@ -4973,15 +4990,21 @@ interface RuleOptions {
4973
4990
  */
4974
4991
  'sonar/hardcoded-secret-signatures'?: Linter.RuleEntry<[]>;
4975
4992
  /**
4976
- * Using weak hashing algorithms is security-sensitive
4993
+ * Weak hashing algorithms should not be used
4977
4994
  * @see https://sonarsource.github.io/rspec/#/rspec/S4790/javascript
4978
4995
  */
4979
4996
  'sonar/hashing'?: Linter.RuleEntry<[]>;
4980
4997
  /**
4981
- * Statically serving hidden files is security-sensitive
4998
+ * Hidden files should not be served statically
4982
4999
  * @see https://sonarsource.github.io/rspec/#/rspec/S5691/javascript
5000
+ * @deprecated
4983
5001
  */
4984
5002
  'sonar/hidden-files'?: Linter.RuleEntry<[]>;
5003
+ /**
5004
+ * Lifecycle hooks should not be interleaved with test cases or nested suites
5005
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8782/javascript
5006
+ */
5007
+ 'sonar/hooks-before-test-cases'?: Linter.RuleEntry<[]>;
4985
5008
  /**
4986
5009
  * "in" should not be used with primitive types
4987
5010
  * @see https://sonarsource.github.io/rspec/#/rspec/S3785/javascript
@@ -5073,7 +5096,7 @@ interface RuleOptions {
5073
5096
  */
5074
5097
  'sonar/no-alphabetical-sort'?: Linter.RuleEntry<[]>;
5075
5098
  /**
5076
- * Disabling Angular built-in sanitization is security-sensitive
5099
+ * Angular built-in sanitization should not be disabled
5077
5100
  * @see https://sonarsource.github.io/rspec/#/rspec/S6268/javascript
5078
5101
  */
5079
5102
  'sonar/no-angular-bypass-sanitization'?: Linter.RuleEntry<[]>;
@@ -5103,7 +5126,7 @@ interface RuleOptions {
5103
5126
  */
5104
5127
  'sonar/no-case-label-in-switch'?: Linter.RuleEntry<[]>;
5105
5128
  /**
5106
- * Using clear-text protocols is security-sensitive
5129
+ * Clear-text protocols should not be used
5107
5130
  * @see https://sonarsource.github.io/rspec/#/rspec/S5332/javascript
5108
5131
  */
5109
5132
  'sonar/no-clear-text-protocols'?: Linter.RuleEntry<[]>;
@@ -5152,6 +5175,11 @@ interface RuleOptions {
5152
5175
  * @see https://sonarsource.github.io/rspec/#/rspec/S1192/javascript
5153
5176
  */
5154
5177
  'sonar/no-duplicate-string'?: Linter.RuleEntry<SonarNoDuplicateString>;
5178
+ /**
5179
+ * Test titles should be unique within the same suite
5180
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8754/javascript
5181
+ */
5182
+ 'sonar/no-duplicate-test-title'?: Linter.RuleEntry<[]>;
5155
5183
  /**
5156
5184
  * Two branches in a conditional structure should not have exactly the same implementation
5157
5185
  * @see https://sonarsource.github.io/rspec/#/rspec/S1871/javascript
@@ -5192,6 +5220,11 @@ interface RuleOptions {
5192
5220
  * @see https://sonarsource.github.io/rspec/#/rspec/S2187/javascript
5193
5221
  */
5194
5222
  'sonar/no-empty-test-file'?: Linter.RuleEntry<[]>;
5223
+ /**
5224
+ * Test and suite titles should not be empty or whitespace-only
5225
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8781/javascript
5226
+ */
5227
+ 'sonar/no-empty-test-title'?: Linter.RuleEntry<[]>;
5195
5228
  /**
5196
5229
  * Equality operators should not be used in "for" loop termination conditions
5197
5230
  * @see https://sonarsource.github.io/rspec/#/rspec/S888/javascript
@@ -5212,11 +5245,21 @@ interface RuleOptions {
5212
5245
  * @see https://sonarsource.github.io/rspec/#/rspec/S128/javascript
5213
5246
  */
5214
5247
  'sonar/no-fallthrough'?: Linter.RuleEntry<[]>;
5248
+ /**
5249
+ * Floating point numbers should not be tested for equality
5250
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1244/javascript
5251
+ */
5252
+ 'sonar/no-floating-point-equality'?: Linter.RuleEntry<[]>;
5215
5253
  /**
5216
5254
  * "for in" should not be used with iterables
5217
5255
  * @see https://sonarsource.github.io/rspec/#/rspec/S4139/javascript
5218
5256
  */
5219
5257
  'sonar/no-for-in-iterable'?: Linter.RuleEntry<[]>;
5258
+ /**
5259
+ * Forced browser interactions should not bypass actionability checks
5260
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8783/javascript
5261
+ */
5262
+ 'sonar/no-forced-browser-interaction'?: Linter.RuleEntry<[]>;
5220
5263
  /**
5221
5264
  * Function declarations should not be made within blocks
5222
5265
  * @see https://sonarsource.github.io/rspec/#/rspec/S1530/javascript
@@ -5297,6 +5340,11 @@ interface RuleOptions {
5297
5340
  * @see https://sonarsource.github.io/rspec/#/rspec/S4619/javascript
5298
5341
  */
5299
5342
  'sonar/no-in-misuse'?: Linter.RuleEntry<[]>;
5343
+ /**
5344
+ * Assertions comparing incompatible types should not be made
5345
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5845/javascript
5346
+ */
5347
+ 'sonar/no-incompatible-assertion-types'?: Linter.RuleEntry<[]>;
5300
5348
  /**
5301
5349
  * Assertions should be complete
5302
5350
  * @see https://sonarsource.github.io/rspec/#/rspec/S2970/javascript
@@ -5318,8 +5366,9 @@ interface RuleOptions {
5318
5366
  */
5319
5367
  'sonar/no-internal-api-use'?: Linter.RuleEntry<[]>;
5320
5368
  /**
5321
- * Using intrusive permissions is security-sensitive
5369
+ * Sensitive permissions should not be requested unnecessarily
5322
5370
  * @see https://sonarsource.github.io/rspec/#/rspec/S5604/javascript
5371
+ * @deprecated
5323
5372
  */
5324
5373
  'sonar/no-intrusive-permissions'?: Linter.RuleEntry<SonarNoIntrusivePermissions>;
5325
5374
  /**
@@ -5338,8 +5387,9 @@ interface RuleOptions {
5338
5387
  */
5339
5388
  'sonar/no-inverted-boolean-check'?: Linter.RuleEntry<[]>;
5340
5389
  /**
5341
- * Forwarding client IP address is security-sensitive
5390
+ * Client IP address should not be forwarded to proxies
5342
5391
  * @see https://sonarsource.github.io/rspec/#/rspec/S5759/javascript
5392
+ * @deprecated
5343
5393
  */
5344
5394
  'sonar/no-ip-forward'?: Linter.RuleEntry<[]>;
5345
5395
  /**
@@ -5353,7 +5403,7 @@ interface RuleOptions {
5353
5403
  */
5354
5404
  'sonar/no-literal-call'?: Linter.RuleEntry<[]>;
5355
5405
  /**
5356
- * Allowing browsers to sniff MIME types is security-sensitive
5406
+ * Browsers should not be allowed to perform MIME type sniffing
5357
5407
  * @see https://sonarsource.github.io/rspec/#/rspec/S5734/javascript
5358
5408
  */
5359
5409
  'sonar/no-mime-sniff'?: Linter.RuleEntry<[]>;
@@ -5368,8 +5418,9 @@ interface RuleOptions {
5368
5418
  */
5369
5419
  'sonar/no-misleading-character-class'?: Linter.RuleEntry<[]>;
5370
5420
  /**
5371
- * Allowing mixed-content is security-sensitive
5421
+ * Content Security Policy should block mixed-content
5372
5422
  * @see https://sonarsource.github.io/rspec/#/rspec/S5730/javascript
5423
+ * @deprecated
5373
5424
  */
5374
5425
  'sonar/no-mixed-content'?: Linter.RuleEntry<[]>;
5375
5426
  /**
@@ -5403,7 +5454,7 @@ interface RuleOptions {
5403
5454
  */
5404
5455
  'sonar/no-nested-template-literals'?: Linter.RuleEntry<[]>;
5405
5456
  /**
5406
- * Searching OS commands in PATH is security-sensitive
5457
+ * OS commands should not rely on PATH resolution
5407
5458
  * @see https://sonarsource.github.io/rspec/#/rspec/S4036/javascript
5408
5459
  */
5409
5460
  'sonar/no-os-command-from-path'?: Linter.RuleEntry<[]>;
@@ -5449,7 +5500,7 @@ interface RuleOptions {
5449
5500
  */
5450
5501
  'sonar/no-reference-error'?: Linter.RuleEntry<[]>;
5451
5502
  /**
5452
- * Disabling strict HTTP no-referrer policy is security-sensitive
5503
+ * HTTP Referrer-Policy should not be set to an unsafe value
5453
5504
  * @see https://sonarsource.github.io/rspec/#/rspec/S5736/javascript
5454
5505
  */
5455
5506
  'sonar/no-referrer-policy'?: Linter.RuleEntry<[]>;
@@ -5514,6 +5565,11 @@ interface RuleOptions {
5514
5565
  * @see https://sonarsource.github.io/rspec/#/rspec/S5257/javascript
5515
5566
  */
5516
5567
  'sonar/no-table-as-layout'?: Linter.RuleEntry<[]>;
5568
+ /**
5569
+ * Assertions should not fail or succeed unconditionally
5570
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5914/javascript
5571
+ */
5572
+ 'sonar/no-trivial-assertions'?: Linter.RuleEntry<[]>;
5517
5573
  /**
5518
5574
  * Promise rejections should not be caught by "try" blocks
5519
5575
  * @see https://sonarsource.github.io/rspec/#/rspec/S4822/javascript
@@ -5595,12 +5651,6 @@ interface RuleOptions {
5595
5651
  * @see https://sonarsource.github.io/rspec/#/rspec/S1526/javascript
5596
5652
  */
5597
5653
  'sonar/no-variable-usage-before-declaration'?: Linter.RuleEntry<[]>;
5598
- /**
5599
- * Disabling Vue.js built-in escaping is security-sensitive
5600
- * @see https://sonarsource.github.io/rspec/#/rspec/S6299/javascript
5601
- * @deprecated
5602
- */
5603
- 'sonar/no-vue-bypass-sanitization'?: Linter.RuleEntry<[]>;
5604
5654
  /**
5605
5655
  * Cipher algorithms should be robust
5606
5656
  * @see https://sonarsource.github.io/rspec/#/rspec/S5547/javascript
@@ -5642,8 +5692,9 @@ interface RuleOptions {
5642
5692
  */
5643
5693
  'sonar/operation-returning-nan'?: Linter.RuleEntry<[]>;
5644
5694
  /**
5645
- * Using shell interpreter when executing OS commands is security-sensitive
5695
+ * OS commands should not be executed using a shell interpreter
5646
5696
  * @see https://sonarsource.github.io/rspec/#/rspec/S4721/javascript
5697
+ * @deprecated
5647
5698
  */
5648
5699
  'sonar/os-command'?: Linter.RuleEntry<[]>;
5649
5700
  /**
@@ -5686,6 +5737,11 @@ interface RuleOptions {
5686
5737
  * @see https://sonarsource.github.io/rspec/#/rspec/S1126/javascript
5687
5738
  */
5688
5739
  'sonar/prefer-single-boolean-return'?: Linter.RuleEntry<[]>;
5740
+ /**
5741
+ * The most specific assertion should be used
5742
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5906/javascript
5743
+ */
5744
+ 'sonar/prefer-specific-assertions'?: Linter.RuleEntry<[]>;
5689
5745
  /**
5690
5746
  * Type predicates should be used
5691
5747
  * @see https://sonarsource.github.io/rspec/#/rspec/S4322/javascript
@@ -5697,18 +5753,12 @@ interface RuleOptions {
5697
5753
  */
5698
5754
  'sonar/prefer-while'?: Linter.RuleEntry<[]>;
5699
5755
  /**
5700
- * Using command line arguments is security-sensitive
5701
- * @see https://sonarsource.github.io/rspec/#/rspec/S4823/javascript
5702
- * @deprecated
5703
- */
5704
- 'sonar/process-argv'?: Linter.RuleEntry<[]>;
5705
- /**
5706
- * Delivering code in production with debug features activated is security-sensitive
5756
+ * Debugging features should not be enabled in production
5707
5757
  * @see https://sonarsource.github.io/rspec/#/rspec/S4507/javascript
5708
5758
  */
5709
5759
  'sonar/production-debug'?: Linter.RuleEntry<[]>;
5710
5760
  /**
5711
- * Using pseudorandom number generators (PRNGs) is security-sensitive
5761
+ * Pseudorandom number generators (PRNGs) should not be used in security contexts
5712
5762
  * @see https://sonarsource.github.io/rspec/#/rspec/S2245/javascript
5713
5763
  */
5714
5764
  'sonar/pseudo-random'?: Linter.RuleEntry<[]>;
@@ -5737,12 +5787,6 @@ interface RuleOptions {
5737
5787
  * @see https://sonarsource.github.io/rspec/#/rspec/S5843/javascript
5738
5788
  */
5739
5789
  'sonar/regex-complexity'?: Linter.RuleEntry<SonarRegexComplexity>;
5740
- /**
5741
- * Using regular expressions is security-sensitive
5742
- * @see https://sonarsource.github.io/rspec/#/rspec/S4784/javascript
5743
- * @deprecated
5744
- */
5745
- 'sonar/regular-expr'?: Linter.RuleEntry<[]>;
5746
5790
  /**
5747
5791
  * Wallet phrases should not be hard-coded
5748
5792
  * @see https://sonarsource.github.io/rspec/#/rspec/S7639/javascript
@@ -5769,18 +5813,12 @@ interface RuleOptions {
5769
5813
  */
5770
5814
  'sonar/single-character-alternation'?: Linter.RuleEntry<[]>;
5771
5815
  /**
5772
- * Using slow regular expressions is security-sensitive
5816
+ * Regular expressions should not cause catastrophic backtracking
5773
5817
  * @see https://sonarsource.github.io/rspec/#/rspec/S5852/javascript
5774
5818
  */
5775
5819
  'sonar/slow-regex'?: Linter.RuleEntry<[]>;
5776
5820
  /**
5777
- * Using Sockets is security-sensitive
5778
- * @see https://sonarsource.github.io/rspec/#/rspec/S4818/javascript
5779
- * @deprecated
5780
- */
5781
- 'sonar/sockets'?: Linter.RuleEntry<[]>;
5782
- /**
5783
- * Formatting SQL queries is security-sensitive
5821
+ * SQL queries should not be dynamically formatted
5784
5822
  * @see https://sonarsource.github.io/rspec/#/rspec/S2077/javascript
5785
5823
  */
5786
5824
  'sonar/sql-queries'?: Linter.RuleEntry<[]>;
@@ -5789,19 +5827,13 @@ interface RuleOptions {
5789
5827
  * @see https://sonarsource.github.io/rspec/#/rspec/S5973/javascript
5790
5828
  */
5791
5829
  'sonar/stable-tests'?: Linter.RuleEntry<[]>;
5792
- /**
5793
- * Reading the Standard Input is security-sensitive
5794
- * @see https://sonarsource.github.io/rspec/#/rspec/S4829/javascript
5795
- * @deprecated
5796
- */
5797
- 'sonar/standard-input'?: Linter.RuleEntry<[]>;
5798
5830
  /**
5799
5831
  * Regular expressions with the global flag should be used with caution
5800
5832
  * @see https://sonarsource.github.io/rspec/#/rspec/S6351/javascript
5801
5833
  */
5802
5834
  'sonar/stateful-regex'?: Linter.RuleEntry<[]>;
5803
5835
  /**
5804
- * Disabling Strict-Transport-Security policy is security-sensitive
5836
+ * HTTP Strict-Transport-Security policy should not be disabled
5805
5837
  * @see https://sonarsource.github.io/rspec/#/rspec/S5739/javascript
5806
5838
  */
5807
5839
  'sonar/strict-transport-security'?: Linter.RuleEntry<[]>;
@@ -5810,6 +5842,11 @@ interface RuleOptions {
5810
5842
  * @see https://sonarsource.github.io/rspec/#/rspec/S3003/javascript
5811
5843
  */
5812
5844
  'sonar/strings-comparison'?: Linter.RuleEntry<[]>;
5845
+ /**
5846
+ * Regular expressions should not cause non-linear backtracking
5847
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8786/javascript
5848
+ */
5849
+ 'sonar/super-linear-regex'?: Linter.RuleEntry<[]>;
5813
5850
  /**
5814
5851
  * Tables should have headers
5815
5852
  * @see https://sonarsource.github.io/rspec/#/rspec/S5256/javascript
@@ -5917,12 +5954,6 @@ interface RuleOptions {
5917
5954
  * @see https://sonarsource.github.io/rspec/#/rspec/S2755/javascript
5918
5955
  */
5919
5956
  'sonar/xml-parser-xxe'?: Linter.RuleEntry<[]>;
5920
- /**
5921
- * Executing XPath expressions is security-sensitive
5922
- * @see https://sonarsource.github.io/rspec/#/rspec/S4817/javascript
5923
- * @deprecated
5924
- */
5925
- 'sonar/xpath'?: Linter.RuleEntry<[]>;
5926
5957
  /**
5927
5958
  * Enforce sorted `import` declarations within modules
5928
5959
  * @see https://eslint.org/docs/latest/rules/sort-imports
@@ -6563,6 +6594,11 @@ interface RuleOptions {
6563
6594
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-add-event-listener/
6564
6595
  */
6565
6596
  'svelte/no-add-event-listener'?: Linter.RuleEntry<[]>;
6597
+ /**
6598
+ * disallow the use of `{@const}` in favor of `{const ...}` declaration tags
6599
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-at-const-tags/
6600
+ */
6601
+ 'svelte/no-at-const-tags'?: Linter.RuleEntry<[]>;
6566
6602
  /**
6567
6603
  * disallow the use of `{@debug}`
6568
6604
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-at-debug-tags/
@@ -6872,7 +6908,7 @@ interface RuleOptions {
6872
6908
  */
6873
6909
  'svelte/valid-each-key'?: Linter.RuleEntry<[]>;
6874
6910
  /**
6875
- * disallow props other than data or errors in SvelteKit page components.
6911
+ * disallow invalid props in SvelteKit route components.
6876
6912
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/valid-prop-names-in-kit-pages/
6877
6913
  */
6878
6914
  'svelte/valid-prop-names-in-kit-pages'?: Linter.RuleEntry<[]>;
@@ -8124,753 +8160,1673 @@ interface RuleOptions {
8124
8160
  */
8125
8161
  'unicode-bom'?: Linter.RuleEntry<UnicodeBom>;
8126
8162
  /**
8127
- * Improve regexes by making them shorter, consistent, and safer.
8128
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/better-regex.md
8163
+ * Prefer better DOM traversal APIs.
8164
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/better-dom-traversing.md
8129
8165
  */
8130
- 'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>;
8166
+ 'unicorn/better-dom-traversing'?: Linter.RuleEntry<[]>;
8167
+ /**
8168
+ * Removed. Prefer `eslint-plugin-regexp`
8169
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/deleted-and-deprecated-rules.md#better-regex
8170
+ * @deprecated
8171
+ */
8172
+ 'unicorn/better-regex'?: Linter.RuleEntry<[]>;
8131
8173
  /**
8132
8174
  * Enforce a specific parameter name in catch clauses.
8133
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/catch-error-name.md
8175
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/catch-error-name.md
8134
8176
  */
8135
8177
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>;
8178
+ /**
8179
+ * Enforce consistent class references in static methods.
8180
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/class-reference-in-static-methods.md
8181
+ */
8182
+ 'unicorn/class-reference-in-static-methods'?: Linter.RuleEntry<UnicornClassReferenceInStaticMethods>;
8183
+ /**
8184
+ * Enforce better comment content.
8185
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/comment-content.md
8186
+ */
8187
+ 'unicorn/comment-content'?: Linter.RuleEntry<UnicornCommentContent>;
8136
8188
  /**
8137
8189
  * Enforce consistent assertion style with `node:assert`.
8138
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-assert.md
8190
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/consistent-assert.md
8139
8191
  */
8140
8192
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>;
8193
+ /**
8194
+ * Enforce consistent naming for boolean names.
8195
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/consistent-boolean-name.md
8196
+ */
8197
+ 'unicorn/consistent-boolean-name'?: Linter.RuleEntry<UnicornConsistentBooleanName>;
8198
+ /**
8199
+ * Enforce consistent class member order.
8200
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/consistent-class-member-order.md
8201
+ */
8202
+ 'unicorn/consistent-class-member-order'?: Linter.RuleEntry<UnicornConsistentClassMemberOrder>;
8203
+ /**
8204
+ * Enforce consistent spelling of compound words in identifiers.
8205
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/consistent-compound-words.md
8206
+ */
8207
+ 'unicorn/consistent-compound-words'?: Linter.RuleEntry<UnicornConsistentCompoundWords>;
8208
+ /**
8209
+ * Enforce consistent conditional object spread style.
8210
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/consistent-conditional-object-spread.md
8211
+ */
8212
+ 'unicorn/consistent-conditional-object-spread'?: Linter.RuleEntry<UnicornConsistentConditionalObjectSpread>;
8141
8213
  /**
8142
8214
  * Prefer passing `Date` directly to the constructor when cloning.
8143
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-date-clone.md
8215
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/consistent-date-clone.md
8144
8216
  */
8145
8217
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>;
8146
8218
  /**
8147
8219
  * Use destructured variables over properties.
8148
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-destructuring.md
8220
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/consistent-destructuring.md
8149
8221
  */
8150
8222
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>;
8151
8223
  /**
8152
8224
  * Prefer consistent types when spreading a ternary in an array literal.
8153
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-empty-array-spread.md
8225
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/consistent-empty-array-spread.md
8154
8226
  */
8155
8227
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>;
8156
8228
  /**
8157
8229
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
8158
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-existence-index-check.md
8230
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/consistent-existence-index-check.md
8159
8231
  */
8160
8232
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>;
8233
+ /**
8234
+ * Enforce consistent decorator position on exported classes.
8235
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/consistent-export-decorator-position.md
8236
+ */
8237
+ 'unicorn/consistent-export-decorator-position'?: Linter.RuleEntry<UnicornConsistentExportDecoratorPosition>;
8161
8238
  /**
8162
8239
  * Move function definitions to the highest possible scope.
8163
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-function-scoping.md
8240
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/consistent-function-scoping.md
8164
8241
  */
8165
8242
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>;
8243
+ /**
8244
+ * Enforce function syntax by role.
8245
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/consistent-function-style.md
8246
+ */
8247
+ 'unicorn/consistent-function-style'?: Linter.RuleEntry<UnicornConsistentFunctionStyle>;
8248
+ /**
8249
+ * Enforce consistent JSON file reads before `JSON.parse()`.
8250
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/consistent-json-file-read.md
8251
+ */
8252
+ 'unicorn/consistent-json-file-read'?: Linter.RuleEntry<UnicornConsistentJsonFileRead>;
8253
+ /**
8254
+ * Enforce consistent optional chaining for same-base member access.
8255
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/consistent-optional-chaining.md
8256
+ */
8257
+ 'unicorn/consistent-optional-chaining'?: Linter.RuleEntry<[]>;
8166
8258
  /**
8167
8259
  * Enforce consistent style for escaping `${` in template literals.
8168
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-template-literal-escape.md
8260
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/consistent-template-literal-escape.md
8169
8261
  */
8170
8262
  'unicorn/consistent-template-literal-escape'?: Linter.RuleEntry<[]>;
8263
+ /**
8264
+ * Enforce consistent labels on tuple type elements.
8265
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/consistent-tuple-labels.md
8266
+ */
8267
+ 'unicorn/consistent-tuple-labels'?: Linter.RuleEntry<[]>;
8171
8268
  /**
8172
8269
  * Enforce correct `Error` subclassing.
8173
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/custom-error-definition.md
8270
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/custom-error-definition.md
8174
8271
  */
8175
8272
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>;
8273
+ /**
8274
+ * Enforce consistent default export declarations.
8275
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/default-export-style.md
8276
+ */
8277
+ 'unicorn/default-export-style'?: Linter.RuleEntry<UnicornDefaultExportStyle>;
8278
+ /**
8279
+ * Enforce consistent style for DOM element dataset access.
8280
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/dom-node-dataset.md
8281
+ */
8282
+ 'unicorn/dom-node-dataset'?: Linter.RuleEntry<UnicornDomNodeDataset>;
8176
8283
  /**
8177
8284
  * Enforce no spaces between braces.
8178
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/empty-brace-spaces.md
8285
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/empty-brace-spaces.md
8179
8286
  */
8180
8287
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>;
8181
8288
  /**
8182
8289
  * Enforce passing a `message` value when creating a built-in error.
8183
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/error-message.md
8290
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/error-message.md
8184
8291
  */
8185
8292
  'unicorn/error-message'?: Linter.RuleEntry<[]>;
8186
8293
  /**
8187
8294
  * Require escape sequences to use uppercase or lowercase values.
8188
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/escape-case.md
8295
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/escape-case.md
8189
8296
  */
8190
8297
  'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>;
8191
8298
  /**
8192
8299
  * Add expiration conditions to TODO comments.
8193
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/expiring-todo-comments.md
8300
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/expiring-todo-comments.md
8194
8301
  */
8195
8302
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>;
8196
8303
  /**
8197
8304
  * Enforce explicitly comparing the `length` or `size` property of a value.
8198
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/explicit-length-check.md
8305
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/explicit-length-check.md
8199
8306
  */
8200
8307
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>;
8201
8308
  /**
8202
- * Enforce a case style for filenames.
8203
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/filename-case.md
8309
+ * Enforce or disallow explicit `delay` argument for `setTimeout()` and `setInterval()`.
8310
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/explicit-timer-delay.md
8311
+ */
8312
+ 'unicorn/explicit-timer-delay'?: Linter.RuleEntry<UnicornExplicitTimerDelay>;
8313
+ /**
8314
+ * Enforce a case style for filenames and directory names.
8315
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/filename-case.md
8204
8316
  */
8205
8317
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>;
8318
+ /**
8319
+ * Require identifiers to match a specified regular expression.
8320
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/id-match.md
8321
+ */
8322
+ 'unicorn/id-match'?: Linter.RuleEntry<UnicornIdMatch>;
8206
8323
  /**
8207
8324
  * Enforce specific import styles per module.
8208
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/import-style.md
8325
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/import-style.md
8209
8326
  */
8210
8327
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>;
8211
8328
  /**
8212
8329
  * Prevent usage of variables from outside the scope of isolated functions.
8213
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/isolated-functions.md
8330
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/isolated-functions.md
8214
8331
  */
8215
8332
  'unicorn/isolated-functions'?: Linter.RuleEntry<UnicornIsolatedFunctions>;
8216
8333
  /**
8217
- * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
8218
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/new-for-builtins.md
8334
+ * Require or disallow logical assignment operator shorthand
8335
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/logical-assignment-operators.md
8336
+ */
8337
+ 'unicorn/logical-assignment-operators'?: Linter.RuleEntry<UnicornLogicalAssignmentOperators>;
8338
+ /**
8339
+ * Limit the depth of nested calls.
8340
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/max-nested-calls.md
8341
+ */
8342
+ 'unicorn/max-nested-calls'?: Linter.RuleEntry<UnicornMaxNestedCalls>;
8343
+ /**
8344
+ * Enforce replacements for variable, property, and filenames.
8345
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/name-replacements.md
8346
+ */
8347
+ 'unicorn/name-replacements'?: Linter.RuleEntry<UnicornNameReplacements>;
8348
+ /**
8349
+ * Enforce correct use of `new` for builtin constructors.
8350
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/new-for-builtins.md
8219
8351
  */
8220
8352
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>;
8221
8353
  /**
8222
8354
  * Enforce specifying rules to disable in `eslint-disable` comments.
8223
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-abusive-eslint-disable.md
8355
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-abusive-eslint-disable.md
8224
8356
  */
8225
8357
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>;
8226
8358
  /**
8227
8359
  * Disallow recursive access to `this` within getters and setters.
8228
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-accessor-recursion.md
8360
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-accessor-recursion.md
8229
8361
  */
8230
8362
  'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>;
8363
+ /**
8364
+ * Disallow bitwise operators where a logical operator was likely intended.
8365
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-accidental-bitwise-operator.md
8366
+ */
8367
+ 'unicorn/no-accidental-bitwise-operator'?: Linter.RuleEntry<[]>;
8231
8368
  /**
8232
8369
  * Disallow anonymous functions and classes as the default export.
8233
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-anonymous-default-export.md
8370
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-anonymous-default-export.md
8234
8371
  */
8235
8372
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>;
8236
8373
  /**
8237
8374
  * Prevent passing a function reference directly to iterator methods.
8238
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-callback-reference.md
8375
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-array-callback-reference.md
8239
8376
  */
8240
- 'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>;
8377
+ 'unicorn/no-array-callback-reference'?: Linter.RuleEntry<UnicornNoArrayCallbackReference>;
8241
8378
  /**
8242
- * Prefer `for…of` over the `forEach` method.
8243
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-for-each.md
8379
+ * Disallow array accumulation with `Array#concat()` in loops.
8380
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-array-concat-in-loop.md
8381
+ */
8382
+ 'unicorn/no-array-concat-in-loop'?: Linter.RuleEntry<[]>;
8383
+ /**
8384
+ * Disallow using reference values as `Array#fill()` values.
8385
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-array-fill-with-reference-type.md
8386
+ */
8387
+ 'unicorn/no-array-fill-with-reference-type'?: Linter.RuleEntry<[]>;
8388
+ /**
8389
+ * Disallow `.fill()` after `Array.from({length: …})`.
8390
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-array-from-fill.md
8391
+ */
8392
+ 'unicorn/no-array-from-fill'?: Linter.RuleEntry<[]>;
8393
+ /**
8394
+ * Disallow front-of-array mutation.
8395
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-array-front-mutation.md
8244
8396
  */
8245
- 'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>;
8397
+ 'unicorn/no-array-front-mutation'?: Linter.RuleEntry<[]>;
8246
8398
  /**
8247
8399
  * Disallow using the `this` argument in array methods.
8248
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-method-this-argument.md
8400
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-array-method-this-argument.md
8249
8401
  */
8250
8402
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>;
8251
8403
  /**
8252
8404
  * Replaced by `unicorn/prefer-single-call` which covers more cases.
8253
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-array-push-push
8405
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/deleted-and-deprecated-rules.md#no-array-push-push
8254
8406
  * @deprecated
8255
8407
  */
8256
8408
  'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>;
8257
8409
  /**
8258
8410
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
8259
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-reduce.md
8411
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-array-reduce.md
8260
8412
  */
8261
8413
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>;
8262
8414
  /**
8263
8415
  * Prefer `Array#toReversed()` over `Array#reverse()`.
8264
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-reverse.md
8416
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-array-reverse.md
8265
8417
  */
8266
8418
  'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>;
8267
8419
  /**
8268
8420
  * Prefer `Array#toSorted()` over `Array#sort()`.
8269
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-sort.md
8421
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-array-sort.md
8270
8422
  */
8271
8423
  'unicorn/no-array-sort'?: Linter.RuleEntry<UnicornNoArraySort>;
8424
+ /**
8425
+ * Disallow sorting arrays to get the minimum or maximum value.
8426
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-array-sort-for-min-max.md
8427
+ */
8428
+ 'unicorn/no-array-sort-for-min-max'?: Linter.RuleEntry<[]>;
8429
+ /**
8430
+ * Prefer `Array#toSpliced()` over `Array#splice()`.
8431
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-array-splice.md
8432
+ */
8433
+ 'unicorn/no-array-splice'?: Linter.RuleEntry<[]>;
8434
+ /**
8435
+ * Disallow asterisk prefixes in documentation comments.
8436
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-asterisk-prefix-in-documentation-comments.md
8437
+ */
8438
+ 'unicorn/no-asterisk-prefix-in-documentation-comments'?: Linter.RuleEntry<[]>;
8439
+ /**
8440
+ * Disallow async functions as `Promise#finally()` callbacks.
8441
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-async-promise-finally.md
8442
+ */
8443
+ 'unicorn/no-async-promise-finally'?: Linter.RuleEntry<[]>;
8272
8444
  /**
8273
8445
  * Disallow member access from await expression.
8274
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-await-expression-member.md
8446
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-await-expression-member.md
8275
8447
  */
8276
8448
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>;
8277
8449
  /**
8278
8450
  * Disallow using `await` in `Promise` method parameters.
8279
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-await-in-promise-methods.md
8451
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-await-in-promise-methods.md
8280
8452
  */
8281
8453
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>;
8454
+ /**
8455
+ * Disallow unnecessary `Blob` to `File` conversion.
8456
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-blob-to-file.md
8457
+ */
8458
+ 'unicorn/no-blob-to-file'?: Linter.RuleEntry<[]>;
8459
+ /**
8460
+ * Disallow boolean-returning sort comparators.
8461
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-boolean-sort-comparator.md
8462
+ */
8463
+ 'unicorn/no-boolean-sort-comparator'?: Linter.RuleEntry<[]>;
8464
+ /**
8465
+ * Disallow `break` and `continue` in nested loops and switches inside loops.
8466
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-break-in-nested-loop.md
8467
+ */
8468
+ 'unicorn/no-break-in-nested-loop'?: Linter.RuleEntry<[]>;
8469
+ /**
8470
+ * Prefer drawing canvases directly instead of converting them to images.
8471
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-canvas-to-image.md
8472
+ */
8473
+ 'unicorn/no-canvas-to-image'?: Linter.RuleEntry<[]>;
8474
+ /**
8475
+ * Disallow chained comparisons such as `a < b < c`.
8476
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-chained-comparison.md
8477
+ */
8478
+ 'unicorn/no-chained-comparison'?: Linter.RuleEntry<[]>;
8479
+ /**
8480
+ * Disallow accessing `Map`, `Set`, `WeakMap`, and `WeakSet` entries with bracket notation.
8481
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-collection-bracket-access.md
8482
+ */
8483
+ 'unicorn/no-collection-bracket-access'?: Linter.RuleEntry<[]>;
8484
+ /**
8485
+ * Disallow dynamic object property existence checks.
8486
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-computed-property-existence-check.md
8487
+ */
8488
+ 'unicorn/no-computed-property-existence-check'?: Linter.RuleEntry<[]>;
8489
+ /**
8490
+ * Disallow confusing uses of `Array#{splice,toSpliced}()`.
8491
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-confusing-array-splice.md
8492
+ */
8493
+ 'unicorn/no-confusing-array-splice'?: Linter.RuleEntry<[]>;
8494
+ /**
8495
+ * Disallow confusing uses of `Array#with()`.
8496
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-confusing-array-with.md
8497
+ */
8498
+ 'unicorn/no-confusing-array-with'?: Linter.RuleEntry<[]>;
8282
8499
  /**
8283
8500
  * Do not use leading/trailing space between `console.log` parameters.
8284
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-console-spaces.md
8501
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-console-spaces.md
8285
8502
  */
8286
8503
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>;
8504
+ /**
8505
+ * Disallow arithmetic and bitwise operations that always evaluate to `0`.
8506
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-constant-zero-expression.md
8507
+ */
8508
+ 'unicorn/no-constant-zero-expression'?: Linter.RuleEntry<[]>;
8509
+ /**
8510
+ * Disallow declarations before conditional early exits when they are only used after the exit.
8511
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-declarations-before-early-exit.md
8512
+ */
8513
+ 'unicorn/no-declarations-before-early-exit'?: Linter.RuleEntry<[]>;
8287
8514
  /**
8288
8515
  * Do not use `document.cookie` directly.
8289
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-document-cookie.md
8516
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-document-cookie.md
8290
8517
  */
8291
8518
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>;
8519
+ /**
8520
+ * Disallow two comparisons of the same operands that can be combined into one.
8521
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-double-comparison.md
8522
+ */
8523
+ 'unicorn/no-double-comparison'?: Linter.RuleEntry<[]>;
8524
+ /**
8525
+ * Disallow duplicate adjacent branches in if chains.
8526
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-duplicate-if-branches.md
8527
+ */
8528
+ 'unicorn/no-duplicate-if-branches'?: Linter.RuleEntry<[]>;
8529
+ /**
8530
+ * Disallow adjacent duplicate operands in logical expressions.
8531
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-duplicate-logical-operands.md
8532
+ */
8533
+ 'unicorn/no-duplicate-logical-operands'?: Linter.RuleEntry<[]>;
8534
+ /**
8535
+ * Disallow `.map()` and `.filter()` in `for…of` and `for await…of` loop headers.
8536
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-duplicate-loops.md
8537
+ */
8538
+ 'unicorn/no-duplicate-loops'?: Linter.RuleEntry<[]>;
8539
+ /**
8540
+ * Disallow duplicate values in `Set` constructor array literals.
8541
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-duplicate-set-values.md
8542
+ */
8543
+ 'unicorn/no-duplicate-set-values'?: Linter.RuleEntry<[]>;
8292
8544
  /**
8293
8545
  * Disallow empty files.
8294
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-empty-file.md
8546
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-empty-file.md
8547
+ */
8548
+ 'unicorn/no-empty-file'?: Linter.RuleEntry<UnicornNoEmptyFile>;
8549
+ /**
8550
+ * Disallow assigning to built-in error properties.
8551
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-error-property-assignment.md
8552
+ */
8553
+ 'unicorn/no-error-property-assignment'?: Linter.RuleEntry<[]>;
8554
+ /**
8555
+ * Disallow exports in scripts.
8556
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-exports-in-scripts.md
8557
+ */
8558
+ 'unicorn/no-exports-in-scripts'?: Linter.RuleEntry<[]>;
8559
+ /**
8560
+ * Prefer `for…of` over the `forEach` method.
8561
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-for-each.md
8295
8562
  */
8296
- 'unicorn/no-empty-file'?: Linter.RuleEntry<[]>;
8563
+ 'unicorn/no-for-each'?: Linter.RuleEntry<[]>;
8297
8564
  /**
8298
8565
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
8299
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-for-loop.md
8566
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-for-loop.md
8300
8567
  */
8301
8568
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>;
8302
8569
  /**
8303
- * Enforce the use of Unicode escapes instead of hexadecimal escapes.
8304
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-hex-escape.md
8570
+ * Disallow assigning properties on the global object.
8571
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-global-object-property-assignment.md
8572
+ */
8573
+ 'unicorn/no-global-object-property-assignment'?: Linter.RuleEntry<[]>;
8574
+ /**
8575
+ * Replaced by `unicorn/prefer-unicode-code-point-escapes` which covers more cases.
8576
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/deleted-and-deprecated-rules.md#no-hex-escape
8577
+ * @deprecated
8305
8578
  */
8306
8579
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>;
8307
8580
  /**
8308
8581
  * Disallow immediate mutation after variable assignment.
8309
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-immediate-mutation.md
8582
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-immediate-mutation.md
8310
8583
  */
8311
8584
  'unicorn/no-immediate-mutation'?: Linter.RuleEntry<[]>;
8585
+ /**
8586
+ * Disallow impossible comparisons against `.length` or `.size`.
8587
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-impossible-length-comparison.md
8588
+ */
8589
+ 'unicorn/no-impossible-length-comparison'?: Linter.RuleEntry<[]>;
8590
+ /**
8591
+ * Disallow incorrect `querySelector()` and `querySelectorAll()` usage.
8592
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-incorrect-query-selector.md
8593
+ */
8594
+ 'unicorn/no-incorrect-query-selector'?: Linter.RuleEntry<[]>;
8595
+ /**
8596
+ * Disallow incorrect template literal interpolation syntax.
8597
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-incorrect-template-string-interpolation.md
8598
+ */
8599
+ 'unicorn/no-incorrect-template-string-interpolation'?: Linter.RuleEntry<[]>;
8312
8600
  /**
8313
8601
  * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
8314
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-instanceof-array
8602
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/deleted-and-deprecated-rules.md#no-instanceof-array
8315
8603
  * @deprecated
8316
8604
  */
8317
8605
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>;
8318
8606
  /**
8319
8607
  * Disallow `instanceof` with built-in objects
8320
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-instanceof-builtins.md
8608
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-instanceof-builtins.md
8321
8609
  */
8322
8610
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>;
8611
+ /**
8612
+ * Disallow calling functions and constructors with an invalid number of arguments.
8613
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-invalid-argument-count.md
8614
+ */
8615
+ 'unicorn/no-invalid-argument-count'?: Linter.RuleEntry<UnicornNoInvalidArgumentCount>;
8616
+ /**
8617
+ * Disallow comparing a single character from a string to a multi-character string.
8618
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-invalid-character-comparison.md
8619
+ */
8620
+ 'unicorn/no-invalid-character-comparison'?: Linter.RuleEntry<[]>;
8323
8621
  /**
8324
8622
  * Disallow invalid options in `fetch()` and `new Request()`.
8325
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-invalid-fetch-options.md
8623
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-invalid-fetch-options.md
8326
8624
  */
8327
8625
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>;
8626
+ /**
8627
+ * Disallow invalid `accept` values on file inputs.
8628
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-invalid-file-input-accept.md
8629
+ */
8630
+ 'unicorn/no-invalid-file-input-accept'?: Linter.RuleEntry<[]>;
8328
8631
  /**
8329
8632
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
8330
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-invalid-remove-event-listener.md
8633
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-invalid-remove-event-listener.md
8331
8634
  */
8332
8635
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>;
8636
+ /**
8637
+ * Disallow invalid implementations of well-known symbol methods.
8638
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-invalid-well-known-symbol-methods.md
8639
+ */
8640
+ 'unicorn/no-invalid-well-known-symbol-methods'?: Linter.RuleEntry<[]>;
8333
8641
  /**
8334
8642
  * Disallow identifiers starting with `new` or `class`.
8335
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-keyword-prefix.md
8643
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-keyword-prefix.md
8336
8644
  */
8337
8645
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>;
8646
+ /**
8647
+ * Disallow accessing `event.currentTarget` after the synchronous event dispatch has finished.
8648
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-late-current-target-access.md
8649
+ */
8650
+ 'unicorn/no-late-current-target-access'?: Linter.RuleEntry<[]>;
8651
+ /**
8652
+ * Disallow event-control method calls after the synchronous event dispatch has finished.
8653
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-late-event-control.md
8654
+ */
8655
+ 'unicorn/no-late-event-control'?: Linter.RuleEntry<[]>;
8338
8656
  /**
8339
8657
  * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
8340
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
8658
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
8341
8659
  * @deprecated
8342
8660
  */
8343
8661
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>;
8344
8662
  /**
8345
8663
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
8346
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-lonely-if.md
8664
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-lonely-if.md
8347
8665
  */
8348
8666
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>;
8667
+ /**
8668
+ * Disallow mutating a loop iterable during iteration.
8669
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-loop-iterable-mutation.md
8670
+ */
8671
+ 'unicorn/no-loop-iterable-mutation'?: Linter.RuleEntry<[]>;
8349
8672
  /**
8350
8673
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
8351
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-magic-array-flat-depth.md
8674
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-magic-array-flat-depth.md
8352
8675
  */
8353
8676
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>;
8677
+ /**
8678
+ * Disallow manually wrapped comments.
8679
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-manually-wrapped-comments.md
8680
+ */
8681
+ 'unicorn/no-manually-wrapped-comments'?: Linter.RuleEntry<[]>;
8682
+ /**
8683
+ * Disallow checking a Map key before accessing a different key.
8684
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-mismatched-map-key.md
8685
+ */
8686
+ 'unicorn/no-mismatched-map-key'?: Linter.RuleEntry<[]>;
8687
+ /**
8688
+ * Disallow misrefactored compound assignments where the target is duplicated in the right-hand side.
8689
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-misrefactored-assignment.md
8690
+ */
8691
+ 'unicorn/no-misrefactored-assignment'?: Linter.RuleEntry<[]>;
8354
8692
  /**
8355
8693
  * Disallow named usage of default import and export.
8356
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-named-default.md
8694
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-named-default.md
8357
8695
  */
8358
8696
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>;
8697
+ /**
8698
+ * Disallow negated array predicate calls.
8699
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-negated-array-predicate.md
8700
+ */
8701
+ 'unicorn/no-negated-array-predicate'?: Linter.RuleEntry<[]>;
8702
+ /**
8703
+ * Disallow negated comparisons.
8704
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-negated-comparison.md
8705
+ */
8706
+ 'unicorn/no-negated-comparison'?: Linter.RuleEntry<UnicornNoNegatedComparison>;
8359
8707
  /**
8360
8708
  * Disallow negated conditions.
8361
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-negated-condition.md
8709
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-negated-condition.md
8362
8710
  */
8363
8711
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>;
8364
8712
  /**
8365
8713
  * Disallow negated expression in equality check.
8366
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-negation-in-equality-check.md
8714
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-negation-in-equality-check.md
8367
8715
  */
8368
8716
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>;
8369
8717
  /**
8370
8718
  * Disallow nested ternary expressions.
8371
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-nested-ternary.md
8719
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-nested-ternary.md
8372
8720
  */
8373
8721
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>;
8374
8722
  /**
8375
8723
  * Disallow `new Array()`.
8376
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-new-array.md
8724
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-new-array.md
8377
8725
  */
8378
8726
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>;
8379
8727
  /**
8380
8728
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
8381
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-new-buffer.md
8729
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-new-buffer.md
8382
8730
  */
8383
8731
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>;
8732
+ /**
8733
+ * Disallow non-function values with function-style verb prefixes.
8734
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-non-function-verb-prefix.md
8735
+ */
8736
+ 'unicorn/no-non-function-verb-prefix'?: Linter.RuleEntry<UnicornNoNonFunctionVerbPrefix>;
8737
+ /**
8738
+ * Disallow non-standard properties on built-in objects.
8739
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-nonstandard-builtin-properties.md
8740
+ */
8741
+ 'unicorn/no-nonstandard-builtin-properties'?: Linter.RuleEntry<[]>;
8384
8742
  /**
8385
8743
  * Disallow the use of the `null` literal.
8386
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-null.md
8744
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-null.md
8387
8745
  */
8388
8746
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>;
8389
8747
  /**
8390
8748
  * Disallow the use of objects as default parameters.
8391
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-object-as-default-parameter.md
8749
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-object-as-default-parameter.md
8392
8750
  */
8393
8751
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>;
8752
+ /**
8753
+ * Disallow `Object` methods with `Map` or `Set`.
8754
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-object-methods-with-collections.md
8755
+ */
8756
+ 'unicorn/no-object-methods-with-collections'?: Linter.RuleEntry<[]>;
8757
+ /**
8758
+ * Disallow optional chaining on undeclared variables.
8759
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-optional-chaining-on-undeclared-variable.md
8760
+ */
8761
+ 'unicorn/no-optional-chaining-on-undeclared-variable'?: Linter.RuleEntry<[]>;
8394
8762
  /**
8395
8763
  * Disallow `process.exit()`.
8396
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-process-exit.md
8764
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-process-exit.md
8397
8765
  */
8398
8766
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>;
8767
+ /**
8768
+ * Disallow comparisons made redundant by an equality check in the same logical AND.
8769
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-redundant-comparison.md
8770
+ */
8771
+ 'unicorn/no-redundant-comparison'?: Linter.RuleEntry<[]>;
8772
+ /**
8773
+ * Disallow using the return value of `Array#push()` and `Array#unshift()`.
8774
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-return-array-push.md
8775
+ */
8776
+ 'unicorn/no-return-array-push'?: Linter.RuleEntry<[]>;
8777
+ /**
8778
+ * Disallow selector syntax in DOM names.
8779
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-selector-as-dom-name.md
8780
+ */
8781
+ 'unicorn/no-selector-as-dom-name'?: Linter.RuleEntry<[]>;
8399
8782
  /**
8400
8783
  * Disallow passing single-element arrays to `Promise` methods.
8401
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-single-promise-in-promise-methods.md
8784
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-single-promise-in-promise-methods.md
8402
8785
  */
8403
8786
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>;
8404
8787
  /**
8405
8788
  * Disallow classes that only have static members.
8406
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-static-only-class.md
8789
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-static-only-class.md
8407
8790
  */
8408
8791
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>;
8792
+ /**
8793
+ * Prefer comparing values directly over subtracting and comparing to `0`.
8794
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-subtraction-comparison.md
8795
+ */
8796
+ 'unicorn/no-subtraction-comparison'?: Linter.RuleEntry<[]>;
8409
8797
  /**
8410
8798
  * Disallow `then` property.
8411
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-thenable.md
8799
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-thenable.md
8412
8800
  */
8413
8801
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>;
8414
8802
  /**
8415
8803
  * Disallow assigning `this` to a variable.
8416
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-this-assignment.md
8804
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-this-assignment.md
8417
8805
  */
8418
8806
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>;
8807
+ /**
8808
+ * Disallow `this` outside of classes.
8809
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-this-outside-of-class.md
8810
+ */
8811
+ 'unicorn/no-this-outside-of-class'?: Linter.RuleEntry<[]>;
8812
+ /**
8813
+ * Disallow assigning to top-level variables from inside functions.
8814
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-top-level-assignment-in-function.md
8815
+ */
8816
+ 'unicorn/no-top-level-assignment-in-function'?: Linter.RuleEntry<[]>;
8817
+ /**
8818
+ * Disallow top-level side effects in exported modules.
8819
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-top-level-side-effects.md
8820
+ */
8821
+ 'unicorn/no-top-level-side-effects'?: Linter.RuleEntry<[]>;
8419
8822
  /**
8420
8823
  * Disallow comparing `undefined` using `typeof`.
8421
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-typeof-undefined.md
8824
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-typeof-undefined.md
8422
8825
  */
8423
8826
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>;
8827
+ /**
8828
+ * Disallow referencing methods without calling them.
8829
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-uncalled-method.md
8830
+ */
8831
+ 'unicorn/no-uncalled-method'?: Linter.RuleEntry<[]>;
8832
+ /**
8833
+ * Require class members to be declared.
8834
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-undeclared-class-members.md
8835
+ */
8836
+ 'unicorn/no-undeclared-class-members'?: Linter.RuleEntry<[]>;
8424
8837
  /**
8425
8838
  * Disallow using `1` as the `depth` argument of `Array#flat()`.
8426
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-array-flat-depth.md
8839
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-unnecessary-array-flat-depth.md
8427
8840
  */
8428
8841
  'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>;
8842
+ /**
8843
+ * Disallow `Array#flatMap()` callbacks that only wrap a single item.
8844
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-unnecessary-array-flat-map.md
8845
+ */
8846
+ 'unicorn/no-unnecessary-array-flat-map'?: Linter.RuleEntry<[]>;
8429
8847
  /**
8430
8848
  * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
8431
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-array-splice-count.md
8849
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-unnecessary-array-splice-count.md
8432
8850
  */
8433
8851
  'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>;
8434
8852
  /**
8435
8853
  * Disallow awaiting non-promise values.
8436
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-await.md
8854
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-unnecessary-await.md
8437
8855
  */
8438
8856
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>;
8857
+ /**
8858
+ * Disallow unnecessary comparisons against boolean literals.
8859
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-unnecessary-boolean-comparison.md
8860
+ */
8861
+ 'unicorn/no-unnecessary-boolean-comparison'?: Linter.RuleEntry<[]>;
8862
+ /**
8863
+ * Disallow unnecessary options in `fetch()` and `new Request()`.
8864
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-unnecessary-fetch-options.md
8865
+ */
8866
+ 'unicorn/no-unnecessary-fetch-options'?: Linter.RuleEntry<[]>;
8867
+ /**
8868
+ * Disallow unnecessary `globalThis` references.
8869
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-unnecessary-global-this.md
8870
+ */
8871
+ 'unicorn/no-unnecessary-global-this'?: Linter.RuleEntry<[]>;
8872
+ /**
8873
+ * Disallow unnecessary nested ternary expressions.
8874
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-unnecessary-nested-ternary.md
8875
+ */
8876
+ 'unicorn/no-unnecessary-nested-ternary'?: Linter.RuleEntry<[]>;
8439
8877
  /**
8440
8878
  * Enforce the use of built-in methods instead of unnecessary polyfills.
8441
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-polyfills.md
8879
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-unnecessary-polyfills.md
8442
8880
  */
8443
8881
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>;
8444
8882
  /**
8445
8883
  * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
8446
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-slice-end.md
8884
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-unnecessary-slice-end.md
8447
8885
  */
8448
8886
  'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>;
8887
+ /**
8888
+ * Disallow `Array#splice()` when simpler alternatives exist.
8889
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-unnecessary-splice.md
8890
+ */
8891
+ 'unicorn/no-unnecessary-splice'?: Linter.RuleEntry<[]>;
8449
8892
  /**
8450
8893
  * Disallow unreadable array destructuring.
8451
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-array-destructuring.md
8894
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-unreadable-array-destructuring.md
8895
+ */
8896
+ 'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<UnicornNoUnreadableArrayDestructuring>;
8897
+ /**
8898
+ * Disallow unreadable iterable expressions in `for…of` and `for await…of` loop headers.
8899
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-unreadable-for-of-expression.md
8452
8900
  */
8453
- 'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>;
8901
+ 'unicorn/no-unreadable-for-of-expression'?: Linter.RuleEntry<[]>;
8454
8902
  /**
8455
8903
  * Disallow unreadable IIFEs.
8456
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-iife.md
8904
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-unreadable-iife.md
8457
8905
  */
8458
8906
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>;
8907
+ /**
8908
+ * Disallow unreadable `new` expressions.
8909
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-unreadable-new-expression.md
8910
+ */
8911
+ 'unicorn/no-unreadable-new-expression'?: Linter.RuleEntry<[]>;
8912
+ /**
8913
+ * Disallow unreadable object destructuring.
8914
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-unreadable-object-destructuring.md
8915
+ */
8916
+ 'unicorn/no-unreadable-object-destructuring'?: Linter.RuleEntry<[]>;
8917
+ /**
8918
+ * Prevent unsafe use of ArrayBuffer view `.buffer`.
8919
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-unsafe-buffer-conversion.md
8920
+ */
8921
+ 'unicorn/no-unsafe-buffer-conversion'?: Linter.RuleEntry<[]>;
8922
+ /**
8923
+ * Disallow unsafe DOM HTML APIs.
8924
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-unsafe-dom-html.md
8925
+ */
8926
+ 'unicorn/no-unsafe-dom-html'?: Linter.RuleEntry<[]>;
8927
+ /**
8928
+ * Disallow reading `.value` from `Promise.allSettled()` results without a fulfilled status guard.
8929
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-unsafe-promise-all-settled-values.md
8930
+ */
8931
+ 'unicorn/no-unsafe-promise-all-settled-values'?: Linter.RuleEntry<[]>;
8932
+ /**
8933
+ * Disallow unsafe values as property keys.
8934
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-unsafe-property-key.md
8935
+ */
8936
+ 'unicorn/no-unsafe-property-key'?: Linter.RuleEntry<[]>;
8937
+ /**
8938
+ * Disallow non-literal replacement values in `String#replace()` and `String#replaceAll()`.
8939
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-unsafe-string-replacement.md
8940
+ */
8941
+ 'unicorn/no-unsafe-string-replacement'?: Linter.RuleEntry<[]>;
8942
+ /**
8943
+ * Disallow ignoring the return value of selected array methods.
8944
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-unused-array-method-return.md
8945
+ */
8946
+ 'unicorn/no-unused-array-method-return'?: Linter.RuleEntry<[]>;
8459
8947
  /**
8460
8948
  * Disallow unused object properties.
8461
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unused-properties.md
8949
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-unused-properties.md
8462
8950
  */
8463
8951
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>;
8952
+ /**
8953
+ * Disallow unnecessary `Boolean()` casts in array predicate callbacks.
8954
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-useless-boolean-cast.md
8955
+ */
8956
+ 'unicorn/no-useless-boolean-cast'?: Linter.RuleEntry<[]>;
8957
+ /**
8958
+ * Disallow useless type coercions of values that are already of the target type.
8959
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-useless-coercion.md
8960
+ */
8961
+ 'unicorn/no-useless-coercion'?: Linter.RuleEntry<[]>;
8464
8962
  /**
8465
8963
  * Disallow useless values or fallbacks in `Set`, `Map`, `WeakSet`, or `WeakMap`.
8466
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-collection-argument.md
8964
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-useless-collection-argument.md
8467
8965
  */
8468
8966
  'unicorn/no-useless-collection-argument'?: Linter.RuleEntry<[]>;
8967
+ /**
8968
+ * Disallow useless compound assignments such as `x += 0`.
8969
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-useless-compound-assignment.md
8970
+ */
8971
+ 'unicorn/no-useless-compound-assignment'?: Linter.RuleEntry<[]>;
8972
+ /**
8973
+ * Disallow useless concatenation of literals.
8974
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-useless-concat.md
8975
+ */
8976
+ 'unicorn/no-useless-concat'?: Linter.RuleEntry<[]>;
8977
+ /**
8978
+ * Disallow useless `continue` statements.
8979
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-useless-continue.md
8980
+ */
8981
+ 'unicorn/no-useless-continue'?: Linter.RuleEntry<[]>;
8982
+ /**
8983
+ * Disallow unnecessary existence checks before deletion.
8984
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-useless-delete-check.md
8985
+ */
8986
+ 'unicorn/no-useless-delete-check'?: Linter.RuleEntry<[]>;
8987
+ /**
8988
+ * Disallow `else` after a statement that exits.
8989
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-useless-else.md
8990
+ */
8991
+ 'unicorn/no-useless-else'?: Linter.RuleEntry<[]>;
8469
8992
  /**
8470
8993
  * Disallow unnecessary `Error.captureStackTrace(…)`.
8471
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-error-capture-stack-trace.md
8994
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-useless-error-capture-stack-trace.md
8472
8995
  */
8473
8996
  'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>;
8474
8997
  /**
8475
8998
  * Disallow useless fallback when spreading in object literals.
8476
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-fallback-in-spread.md
8999
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-useless-fallback-in-spread.md
8477
9000
  */
8478
9001
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>;
8479
9002
  /**
8480
9003
  * Disallow unnecessary `.toArray()` on iterators.
8481
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-iterator-to-array.md
9004
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-useless-iterator-to-array.md
8482
9005
  */
8483
9006
  'unicorn/no-useless-iterator-to-array'?: Linter.RuleEntry<[]>;
8484
9007
  /**
8485
9008
  * Disallow useless array length check.
8486
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-length-check.md
9009
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-useless-length-check.md
8487
9010
  */
8488
9011
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>;
9012
+ /**
9013
+ * Disallow unnecessary operands in logical expressions involving boolean literals.
9014
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-useless-logical-operand.md
9015
+ */
9016
+ 'unicorn/no-useless-logical-operand'?: Linter.RuleEntry<[]>;
9017
+ /**
9018
+ * Disallow useless overrides of class methods.
9019
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-useless-override.md
9020
+ */
9021
+ 'unicorn/no-useless-override'?: Linter.RuleEntry<[]>;
8489
9022
  /**
8490
9023
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
8491
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-promise-resolve-reject.md
9024
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-useless-promise-resolve-reject.md
8492
9025
  */
8493
9026
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>;
9027
+ /**
9028
+ * Disallow simple recursive function calls that can be replaced with a loop.
9029
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-useless-recursion.md
9030
+ */
9031
+ 'unicorn/no-useless-recursion'?: Linter.RuleEntry<[]>;
8494
9032
  /**
8495
9033
  * Disallow unnecessary spread.
8496
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-spread.md
9034
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-useless-spread.md
8497
9035
  */
8498
9036
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>;
8499
9037
  /**
8500
9038
  * Disallow useless case in switch statements.
8501
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-switch-case.md
9039
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-useless-switch-case.md
8502
9040
  */
8503
9041
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>;
9042
+ /**
9043
+ * Disallow useless template literal expressions.
9044
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-useless-template-literals.md
9045
+ */
9046
+ 'unicorn/no-useless-template-literals'?: Linter.RuleEntry<[]>;
8504
9047
  /**
8505
9048
  * Disallow useless `undefined`.
8506
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-undefined.md
9049
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-useless-undefined.md
8507
9050
  */
8508
9051
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>;
9052
+ /**
9053
+ * Disallow the bitwise XOR operator where exponentiation was likely intended.
9054
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-xor-as-exponentiation.md
9055
+ */
9056
+ 'unicorn/no-xor-as-exponentiation'?: Linter.RuleEntry<[]>;
8509
9057
  /**
8510
9058
  * Disallow number literals with zero fractions or dangling dots.
8511
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-zero-fractions.md
9059
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/no-zero-fractions.md
8512
9060
  */
8513
9061
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>;
8514
9062
  /**
8515
9063
  * Enforce proper case for numeric literals.
8516
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/number-literal-case.md
9064
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/number-literal-case.md
8517
9065
  */
8518
9066
  'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>;
8519
9067
  /**
8520
9068
  * Enforce the style of numeric separators by correctly grouping digits.
8521
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/numeric-separators-style.md
9069
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/numeric-separators-style.md
8522
9070
  */
8523
9071
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>;
9072
+ /**
9073
+ * Require assignment operator shorthand where possible.
9074
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/operator-assignment.md
9075
+ */
9076
+ 'unicorn/operator-assignment'?: Linter.RuleEntry<UnicornOperatorAssignment>;
9077
+ /**
9078
+ * Prefer `AbortSignal.any()` over manually forwarding abort events between signals.
9079
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-abort-signal-any.md
9080
+ */
9081
+ 'unicorn/prefer-abort-signal-any'?: Linter.RuleEntry<[]>;
9082
+ /**
9083
+ * Prefer `AbortSignal.timeout()` over manually aborting an `AbortController` with `setTimeout()`.
9084
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-abort-signal-timeout.md
9085
+ */
9086
+ 'unicorn/prefer-abort-signal-timeout'?: Linter.RuleEntry<[]>;
8524
9087
  /**
8525
9088
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
8526
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-add-event-listener.md
9089
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-add-event-listener.md
8527
9090
  */
8528
9091
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>;
9092
+ /**
9093
+ * Prefer an options object over a boolean in `.addEventListener()`.
9094
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-add-event-listener-options.md
9095
+ */
9096
+ 'unicorn/prefer-add-event-listener-options'?: Linter.RuleEntry<[]>;
9097
+ /**
9098
+ * Prefer `AggregateError` when throwing collected errors.
9099
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-aggregate-error.md
9100
+ */
9101
+ 'unicorn/prefer-aggregate-error'?: Linter.RuleEntry<[]>;
8529
9102
  /**
8530
9103
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
8531
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-find.md
9104
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-array-find.md
8532
9105
  */
8533
9106
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>;
8534
9107
  /**
8535
9108
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
8536
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-flat.md
9109
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-array-flat.md
8537
9110
  */
8538
9111
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>;
8539
9112
  /**
8540
- * Prefer `.flatMap(…)` over `.map(…).flat()`.
8541
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-flat-map.md
9113
+ * Prefer `.flatMap(…)` over `.map(…).flat()` and `.filter(…).flatMap(…)`.
9114
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-array-flat-map.md
8542
9115
  */
8543
9116
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>;
9117
+ /**
9118
+ * Prefer `Array.fromAsync()` over `for await…of` array accumulation.
9119
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-array-from-async.md
9120
+ */
9121
+ 'unicorn/prefer-array-from-async'?: Linter.RuleEntry<[]>;
9122
+ /**
9123
+ * Prefer using the `Array.from()` mapping function argument.
9124
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-array-from-map.md
9125
+ */
9126
+ 'unicorn/prefer-array-from-map'?: Linter.RuleEntry<[]>;
9127
+ /**
9128
+ * Prefer `Array.from({length}, …)` when creating range arrays.
9129
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-array-from-range.md
9130
+ */
9131
+ 'unicorn/prefer-array-from-range'?: Linter.RuleEntry<[]>;
8544
9132
  /**
8545
9133
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
8546
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-index-of.md
9134
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-array-index-of.md
8547
9135
  */
8548
9136
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>;
9137
+ /**
9138
+ * Prefer iterating an array directly or with `Array#keys()` over `Array#entries()` when the index or value is unused.
9139
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-array-iterable-methods.md
9140
+ */
9141
+ 'unicorn/prefer-array-iterable-methods'?: Linter.RuleEntry<[]>;
9142
+ /**
9143
+ * Prefer last-oriented array methods over `Array#reverse()` or `Array#toReversed()` followed by a method.
9144
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-array-last-methods.md
9145
+ */
9146
+ 'unicorn/prefer-array-last-methods'?: Linter.RuleEntry<[]>;
9147
+ /**
9148
+ * Prefer `Array#slice()` over `Array#splice()` when reading from the returned array.
9149
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-array-slice.md
9150
+ */
9151
+ 'unicorn/prefer-array-slice'?: Linter.RuleEntry<[]>;
8549
9152
  /**
8550
9153
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
8551
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-some.md
9154
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-array-some.md
8552
9155
  */
8553
9156
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>;
8554
9157
  /**
8555
9158
  * Prefer `.at()` method for index access and `String#charAt()`.
8556
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-at.md
9159
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-at.md
8557
9160
  */
8558
9161
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>;
9162
+ /**
9163
+ * Prefer `await` over promise chaining.
9164
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-await.md
9165
+ */
9166
+ 'unicorn/prefer-await'?: Linter.RuleEntry<[]>;
8559
9167
  /**
8560
9168
  * Prefer `BigInt` literals over the constructor.
8561
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-bigint-literals.md
9169
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-bigint-literals.md
8562
9170
  */
8563
9171
  'unicorn/prefer-bigint-literals'?: Linter.RuleEntry<[]>;
8564
9172
  /**
8565
9173
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
8566
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-blob-reading-methods.md
9174
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-blob-reading-methods.md
8567
9175
  */
8568
9176
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>;
9177
+ /**
9178
+ * Prefer block statements over IIFEs used only for scoping.
9179
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-block-statement-over-iife.md
9180
+ */
9181
+ 'unicorn/prefer-block-statement-over-iife'?: Linter.RuleEntry<[]>;
9182
+ /**
9183
+ * Prefer directly returning boolean expressions over `if` statements.
9184
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-boolean-return.md
9185
+ */
9186
+ 'unicorn/prefer-boolean-return'?: Linter.RuleEntry<[]>;
8569
9187
  /**
8570
9188
  * Prefer class field declarations over `this` assignments in constructors.
8571
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-class-fields.md
9189
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-class-fields.md
8572
9190
  */
8573
9191
  'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>;
8574
9192
  /**
8575
9193
  * Prefer using `Element#classList.toggle()` to toggle class names.
8576
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-classlist-toggle.md
9194
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-classlist-toggle.md
8577
9195
  */
8578
9196
  'unicorn/prefer-classlist-toggle'?: Linter.RuleEntry<[]>;
8579
9197
  /**
8580
9198
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
8581
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-code-point.md
9199
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-code-point.md
8582
9200
  */
8583
9201
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>;
9202
+ /**
9203
+ * Prefer early continues over whole-loop conditional wrapping.
9204
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-continue.md
9205
+ */
9206
+ 'unicorn/prefer-continue'?: Linter.RuleEntry<UnicornPreferContinue>;
8584
9207
  /**
8585
9208
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
8586
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-date-now.md
9209
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-date-now.md
8587
9210
  */
8588
9211
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>;
8589
9212
  /**
8590
9213
  * Prefer default parameters over reassignment.
8591
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-default-parameters.md
9214
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-default-parameters.md
8592
9215
  */
8593
9216
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>;
8594
9217
  /**
8595
- * Prefer `Node#append()` over `Node#appendChild()`.
8596
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-append.md
9218
+ * Prefer direct iteration over default iterator method calls.
9219
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-direct-iteration.md
9220
+ */
9221
+ 'unicorn/prefer-direct-iteration'?: Linter.RuleEntry<[]>;
9222
+ /**
9223
+ * Prefer using `using`/`await using` over manual `try`/`finally` resource disposal.
9224
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-dispose.md
9225
+ */
9226
+ 'unicorn/prefer-dispose'?: Linter.RuleEntry<[]>;
9227
+ /**
9228
+ * Prefer `Element#append()` over `Node#appendChild()`.
9229
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-dom-node-append.md
8597
9230
  */
8598
9231
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>;
8599
9232
  /**
8600
- * Prefer using `.dataset` on DOM elements over calling attribute methods.
8601
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-dataset.md
9233
+ * Renamed to `unicorn/dom-node-dataset`.
9234
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/deleted-and-deprecated-rules.md#prefer-dom-node-dataset
9235
+ * @deprecated
8602
9236
  */
8603
9237
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>;
9238
+ /**
9239
+ * Prefer `.getHTML()` and `.setHTML()` over `.innerHTML`.
9240
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-dom-node-html-methods.md
9241
+ */
9242
+ 'unicorn/prefer-dom-node-html-methods'?: Linter.RuleEntry<[]>;
8604
9243
  /**
8605
9244
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
8606
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-remove.md
9245
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-dom-node-remove.md
8607
9246
  */
8608
9247
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>;
9248
+ /**
9249
+ * Prefer `.replaceChildren()` when emptying DOM children.
9250
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-dom-node-replace-children.md
9251
+ */
9252
+ 'unicorn/prefer-dom-node-replace-children'?: Linter.RuleEntry<[]>;
8609
9253
  /**
8610
9254
  * Prefer `.textContent` over `.innerText`.
8611
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-text-content.md
9255
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-dom-node-text-content.md
8612
9256
  */
8613
9257
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>;
9258
+ /**
9259
+ * Prefer early returns over full-function conditional wrapping.
9260
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-early-return.md
9261
+ */
9262
+ 'unicorn/prefer-early-return'?: Linter.RuleEntry<UnicornPreferEarlyReturn>;
9263
+ /**
9264
+ * Prefer `else if` over adjacent `if` statements with related conditions.
9265
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-else-if.md
9266
+ */
9267
+ 'unicorn/prefer-else-if'?: Linter.RuleEntry<[]>;
9268
+ /**
9269
+ * Prefer `Error.isError()` when checking for errors.
9270
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-error-is-error.md
9271
+ */
9272
+ 'unicorn/prefer-error-is-error'?: Linter.RuleEntry<[]>;
8614
9273
  /**
8615
9274
  * Prefer `EventTarget` over `EventEmitter`.
8616
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-event-target.md
9275
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-event-target.md
8617
9276
  */
8618
9277
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>;
8619
9278
  /**
8620
9279
  * Prefer `export…from` when re-exporting.
8621
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-export-from.md
9280
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-export-from.md
8622
9281
  */
8623
9282
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>;
9283
+ /**
9284
+ * Prefer flat `Math.min()` and `Math.max()` calls over nested calls.
9285
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-flat-math-min-max.md
9286
+ */
9287
+ 'unicorn/prefer-flat-math-min-max'?: Linter.RuleEntry<[]>;
9288
+ /**
9289
+ * Prefer `.getOrInsertComputed()` when the default value has side effects.
9290
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-get-or-insert-computed.md
9291
+ */
9292
+ 'unicorn/prefer-get-or-insert-computed'?: Linter.RuleEntry<[]>;
9293
+ /**
9294
+ * Prefer global numeric constants over `Number` static properties.
9295
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-global-number-constants.md
9296
+ */
9297
+ 'unicorn/prefer-global-number-constants'?: Linter.RuleEntry<[]>;
8624
9298
  /**
8625
9299
  * Prefer `globalThis` over `window`, `self`, and `global`.
8626
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-global-this.md
9300
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-global-this.md
8627
9301
  */
8628
9302
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>;
9303
+ /**
9304
+ * Prefer `Object.groupBy()` or `Map.groupBy()` over reduce-based grouping.
9305
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-group-by.md
9306
+ */
9307
+ 'unicorn/prefer-group-by'?: Linter.RuleEntry<[]>;
9308
+ /**
9309
+ * Prefer `.has()` when checking existence.
9310
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-has-check.md
9311
+ */
9312
+ 'unicorn/prefer-has-check'?: Linter.RuleEntry<[]>;
9313
+ /**
9314
+ * Prefer moving code shared by all branches of an `if` statement out of the branches.
9315
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-hoisting-branch-code.md
9316
+ */
9317
+ 'unicorn/prefer-hoisting-branch-code'?: Linter.RuleEntry<[]>;
9318
+ /**
9319
+ * Prefer HTTPS over HTTP.
9320
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-https.md
9321
+ */
9322
+ 'unicorn/prefer-https'?: Linter.RuleEntry<[]>;
9323
+ /**
9324
+ * Prefer identifiers over string literals in import and export specifiers.
9325
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-identifier-import-export-specifiers.md
9326
+ */
9327
+ 'unicorn/prefer-identifier-import-export-specifiers'?: Linter.RuleEntry<[]>;
8629
9328
  /**
8630
9329
  * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
8631
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-import-meta-properties.md
9330
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-import-meta-properties.md
8632
9331
  */
8633
9332
  'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>;
8634
9333
  /**
8635
9334
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
8636
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-includes.md
9335
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-includes.md
8637
9336
  */
8638
9337
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>;
8639
9338
  /**
8640
- * Prefer reading a JSON file as a buffer.
8641
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-json-parse-buffer.md
9339
+ * Prefer `.includes()` over repeated equality comparisons.
9340
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-includes-over-repeated-comparisons.md
9341
+ */
9342
+ 'unicorn/prefer-includes-over-repeated-comparisons'?: Linter.RuleEntry<UnicornPreferIncludesOverRepeatedComparisons>;
9343
+ /**
9344
+ * Prefer passing iterables directly to constructors instead of filling empty collections.
9345
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-iterable-in-constructor.md
9346
+ */
9347
+ 'unicorn/prefer-iterable-in-constructor'?: Linter.RuleEntry<[]>;
9348
+ /**
9349
+ * Prefer `Iterator.concat(…)` over temporary spread arrays.
9350
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-iterator-concat.md
9351
+ */
9352
+ 'unicorn/prefer-iterator-concat'?: Linter.RuleEntry<[]>;
9353
+ /**
9354
+ * Prefer iterator helpers over temporary arrays from iterators.
9355
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-iterator-helpers.md
9356
+ */
9357
+ 'unicorn/prefer-iterator-helpers'?: Linter.RuleEntry<[]>;
9358
+ /**
9359
+ * Prefer `Iterator#toArray()` over temporary arrays from iterator spreads.
9360
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-iterator-to-array.md
9361
+ */
9362
+ 'unicorn/prefer-iterator-to-array'?: Linter.RuleEntry<[]>;
9363
+ /**
9364
+ * Prefer moving `.toArray()` to the end of iterator helper chains.
9365
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-iterator-to-array-at-end.md
9366
+ */
9367
+ 'unicorn/prefer-iterator-to-array-at-end'?: Linter.RuleEntry<[]>;
9368
+ /**
9369
+ * Renamed to `unicorn/consistent-json-file-read`.
9370
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/deleted-and-deprecated-rules.md#prefer-json-parse-buffer
9371
+ * @deprecated
9372
+ */
9373
+ 'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>;
9374
+ /**
9375
+ * Prefer `KeyboardEvent#key` over deprecated keyboard event properties.
9376
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-keyboard-event-key.md
9377
+ */
9378
+ 'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>;
9379
+ /**
9380
+ * Prefer `location.assign()` over assigning to `location.href`.
9381
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-location-assign.md
9382
+ */
9383
+ 'unicorn/prefer-location-assign'?: Linter.RuleEntry<[]>;
9384
+ /**
9385
+ * Prefer using a logical operator over a ternary.
9386
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-logical-operator-over-ternary.md
9387
+ */
9388
+ 'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>;
9389
+ /**
9390
+ * Prefer `new Map()` over `Object.fromEntries()` when using the result as a map.
9391
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-map-from-entries.md
8642
9392
  */
8643
- 'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>;
9393
+ 'unicorn/prefer-map-from-entries'?: Linter.RuleEntry<[]>;
8644
9394
  /**
8645
- * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
8646
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-keyboard-event-key.md
9395
+ * Prefer `Math.abs()` over manual absolute value expressions and symmetric range checks.
9396
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-math-abs.md
8647
9397
  */
8648
- 'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>;
9398
+ 'unicorn/prefer-math-abs'?: Linter.RuleEntry<[]>;
8649
9399
  /**
8650
- * Prefer using a logical operator over a ternary.
8651
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-logical-operator-over-ternary.md
9400
+ * Prefer `Math` constants over their approximate numeric values.
9401
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-math-constants.md
8652
9402
  */
8653
- 'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>;
9403
+ 'unicorn/prefer-math-constants'?: Linter.RuleEntry<[]>;
8654
9404
  /**
8655
9405
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
8656
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-math-min-max.md
9406
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-math-min-max.md
8657
9407
  */
8658
9408
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>;
8659
9409
  /**
8660
- * Enforce the use of `Math.trunc` instead of bitwise operators.
8661
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-math-trunc.md
9410
+ * Prefer `Math.trunc()` for truncating numbers.
9411
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-math-trunc.md
8662
9412
  */
8663
9413
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>;
8664
9414
  /**
8665
- * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
8666
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-modern-dom-apis.md
9415
+ * Prefer moving ternaries into the minimal varying part of an expression.
9416
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-minimal-ternary.md
9417
+ */
9418
+ 'unicorn/prefer-minimal-ternary'?: Linter.RuleEntry<UnicornPreferMinimalTernary>;
9419
+ /**
9420
+ * Prefer modern DOM APIs.
9421
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-modern-dom-apis.md
8667
9422
  */
8668
9423
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>;
8669
9424
  /**
8670
9425
  * Prefer modern `Math` APIs over legacy patterns.
8671
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-modern-math-apis.md
9426
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-modern-math-apis.md
8672
9427
  */
8673
9428
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>;
8674
9429
  /**
8675
9430
  * Prefer JavaScript modules (ESM) over CommonJS.
8676
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-module.md
9431
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-module.md
8677
9432
  */
8678
9433
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>;
8679
9434
  /**
8680
9435
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
8681
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-native-coercion-functions.md
9436
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-native-coercion-functions.md
8682
9437
  */
8683
9438
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>;
8684
9439
  /**
8685
9440
  * Prefer negative index over `.length - index` when possible.
8686
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-negative-index.md
9441
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-negative-index.md
8687
9442
  */
8688
9443
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>;
8689
9444
  /**
8690
9445
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
8691
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-node-protocol.md
9446
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-node-protocol.md
8692
9447
  */
8693
9448
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>;
8694
9449
  /**
8695
- * Prefer `Number` static properties over global ones.
8696
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-number-properties.md
9450
+ * Prefer `Number()` over `parseFloat()` and base-10 `parseInt()`.
9451
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-number-coercion.md
9452
+ */
9453
+ 'unicorn/prefer-number-coercion'?: Linter.RuleEntry<[]>;
9454
+ /**
9455
+ * Prefer `Number.isSafeInteger()` over integer checks.
9456
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-number-is-safe-integer.md
9457
+ */
9458
+ 'unicorn/prefer-number-is-safe-integer'?: Linter.RuleEntry<[]>;
9459
+ /**
9460
+ * Prefer `Number` static methods over global functions and optionally static properties over global constants.
9461
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-number-properties.md
8697
9462
  */
8698
9463
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>;
9464
+ /**
9465
+ * Prefer `Object.defineProperties()` over multiple `Object.defineProperty()` calls.
9466
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-object-define-properties.md
9467
+ */
9468
+ 'unicorn/prefer-object-define-properties'?: Linter.RuleEntry<[]>;
9469
+ /**
9470
+ * Prefer object destructuring defaults over default object literals with spread.
9471
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-object-destructuring-defaults.md
9472
+ */
9473
+ 'unicorn/prefer-object-destructuring-defaults'?: Linter.RuleEntry<[]>;
8699
9474
  /**
8700
9475
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
8701
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-object-from-entries.md
9476
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-object-from-entries.md
8702
9477
  */
8703
9478
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>;
9479
+ /**
9480
+ * Prefer the most specific `Object` iterable method.
9481
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-object-iterable-methods.md
9482
+ */
9483
+ 'unicorn/prefer-object-iterable-methods'?: Linter.RuleEntry<[]>;
9484
+ /**
9485
+ * Prefer observer APIs over resize and scroll listeners with layout reads.
9486
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-observer-apis.md
9487
+ */
9488
+ 'unicorn/prefer-observer-apis'?: Linter.RuleEntry<[]>;
8704
9489
  /**
8705
9490
  * Prefer omitting the `catch` binding parameter.
8706
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-optional-catch-binding.md
9491
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-optional-catch-binding.md
8707
9492
  */
8708
9493
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>;
9494
+ /**
9495
+ * Prefer `Path2D` for repeatedly drawn canvas paths.
9496
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-path2d.md
9497
+ */
9498
+ 'unicorn/prefer-path2d'?: Linter.RuleEntry<[]>;
9499
+ /**
9500
+ * Prefer private class fields over the underscore-prefix convention.
9501
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-private-class-fields.md
9502
+ */
9503
+ 'unicorn/prefer-private-class-fields'?: Linter.RuleEntry<[]>;
9504
+ /**
9505
+ * Prefer `Promise.try()` over promise-wrapping boilerplate.
9506
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-promise-try.md
9507
+ */
9508
+ 'unicorn/prefer-promise-try'?: Linter.RuleEntry<[]>;
9509
+ /**
9510
+ * Prefer `Promise.withResolvers()` when extracting resolver functions from `new Promise()`.
9511
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-promise-with-resolvers.md
9512
+ */
9513
+ 'unicorn/prefer-promise-with-resolvers'?: Linter.RuleEntry<[]>;
8709
9514
  /**
8710
9515
  * Prefer borrowing methods from the prototype instead of the instance.
8711
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-prototype-methods.md
9516
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-prototype-methods.md
8712
9517
  */
8713
9518
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>;
8714
9519
  /**
8715
- * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
8716
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-query-selector.md
9520
+ * Prefer `.querySelector()` and `.querySelectorAll()` over older DOM query methods.
9521
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-query-selector.md
9522
+ */
9523
+ 'unicorn/prefer-query-selector'?: Linter.RuleEntry<UnicornPreferQuerySelector>;
9524
+ /**
9525
+ * Prefer `queueMicrotask()` over `process.nextTick()`, `setImmediate()`, and `setTimeout(…, 0)`.
9526
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-queue-microtask.md
8717
9527
  */
8718
- 'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>;
9528
+ 'unicorn/prefer-queue-microtask'?: Linter.RuleEntry<UnicornPreferQueueMicrotask>;
8719
9529
  /**
8720
9530
  * Prefer `Reflect.apply()` over `Function#apply()`.
8721
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-reflect-apply.md
9531
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-reflect-apply.md
8722
9532
  */
8723
9533
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>;
8724
9534
  /**
8725
- * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
8726
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-regexp-test.md
9535
+ * Prefer `RegExp.escape()` for escaping strings to use in regular expressions.
9536
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-regexp-escape.md
9537
+ */
9538
+ 'unicorn/prefer-regexp-escape'?: Linter.RuleEntry<[]>;
9539
+ /**
9540
+ * Prefer `RegExp#test()` over `String#match()`, `String#search()`, and `RegExp#exec()`.
9541
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-regexp-test.md
8727
9542
  */
8728
9543
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>;
8729
9544
  /**
8730
9545
  * Prefer `Response.json()` over `new Response(JSON.stringify())`.
8731
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-response-static-json.md
9546
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-response-static-json.md
8732
9547
  */
8733
9548
  'unicorn/prefer-response-static-json'?: Linter.RuleEntry<[]>;
9549
+ /**
9550
+ * Prefer `:scope` when using element query selector methods.
9551
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-scoped-selector.md
9552
+ */
9553
+ 'unicorn/prefer-scoped-selector'?: Linter.RuleEntry<[]>;
8734
9554
  /**
8735
9555
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
8736
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-set-has.md
9556
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-set-has.md
8737
9557
  */
8738
- 'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>;
9558
+ 'unicorn/prefer-set-has'?: Linter.RuleEntry<UnicornPreferSetHas>;
9559
+ /**
9560
+ * Prefer `Set` methods for Set operations.
9561
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-set-methods.md
9562
+ */
9563
+ 'unicorn/prefer-set-methods'?: Linter.RuleEntry<[]>;
8739
9564
  /**
8740
9565
  * Prefer using `Set#size` instead of `Array#length`.
8741
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-set-size.md
9566
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-set-size.md
8742
9567
  */
8743
9568
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>;
9569
+ /**
9570
+ * Prefer arrow function properties over methods with a single return.
9571
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-short-arrow-method.md
9572
+ */
9573
+ 'unicorn/prefer-short-arrow-method'?: Linter.RuleEntry<[]>;
8744
9574
  /**
8745
9575
  * Prefer simple conditions first in logical expressions.
8746
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-simple-condition-first.md
9576
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-simple-condition-first.md
8747
9577
  */
8748
9578
  'unicorn/prefer-simple-condition-first'?: Linter.RuleEntry<[]>;
8749
9579
  /**
8750
- * Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
8751
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-single-call.md
9580
+ * Prefer a simple comparison function for `Array#sort()`.
9581
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-simple-sort-comparator.md
9582
+ */
9583
+ 'unicorn/prefer-simple-sort-comparator'?: Linter.RuleEntry<[]>;
9584
+ /**
9585
+ * Prefer simplified conditions.
9586
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-simplified-conditions.md
9587
+ */
9588
+ 'unicorn/prefer-simplified-conditions'?: Linter.RuleEntry<[]>;
9589
+ /**
9590
+ * Prefer a single `Array#some()` or `Array#every()` with a combined predicate.
9591
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-single-array-predicate.md
9592
+ */
9593
+ 'unicorn/prefer-single-array-predicate'?: Linter.RuleEntry<[]>;
9594
+ /**
9595
+ * Enforce combining multiple `Array#{push,unshift}()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
9596
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-single-call.md
8752
9597
  */
8753
9598
  'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>;
8754
9599
  /**
8755
- * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
8756
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-spread.md
9600
+ * Prefer a single object destructuring declaration per local const source.
9601
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-single-object-destructuring.md
9602
+ */
9603
+ 'unicorn/prefer-single-object-destructuring'?: Linter.RuleEntry<[]>;
9604
+ /**
9605
+ * Enforce combining multiple single-character replacements into a single `String#replaceAll()` with a regular expression.
9606
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-single-replace.md
9607
+ */
9608
+ 'unicorn/prefer-single-replace'?: Linter.RuleEntry<[]>;
9609
+ /**
9610
+ * Prefer declaring variables in the smallest possible scope.
9611
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-smaller-scope.md
9612
+ */
9613
+ 'unicorn/prefer-smaller-scope'?: Linter.RuleEntry<[]>;
9614
+ /**
9615
+ * Prefer `String#split()` with a limit.
9616
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-split-limit.md
9617
+ */
9618
+ 'unicorn/prefer-split-limit'?: Linter.RuleEntry<[]>;
9619
+ /**
9620
+ * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()`, and trivial `for…of` copies.
9621
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-spread.md
8757
9622
  */
8758
9623
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>;
9624
+ /**
9625
+ * Prefer `String#matchAll()` over `RegExp#exec()` loops.
9626
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-string-match-all.md
9627
+ */
9628
+ 'unicorn/prefer-string-match-all'?: Linter.RuleEntry<[]>;
9629
+ /**
9630
+ * Prefer `String#padStart()` and `String#padEnd()` over manual string padding.
9631
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-string-pad-start-end.md
9632
+ */
9633
+ 'unicorn/prefer-string-pad-start-end'?: Linter.RuleEntry<[]>;
8759
9634
  /**
8760
9635
  * Prefer using the `String.raw` tag to avoid escaping `\`.
8761
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-raw.md
9636
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-string-raw.md
8762
9637
  */
8763
9638
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>;
8764
9639
  /**
8765
- * Prefer `String#replaceAll()` over regex searches with the global flag.
8766
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-replace-all.md
9640
+ * Prefer `String#repeat()` for repeated whitespace.
9641
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-string-repeat.md
9642
+ */
9643
+ 'unicorn/prefer-string-repeat'?: Linter.RuleEntry<UnicornPreferStringRepeat>;
9644
+ /**
9645
+ * Prefer `String#replaceAll()` over regex searches with the global flag and `String#split().join()`.
9646
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-string-replace-all.md
8767
9647
  */
8768
9648
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>;
8769
9649
  /**
8770
9650
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
8771
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-slice.md
9651
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-string-slice.md
8772
9652
  */
8773
9653
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>;
8774
9654
  /**
8775
- * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
8776
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-starts-ends-with.md
9655
+ * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()` and `String#indexOf() === 0`.
9656
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-string-starts-ends-with.md
8777
9657
  */
8778
9658
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>;
8779
9659
  /**
8780
9660
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
8781
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-trim-start-end.md
9661
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-string-trim-start-end.md
8782
9662
  */
8783
9663
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>;
8784
9664
  /**
8785
9665
  * Prefer using `structuredClone` to create a deep clone.
8786
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-structured-clone.md
9666
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-structured-clone.md
8787
9667
  */
8788
9668
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>;
8789
9669
  /**
8790
9670
  * Prefer `switch` over multiple `else-if`.
8791
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-switch.md
9671
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-switch.md
8792
9672
  */
8793
9673
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>;
8794
9674
  /**
8795
- * Prefer ternary expressions over simple `if-else` statements.
8796
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-ternary.md
9675
+ * Prefer `Temporal` over `Date`.
9676
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-temporal.md
9677
+ */
9678
+ 'unicorn/prefer-temporal'?: Linter.RuleEntry<UnicornPreferTemporal>;
9679
+ /**
9680
+ * Prefer ternary expressions over simple `if` statements that return or assign values.
9681
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-ternary.md
8797
9682
  */
8798
9683
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>;
9684
+ /**
9685
+ * Prefer using `Element#toggleAttribute()` to toggle attributes.
9686
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-toggle-attribute.md
9687
+ */
9688
+ 'unicorn/prefer-toggle-attribute'?: Linter.RuleEntry<[]>;
8799
9689
  /**
8800
9690
  * Prefer top-level await over top-level promises and async function calls.
8801
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-top-level-await.md
9691
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-top-level-await.md
8802
9692
  */
8803
9693
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>;
8804
9694
  /**
8805
9695
  * Enforce throwing `TypeError` in type checking conditions.
8806
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-type-error.md
9696
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-type-error.md
8807
9697
  */
8808
9698
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>;
8809
9699
  /**
8810
- * Prevent abbreviations.
8811
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prevent-abbreviations.md
9700
+ * Require type literals to be last in union types.
9701
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-type-literal-last.md
9702
+ */
9703
+ 'unicorn/prefer-type-literal-last'?: Linter.RuleEntry<[]>;
9704
+ /**
9705
+ * Prefer `Uint8Array#toBase64()` and `Uint8Array.fromBase64()` over `atob()`, `btoa()`, and `Buffer` base64 conversions.
9706
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-uint8array-base64.md
9707
+ */
9708
+ 'unicorn/prefer-uint8array-base64'?: Linter.RuleEntry<[]>;
9709
+ /**
9710
+ * Prefer the unary minus operator over multiplying or dividing by `-1`.
9711
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-unary-minus.md
8812
9712
  */
8813
- 'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>;
9713
+ 'unicorn/prefer-unary-minus'?: Linter.RuleEntry<[]>;
9714
+ /**
9715
+ * Prefer Unicode code point escapes over legacy escape sequences.
9716
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-unicode-code-point-escapes.md
9717
+ */
9718
+ 'unicorn/prefer-unicode-code-point-escapes'?: Linter.RuleEntry<[]>;
9719
+ /**
9720
+ * Prefer `URL.canParse()` over constructing a `URL` in a try/catch for validation.
9721
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-url-can-parse.md
9722
+ */
9723
+ 'unicorn/prefer-url-can-parse'?: Linter.RuleEntry<[]>;
9724
+ /**
9725
+ * Prefer `URL#href` over stringifying a `URL`.
9726
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-url-href.md
9727
+ */
9728
+ 'unicorn/prefer-url-href'?: Linter.RuleEntry<[]>;
9729
+ /**
9730
+ * Prefer `URLSearchParams` over manually splitting query strings.
9731
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-url-search-parameters.md
9732
+ */
9733
+ 'unicorn/prefer-url-search-parameters'?: Linter.RuleEntry<[]>;
9734
+ /**
9735
+ * Prefer putting the condition in the while statement.
9736
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/prefer-while-loop-condition.md
9737
+ */
9738
+ 'unicorn/prefer-while-loop-condition'?: Linter.RuleEntry<[]>;
9739
+ /**
9740
+ * Renamed to `unicorn/name-replacements`.
9741
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/deleted-and-deprecated-rules.md#prevent-abbreviations
9742
+ * @deprecated
9743
+ */
9744
+ 'unicorn/prevent-abbreviations'?: Linter.RuleEntry<[]>;
8814
9745
  /**
8815
9746
  * Enforce consistent relative URL style.
8816
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/relative-url-style.md
9747
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/relative-url-style.md
8817
9748
  */
8818
9749
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>;
8819
9750
  /**
8820
9751
  * Enforce using the separator argument with `Array#join()`.
8821
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-array-join-separator.md
9752
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/require-array-join-separator.md
8822
9753
  */
8823
9754
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>;
9755
+ /**
9756
+ * Require a compare function when calling `Array#sort()` or `Array#toSorted()`.
9757
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/require-array-sort-compare.md
9758
+ */
9759
+ 'unicorn/require-array-sort-compare'?: Linter.RuleEntry<[]>;
9760
+ /**
9761
+ * Require `CSS.escape()` for interpolated values in CSS selectors.
9762
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/require-css-escape.md
9763
+ */
9764
+ 'unicorn/require-css-escape'?: Linter.RuleEntry<UnicornRequireCssEscape>;
8824
9765
  /**
8825
9766
  * Require non-empty module attributes for imports and exports
8826
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-module-attributes.md
9767
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/require-module-attributes.md
8827
9768
  */
8828
9769
  'unicorn/require-module-attributes'?: Linter.RuleEntry<[]>;
8829
9770
  /**
8830
9771
  * Require non-empty specifier list in import and export statements.
8831
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-module-specifiers.md
9772
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/require-module-specifiers.md
8832
9773
  */
8833
9774
  'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>;
8834
9775
  /**
8835
9776
  * Enforce using the digits argument with `Number#toFixed()`.
8836
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-number-to-fixed-digits-argument.md
9777
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/require-number-to-fixed-digits-argument.md
8837
9778
  */
8838
9779
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>;
9780
+ /**
9781
+ * Require passive event listeners for high-frequency events.
9782
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/require-passive-events.md
9783
+ */
9784
+ 'unicorn/require-passive-events'?: Linter.RuleEntry<[]>;
8839
9785
  /**
8840
9786
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
8841
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-post-message-target-origin.md
9787
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/require-post-message-target-origin.md
8842
9788
  */
8843
9789
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>;
9790
+ /**
9791
+ * Require boolean-returning Proxy traps to return booleans.
9792
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/require-proxy-trap-boolean-return.md
9793
+ */
9794
+ 'unicorn/require-proxy-trap-boolean-return'?: Linter.RuleEntry<[]>;
8844
9795
  /**
8845
9796
  * Enforce better string content.
8846
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/string-content.md
9797
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/string-content.md
8847
9798
  */
8848
9799
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>;
8849
9800
  /**
8850
9801
  * Enforce consistent brace style for `case` clauses.
8851
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/switch-case-braces.md
9802
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/switch-case-braces.md
8852
9803
  */
8853
9804
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>;
8854
9805
  /**
8855
9806
  * Enforce consistent `break`/`return`/`continue`/`throw` position in `case` clauses.
8856
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/switch-case-break-position.md
9807
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/switch-case-break-position.md
8857
9808
  */
8858
9809
  'unicorn/switch-case-break-position'?: Linter.RuleEntry<[]>;
8859
9810
  /**
8860
9811
  * Fix whitespace-insensitive template indentation.
8861
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/template-indent.md
9812
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/template-indent.md
8862
9813
  */
8863
9814
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>;
8864
9815
  /**
8865
9816
  * Enforce consistent case for text encoding identifiers.
8866
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/text-encoding-identifier-case.md
9817
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/text-encoding-identifier-case.md
8867
9818
  */
8868
9819
  'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<UnicornTextEncodingIdentifierCase>;
8869
9820
  /**
8870
9821
  * Require `new` when creating an error.
8871
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/throw-new-error.md
9822
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/throw-new-error.md
8872
9823
  */
8873
9824
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>;
9825
+ /**
9826
+ * Limit the complexity of `try` blocks.
9827
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.1.0/docs/rules/try-complexity.md
9828
+ */
9829
+ 'unicorn/try-complexity'?: Linter.RuleEntry<UnicornTryComplexity>;
8874
9830
  /**
8875
9831
  * Utilities in UnoCSS blocklist
8876
9832
  * @see https://unocss.dev/integrations/eslint#rules
@@ -10385,6 +11341,11 @@ interface RuleOptions {
10385
11341
  * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-tab-indent.html
10386
11342
  */
10387
11343
  'yaml/no-tab-indent'?: Linter.RuleEntry<[]>;
11344
+ /**
11345
+ * disallow trailing whitespace at the end of lines
11346
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-trailing-spaces.html
11347
+ */
11348
+ 'yaml/no-trailing-spaces'?: Linter.RuleEntry<YamlNoTrailingSpaces>;
10388
11349
  /**
10389
11350
  * disallow trailing zeros for floats
10390
11351
  * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-trailing-zeros.html
@@ -11590,11 +12551,13 @@ type JsoncSortArrayValues = [{
11590
12551
  type?: ("asc" | "desc");
11591
12552
  caseSensitive?: boolean;
11592
12553
  natural?: boolean;
12554
+ key?: string;
11593
12555
  };
11594
12556
  })[] | {
11595
12557
  type?: ("asc" | "desc");
11596
12558
  caseSensitive?: boolean;
11597
12559
  natural?: boolean;
12560
+ key?: string;
11598
12561
  });
11599
12562
  minValues?: number;
11600
12563
  }, ...({
@@ -11605,11 +12568,13 @@ type JsoncSortArrayValues = [{
11605
12568
  type?: ("asc" | "desc");
11606
12569
  caseSensitive?: boolean;
11607
12570
  natural?: boolean;
12571
+ key?: string;
11608
12572
  };
11609
12573
  })[] | {
11610
12574
  type?: ("asc" | "desc");
11611
12575
  caseSensitive?: boolean;
11612
12576
  natural?: boolean;
12577
+ key?: string;
11613
12578
  });
11614
12579
  minValues?: number;
11615
12580
  })[]]; // ----- jsonc/sort-keys -----
@@ -12339,6 +13304,7 @@ type MaxLinesPerFunction = [] | [({
12339
13304
  type MaxNestedCallbacks = [] | [(number | {
12340
13305
  maximum?: number;
12341
13306
  max?: number;
13307
+ checkConstructorCallCallbacks?: boolean;
12342
13308
  })]; // ----- max-params -----
12343
13309
  type MaxParams = [] | [(number | {
12344
13310
  maximum?: number;
@@ -12388,6 +13354,9 @@ type NoConfusingArrow = [] | [{
12388
13354
  }]; // ----- no-console -----
12389
13355
  type NoConsole = [] | [{
12390
13356
  allow?: [string, ...(string)[]];
13357
+ }]; // ----- no-constant-binary-expression -----
13358
+ type NoConstantBinaryExpression = [] | [{
13359
+ checkRelationalComparisons?: boolean;
12391
13360
  }]; // ----- no-constant-condition -----
12392
13361
  type NoConstantCondition = [] | [{
12393
13362
  checkLoops?: ("all" | "allExceptWhileTrue" | "none" | true | false);
@@ -13124,7 +14093,112 @@ type PerfectionistSortArrayIncludes = {
13124
14093
  });
13125
14094
  partitionByNewLine?: boolean;
13126
14095
  }[]; // ----- perfectionist/sort-arrays -----
13127
- type PerfectionistSortArrays = {
14096
+ type PerfectionistSortArrays = [{
14097
+ fallbackSort?: {
14098
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
14099
+ order?: ("asc" | "desc");
14100
+ };
14101
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
14102
+ specialCharacters?: ("remove" | "trim" | "keep");
14103
+ ignoreCase?: boolean;
14104
+ alphabet?: string;
14105
+ locales?: (string | string[]);
14106
+ order?: ("asc" | "desc");
14107
+ customGroups?: ({
14108
+ fallbackSort?: {
14109
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
14110
+ order?: ("asc" | "desc");
14111
+ };
14112
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
14113
+ groupName: string;
14114
+ newlinesInside?: ("ignore" | number);
14115
+ order?: ("asc" | "desc");
14116
+ anyOf: [{
14117
+ elementNamePattern?: (({
14118
+ pattern: string;
14119
+ flags?: string;
14120
+ } | string)[] | ({
14121
+ pattern: string;
14122
+ flags?: string;
14123
+ } | string));
14124
+ selector?: "literal";
14125
+ }, ...({
14126
+ elementNamePattern?: (({
14127
+ pattern: string;
14128
+ flags?: string;
14129
+ } | string)[] | ({
14130
+ pattern: string;
14131
+ flags?: string;
14132
+ } | string));
14133
+ selector?: "literal";
14134
+ })[]];
14135
+ } | {
14136
+ fallbackSort?: {
14137
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
14138
+ order?: ("asc" | "desc");
14139
+ };
14140
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
14141
+ groupName: string;
14142
+ newlinesInside?: ("ignore" | number);
14143
+ order?: ("asc" | "desc");
14144
+ elementNamePattern?: (({
14145
+ pattern: string;
14146
+ flags?: string;
14147
+ } | string)[] | ({
14148
+ pattern: string;
14149
+ flags?: string;
14150
+ } | string));
14151
+ selector?: "literal";
14152
+ })[];
14153
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
14154
+ groups?: (string | [string, ...(string)[]] | {
14155
+ newlinesBetween: ("ignore" | number);
14156
+ } | {
14157
+ group: (string | [string, ...(string)[]]);
14158
+ fallbackSort?: {
14159
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
14160
+ order?: ("asc" | "desc");
14161
+ };
14162
+ commentAbove?: string;
14163
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
14164
+ newlinesInside?: ("ignore" | number);
14165
+ order?: ("asc" | "desc");
14166
+ })[];
14167
+ newlinesBetween?: ("ignore" | number);
14168
+ useConfigurationIf: {
14169
+ allNamesMatchPattern?: (({
14170
+ pattern: string;
14171
+ flags?: string;
14172
+ } | string)[] | ({
14173
+ pattern: string;
14174
+ flags?: string;
14175
+ } | string));
14176
+ matchesAstSelector?: string;
14177
+ };
14178
+ partitionByComment?: (boolean | (({
14179
+ pattern: string;
14180
+ flags?: string;
14181
+ } | string)[] | ({
14182
+ pattern: string;
14183
+ flags?: string;
14184
+ } | string)) | {
14185
+ block?: (boolean | (({
14186
+ pattern: string;
14187
+ flags?: string;
14188
+ } | string)[] | ({
14189
+ pattern: string;
14190
+ flags?: string;
14191
+ } | string)));
14192
+ line?: (boolean | (({
14193
+ pattern: string;
14194
+ flags?: string;
14195
+ } | string)[] | ({
14196
+ pattern: string;
14197
+ flags?: string;
14198
+ } | string)));
14199
+ });
14200
+ partitionByNewLine?: boolean;
14201
+ }, ...({
13128
14202
  fallbackSort?: {
13129
14203
  type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
13130
14204
  order?: ("asc" | "desc");
@@ -13229,7 +14303,7 @@ type PerfectionistSortArrays = {
13229
14303
  } | string)));
13230
14304
  });
13231
14305
  partitionByNewLine?: boolean;
13232
- }[]; // ----- perfectionist/sort-classes -----
14306
+ })[]]; // ----- perfectionist/sort-classes -----
13233
14307
  type PerfectionistSortClasses = {
13234
14308
  fallbackSort?: {
13235
14309
  type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
@@ -13578,6 +14652,7 @@ type PerfectionistSortEnums = {
13578
14652
  order?: ("asc" | "desc");
13579
14653
  })[];
13580
14654
  newlinesBetween?: ("ignore" | number);
14655
+ sortByValue?: ("always" | "ifNumericEnum" | "never");
13581
14656
  useConfigurationIf?: {
13582
14657
  allNamesMatchPattern?: (({
13583
14658
  pattern: string;
@@ -13588,7 +14663,6 @@ type PerfectionistSortEnums = {
13588
14663
  } | string));
13589
14664
  matchesAstSelector?: string;
13590
14665
  };
13591
- sortByValue?: ("always" | "ifNumericEnum" | "never");
13592
14666
  useExperimentalDependencyDetection?: boolean;
13593
14667
  partitionByComment?: (boolean | (({
13594
14668
  pattern: string;
@@ -14406,6 +15480,7 @@ type PerfectionistSortIntersectionTypes = {
14406
15480
  } | string)));
14407
15481
  });
14408
15482
  partitionByNewLine?: boolean;
15483
+ ignoreCallableTypes?: boolean;
14409
15484
  }[]; // ----- perfectionist/sort-jsx-props -----
14410
15485
  type PerfectionistSortJsxProps = {
14411
15486
  fallbackSort?: {
@@ -15702,6 +16777,10 @@ type PreferRegexLiterals = [] | [{
15702
16777
  }]; // ----- preserve-caught-error -----
15703
16778
  type PreserveCaughtError = [] | [{
15704
16779
  requireCatchParameter?: boolean;
16780
+ errorClassNames?: (string | {
16781
+ name: string;
16782
+ argumentPosition: number;
16783
+ })[];
15705
16784
  }]; // ----- quote-props -----
15706
16785
  type QuoteProps = ([] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
15707
16786
  keywords?: boolean;
@@ -17413,7 +18492,7 @@ type TestNoFocusedTests = [] | [{
17413
18492
  fixable?: boolean;
17414
18493
  }]; // ----- test/no-hooks -----
17415
18494
  type TestNoHooks = [] | [{
17416
- allow?: ("beforeAll" | "beforeEach" | "afterAll" | "afterEach")[];
18495
+ allow?: ("beforeAll" | "beforeEach" | "afterAll" | "afterEach" | "aroundAll" | "aroundEach")[];
17417
18496
  }]; // ----- test/no-large-snapshots -----
17418
18497
  type TestNoLargeSnapshots = [] | [{
17419
18498
  maxSize?: number;
@@ -17441,6 +18520,7 @@ type TestPreferExpectAssertions = [] | [{
17441
18520
  onlyFunctionsWithAsyncKeyword?: boolean;
17442
18521
  onlyFunctionsWithExpectInLoop?: boolean;
17443
18522
  onlyFunctionsWithExpectInCallback?: boolean;
18523
+ disallowHasAssertions?: boolean;
17444
18524
  }]; // ----- test/prefer-import-in-mock -----
17445
18525
  type TestPreferImportInMock = [] | [{
17446
18526
  fixable?: boolean;
@@ -18492,43 +19572,110 @@ type TsUnifiedSignatures = [] | [{
18492
19572
  ignoreDifferentlyNamedParameters?: boolean;
18493
19573
  ignoreOverloadsWithDifferentJSDoc?: boolean;
18494
19574
  }]; // ----- unicode-bom -----
18495
- type UnicodeBom = [] | [("always" | "never")]; // ----- unicorn/better-regex -----
18496
- type UnicornBetterRegex = [] | [{
18497
- sortCharacterClasses?: boolean;
18498
- }]; // ----- unicorn/catch-error-name -----
19575
+ type UnicodeBom = [] | [("always" | "never")]; // ----- unicorn/catch-error-name -----
18499
19576
  type UnicornCatchErrorName = [] | [{
18500
19577
  name?: string;
18501
19578
  ignore?: unknown[];
18502
- }]; // ----- unicorn/consistent-function-scoping -----
19579
+ }]; // ----- unicorn/class-reference-in-static-methods -----
19580
+ type UnicornClassReferenceInStaticMethods = [] | [{
19581
+ preferThis?: boolean;
19582
+ preferSuper?: boolean;
19583
+ }]; // ----- unicorn/comment-content -----
19584
+ type UnicornCommentContent = [] | [{
19585
+ checkUniformCase?: boolean;
19586
+ extendDefaultReplacements?: boolean;
19587
+ replacements?: {
19588
+ [k: string]: (false | string | {
19589
+ replacement: string;
19590
+ caseSensitive?: boolean;
19591
+ }) | undefined;
19592
+ };
19593
+ }]; // ----- unicorn/consistent-boolean-name -----
19594
+ type UnicornConsistentBooleanName = [] | [{
19595
+ checkProperties?: boolean;
19596
+ prefixes?: {
19597
+ [k: string]: boolean | undefined;
19598
+ };
19599
+ ignore?: unknown[];
19600
+ }]; // ----- unicorn/consistent-class-member-order -----
19601
+ type UnicornConsistentClassMemberOrder = [] | [{
19602
+ 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")];
19603
+ }]; // ----- unicorn/consistent-compound-words -----
19604
+ type UnicornConsistentCompoundWords = [] | [{
19605
+ checkProperties?: boolean;
19606
+ checkVariables?: boolean;
19607
+ checkDefaultAndNamespaceImports?: (boolean | "internal");
19608
+ checkShorthandImports?: (boolean | "internal");
19609
+ checkShorthandProperties?: boolean;
19610
+ extendDefaultReplacements?: boolean;
19611
+ replacements?: _UnicornConsistentCompoundWords_Replacements;
19612
+ allowList?: _UnicornConsistentCompoundWords_TrueObject;
19613
+ }];
19614
+ interface _UnicornConsistentCompoundWords_Replacements {
19615
+ [k: string]: (false | string) | undefined;
19616
+ }
19617
+ interface _UnicornConsistentCompoundWords_TrueObject {
19618
+ [k: string]: true | undefined;
19619
+ } // ----- unicorn/consistent-conditional-object-spread -----
19620
+ type UnicornConsistentConditionalObjectSpread = [] | [("logical" | "ternary")]; // ----- unicorn/consistent-export-decorator-position -----
19621
+ type UnicornConsistentExportDecoratorPosition = [] | [("above" | "before" | "after")]; // ----- unicorn/consistent-function-scoping -----
18503
19622
  type UnicornConsistentFunctionScoping = [] | [{
18504
19623
  checkArrowFunctions?: boolean;
19624
+ }]; // ----- unicorn/consistent-function-style -----
19625
+ type UnicornConsistentFunctionStyle = [] | [{
19626
+ default?: ("declaration" | "function-expression" | "arrow-function" | "ignore");
19627
+ namedFunctions?: ("declaration" | "function-expression" | "arrow-function" | "ignore");
19628
+ namedExports?: ("declaration" | "function-expression" | "arrow-function" | "ignore");
19629
+ callbacks?: ("function-expression" | "arrow-function" | "ignore");
19630
+ objectProperties?: ("method" | "function-expression" | "arrow-function" | "ignore");
19631
+ reassignedVariables?: ("function-expression" | "arrow-function" | "ignore");
19632
+ typedVariables?: ("function-expression" | "arrow-function" | "ignore");
19633
+ }]; // ----- unicorn/consistent-json-file-read -----
19634
+ type UnicornConsistentJsonFileRead = [] | [("string" | "buffer")]; // ----- unicorn/default-export-style -----
19635
+ type UnicornDefaultExportStyle = [] | [{
19636
+ functions?: ("inline" | "separate" | "ignore");
19637
+ classes?: ("inline" | "separate" | "ignore");
19638
+ }]; // ----- unicorn/dom-node-dataset -----
19639
+ type UnicornDomNodeDataset = [] | [{
19640
+ preferAttributes?: boolean;
18505
19641
  }]; // ----- unicorn/escape-case -----
18506
19642
  type UnicornEscapeCase = [] | [("uppercase" | "lowercase")]; // ----- unicorn/expiring-todo-comments -----
18507
19643
  type UnicornExpiringTodoComments = [] | [{
18508
19644
  terms?: string[];
18509
19645
  ignore?: unknown[];
18510
- ignoreDates?: boolean;
18511
- ignoreDatesOnPullRequests?: boolean;
19646
+ checkDates?: boolean;
19647
+ checkDatesOnPullRequests?: boolean;
18512
19648
  allowWarningComments?: boolean;
18513
19649
  date?: string;
18514
19650
  }]; // ----- unicorn/explicit-length-check -----
18515
19651
  type UnicornExplicitLengthCheck = [] | [{
18516
19652
  "non-zero"?: ("greater-than" | "not-equal");
18517
- }]; // ----- unicorn/filename-case -----
19653
+ }]; // ----- unicorn/explicit-timer-delay -----
19654
+ type UnicornExplicitTimerDelay = [] | [("always" | "never")]; // ----- unicorn/filename-case -----
18518
19655
  type UnicornFilenameCase = [] | [({
18519
- case?: ("camelCase" | "snakeCase" | "kebabCase" | "pascalCase");
19656
+ case?: ("camelCase" | "camelCaseWithAcronyms" | "snakeCase" | "kebabCase" | "pascalCase");
18520
19657
  ignore?: unknown[];
18521
19658
  multipleFileExtensions?: boolean;
19659
+ checkDirectories?: boolean;
18522
19660
  } | {
18523
19661
  cases?: {
18524
19662
  camelCase?: boolean;
19663
+ camelCaseWithAcronyms?: boolean;
18525
19664
  snakeCase?: boolean;
18526
19665
  kebabCase?: boolean;
18527
19666
  pascalCase?: boolean;
18528
19667
  };
18529
19668
  ignore?: unknown[];
18530
19669
  multipleFileExtensions?: boolean;
18531
- })]; // ----- unicorn/import-style -----
19670
+ checkDirectories?: boolean;
19671
+ })]; // ----- unicorn/id-match -----
19672
+ type UnicornIdMatch = [] | [string] | [string, {
19673
+ properties?: boolean;
19674
+ classFields?: boolean;
19675
+ onlyDeclarations?: boolean;
19676
+ ignoreDestructuring?: boolean;
19677
+ checkNamedSpecifiers?: boolean;
19678
+ }]; // ----- unicorn/import-style -----
18532
19679
  type UnicornImportStyle = [] | [{
18533
19680
  checkImport?: boolean;
18534
19681
  checkDynamicImport?: boolean;
@@ -18551,6 +19698,38 @@ type UnicornIsolatedFunctions = [] | [{
18551
19698
  functions?: string[];
18552
19699
  selectors?: string[];
18553
19700
  comments?: string[];
19701
+ }]; // ----- unicorn/logical-assignment-operators -----
19702
+ type UnicornLogicalAssignmentOperators = (([] | ["always"] | ["always", {
19703
+ enforceForIfStatements?: boolean;
19704
+ }] | ["never"]) & unknown[]); // ----- unicorn/max-nested-calls -----
19705
+ type UnicornMaxNestedCalls = [] | [{
19706
+ max?: number;
19707
+ }]; // ----- unicorn/name-replacements -----
19708
+ type UnicornNameReplacements = [] | [{
19709
+ checkProperties?: boolean;
19710
+ checkVariables?: boolean;
19711
+ checkDefaultAndNamespaceImports?: (boolean | string);
19712
+ checkShorthandImports?: (boolean | string);
19713
+ checkShorthandProperties?: boolean;
19714
+ checkFilenames?: boolean;
19715
+ extendDefaultReplacements?: boolean;
19716
+ replacements?: _UnicornNameReplacements_NameReplacements;
19717
+ extendDefaultAllowList?: boolean;
19718
+ allowList?: _UnicornNameReplacements_BooleanObject;
19719
+ ignore?: unknown[];
19720
+ }];
19721
+ type _UnicornNameReplacementsReplacements = (false | _UnicornNameReplacements_BooleanObject) | undefined;
19722
+ interface _UnicornNameReplacements_NameReplacements {
19723
+ [k: string]: _UnicornNameReplacementsReplacements | undefined;
19724
+ }
19725
+ interface _UnicornNameReplacements_BooleanObject {
19726
+ [k: string]: boolean | undefined;
19727
+ }
19728
+ interface _UnicornNameReplacements_BooleanObject {
19729
+ [k: string]: boolean | undefined;
19730
+ } // ----- unicorn/no-array-callback-reference -----
19731
+ type UnicornNoArrayCallbackReference = [] | [{
19732
+ ignore?: string[];
18554
19733
  }]; // ----- unicorn/no-array-reduce -----
18555
19734
  type UnicornNoArrayReduce = [] | [{
18556
19735
  allowSimpleOperations?: boolean;
@@ -18560,28 +19739,48 @@ type UnicornNoArrayReverse = [] | [{
18560
19739
  }]; // ----- unicorn/no-array-sort -----
18561
19740
  type UnicornNoArraySort = [] | [{
18562
19741
  allowExpressionStatement?: boolean;
19742
+ }]; // ----- unicorn/no-empty-file -----
19743
+ type UnicornNoEmptyFile = [] | [{
19744
+ allowComments?: boolean;
18563
19745
  }]; // ----- unicorn/no-instanceof-builtins -----
18564
19746
  type UnicornNoInstanceofBuiltins = [] | [{
18565
19747
  useErrorIsError?: boolean;
18566
19748
  strategy?: ("loose" | "strict");
18567
19749
  include?: string[];
18568
19750
  exclude?: string[];
19751
+ }]; // ----- unicorn/no-invalid-argument-count -----
19752
+ type UnicornNoInvalidArgumentCount = [] | [{
19753
+ [k: string]: (number | [number, ...(number)[]] | {
19754
+ min?: number;
19755
+ max?: number;
19756
+ }) | undefined;
18569
19757
  }]; // ----- unicorn/no-keyword-prefix -----
18570
19758
  type UnicornNoKeywordPrefix = [] | [{
18571
19759
  disallowedPrefixes?: [] | [string];
18572
19760
  checkProperties?: boolean;
18573
19761
  onlyCamelCase?: boolean;
19762
+ }]; // ----- unicorn/no-negated-comparison -----
19763
+ type UnicornNoNegatedComparison = [] | [{
19764
+ checkLogicalExpressions?: boolean;
19765
+ }]; // ----- unicorn/no-non-function-verb-prefix -----
19766
+ type UnicornNoNonFunctionVerbPrefix = [] | [{
19767
+ verbs?: string[];
19768
+ ignore?: unknown[];
18574
19769
  }]; // ----- unicorn/no-null -----
18575
19770
  type UnicornNoNull = [] | [{
19771
+ checkArguments?: boolean;
18576
19772
  checkStrictEquality?: boolean;
18577
19773
  }]; // ----- unicorn/no-typeof-undefined -----
18578
19774
  type UnicornNoTypeofUndefined = [] | [{
18579
19775
  checkGlobalVariables?: boolean;
18580
19776
  }]; // ----- unicorn/no-unnecessary-polyfills -----
18581
19777
  type UnicornNoUnnecessaryPolyfills = [] | [{
18582
- targets: (string | unknown[] | {
19778
+ targets?: (string | unknown[] | {
18583
19779
  [k: string]: unknown | undefined;
18584
19780
  });
19781
+ }]; // ----- unicorn/no-unreadable-array-destructuring -----
19782
+ type UnicornNoUnreadableArrayDestructuring = [] | [{
19783
+ maximumIgnoredElements?: number;
18585
19784
  }]; // ----- unicorn/no-useless-undefined -----
18586
19785
  type UnicornNoUselessUndefined = [] | [{
18587
19786
  checkArguments?: boolean;
@@ -18610,9 +19809,11 @@ type UnicornNumericSeparatorsStyle = [] | [{
18610
19809
  onlyIfContainsSeparator?: boolean;
18611
19810
  minimumDigits?: number;
18612
19811
  groupLength?: number;
19812
+ fractionGroupLength?: number;
18613
19813
  };
18614
19814
  onlyIfContainsSeparator?: boolean;
18615
- }]; // ----- unicorn/prefer-add-event-listener -----
19815
+ }]; // ----- unicorn/operator-assignment -----
19816
+ type UnicornOperatorAssignment = [] | [("always" | "never")]; // ----- unicorn/prefer-add-event-listener -----
18616
19817
  type UnicornPreferAddEventListener = [] | [{
18617
19818
  excludedPackages?: string[];
18618
19819
  }]; // ----- unicorn/prefer-array-find -----
@@ -18625,9 +19826,22 @@ type UnicornPreferArrayFlat = [] | [{
18625
19826
  type UnicornPreferAt = [] | [{
18626
19827
  getLastElementFunctions?: unknown[];
18627
19828
  checkAllIndexAccess?: boolean;
19829
+ }]; // ----- unicorn/prefer-continue -----
19830
+ type UnicornPreferContinue = [] | [{
19831
+ maximumStatements?: number;
19832
+ }]; // ----- unicorn/prefer-early-return -----
19833
+ type UnicornPreferEarlyReturn = [] | [{
19834
+ maximumStatements?: number;
18628
19835
  }]; // ----- unicorn/prefer-export-from -----
18629
19836
  type UnicornPreferExportFrom = [] | [{
18630
- ignoreUsedVariables?: boolean;
19837
+ checkUsedVariables?: boolean;
19838
+ }]; // ----- unicorn/prefer-includes-over-repeated-comparisons -----
19839
+ type UnicornPreferIncludesOverRepeatedComparisons = [] | [{
19840
+ minimumComparisons?: number;
19841
+ }]; // ----- unicorn/prefer-minimal-ternary -----
19842
+ type UnicornPreferMinimalTernary = [] | [{
19843
+ checkVaryingCallee?: boolean;
19844
+ checkComputedMemberAccess?: boolean;
18631
19845
  }]; // ----- unicorn/prefer-number-properties -----
18632
19846
  type UnicornPreferNumberProperties = [] | [{
18633
19847
  checkInfinity?: boolean;
@@ -18635,9 +19849,22 @@ type UnicornPreferNumberProperties = [] | [{
18635
19849
  }]; // ----- unicorn/prefer-object-from-entries -----
18636
19850
  type UnicornPreferObjectFromEntries = [] | [{
18637
19851
  functions?: unknown[];
19852
+ }]; // ----- unicorn/prefer-query-selector -----
19853
+ type UnicornPreferQuerySelector = [] | [{
19854
+ allowWithVariables?: boolean;
19855
+ }]; // ----- unicorn/prefer-queue-microtask -----
19856
+ type UnicornPreferQueueMicrotask = [] | [{
19857
+ checkSetImmediate?: boolean;
19858
+ checkSetTimeout?: boolean;
19859
+ }]; // ----- unicorn/prefer-set-has -----
19860
+ type UnicornPreferSetHas = [] | [{
19861
+ minimumItems?: number;
18638
19862
  }]; // ----- unicorn/prefer-single-call -----
18639
19863
  type UnicornPreferSingleCall = [] | [{
18640
19864
  ignore?: unknown[];
19865
+ }]; // ----- unicorn/prefer-string-repeat -----
19866
+ type UnicornPreferStringRepeat = [] | [{
19867
+ minimumRepetitions?: number;
18641
19868
  }]; // ----- unicorn/prefer-structured-clone -----
18642
19869
  type UnicornPreferStructuredClone = [] | [{
18643
19870
  functions?: unknown[];
@@ -18645,42 +19872,29 @@ type UnicornPreferStructuredClone = [] | [{
18645
19872
  type UnicornPreferSwitch = [] | [{
18646
19873
  minimumCases?: number;
18647
19874
  emptyDefaultCase?: ("no-default-comment" | "do-nothing-comment" | "no-default-case");
19875
+ }]; // ----- unicorn/prefer-temporal -----
19876
+ type UnicornPreferTemporal = [] | [{
19877
+ checkDateNow?: boolean;
19878
+ checkReferences?: boolean;
19879
+ checkMethods?: boolean;
18648
19880
  }]; // ----- unicorn/prefer-ternary -----
18649
- type UnicornPreferTernary = [] | [("always" | "only-single-line")]; // ----- unicorn/prevent-abbreviations -----
18650
- type UnicornPreventAbbreviations = [] | [{
18651
- checkProperties?: boolean;
18652
- checkVariables?: boolean;
18653
- checkDefaultAndNamespaceImports?: (boolean | string);
18654
- checkShorthandImports?: (boolean | string);
18655
- checkShorthandProperties?: boolean;
18656
- checkFilenames?: boolean;
18657
- extendDefaultReplacements?: boolean;
18658
- replacements?: _UnicornPreventAbbreviations_Abbreviations;
18659
- extendDefaultAllowList?: boolean;
18660
- allowList?: _UnicornPreventAbbreviations_BooleanObject;
18661
- ignore?: unknown[];
18662
- }];
18663
- type _UnicornPreventAbbreviationsReplacements = (false | _UnicornPreventAbbreviations_BooleanObject) | undefined;
18664
- interface _UnicornPreventAbbreviations_Abbreviations {
18665
- [k: string]: _UnicornPreventAbbreviationsReplacements | undefined;
18666
- }
18667
- interface _UnicornPreventAbbreviations_BooleanObject {
18668
- [k: string]: boolean | undefined;
18669
- }
18670
- interface _UnicornPreventAbbreviations_BooleanObject {
18671
- [k: string]: boolean | undefined;
18672
- } // ----- unicorn/relative-url-style -----
18673
- type UnicornRelativeUrlStyle = [] | [("never" | "always")]; // ----- unicorn/string-content -----
19881
+ type UnicornPreferTernary = [] | [("always" | "only-single-line")]; // ----- unicorn/relative-url-style -----
19882
+ type UnicornRelativeUrlStyle = [] | [("never" | "always")]; // ----- unicorn/require-css-escape -----
19883
+ type UnicornRequireCssEscape = [] | [{
19884
+ checkAllSelectors?: boolean;
19885
+ }]; // ----- unicorn/string-content -----
18674
19886
  type UnicornStringContent = [] | [{
18675
19887
  patterns?: {
18676
19888
  [k: string]: (string | {
18677
19889
  suggest: string;
18678
19890
  fix?: boolean;
19891
+ caseSensitive?: boolean;
18679
19892
  message?: string;
18680
19893
  }) | undefined;
18681
19894
  };
19895
+ selectors?: string[];
18682
19896
  }]; // ----- unicorn/switch-case-braces -----
18683
- type UnicornSwitchCaseBraces = [] | [("always" | "avoid")]; // ----- unicorn/template-indent -----
19897
+ type UnicornSwitchCaseBraces = [] | [("always" | "avoid" | "single-statement")]; // ----- unicorn/template-indent -----
18684
19898
  type UnicornTemplateIndent = [] | [{
18685
19899
  indent?: (string | number);
18686
19900
  tags?: string[];
@@ -18690,6 +19904,9 @@ type UnicornTemplateIndent = [] | [{
18690
19904
  }]; // ----- unicorn/text-encoding-identifier-case -----
18691
19905
  type UnicornTextEncodingIdentifierCase = [] | [{
18692
19906
  withDash?: boolean;
19907
+ }]; // ----- unicorn/try-complexity -----
19908
+ type UnicornTryComplexity = [] | [{
19909
+ max?: number;
18693
19910
  }]; // ----- unocss/enforce-class-compile -----
18694
19911
  type UnocssEnforceClassCompile = [] | [{
18695
19912
  prefix?: string;
@@ -20031,6 +21248,10 @@ type YamlNoMultipleEmptyLines = [] | [{
20031
21248
  max: number;
20032
21249
  maxEOF?: number;
20033
21250
  maxBOF?: number;
21251
+ }]; // ----- yaml/no-trailing-spaces -----
21252
+ type YamlNoTrailingSpaces = [] | [{
21253
+ skipBlankLines?: boolean;
21254
+ ignoreComments?: boolean;
20034
21255
  }]; // ----- yaml/plain-scalar -----
20035
21256
  type YamlPlainScalar = [] | [("always" | "never")] | [("always" | "never"), {
20036
21257
  ignorePatterns?: string[];
@@ -20090,11 +21311,13 @@ type YamlSortSequenceValues = [{
20090
21311
  type?: ("asc" | "desc");
20091
21312
  caseSensitive?: boolean;
20092
21313
  natural?: boolean;
21314
+ key?: string;
20093
21315
  };
20094
21316
  })[] | {
20095
21317
  type?: ("asc" | "desc");
20096
21318
  caseSensitive?: boolean;
20097
21319
  natural?: boolean;
21320
+ key?: string;
20098
21321
  });
20099
21322
  minValues?: number;
20100
21323
  }, ...({
@@ -20105,11 +21328,13 @@ type YamlSortSequenceValues = [{
20105
21328
  type?: ("asc" | "desc");
20106
21329
  caseSensitive?: boolean;
20107
21330
  natural?: boolean;
21331
+ key?: string;
20108
21332
  };
20109
21333
  })[] | {
20110
21334
  type?: ("asc" | "desc");
20111
21335
  caseSensitive?: boolean;
20112
21336
  natural?: boolean;
21337
+ key?: string;
20113
21338
  });
20114
21339
  minValues?: number;
20115
21340
  })[]]; // ----- yaml/spaced-comment -----
@@ -20125,7 +21350,7 @@ type Yoda = [] | [("always" | "never")] | [("always" | "never"), {
20125
21350
  exceptRange?: boolean;
20126
21351
  onlyEquality?: boolean;
20127
21352
  }]; // Names of all the configs
20128
- 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';
21353
+ 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';
20129
21354
  //#endregion
20130
21355
  //#region src/vendor/prettier-types.d.ts
20131
21356
  /**