@vinicunca/eslint-config 5.2.0 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -331,6 +331,11 @@ interface RuleOptions {
331
331
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-exports-from-components/
332
332
  */
333
333
  'astro/no-exports-from-components'?: Linter.RuleEntry<[]>;
334
+ /**
335
+ * disallow omitted end tags
336
+ * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-omitted-end-tags/
337
+ */
338
+ 'astro/no-omitted-end-tags'?: Linter.RuleEntry<[]>;
334
339
  /**
335
340
  * disallow `prerender` export outside of pages/ directory
336
341
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-prerender-export-outside-pages/
@@ -513,10 +518,18 @@ interface RuleOptions {
513
518
  * Disallow dependencies in favor of more performant or secure alternatives
514
519
  */
515
520
  'e18e/ban-dependencies'?: Linter.RuleEntry<E18EBanDependencies>;
521
+ /**
522
+ * Disallow `delete` on properties — V8 deoptimizes the object to dictionary mode
523
+ */
524
+ 'e18e/no-delete-property'?: Linter.RuleEntry<[]>;
516
525
  /**
517
526
  * Prefer optimized alternatives to `indexOf()` equality checks
518
527
  */
519
528
  'e18e/no-indexof-equality'?: Linter.RuleEntry<[]>;
529
+ /**
530
+ * Disallow spreading the accumulator inside a `reduce` callback (O(N²) growth)
531
+ */
532
+ 'e18e/no-spread-in-reduce'?: Linter.RuleEntry<[]>;
520
533
  /**
521
534
  * Prefer Array.prototype.at() over length-based indexing
522
535
  */
@@ -530,7 +543,7 @@ interface RuleOptions {
530
543
  */
531
544
  'e18e/prefer-array-from-map'?: Linter.RuleEntry<[]>;
532
545
  /**
533
- * Prefer Array.some() over Array.find() when checking for element existence
546
+ * Prefer Array.some() over Array.find() and Array.filter().length checks when checking for element existence
534
547
  */
535
548
  'e18e/prefer-array-some'?: Linter.RuleEntry<[]>;
536
549
  /**
@@ -553,10 +566,22 @@ interface RuleOptions {
553
566
  * Prefer the exponentiation operator ** over Math.pow()
554
567
  */
555
568
  'e18e/prefer-exponentiation-operator'?: Linter.RuleEntry<[]>;
569
+ /**
570
+ * Prefer Array.prototype.flatMap() over .map(fn).flat() to avoid the intermediate array
571
+ */
572
+ 'e18e/prefer-flatmap-over-map-flat'?: Linter.RuleEntry<[]>;
573
+ /**
574
+ * Prefer `Map.prototype.getOrInsert()` over reading an entry with a default and writing it back
575
+ */
576
+ 'e18e/prefer-get-or-insert'?: Linter.RuleEntry<[]>;
556
577
  /**
557
578
  * Prefer .includes() over indexOf() comparisons for arrays and strings
558
579
  */
559
580
  'e18e/prefer-includes'?: Linter.RuleEntry<[]>;
581
+ /**
582
+ * Prefer String.prototype.{includes,startsWith,endsWith} over equivalent regex.test() calls
583
+ */
584
+ 'e18e/prefer-includes-over-regex-test'?: Linter.RuleEntry<[]>;
560
585
  /**
561
586
  * Prefer inline equality checks over temporary object creation for simple comparisons
562
587
  */
@@ -577,10 +602,18 @@ interface RuleOptions {
577
602
  * Prefer spread syntax over Array.concat(), Array.from(), Object.assign({}, ...), and Function.apply()
578
603
  */
579
604
  'e18e/prefer-spread-syntax'?: Linter.RuleEntry<[]>;
605
+ /**
606
+ * Prefer hoisting an `Intl.Collator` instance over calling localeCompare in a sort callback
607
+ */
608
+ 'e18e/prefer-static-collator'?: Linter.RuleEntry<[]>;
580
609
  /**
581
610
  * Prefer defining regular expressions at module scope to avoid re-compilation on every function call
582
611
  */
583
612
  'e18e/prefer-static-regex'?: Linter.RuleEntry<[]>;
613
+ /**
614
+ * Prefer String.fromCharCode() over String.fromCodePoint() for code points below 0x10000
615
+ */
616
+ 'e18e/prefer-string-fromcharcode'?: Linter.RuleEntry<[]>;
584
617
  /**
585
618
  * Prefer passing function and arguments directly to setTimeout/setInterval instead of wrapping in an arrow function or using bind
586
619
  */
@@ -3532,7 +3565,7 @@ interface RuleOptions {
3532
3565
  */
3533
3566
  'react/no-context-provider'?: Linter.RuleEntry<[]>;
3534
3567
  /**
3535
- * Disallows 'createRef' in function components.
3568
+ * Disallows 'createRef' in function components and Hooks.
3536
3569
  * @see https://eslint-react.xyz/docs/rules/no-create-ref
3537
3570
  */
3538
3571
  'react/no-create-ref'?: Linter.RuleEntry<[]>;
@@ -3657,7 +3690,7 @@ interface RuleOptions {
3657
3690
  */
3658
3691
  'react/no-unused-props'?: Linter.RuleEntry<[]>;
3659
3692
  /**
3660
- * Warns about state variables that are defined but never used, or only used in effects.
3693
+ * Warns about state variables that are defined but never used.
3661
3694
  * @see https://eslint-react.xyz/docs/rules/no-unused-state
3662
3695
  */
3663
3696
  'react/no-unused-state'?: Linter.RuleEntry<[]>;
@@ -3726,6 +3759,11 @@ interface RuleOptions {
3726
3759
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-fetch
3727
3760
  */
3728
3761
  'react/web-api-no-leaked-fetch'?: Linter.RuleEntry<[]>;
3762
+ /**
3763
+ * Enforces that every 'IntersectionObserver' created in a component or custom hook has a corresponding 'IntersectionObserver.disconnect()'.
3764
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-intersection-observer
3765
+ */
3766
+ 'react/web-api-no-leaked-intersection-observer'?: Linter.RuleEntry<[]>;
3729
3767
  /**
3730
3768
  * Enforces that every 'setInterval' in a component or custom hook has a corresponding 'clearInterval'.
3731
3769
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval
@@ -3827,7 +3865,7 @@ interface RuleOptions {
3827
3865
  */
3828
3866
  'react/x-no-context-provider'?: Linter.RuleEntry<[]>;
3829
3867
  /**
3830
- * Disallows 'createRef' in function components.
3868
+ * Disallows 'createRef' in function components and Hooks.
3831
3869
  * @see https://eslint-react.xyz/docs/rules/no-create-ref
3832
3870
  */
3833
3871
  'react/x-no-create-ref'?: Linter.RuleEntry<[]>;
@@ -3952,7 +3990,7 @@ interface RuleOptions {
3952
3990
  */
3953
3991
  'react/x-no-unused-props'?: Linter.RuleEntry<[]>;
3954
3992
  /**
3955
- * Warns about state variables that are defined but never used, or only used in effects.
3993
+ * Warns about state variables that are defined but never used.
3956
3994
  * @see https://eslint-react.xyz/docs/rules/no-unused-state
3957
3995
  */
3958
3996
  'react/x-no-unused-state'?: Linter.RuleEntry<[]>;
@@ -4602,12 +4640,17 @@ interface RuleOptions {
4602
4640
  */
4603
4641
  'sonar/assertions-in-tests'?: Linter.RuleEntry<[]>;
4604
4642
  /**
4605
- * Creating public APIs is security-sensitive
4643
+ * Async test assertions should be awaited or returned
4644
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8780/javascript
4645
+ */
4646
+ 'sonar/async-test-assertions'?: Linter.RuleEntry<[]>;
4647
+ /**
4648
+ * AWS API Gateway should require authentication
4606
4649
  * @see https://sonarsource.github.io/rspec/#/rspec/S6333/javascript
4607
4650
  */
4608
4651
  'sonar/aws-apigateway-public-api'?: Linter.RuleEntry<[]>;
4609
4652
  /**
4610
- * Allowing public network access to cloud resources is security-sensitive
4653
+ * Public network access to cloud resources should be disabled
4611
4654
  * @see https://sonarsource.github.io/rspec/#/rspec/S6329/javascript
4612
4655
  */
4613
4656
  'sonar/aws-ec2-rds-dms-public'?: Linter.RuleEntry<[]>;
@@ -4617,7 +4660,7 @@ interface RuleOptions {
4617
4660
  */
4618
4661
  'sonar/aws-ec2-unencrypted-ebs-volume'?: Linter.RuleEntry<[]>;
4619
4662
  /**
4620
- * Using unencrypted EFS file systems is security-sensitive
4663
+ * Amazon EFS file systems should be encrypted
4621
4664
  * @see https://sonarsource.github.io/rspec/#/rspec/S6332/javascript
4622
4665
  */
4623
4666
  'sonar/aws-efs-unencrypted'?: Linter.RuleEntry<[]>;
@@ -4627,7 +4670,7 @@ interface RuleOptions {
4627
4670
  */
4628
4671
  'sonar/aws-iam-all-privileges'?: Linter.RuleEntry<[]>;
4629
4672
  /**
4630
- * Policies granting access to all resources of an account are security-sensitive
4673
+ * IAM policies should not grant access to all account resources
4631
4674
  * @see https://sonarsource.github.io/rspec/#/rspec/S6304/javascript
4632
4675
  */
4633
4676
  'sonar/aws-iam-all-resources-accessible'?: Linter.RuleEntry<[]>;
@@ -4662,33 +4705,27 @@ interface RuleOptions {
4662
4705
  */
4663
4706
  'sonar/aws-s3-bucket-granted-access'?: Linter.RuleEntry<[]>;
4664
4707
  /**
4665
- * Authorizing HTTP communications with S3 buckets is security-sensitive
4708
+ * S3 buckets should enforce HTTPS-only access
4666
4709
  * @see https://sonarsource.github.io/rspec/#/rspec/S6249/javascript
4667
4710
  */
4668
4711
  'sonar/aws-s3-bucket-insecure-http'?: Linter.RuleEntry<[]>;
4669
4712
  /**
4670
- * Allowing public ACLs or policies on a S3 bucket is security-sensitive
4713
+ * Amazon S3 bucket public access should be fully blocked
4671
4714
  * @see https://sonarsource.github.io/rspec/#/rspec/S6281/javascript
4672
4715
  */
4673
4716
  'sonar/aws-s3-bucket-public-access'?: Linter.RuleEntry<[]>;
4674
4717
  /**
4675
- * Disabling server-side encryption of S3 buckets is security-sensitive
4676
- * @see https://sonarsource.github.io/rspec/#/rspec/S6245/javascript
4677
- * @deprecated
4678
- */
4679
- 'sonar/aws-s3-bucket-server-encryption'?: Linter.RuleEntry<[]>;
4680
- /**
4681
- * Disabling versioning of S3 buckets is security-sensitive
4718
+ * Amazon S3 buckets should have versioning enabled
4682
4719
  * @see https://sonarsource.github.io/rspec/#/rspec/S6252/javascript
4683
4720
  */
4684
4721
  'sonar/aws-s3-bucket-versioning'?: Linter.RuleEntry<[]>;
4685
4722
  /**
4686
- * Using unencrypted SageMaker notebook instances is security-sensitive
4723
+ * SageMaker notebook instances should be encrypted at rest
4687
4724
  * @see https://sonarsource.github.io/rspec/#/rspec/S6319/javascript
4688
4725
  */
4689
4726
  'sonar/aws-sagemaker-unencrypted-notebook'?: Linter.RuleEntry<[]>;
4690
4727
  /**
4691
- * Using unencrypted SNS topics is security-sensitive
4728
+ * Amazon SNS topics should be encrypted at rest
4692
4729
  * @see https://sonarsource.github.io/rspec/#/rspec/S6327/javascript
4693
4730
  */
4694
4731
  'sonar/aws-sns-unencrypted-topics'?: Linter.RuleEntry<[]>;
@@ -4717,12 +4754,6 @@ interface RuleOptions {
4717
4754
  * @see https://sonarsource.github.io/rspec/#/rspec/S1472/javascript
4718
4755
  */
4719
4756
  'sonar/call-argument-line'?: Linter.RuleEntry<[]>;
4720
- /**
4721
- * Disabling Certificate Transparency monitoring is security-sensitive
4722
- * @see https://sonarsource.github.io/rspec/#/rspec/S5742/javascript
4723
- * @deprecated
4724
- */
4725
- 'sonar/certificate-transparency'?: Linter.RuleEntry<[]>;
4726
4757
  /**
4727
4758
  * Chai assertions should have only one reason to succeed
4728
4759
  * @see https://sonarsource.github.io/rspec/#/rspec/S6092/javascript
@@ -4739,7 +4770,7 @@ interface RuleOptions {
4739
4770
  */
4740
4771
  'sonar/class-prototype'?: Linter.RuleEntry<[]>;
4741
4772
  /**
4742
- * Dynamically executing code is security-sensitive
4773
+ * Dynamic code execution should not use user-controlled data
4743
4774
  * @see https://sonarsource.github.io/rspec/#/rspec/S1523/javascript
4744
4775
  */
4745
4776
  'sonar/code-eval'?: Linter.RuleEntry<[]>;
@@ -4770,8 +4801,9 @@ interface RuleOptions {
4770
4801
  */
4771
4802
  'sonar/conditional-indentation'?: Linter.RuleEntry<[]>;
4772
4803
  /**
4773
- * Allowing confidential information to be logged is security-sensitive
4804
+ * Confidential information should not be logged
4774
4805
  * @see https://sonarsource.github.io/rspec/#/rspec/S5757/javascript
4806
+ * @deprecated
4775
4807
  */
4776
4808
  'sonar/confidential-information-logging'?: Linter.RuleEntry<[]>;
4777
4809
  /**
@@ -4785,28 +4817,22 @@ interface RuleOptions {
4785
4817
  */
4786
4818
  'sonar/content-length'?: Linter.RuleEntry<SonarContentLength>;
4787
4819
  /**
4788
- * Disabling content security policy fetch directives is security-sensitive
4820
+ * Content security policy fetch directives should not be disabled
4789
4821
  * @see https://sonarsource.github.io/rspec/#/rspec/S5728/javascript
4790
4822
  */
4791
4823
  'sonar/content-security-policy'?: Linter.RuleEntry<[]>;
4792
4824
  /**
4793
- * Creating cookies without the "HttpOnly" flag is security-sensitive
4825
+ * Cookies should have the "HttpOnly" flag
4794
4826
  * @see https://sonarsource.github.io/rspec/#/rspec/S3330/javascript
4795
4827
  */
4796
4828
  'sonar/cookie-no-httponly'?: Linter.RuleEntry<[]>;
4797
- /**
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
4829
  /**
4804
4830
  * Cross-Origin Resource Sharing (CORS) policy should be restricted to trusted origins
4805
4831
  * @see https://sonarsource.github.io/rspec/#/rspec/S5122/javascript
4806
4832
  */
4807
4833
  'sonar/cors'?: Linter.RuleEntry<[]>;
4808
4834
  /**
4809
- * Disabling CSRF protections is security-sensitive
4835
+ * CSRF protections should not be disabled
4810
4836
  * @see https://sonarsource.github.io/rspec/#/rspec/S4502/javascript
4811
4837
  */
4812
4838
  'sonar/csrf'?: Linter.RuleEntry<[]>;
@@ -4836,12 +4862,12 @@ interface RuleOptions {
4836
4862
  */
4837
4863
  'sonar/different-types-comparison'?: Linter.RuleEntry<[]>;
4838
4864
  /**
4839
- * Disabling auto-escaping in template engines is security-sensitive
4865
+ * Auto-escaping in HTML template engines should not be disabled
4840
4866
  * @see https://sonarsource.github.io/rspec/#/rspec/S5247/javascript
4841
4867
  */
4842
4868
  'sonar/disabled-auto-escaping'?: Linter.RuleEntry<[]>;
4843
4869
  /**
4844
- * Using remote artifacts without integrity checks is security-sensitive
4870
+ * Remote artifacts should not be used without integrity checks
4845
4871
  * @see https://sonarsource.github.io/rspec/#/rspec/S5725/javascript
4846
4872
  */
4847
4873
  'sonar/disabled-resource-integrity'?: Linter.RuleEntry<[]>;
@@ -4850,12 +4876,6 @@ interface RuleOptions {
4850
4876
  * @see https://sonarsource.github.io/rspec/#/rspec/S6080/javascript
4851
4877
  */
4852
4878
  '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
4879
  /**
4860
4880
  * DOMPurify configuration should not be bypassable
4861
4881
  * @see https://sonarsource.github.io/rspec/#/rspec/S8479/javascript
@@ -4881,12 +4901,6 @@ interface RuleOptions {
4881
4901
  * @see https://sonarsource.github.io/rspec/#/rspec/S5842/javascript
4882
4902
  */
4883
4903
  '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
4904
  /**
4891
4905
  * Encryption algorithms should be used with secure mode and padding scheme
4892
4906
  * @see https://sonarsource.github.io/rspec/#/rspec/S5542/javascript
@@ -4938,8 +4952,9 @@ interface RuleOptions {
4938
4952
  */
4939
4953
  'sonar/for-loop-increment-sign'?: Linter.RuleEntry<[]>;
4940
4954
  /**
4941
- * Disabling content security policy frame-ancestors directive is security-sensitive
4955
+ * Content Security Policy frame-ancestors directive should not be disabled
4942
4956
  * @see https://sonarsource.github.io/rspec/#/rspec/S5732/javascript
4957
+ * @deprecated
4943
4958
  */
4944
4959
  'sonar/frame-ancestors'?: Linter.RuleEntry<[]>;
4945
4960
  /**
@@ -4973,15 +4988,21 @@ interface RuleOptions {
4973
4988
  */
4974
4989
  'sonar/hardcoded-secret-signatures'?: Linter.RuleEntry<[]>;
4975
4990
  /**
4976
- * Using weak hashing algorithms is security-sensitive
4991
+ * Weak hashing algorithms should not be used
4977
4992
  * @see https://sonarsource.github.io/rspec/#/rspec/S4790/javascript
4978
4993
  */
4979
4994
  'sonar/hashing'?: Linter.RuleEntry<[]>;
4980
4995
  /**
4981
- * Statically serving hidden files is security-sensitive
4996
+ * Hidden files should not be served statically
4982
4997
  * @see https://sonarsource.github.io/rspec/#/rspec/S5691/javascript
4998
+ * @deprecated
4983
4999
  */
4984
5000
  'sonar/hidden-files'?: Linter.RuleEntry<[]>;
5001
+ /**
5002
+ * Lifecycle hooks should not be interleaved with test cases or nested suites
5003
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8782/javascript
5004
+ */
5005
+ 'sonar/hooks-before-test-cases'?: Linter.RuleEntry<[]>;
4985
5006
  /**
4986
5007
  * "in" should not be used with primitive types
4987
5008
  * @see https://sonarsource.github.io/rspec/#/rspec/S3785/javascript
@@ -5073,7 +5094,7 @@ interface RuleOptions {
5073
5094
  */
5074
5095
  'sonar/no-alphabetical-sort'?: Linter.RuleEntry<[]>;
5075
5096
  /**
5076
- * Disabling Angular built-in sanitization is security-sensitive
5097
+ * Angular built-in sanitization should not be disabled
5077
5098
  * @see https://sonarsource.github.io/rspec/#/rspec/S6268/javascript
5078
5099
  */
5079
5100
  'sonar/no-angular-bypass-sanitization'?: Linter.RuleEntry<[]>;
@@ -5103,7 +5124,7 @@ interface RuleOptions {
5103
5124
  */
5104
5125
  'sonar/no-case-label-in-switch'?: Linter.RuleEntry<[]>;
5105
5126
  /**
5106
- * Using clear-text protocols is security-sensitive
5127
+ * Clear-text protocols should not be used
5107
5128
  * @see https://sonarsource.github.io/rspec/#/rspec/S5332/javascript
5108
5129
  */
5109
5130
  'sonar/no-clear-text-protocols'?: Linter.RuleEntry<[]>;
@@ -5152,6 +5173,11 @@ interface RuleOptions {
5152
5173
  * @see https://sonarsource.github.io/rspec/#/rspec/S1192/javascript
5153
5174
  */
5154
5175
  'sonar/no-duplicate-string'?: Linter.RuleEntry<SonarNoDuplicateString>;
5176
+ /**
5177
+ * Test titles should be unique within the same suite
5178
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8754/javascript
5179
+ */
5180
+ 'sonar/no-duplicate-test-title'?: Linter.RuleEntry<[]>;
5155
5181
  /**
5156
5182
  * Two branches in a conditional structure should not have exactly the same implementation
5157
5183
  * @see https://sonarsource.github.io/rspec/#/rspec/S1871/javascript
@@ -5192,6 +5218,11 @@ interface RuleOptions {
5192
5218
  * @see https://sonarsource.github.io/rspec/#/rspec/S2187/javascript
5193
5219
  */
5194
5220
  'sonar/no-empty-test-file'?: Linter.RuleEntry<[]>;
5221
+ /**
5222
+ * Test and suite titles should not be empty or whitespace-only
5223
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8781/javascript
5224
+ */
5225
+ 'sonar/no-empty-test-title'?: Linter.RuleEntry<[]>;
5195
5226
  /**
5196
5227
  * Equality operators should not be used in "for" loop termination conditions
5197
5228
  * @see https://sonarsource.github.io/rspec/#/rspec/S888/javascript
@@ -5212,11 +5243,21 @@ interface RuleOptions {
5212
5243
  * @see https://sonarsource.github.io/rspec/#/rspec/S128/javascript
5213
5244
  */
5214
5245
  'sonar/no-fallthrough'?: Linter.RuleEntry<[]>;
5246
+ /**
5247
+ * Floating point numbers should not be tested for equality
5248
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1244/javascript
5249
+ */
5250
+ 'sonar/no-floating-point-equality'?: Linter.RuleEntry<[]>;
5215
5251
  /**
5216
5252
  * "for in" should not be used with iterables
5217
5253
  * @see https://sonarsource.github.io/rspec/#/rspec/S4139/javascript
5218
5254
  */
5219
5255
  'sonar/no-for-in-iterable'?: Linter.RuleEntry<[]>;
5256
+ /**
5257
+ * Forced browser interactions should not bypass actionability checks
5258
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8783/javascript
5259
+ */
5260
+ 'sonar/no-forced-browser-interaction'?: Linter.RuleEntry<[]>;
5220
5261
  /**
5221
5262
  * Function declarations should not be made within blocks
5222
5263
  * @see https://sonarsource.github.io/rspec/#/rspec/S1530/javascript
@@ -5297,6 +5338,11 @@ interface RuleOptions {
5297
5338
  * @see https://sonarsource.github.io/rspec/#/rspec/S4619/javascript
5298
5339
  */
5299
5340
  'sonar/no-in-misuse'?: Linter.RuleEntry<[]>;
5341
+ /**
5342
+ * Assertions comparing incompatible types should not be made
5343
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5845/javascript
5344
+ */
5345
+ 'sonar/no-incompatible-assertion-types'?: Linter.RuleEntry<[]>;
5300
5346
  /**
5301
5347
  * Assertions should be complete
5302
5348
  * @see https://sonarsource.github.io/rspec/#/rspec/S2970/javascript
@@ -5318,8 +5364,9 @@ interface RuleOptions {
5318
5364
  */
5319
5365
  'sonar/no-internal-api-use'?: Linter.RuleEntry<[]>;
5320
5366
  /**
5321
- * Using intrusive permissions is security-sensitive
5367
+ * Sensitive permissions should not be requested unnecessarily
5322
5368
  * @see https://sonarsource.github.io/rspec/#/rspec/S5604/javascript
5369
+ * @deprecated
5323
5370
  */
5324
5371
  'sonar/no-intrusive-permissions'?: Linter.RuleEntry<SonarNoIntrusivePermissions>;
5325
5372
  /**
@@ -5338,8 +5385,9 @@ interface RuleOptions {
5338
5385
  */
5339
5386
  'sonar/no-inverted-boolean-check'?: Linter.RuleEntry<[]>;
5340
5387
  /**
5341
- * Forwarding client IP address is security-sensitive
5388
+ * Client IP address should not be forwarded to proxies
5342
5389
  * @see https://sonarsource.github.io/rspec/#/rspec/S5759/javascript
5390
+ * @deprecated
5343
5391
  */
5344
5392
  'sonar/no-ip-forward'?: Linter.RuleEntry<[]>;
5345
5393
  /**
@@ -5353,7 +5401,7 @@ interface RuleOptions {
5353
5401
  */
5354
5402
  'sonar/no-literal-call'?: Linter.RuleEntry<[]>;
5355
5403
  /**
5356
- * Allowing browsers to sniff MIME types is security-sensitive
5404
+ * Browsers should not be allowed to perform MIME type sniffing
5357
5405
  * @see https://sonarsource.github.io/rspec/#/rspec/S5734/javascript
5358
5406
  */
5359
5407
  'sonar/no-mime-sniff'?: Linter.RuleEntry<[]>;
@@ -5368,8 +5416,9 @@ interface RuleOptions {
5368
5416
  */
5369
5417
  'sonar/no-misleading-character-class'?: Linter.RuleEntry<[]>;
5370
5418
  /**
5371
- * Allowing mixed-content is security-sensitive
5419
+ * Content Security Policy should block mixed-content
5372
5420
  * @see https://sonarsource.github.io/rspec/#/rspec/S5730/javascript
5421
+ * @deprecated
5373
5422
  */
5374
5423
  'sonar/no-mixed-content'?: Linter.RuleEntry<[]>;
5375
5424
  /**
@@ -5403,7 +5452,7 @@ interface RuleOptions {
5403
5452
  */
5404
5453
  'sonar/no-nested-template-literals'?: Linter.RuleEntry<[]>;
5405
5454
  /**
5406
- * Searching OS commands in PATH is security-sensitive
5455
+ * OS commands should not rely on PATH resolution
5407
5456
  * @see https://sonarsource.github.io/rspec/#/rspec/S4036/javascript
5408
5457
  */
5409
5458
  'sonar/no-os-command-from-path'?: Linter.RuleEntry<[]>;
@@ -5449,7 +5498,7 @@ interface RuleOptions {
5449
5498
  */
5450
5499
  'sonar/no-reference-error'?: Linter.RuleEntry<[]>;
5451
5500
  /**
5452
- * Disabling strict HTTP no-referrer policy is security-sensitive
5501
+ * HTTP Referrer-Policy should not be set to an unsafe value
5453
5502
  * @see https://sonarsource.github.io/rspec/#/rspec/S5736/javascript
5454
5503
  */
5455
5504
  'sonar/no-referrer-policy'?: Linter.RuleEntry<[]>;
@@ -5514,6 +5563,11 @@ interface RuleOptions {
5514
5563
  * @see https://sonarsource.github.io/rspec/#/rspec/S5257/javascript
5515
5564
  */
5516
5565
  'sonar/no-table-as-layout'?: Linter.RuleEntry<[]>;
5566
+ /**
5567
+ * Assertions should not fail or succeed unconditionally
5568
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5914/javascript
5569
+ */
5570
+ 'sonar/no-trivial-assertions'?: Linter.RuleEntry<[]>;
5517
5571
  /**
5518
5572
  * Promise rejections should not be caught by "try" blocks
5519
5573
  * @see https://sonarsource.github.io/rspec/#/rspec/S4822/javascript
@@ -5595,12 +5649,6 @@ interface RuleOptions {
5595
5649
  * @see https://sonarsource.github.io/rspec/#/rspec/S1526/javascript
5596
5650
  */
5597
5651
  '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
5652
  /**
5605
5653
  * Cipher algorithms should be robust
5606
5654
  * @see https://sonarsource.github.io/rspec/#/rspec/S5547/javascript
@@ -5642,8 +5690,9 @@ interface RuleOptions {
5642
5690
  */
5643
5691
  'sonar/operation-returning-nan'?: Linter.RuleEntry<[]>;
5644
5692
  /**
5645
- * Using shell interpreter when executing OS commands is security-sensitive
5693
+ * OS commands should not be executed using a shell interpreter
5646
5694
  * @see https://sonarsource.github.io/rspec/#/rspec/S4721/javascript
5695
+ * @deprecated
5647
5696
  */
5648
5697
  'sonar/os-command'?: Linter.RuleEntry<[]>;
5649
5698
  /**
@@ -5686,6 +5735,11 @@ interface RuleOptions {
5686
5735
  * @see https://sonarsource.github.io/rspec/#/rspec/S1126/javascript
5687
5736
  */
5688
5737
  'sonar/prefer-single-boolean-return'?: Linter.RuleEntry<[]>;
5738
+ /**
5739
+ * The most specific assertion should be used
5740
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5906/javascript
5741
+ */
5742
+ 'sonar/prefer-specific-assertions'?: Linter.RuleEntry<[]>;
5689
5743
  /**
5690
5744
  * Type predicates should be used
5691
5745
  * @see https://sonarsource.github.io/rspec/#/rspec/S4322/javascript
@@ -5697,18 +5751,12 @@ interface RuleOptions {
5697
5751
  */
5698
5752
  'sonar/prefer-while'?: Linter.RuleEntry<[]>;
5699
5753
  /**
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
5754
+ * Debugging features should not be enabled in production
5707
5755
  * @see https://sonarsource.github.io/rspec/#/rspec/S4507/javascript
5708
5756
  */
5709
5757
  'sonar/production-debug'?: Linter.RuleEntry<[]>;
5710
5758
  /**
5711
- * Using pseudorandom number generators (PRNGs) is security-sensitive
5759
+ * Pseudorandom number generators (PRNGs) should not be used in security contexts
5712
5760
  * @see https://sonarsource.github.io/rspec/#/rspec/S2245/javascript
5713
5761
  */
5714
5762
  'sonar/pseudo-random'?: Linter.RuleEntry<[]>;
@@ -5737,12 +5785,6 @@ interface RuleOptions {
5737
5785
  * @see https://sonarsource.github.io/rspec/#/rspec/S5843/javascript
5738
5786
  */
5739
5787
  '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
5788
  /**
5747
5789
  * Wallet phrases should not be hard-coded
5748
5790
  * @see https://sonarsource.github.io/rspec/#/rspec/S7639/javascript
@@ -5769,18 +5811,12 @@ interface RuleOptions {
5769
5811
  */
5770
5812
  'sonar/single-character-alternation'?: Linter.RuleEntry<[]>;
5771
5813
  /**
5772
- * Using slow regular expressions is security-sensitive
5814
+ * Regular expressions should not cause catastrophic backtracking
5773
5815
  * @see https://sonarsource.github.io/rspec/#/rspec/S5852/javascript
5774
5816
  */
5775
5817
  'sonar/slow-regex'?: Linter.RuleEntry<[]>;
5776
5818
  /**
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
5819
+ * SQL queries should not be dynamically formatted
5784
5820
  * @see https://sonarsource.github.io/rspec/#/rspec/S2077/javascript
5785
5821
  */
5786
5822
  'sonar/sql-queries'?: Linter.RuleEntry<[]>;
@@ -5789,19 +5825,13 @@ interface RuleOptions {
5789
5825
  * @see https://sonarsource.github.io/rspec/#/rspec/S5973/javascript
5790
5826
  */
5791
5827
  '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
5828
  /**
5799
5829
  * Regular expressions with the global flag should be used with caution
5800
5830
  * @see https://sonarsource.github.io/rspec/#/rspec/S6351/javascript
5801
5831
  */
5802
5832
  'sonar/stateful-regex'?: Linter.RuleEntry<[]>;
5803
5833
  /**
5804
- * Disabling Strict-Transport-Security policy is security-sensitive
5834
+ * HTTP Strict-Transport-Security policy should not be disabled
5805
5835
  * @see https://sonarsource.github.io/rspec/#/rspec/S5739/javascript
5806
5836
  */
5807
5837
  'sonar/strict-transport-security'?: Linter.RuleEntry<[]>;
@@ -5810,6 +5840,11 @@ interface RuleOptions {
5810
5840
  * @see https://sonarsource.github.io/rspec/#/rspec/S3003/javascript
5811
5841
  */
5812
5842
  'sonar/strings-comparison'?: Linter.RuleEntry<[]>;
5843
+ /**
5844
+ * Regular expressions should not cause non-linear backtracking
5845
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8786/javascript
5846
+ */
5847
+ 'sonar/super-linear-regex'?: Linter.RuleEntry<[]>;
5813
5848
  /**
5814
5849
  * Tables should have headers
5815
5850
  * @see https://sonarsource.github.io/rspec/#/rspec/S5256/javascript
@@ -5917,12 +5952,6 @@ interface RuleOptions {
5917
5952
  * @see https://sonarsource.github.io/rspec/#/rspec/S2755/javascript
5918
5953
  */
5919
5954
  '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
5955
  /**
5927
5956
  * Enforce sorted `import` declarations within modules
5928
5957
  * @see https://eslint.org/docs/latest/rules/sort-imports
@@ -8124,753 +8153,1623 @@ interface RuleOptions {
8124
8153
  */
8125
8154
  'unicode-bom'?: Linter.RuleEntry<UnicodeBom>;
8126
8155
  /**
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
8156
+ * Prefer better DOM traversal APIs.
8157
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/better-dom-traversing.md
8129
8158
  */
8130
- 'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>;
8159
+ 'unicorn/better-dom-traversing'?: Linter.RuleEntry<[]>;
8160
+ /**
8161
+ * Removed. Prefer `eslint-plugin-regexp`
8162
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/deleted-and-deprecated-rules.md#better-regex
8163
+ * @deprecated
8164
+ */
8165
+ 'unicorn/better-regex'?: Linter.RuleEntry<[]>;
8131
8166
  /**
8132
8167
  * 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
8168
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/catch-error-name.md
8134
8169
  */
8135
8170
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>;
8171
+ /**
8172
+ * Enforce consistent class references in static methods.
8173
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/class-reference-in-static-methods.md
8174
+ */
8175
+ 'unicorn/class-reference-in-static-methods'?: Linter.RuleEntry<UnicornClassReferenceInStaticMethods>;
8176
+ /**
8177
+ * Enforce better comment content.
8178
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/comment-content.md
8179
+ */
8180
+ 'unicorn/comment-content'?: Linter.RuleEntry<UnicornCommentContent>;
8136
8181
  /**
8137
8182
  * 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
8183
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-assert.md
8139
8184
  */
8140
8185
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>;
8186
+ /**
8187
+ * Enforce consistent naming for boolean names.
8188
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-boolean-name.md
8189
+ */
8190
+ 'unicorn/consistent-boolean-name'?: Linter.RuleEntry<UnicornConsistentBooleanName>;
8191
+ /**
8192
+ * Enforce consistent class member order.
8193
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-class-member-order.md
8194
+ */
8195
+ 'unicorn/consistent-class-member-order'?: Linter.RuleEntry<UnicornConsistentClassMemberOrder>;
8196
+ /**
8197
+ * Enforce consistent spelling of compound words in identifiers.
8198
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-compound-words.md
8199
+ */
8200
+ 'unicorn/consistent-compound-words'?: Linter.RuleEntry<UnicornConsistentCompoundWords>;
8201
+ /**
8202
+ * Enforce consistent conditional object spread style.
8203
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-conditional-object-spread.md
8204
+ */
8205
+ 'unicorn/consistent-conditional-object-spread'?: Linter.RuleEntry<UnicornConsistentConditionalObjectSpread>;
8141
8206
  /**
8142
8207
  * 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
8208
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-date-clone.md
8144
8209
  */
8145
8210
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>;
8146
8211
  /**
8147
8212
  * Use destructured variables over properties.
8148
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-destructuring.md
8213
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-destructuring.md
8149
8214
  */
8150
8215
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>;
8151
8216
  /**
8152
8217
  * 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
8218
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-empty-array-spread.md
8154
8219
  */
8155
8220
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>;
8156
8221
  /**
8157
8222
  * 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
8223
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-existence-index-check.md
8159
8224
  */
8160
8225
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>;
8226
+ /**
8227
+ * Enforce consistent decorator position on exported classes.
8228
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-export-decorator-position.md
8229
+ */
8230
+ 'unicorn/consistent-export-decorator-position'?: Linter.RuleEntry<UnicornConsistentExportDecoratorPosition>;
8161
8231
  /**
8162
8232
  * 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
8233
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-function-scoping.md
8164
8234
  */
8165
8235
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>;
8236
+ /**
8237
+ * Enforce function syntax by role.
8238
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-function-style.md
8239
+ */
8240
+ 'unicorn/consistent-function-style'?: Linter.RuleEntry<UnicornConsistentFunctionStyle>;
8241
+ /**
8242
+ * Enforce consistent JSON file reads before `JSON.parse()`.
8243
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-json-file-read.md
8244
+ */
8245
+ 'unicorn/consistent-json-file-read'?: Linter.RuleEntry<UnicornConsistentJsonFileRead>;
8246
+ /**
8247
+ * Enforce consistent optional chaining for same-base member access.
8248
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-optional-chaining.md
8249
+ */
8250
+ 'unicorn/consistent-optional-chaining'?: Linter.RuleEntry<[]>;
8166
8251
  /**
8167
8252
  * 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
8253
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-template-literal-escape.md
8169
8254
  */
8170
8255
  'unicorn/consistent-template-literal-escape'?: Linter.RuleEntry<[]>;
8256
+ /**
8257
+ * Enforce consistent labels on tuple type elements.
8258
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/consistent-tuple-labels.md
8259
+ */
8260
+ 'unicorn/consistent-tuple-labels'?: Linter.RuleEntry<[]>;
8171
8261
  /**
8172
8262
  * Enforce correct `Error` subclassing.
8173
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/custom-error-definition.md
8263
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/custom-error-definition.md
8174
8264
  */
8175
8265
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>;
8266
+ /**
8267
+ * Enforce consistent default export declarations.
8268
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/default-export-style.md
8269
+ */
8270
+ 'unicorn/default-export-style'?: Linter.RuleEntry<UnicornDefaultExportStyle>;
8271
+ /**
8272
+ * Enforce consistent style for DOM element dataset access.
8273
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/dom-node-dataset.md
8274
+ */
8275
+ 'unicorn/dom-node-dataset'?: Linter.RuleEntry<UnicornDomNodeDataset>;
8176
8276
  /**
8177
8277
  * Enforce no spaces between braces.
8178
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/empty-brace-spaces.md
8278
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/empty-brace-spaces.md
8179
8279
  */
8180
8280
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>;
8181
8281
  /**
8182
8282
  * 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
8283
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/error-message.md
8184
8284
  */
8185
8285
  'unicorn/error-message'?: Linter.RuleEntry<[]>;
8186
8286
  /**
8187
8287
  * 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
8288
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/escape-case.md
8189
8289
  */
8190
8290
  'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>;
8191
8291
  /**
8192
8292
  * 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
8293
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/expiring-todo-comments.md
8194
8294
  */
8195
8295
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>;
8196
8296
  /**
8197
8297
  * 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
8298
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/explicit-length-check.md
8199
8299
  */
8200
8300
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>;
8201
8301
  /**
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
8302
+ * Enforce or disallow explicit `delay` argument for `setTimeout()` and `setInterval()`.
8303
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/explicit-timer-delay.md
8304
+ */
8305
+ 'unicorn/explicit-timer-delay'?: Linter.RuleEntry<UnicornExplicitTimerDelay>;
8306
+ /**
8307
+ * Enforce a case style for filenames and directory names.
8308
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/filename-case.md
8204
8309
  */
8205
8310
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>;
8311
+ /**
8312
+ * Require identifiers to match a specified regular expression.
8313
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/id-match.md
8314
+ */
8315
+ 'unicorn/id-match'?: Linter.RuleEntry<UnicornIdMatch>;
8206
8316
  /**
8207
8317
  * Enforce specific import styles per module.
8208
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/import-style.md
8318
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/import-style.md
8209
8319
  */
8210
8320
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>;
8211
8321
  /**
8212
8322
  * 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
8323
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/isolated-functions.md
8214
8324
  */
8215
8325
  'unicorn/isolated-functions'?: Linter.RuleEntry<UnicornIsolatedFunctions>;
8216
8326
  /**
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
8327
+ * Require or disallow logical assignment operator shorthand
8328
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/logical-assignment-operators.md
8329
+ */
8330
+ 'unicorn/logical-assignment-operators'?: Linter.RuleEntry<UnicornLogicalAssignmentOperators>;
8331
+ /**
8332
+ * Limit the depth of nested calls.
8333
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/max-nested-calls.md
8334
+ */
8335
+ 'unicorn/max-nested-calls'?: Linter.RuleEntry<UnicornMaxNestedCalls>;
8336
+ /**
8337
+ * Enforce replacements for variable, property, and filenames.
8338
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/name-replacements.md
8339
+ */
8340
+ 'unicorn/name-replacements'?: Linter.RuleEntry<UnicornNameReplacements>;
8341
+ /**
8342
+ * Enforce correct use of `new` for builtin constructors.
8343
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/new-for-builtins.md
8219
8344
  */
8220
8345
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>;
8221
8346
  /**
8222
8347
  * 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
8348
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-abusive-eslint-disable.md
8224
8349
  */
8225
8350
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>;
8226
8351
  /**
8227
8352
  * 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
8353
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-accessor-recursion.md
8229
8354
  */
8230
8355
  'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>;
8356
+ /**
8357
+ * Disallow bitwise operators where a logical operator was likely intended.
8358
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-accidental-bitwise-operator.md
8359
+ */
8360
+ 'unicorn/no-accidental-bitwise-operator'?: Linter.RuleEntry<[]>;
8231
8361
  /**
8232
8362
  * 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
8363
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-anonymous-default-export.md
8234
8364
  */
8235
8365
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>;
8236
8366
  /**
8237
8367
  * 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
8368
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-array-callback-reference.md
8239
8369
  */
8240
- 'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>;
8370
+ 'unicorn/no-array-callback-reference'?: Linter.RuleEntry<UnicornNoArrayCallbackReference>;
8241
8371
  /**
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
8372
+ * Disallow array accumulation with `Array#concat()` in loops.
8373
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-array-concat-in-loop.md
8374
+ */
8375
+ 'unicorn/no-array-concat-in-loop'?: Linter.RuleEntry<[]>;
8376
+ /**
8377
+ * Disallow using reference values as `Array#fill()` values.
8378
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-array-fill-with-reference-type.md
8244
8379
  */
8245
- 'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>;
8380
+ 'unicorn/no-array-fill-with-reference-type'?: Linter.RuleEntry<[]>;
8381
+ /**
8382
+ * Disallow `.fill()` after `Array.from({length: …})`.
8383
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-array-from-fill.md
8384
+ */
8385
+ 'unicorn/no-array-from-fill'?: Linter.RuleEntry<[]>;
8386
+ /**
8387
+ * Disallow front-of-array mutation.
8388
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-array-front-mutation.md
8389
+ */
8390
+ 'unicorn/no-array-front-mutation'?: Linter.RuleEntry<[]>;
8246
8391
  /**
8247
8392
  * 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
8393
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-array-method-this-argument.md
8249
8394
  */
8250
8395
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>;
8251
8396
  /**
8252
8397
  * 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
8398
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/deleted-and-deprecated-rules.md#no-array-push-push
8254
8399
  * @deprecated
8255
8400
  */
8256
8401
  'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>;
8257
8402
  /**
8258
8403
  * 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
8404
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-array-reduce.md
8260
8405
  */
8261
8406
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>;
8262
8407
  /**
8263
8408
  * 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
8409
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-array-reverse.md
8265
8410
  */
8266
8411
  'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>;
8267
8412
  /**
8268
8413
  * 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
8414
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-array-sort.md
8270
8415
  */
8271
8416
  'unicorn/no-array-sort'?: Linter.RuleEntry<UnicornNoArraySort>;
8417
+ /**
8418
+ * Disallow sorting arrays to get the minimum or maximum value.
8419
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-array-sort-for-min-max.md
8420
+ */
8421
+ 'unicorn/no-array-sort-for-min-max'?: Linter.RuleEntry<[]>;
8422
+ /**
8423
+ * Prefer `Array#toSpliced()` over `Array#splice()`.
8424
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-array-splice.md
8425
+ */
8426
+ 'unicorn/no-array-splice'?: Linter.RuleEntry<[]>;
8427
+ /**
8428
+ * Disallow asterisk prefixes in documentation comments.
8429
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-asterisk-prefix-in-documentation-comments.md
8430
+ */
8431
+ 'unicorn/no-asterisk-prefix-in-documentation-comments'?: Linter.RuleEntry<[]>;
8272
8432
  /**
8273
8433
  * 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
8434
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-await-expression-member.md
8275
8435
  */
8276
8436
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>;
8277
8437
  /**
8278
8438
  * 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
8439
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-await-in-promise-methods.md
8280
8440
  */
8281
8441
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>;
8442
+ /**
8443
+ * Disallow unnecessary `Blob` to `File` conversion.
8444
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-blob-to-file.md
8445
+ */
8446
+ 'unicorn/no-blob-to-file'?: Linter.RuleEntry<[]>;
8447
+ /**
8448
+ * Disallow boolean-returning sort comparators.
8449
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-boolean-sort-comparator.md
8450
+ */
8451
+ 'unicorn/no-boolean-sort-comparator'?: Linter.RuleEntry<[]>;
8452
+ /**
8453
+ * Disallow `break` and `continue` in nested loops and switches inside loops.
8454
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-break-in-nested-loop.md
8455
+ */
8456
+ 'unicorn/no-break-in-nested-loop'?: Linter.RuleEntry<[]>;
8457
+ /**
8458
+ * Prefer drawing canvases directly instead of converting them to images.
8459
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-canvas-to-image.md
8460
+ */
8461
+ 'unicorn/no-canvas-to-image'?: Linter.RuleEntry<[]>;
8462
+ /**
8463
+ * Disallow chained comparisons such as `a < b < c`.
8464
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-chained-comparison.md
8465
+ */
8466
+ 'unicorn/no-chained-comparison'?: Linter.RuleEntry<[]>;
8467
+ /**
8468
+ * Disallow accessing `Map`, `Set`, `WeakMap`, and `WeakSet` entries with bracket notation.
8469
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-collection-bracket-access.md
8470
+ */
8471
+ 'unicorn/no-collection-bracket-access'?: Linter.RuleEntry<[]>;
8472
+ /**
8473
+ * Disallow dynamic object property existence checks.
8474
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-computed-property-existence-check.md
8475
+ */
8476
+ 'unicorn/no-computed-property-existence-check'?: Linter.RuleEntry<[]>;
8477
+ /**
8478
+ * Disallow confusing uses of `Array#{splice,toSpliced}()`.
8479
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-confusing-array-splice.md
8480
+ */
8481
+ 'unicorn/no-confusing-array-splice'?: Linter.RuleEntry<[]>;
8482
+ /**
8483
+ * Disallow confusing uses of `Array#with()`.
8484
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-confusing-array-with.md
8485
+ */
8486
+ 'unicorn/no-confusing-array-with'?: Linter.RuleEntry<[]>;
8282
8487
  /**
8283
8488
  * 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
8489
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-console-spaces.md
8285
8490
  */
8286
8491
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>;
8492
+ /**
8493
+ * Disallow arithmetic and bitwise operations that always evaluate to `0`.
8494
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-constant-zero-expression.md
8495
+ */
8496
+ 'unicorn/no-constant-zero-expression'?: Linter.RuleEntry<[]>;
8497
+ /**
8498
+ * Disallow declarations before conditional early exits when they are only used after the exit.
8499
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-declarations-before-early-exit.md
8500
+ */
8501
+ 'unicorn/no-declarations-before-early-exit'?: Linter.RuleEntry<[]>;
8287
8502
  /**
8288
8503
  * 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
8504
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-document-cookie.md
8290
8505
  */
8291
8506
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>;
8507
+ /**
8508
+ * Disallow two comparisons of the same operands that can be combined into one.
8509
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-double-comparison.md
8510
+ */
8511
+ 'unicorn/no-double-comparison'?: Linter.RuleEntry<[]>;
8512
+ /**
8513
+ * Disallow duplicate adjacent branches in if chains.
8514
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-duplicate-if-branches.md
8515
+ */
8516
+ 'unicorn/no-duplicate-if-branches'?: Linter.RuleEntry<[]>;
8517
+ /**
8518
+ * Disallow adjacent duplicate operands in logical expressions.
8519
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-duplicate-logical-operands.md
8520
+ */
8521
+ 'unicorn/no-duplicate-logical-operands'?: Linter.RuleEntry<[]>;
8522
+ /**
8523
+ * Disallow `.map()` and `.filter()` in `for…of` and `for await…of` loop headers.
8524
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-duplicate-loops.md
8525
+ */
8526
+ 'unicorn/no-duplicate-loops'?: Linter.RuleEntry<[]>;
8527
+ /**
8528
+ * Disallow duplicate values in `Set` constructor array literals.
8529
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-duplicate-set-values.md
8530
+ */
8531
+ 'unicorn/no-duplicate-set-values'?: Linter.RuleEntry<[]>;
8292
8532
  /**
8293
8533
  * Disallow empty files.
8294
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-empty-file.md
8534
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-empty-file.md
8535
+ */
8536
+ 'unicorn/no-empty-file'?: Linter.RuleEntry<UnicornNoEmptyFile>;
8537
+ /**
8538
+ * Disallow assigning to built-in error properties.
8539
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-error-property-assignment.md
8540
+ */
8541
+ 'unicorn/no-error-property-assignment'?: Linter.RuleEntry<[]>;
8542
+ /**
8543
+ * Disallow exports in scripts.
8544
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-exports-in-scripts.md
8295
8545
  */
8296
- 'unicorn/no-empty-file'?: Linter.RuleEntry<[]>;
8546
+ 'unicorn/no-exports-in-scripts'?: Linter.RuleEntry<[]>;
8547
+ /**
8548
+ * Prefer `for…of` over the `forEach` method.
8549
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-for-each.md
8550
+ */
8551
+ 'unicorn/no-for-each'?: Linter.RuleEntry<[]>;
8297
8552
  /**
8298
8553
  * 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
8554
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-for-loop.md
8300
8555
  */
8301
8556
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>;
8302
8557
  /**
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
8558
+ * Disallow assigning properties on the global object.
8559
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-global-object-property-assignment.md
8560
+ */
8561
+ 'unicorn/no-global-object-property-assignment'?: Linter.RuleEntry<[]>;
8562
+ /**
8563
+ * Replaced by `unicorn/prefer-unicode-code-point-escapes` which covers more cases.
8564
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/deleted-and-deprecated-rules.md#no-hex-escape
8565
+ * @deprecated
8305
8566
  */
8306
8567
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>;
8307
8568
  /**
8308
8569
  * 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
8570
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-immediate-mutation.md
8310
8571
  */
8311
8572
  'unicorn/no-immediate-mutation'?: Linter.RuleEntry<[]>;
8573
+ /**
8574
+ * Disallow impossible comparisons against `.length` or `.size`.
8575
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-impossible-length-comparison.md
8576
+ */
8577
+ 'unicorn/no-impossible-length-comparison'?: Linter.RuleEntry<[]>;
8578
+ /**
8579
+ * Disallow incorrect `querySelector()` and `querySelectorAll()` usage.
8580
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-incorrect-query-selector.md
8581
+ */
8582
+ 'unicorn/no-incorrect-query-selector'?: Linter.RuleEntry<[]>;
8583
+ /**
8584
+ * Disallow incorrect template literal interpolation syntax.
8585
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-incorrect-template-string-interpolation.md
8586
+ */
8587
+ 'unicorn/no-incorrect-template-string-interpolation'?: Linter.RuleEntry<[]>;
8312
8588
  /**
8313
8589
  * 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
8590
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/deleted-and-deprecated-rules.md#no-instanceof-array
8315
8591
  * @deprecated
8316
8592
  */
8317
8593
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>;
8318
8594
  /**
8319
8595
  * 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
8596
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-instanceof-builtins.md
8321
8597
  */
8322
8598
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>;
8599
+ /**
8600
+ * Disallow calling functions and constructors with an invalid number of arguments.
8601
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-invalid-argument-count.md
8602
+ */
8603
+ 'unicorn/no-invalid-argument-count'?: Linter.RuleEntry<UnicornNoInvalidArgumentCount>;
8604
+ /**
8605
+ * Disallow comparing a single character from a string to a multi-character string.
8606
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-invalid-character-comparison.md
8607
+ */
8608
+ 'unicorn/no-invalid-character-comparison'?: Linter.RuleEntry<[]>;
8323
8609
  /**
8324
8610
  * 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
8611
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-invalid-fetch-options.md
8326
8612
  */
8327
8613
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>;
8614
+ /**
8615
+ * Disallow invalid `accept` values on file inputs.
8616
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-invalid-file-input-accept.md
8617
+ */
8618
+ 'unicorn/no-invalid-file-input-accept'?: Linter.RuleEntry<[]>;
8328
8619
  /**
8329
8620
  * 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
8621
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-invalid-remove-event-listener.md
8331
8622
  */
8332
8623
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>;
8624
+ /**
8625
+ * Disallow invalid implementations of well-known symbol methods.
8626
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-invalid-well-known-symbol-methods.md
8627
+ */
8628
+ 'unicorn/no-invalid-well-known-symbol-methods'?: Linter.RuleEntry<[]>;
8333
8629
  /**
8334
8630
  * 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
8631
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-keyword-prefix.md
8336
8632
  */
8337
8633
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>;
8634
+ /**
8635
+ * Disallow accessing `event.currentTarget` after the synchronous event dispatch has finished.
8636
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-late-current-target-access.md
8637
+ */
8638
+ 'unicorn/no-late-current-target-access'?: Linter.RuleEntry<[]>;
8639
+ /**
8640
+ * Disallow event-control method calls after the synchronous event dispatch has finished.
8641
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-late-event-control.md
8642
+ */
8643
+ 'unicorn/no-late-event-control'?: Linter.RuleEntry<[]>;
8338
8644
  /**
8339
8645
  * 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
8646
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
8341
8647
  * @deprecated
8342
8648
  */
8343
8649
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>;
8344
8650
  /**
8345
8651
  * 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
8652
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-lonely-if.md
8347
8653
  */
8348
8654
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>;
8655
+ /**
8656
+ * Disallow mutating a loop iterable during iteration.
8657
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-loop-iterable-mutation.md
8658
+ */
8659
+ 'unicorn/no-loop-iterable-mutation'?: Linter.RuleEntry<[]>;
8349
8660
  /**
8350
8661
  * 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
8662
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-magic-array-flat-depth.md
8352
8663
  */
8353
8664
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>;
8665
+ /**
8666
+ * Disallow manually wrapped comments.
8667
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-manually-wrapped-comments.md
8668
+ */
8669
+ 'unicorn/no-manually-wrapped-comments'?: Linter.RuleEntry<[]>;
8670
+ /**
8671
+ * Disallow checking a Map key before accessing a different key.
8672
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-mismatched-map-key.md
8673
+ */
8674
+ 'unicorn/no-mismatched-map-key'?: Linter.RuleEntry<[]>;
8675
+ /**
8676
+ * Disallow misrefactored compound assignments where the target is duplicated in the right-hand side.
8677
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-misrefactored-assignment.md
8678
+ */
8679
+ 'unicorn/no-misrefactored-assignment'?: Linter.RuleEntry<[]>;
8354
8680
  /**
8355
8681
  * 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
8682
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-named-default.md
8357
8683
  */
8358
8684
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>;
8685
+ /**
8686
+ * Disallow negated array predicate calls.
8687
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-negated-array-predicate.md
8688
+ */
8689
+ 'unicorn/no-negated-array-predicate'?: Linter.RuleEntry<[]>;
8690
+ /**
8691
+ * Disallow negated comparisons.
8692
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-negated-comparison.md
8693
+ */
8694
+ 'unicorn/no-negated-comparison'?: Linter.RuleEntry<UnicornNoNegatedComparison>;
8359
8695
  /**
8360
8696
  * Disallow negated conditions.
8361
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-negated-condition.md
8697
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-negated-condition.md
8362
8698
  */
8363
8699
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>;
8364
8700
  /**
8365
8701
  * 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
8702
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-negation-in-equality-check.md
8367
8703
  */
8368
8704
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>;
8369
8705
  /**
8370
8706
  * Disallow nested ternary expressions.
8371
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-nested-ternary.md
8707
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-nested-ternary.md
8372
8708
  */
8373
8709
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>;
8374
8710
  /**
8375
8711
  * Disallow `new Array()`.
8376
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-new-array.md
8712
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-new-array.md
8377
8713
  */
8378
8714
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>;
8379
8715
  /**
8380
8716
  * 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
8717
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-new-buffer.md
8382
8718
  */
8383
8719
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>;
8720
+ /**
8721
+ * Disallow non-function values with function-style verb prefixes.
8722
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-non-function-verb-prefix.md
8723
+ */
8724
+ 'unicorn/no-non-function-verb-prefix'?: Linter.RuleEntry<UnicornNoNonFunctionVerbPrefix>;
8725
+ /**
8726
+ * Disallow non-standard properties on built-in objects.
8727
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-nonstandard-builtin-properties.md
8728
+ */
8729
+ 'unicorn/no-nonstandard-builtin-properties'?: Linter.RuleEntry<[]>;
8384
8730
  /**
8385
8731
  * 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
8732
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-null.md
8387
8733
  */
8388
8734
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>;
8389
8735
  /**
8390
8736
  * 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
8737
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-object-as-default-parameter.md
8392
8738
  */
8393
8739
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>;
8740
+ /**
8741
+ * Disallow `Object` methods with `Map` or `Set`.
8742
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-object-methods-with-collections.md
8743
+ */
8744
+ 'unicorn/no-object-methods-with-collections'?: Linter.RuleEntry<[]>;
8745
+ /**
8746
+ * Disallow optional chaining on undeclared variables.
8747
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-optional-chaining-on-undeclared-variable.md
8748
+ */
8749
+ 'unicorn/no-optional-chaining-on-undeclared-variable'?: Linter.RuleEntry<[]>;
8394
8750
  /**
8395
8751
  * Disallow `process.exit()`.
8396
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-process-exit.md
8752
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-process-exit.md
8397
8753
  */
8398
8754
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>;
8755
+ /**
8756
+ * Disallow comparisons made redundant by an equality check in the same logical AND.
8757
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-redundant-comparison.md
8758
+ */
8759
+ 'unicorn/no-redundant-comparison'?: Linter.RuleEntry<[]>;
8760
+ /**
8761
+ * Disallow using the return value of `Array#push()` and `Array#unshift()`.
8762
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-return-array-push.md
8763
+ */
8764
+ 'unicorn/no-return-array-push'?: Linter.RuleEntry<[]>;
8765
+ /**
8766
+ * Disallow selector syntax in DOM names.
8767
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-selector-as-dom-name.md
8768
+ */
8769
+ 'unicorn/no-selector-as-dom-name'?: Linter.RuleEntry<[]>;
8399
8770
  /**
8400
8771
  * 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
8772
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-single-promise-in-promise-methods.md
8402
8773
  */
8403
8774
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>;
8404
8775
  /**
8405
8776
  * 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
8777
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-static-only-class.md
8407
8778
  */
8408
8779
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>;
8780
+ /**
8781
+ * Prefer comparing values directly over subtracting and comparing to `0`.
8782
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-subtraction-comparison.md
8783
+ */
8784
+ 'unicorn/no-subtraction-comparison'?: Linter.RuleEntry<[]>;
8409
8785
  /**
8410
8786
  * Disallow `then` property.
8411
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-thenable.md
8787
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-thenable.md
8412
8788
  */
8413
8789
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>;
8414
8790
  /**
8415
8791
  * 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
8792
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-this-assignment.md
8417
8793
  */
8418
8794
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>;
8795
+ /**
8796
+ * Disallow `this` outside of classes.
8797
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-this-outside-of-class.md
8798
+ */
8799
+ 'unicorn/no-this-outside-of-class'?: Linter.RuleEntry<[]>;
8800
+ /**
8801
+ * Disallow assigning to top-level variables from inside functions.
8802
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-top-level-assignment-in-function.md
8803
+ */
8804
+ 'unicorn/no-top-level-assignment-in-function'?: Linter.RuleEntry<[]>;
8805
+ /**
8806
+ * Disallow top-level side effects in exported modules.
8807
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-top-level-side-effects.md
8808
+ */
8809
+ 'unicorn/no-top-level-side-effects'?: Linter.RuleEntry<[]>;
8419
8810
  /**
8420
8811
  * Disallow comparing `undefined` using `typeof`.
8421
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-typeof-undefined.md
8812
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-typeof-undefined.md
8422
8813
  */
8423
8814
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>;
8815
+ /**
8816
+ * Disallow referencing methods without calling them.
8817
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-uncalled-method.md
8818
+ */
8819
+ 'unicorn/no-uncalled-method'?: Linter.RuleEntry<[]>;
8820
+ /**
8821
+ * Require class members to be declared.
8822
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-undeclared-class-members.md
8823
+ */
8824
+ 'unicorn/no-undeclared-class-members'?: Linter.RuleEntry<[]>;
8424
8825
  /**
8425
8826
  * 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
8827
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unnecessary-array-flat-depth.md
8427
8828
  */
8428
8829
  'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>;
8429
8830
  /**
8430
8831
  * 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
8832
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unnecessary-array-splice-count.md
8432
8833
  */
8433
8834
  'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>;
8434
8835
  /**
8435
8836
  * Disallow awaiting non-promise values.
8436
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-await.md
8837
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unnecessary-await.md
8437
8838
  */
8438
8839
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>;
8840
+ /**
8841
+ * Disallow unnecessary comparisons against boolean literals.
8842
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unnecessary-boolean-comparison.md
8843
+ */
8844
+ 'unicorn/no-unnecessary-boolean-comparison'?: Linter.RuleEntry<[]>;
8845
+ /**
8846
+ * Disallow unnecessary `globalThis` references.
8847
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unnecessary-global-this.md
8848
+ */
8849
+ 'unicorn/no-unnecessary-global-this'?: Linter.RuleEntry<[]>;
8850
+ /**
8851
+ * Disallow unnecessary nested ternary expressions.
8852
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unnecessary-nested-ternary.md
8853
+ */
8854
+ 'unicorn/no-unnecessary-nested-ternary'?: Linter.RuleEntry<[]>;
8439
8855
  /**
8440
8856
  * 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
8857
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unnecessary-polyfills.md
8442
8858
  */
8443
8859
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>;
8444
8860
  /**
8445
8861
  * 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
8862
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unnecessary-slice-end.md
8447
8863
  */
8448
8864
  'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>;
8865
+ /**
8866
+ * Disallow `Array#splice()` when simpler alternatives exist.
8867
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unnecessary-splice.md
8868
+ */
8869
+ 'unicorn/no-unnecessary-splice'?: Linter.RuleEntry<[]>;
8449
8870
  /**
8450
8871
  * Disallow unreadable array destructuring.
8451
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-array-destructuring.md
8872
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unreadable-array-destructuring.md
8452
8873
  */
8453
- 'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>;
8874
+ 'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<UnicornNoUnreadableArrayDestructuring>;
8875
+ /**
8876
+ * Disallow unreadable iterable expressions in `for…of` and `for await…of` loop headers.
8877
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unreadable-for-of-expression.md
8878
+ */
8879
+ 'unicorn/no-unreadable-for-of-expression'?: Linter.RuleEntry<[]>;
8454
8880
  /**
8455
8881
  * Disallow unreadable IIFEs.
8456
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-iife.md
8882
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unreadable-iife.md
8457
8883
  */
8458
8884
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>;
8885
+ /**
8886
+ * Disallow unreadable `new` expressions.
8887
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unreadable-new-expression.md
8888
+ */
8889
+ 'unicorn/no-unreadable-new-expression'?: Linter.RuleEntry<[]>;
8890
+ /**
8891
+ * Disallow unreadable object destructuring.
8892
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unreadable-object-destructuring.md
8893
+ */
8894
+ 'unicorn/no-unreadable-object-destructuring'?: Linter.RuleEntry<[]>;
8895
+ /**
8896
+ * Prevent unsafe use of ArrayBuffer view `.buffer`.
8897
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unsafe-buffer-conversion.md
8898
+ */
8899
+ 'unicorn/no-unsafe-buffer-conversion'?: Linter.RuleEntry<[]>;
8900
+ /**
8901
+ * Disallow unsafe DOM HTML APIs.
8902
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unsafe-dom-html.md
8903
+ */
8904
+ 'unicorn/no-unsafe-dom-html'?: Linter.RuleEntry<[]>;
8905
+ /**
8906
+ * Disallow unsafe values as property keys.
8907
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unsafe-property-key.md
8908
+ */
8909
+ 'unicorn/no-unsafe-property-key'?: Linter.RuleEntry<[]>;
8910
+ /**
8911
+ * Disallow non-literal replacement values in `String#replace()` and `String#replaceAll()`.
8912
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unsafe-string-replacement.md
8913
+ */
8914
+ 'unicorn/no-unsafe-string-replacement'?: Linter.RuleEntry<[]>;
8915
+ /**
8916
+ * Disallow ignoring the return value of selected array methods.
8917
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unused-array-method-return.md
8918
+ */
8919
+ 'unicorn/no-unused-array-method-return'?: Linter.RuleEntry<[]>;
8459
8920
  /**
8460
8921
  * Disallow unused object properties.
8461
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unused-properties.md
8922
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-unused-properties.md
8462
8923
  */
8463
8924
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>;
8925
+ /**
8926
+ * Disallow unnecessary `Boolean()` casts in array predicate callbacks.
8927
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-boolean-cast.md
8928
+ */
8929
+ 'unicorn/no-useless-boolean-cast'?: Linter.RuleEntry<[]>;
8930
+ /**
8931
+ * Disallow useless type coercions of values that are already of the target type.
8932
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-coercion.md
8933
+ */
8934
+ 'unicorn/no-useless-coercion'?: Linter.RuleEntry<[]>;
8464
8935
  /**
8465
8936
  * 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
8937
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-collection-argument.md
8467
8938
  */
8468
8939
  'unicorn/no-useless-collection-argument'?: Linter.RuleEntry<[]>;
8940
+ /**
8941
+ * Disallow useless compound assignments such as `x += 0`.
8942
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-compound-assignment.md
8943
+ */
8944
+ 'unicorn/no-useless-compound-assignment'?: Linter.RuleEntry<[]>;
8945
+ /**
8946
+ * Disallow useless concatenation of literals.
8947
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-concat.md
8948
+ */
8949
+ 'unicorn/no-useless-concat'?: Linter.RuleEntry<[]>;
8950
+ /**
8951
+ * Disallow useless `continue` statements.
8952
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-continue.md
8953
+ */
8954
+ 'unicorn/no-useless-continue'?: Linter.RuleEntry<[]>;
8955
+ /**
8956
+ * Disallow unnecessary existence checks before deletion.
8957
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-delete-check.md
8958
+ */
8959
+ 'unicorn/no-useless-delete-check'?: Linter.RuleEntry<[]>;
8960
+ /**
8961
+ * Disallow `else` after a statement that exits.
8962
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-else.md
8963
+ */
8964
+ 'unicorn/no-useless-else'?: Linter.RuleEntry<[]>;
8469
8965
  /**
8470
8966
  * 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
8967
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-error-capture-stack-trace.md
8472
8968
  */
8473
8969
  'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>;
8474
8970
  /**
8475
8971
  * 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
8972
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-fallback-in-spread.md
8477
8973
  */
8478
8974
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>;
8479
8975
  /**
8480
8976
  * 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
8977
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-iterator-to-array.md
8482
8978
  */
8483
8979
  'unicorn/no-useless-iterator-to-array'?: Linter.RuleEntry<[]>;
8484
8980
  /**
8485
8981
  * 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
8982
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-length-check.md
8487
8983
  */
8488
8984
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>;
8985
+ /**
8986
+ * Disallow unnecessary operands in logical expressions involving boolean literals.
8987
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-logical-operand.md
8988
+ */
8989
+ 'unicorn/no-useless-logical-operand'?: Linter.RuleEntry<[]>;
8990
+ /**
8991
+ * Disallow useless overrides of class methods.
8992
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-override.md
8993
+ */
8994
+ 'unicorn/no-useless-override'?: Linter.RuleEntry<[]>;
8489
8995
  /**
8490
8996
  * 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
8997
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-promise-resolve-reject.md
8492
8998
  */
8493
8999
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>;
9000
+ /**
9001
+ * Disallow simple recursive function calls that can be replaced with a loop.
9002
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-recursion.md
9003
+ */
9004
+ 'unicorn/no-useless-recursion'?: Linter.RuleEntry<[]>;
8494
9005
  /**
8495
9006
  * Disallow unnecessary spread.
8496
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-spread.md
9007
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-spread.md
8497
9008
  */
8498
9009
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>;
8499
9010
  /**
8500
9011
  * 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
9012
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-switch-case.md
8502
9013
  */
8503
9014
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>;
9015
+ /**
9016
+ * Disallow useless template literal expressions.
9017
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-template-literals.md
9018
+ */
9019
+ 'unicorn/no-useless-template-literals'?: Linter.RuleEntry<[]>;
8504
9020
  /**
8505
9021
  * Disallow useless `undefined`.
8506
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-undefined.md
9022
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-useless-undefined.md
8507
9023
  */
8508
9024
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>;
9025
+ /**
9026
+ * Disallow the bitwise XOR operator where exponentiation was likely intended.
9027
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-xor-as-exponentiation.md
9028
+ */
9029
+ 'unicorn/no-xor-as-exponentiation'?: Linter.RuleEntry<[]>;
8509
9030
  /**
8510
9031
  * 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
9032
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/no-zero-fractions.md
8512
9033
  */
8513
9034
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>;
8514
9035
  /**
8515
9036
  * 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
9037
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/number-literal-case.md
8517
9038
  */
8518
9039
  'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>;
8519
9040
  /**
8520
9041
  * 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
9042
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/numeric-separators-style.md
8522
9043
  */
8523
9044
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>;
9045
+ /**
9046
+ * Require assignment operator shorthand where possible.
9047
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/operator-assignment.md
9048
+ */
9049
+ 'unicorn/operator-assignment'?: Linter.RuleEntry<UnicornOperatorAssignment>;
9050
+ /**
9051
+ * Prefer `AbortSignal.timeout()` over manually aborting an `AbortController` with `setTimeout()`.
9052
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-abort-signal-timeout.md
9053
+ */
9054
+ 'unicorn/prefer-abort-signal-timeout'?: Linter.RuleEntry<[]>;
8524
9055
  /**
8525
9056
  * 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
9057
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-add-event-listener.md
8527
9058
  */
8528
9059
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>;
9060
+ /**
9061
+ * Prefer an options object over a boolean in `.addEventListener()`.
9062
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-add-event-listener-options.md
9063
+ */
9064
+ 'unicorn/prefer-add-event-listener-options'?: Linter.RuleEntry<[]>;
9065
+ /**
9066
+ * Prefer `AggregateError` when throwing collected errors.
9067
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-aggregate-error.md
9068
+ */
9069
+ 'unicorn/prefer-aggregate-error'?: Linter.RuleEntry<[]>;
8529
9070
  /**
8530
9071
  * 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
9072
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-array-find.md
8532
9073
  */
8533
9074
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>;
8534
9075
  /**
8535
9076
  * 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
9077
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-array-flat.md
8537
9078
  */
8538
9079
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>;
8539
9080
  /**
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
9081
+ * Prefer `.flatMap(…)` over `.map(…).flat()` and `.filter(…).flatMap(…)`.
9082
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-array-flat-map.md
8542
9083
  */
8543
9084
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>;
9085
+ /**
9086
+ * Prefer `Array.fromAsync()` over `for await…of` array accumulation.
9087
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-array-from-async.md
9088
+ */
9089
+ 'unicorn/prefer-array-from-async'?: Linter.RuleEntry<[]>;
9090
+ /**
9091
+ * Prefer using the `Array.from()` mapping function argument.
9092
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-array-from-map.md
9093
+ */
9094
+ 'unicorn/prefer-array-from-map'?: Linter.RuleEntry<[]>;
8544
9095
  /**
8545
9096
  * 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
9097
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-array-index-of.md
8547
9098
  */
8548
9099
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>;
9100
+ /**
9101
+ * Prefer iterating an array directly or with `Array#keys()` over `Array#entries()` when the index or value is unused.
9102
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-array-iterable-methods.md
9103
+ */
9104
+ 'unicorn/prefer-array-iterable-methods'?: Linter.RuleEntry<[]>;
9105
+ /**
9106
+ * Prefer last-oriented array methods over `Array#reverse()` or `Array#toReversed()` followed by a method.
9107
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-array-last-methods.md
9108
+ */
9109
+ 'unicorn/prefer-array-last-methods'?: Linter.RuleEntry<[]>;
9110
+ /**
9111
+ * Prefer `Array#slice()` over `Array#splice()` when reading from the returned array.
9112
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-array-slice.md
9113
+ */
9114
+ 'unicorn/prefer-array-slice'?: Linter.RuleEntry<[]>;
8549
9115
  /**
8550
9116
  * 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
9117
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-array-some.md
8552
9118
  */
8553
9119
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>;
8554
9120
  /**
8555
9121
  * 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
9122
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-at.md
8557
9123
  */
8558
9124
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>;
9125
+ /**
9126
+ * Prefer `await` over promise chaining.
9127
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-await.md
9128
+ */
9129
+ 'unicorn/prefer-await'?: Linter.RuleEntry<[]>;
8559
9130
  /**
8560
9131
  * 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
9132
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-bigint-literals.md
8562
9133
  */
8563
9134
  'unicorn/prefer-bigint-literals'?: Linter.RuleEntry<[]>;
8564
9135
  /**
8565
9136
  * 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
9137
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-blob-reading-methods.md
8567
9138
  */
8568
9139
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>;
9140
+ /**
9141
+ * Prefer directly returning boolean expressions over `if` statements.
9142
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-boolean-return.md
9143
+ */
9144
+ 'unicorn/prefer-boolean-return'?: Linter.RuleEntry<[]>;
8569
9145
  /**
8570
9146
  * 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
9147
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-class-fields.md
8572
9148
  */
8573
9149
  'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>;
8574
9150
  /**
8575
9151
  * 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
9152
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-classlist-toggle.md
8577
9153
  */
8578
9154
  'unicorn/prefer-classlist-toggle'?: Linter.RuleEntry<[]>;
8579
9155
  /**
8580
9156
  * 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
9157
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-code-point.md
8582
9158
  */
8583
9159
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>;
9160
+ /**
9161
+ * Prefer early continues over whole-loop conditional wrapping.
9162
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-continue.md
9163
+ */
9164
+ 'unicorn/prefer-continue'?: Linter.RuleEntry<UnicornPreferContinue>;
8584
9165
  /**
8585
9166
  * 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
9167
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-date-now.md
8587
9168
  */
8588
9169
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>;
8589
9170
  /**
8590
9171
  * Prefer default parameters over reassignment.
8591
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-default-parameters.md
9172
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-default-parameters.md
8592
9173
  */
8593
9174
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>;
8594
9175
  /**
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
9176
+ * Prefer direct iteration over default iterator method calls.
9177
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-direct-iteration.md
9178
+ */
9179
+ 'unicorn/prefer-direct-iteration'?: Linter.RuleEntry<[]>;
9180
+ /**
9181
+ * Prefer using `using`/`await using` over manual `try`/`finally` resource disposal.
9182
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-dispose.md
9183
+ */
9184
+ 'unicorn/prefer-dispose'?: Linter.RuleEntry<[]>;
9185
+ /**
9186
+ * Prefer `Element#append()` over `Node#appendChild()`.
9187
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-dom-node-append.md
8597
9188
  */
8598
9189
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>;
8599
9190
  /**
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
9191
+ * Renamed to `unicorn/dom-node-dataset`.
9192
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/deleted-and-deprecated-rules.md#prefer-dom-node-dataset
9193
+ * @deprecated
8602
9194
  */
8603
9195
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>;
9196
+ /**
9197
+ * Prefer `.getHTML()` and `.setHTML()` over `.innerHTML`.
9198
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-dom-node-html-methods.md
9199
+ */
9200
+ 'unicorn/prefer-dom-node-html-methods'?: Linter.RuleEntry<[]>;
8604
9201
  /**
8605
9202
  * 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
9203
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-dom-node-remove.md
8607
9204
  */
8608
9205
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>;
9206
+ /**
9207
+ * Prefer `.replaceChildren()` when emptying DOM children.
9208
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-dom-node-replace-children.md
9209
+ */
9210
+ 'unicorn/prefer-dom-node-replace-children'?: Linter.RuleEntry<[]>;
8609
9211
  /**
8610
9212
  * 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
9213
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-dom-node-text-content.md
8612
9214
  */
8613
9215
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>;
9216
+ /**
9217
+ * Prefer early returns over full-function conditional wrapping.
9218
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-early-return.md
9219
+ */
9220
+ 'unicorn/prefer-early-return'?: Linter.RuleEntry<UnicornPreferEarlyReturn>;
9221
+ /**
9222
+ * Prefer `else if` over adjacent `if` statements with related conditions.
9223
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-else-if.md
9224
+ */
9225
+ 'unicorn/prefer-else-if'?: Linter.RuleEntry<[]>;
9226
+ /**
9227
+ * Prefer `Error.isError()` when checking for errors.
9228
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-error-is-error.md
9229
+ */
9230
+ 'unicorn/prefer-error-is-error'?: Linter.RuleEntry<[]>;
8614
9231
  /**
8615
9232
  * Prefer `EventTarget` over `EventEmitter`.
8616
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-event-target.md
9233
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-event-target.md
8617
9234
  */
8618
9235
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>;
8619
9236
  /**
8620
9237
  * 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
9238
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-export-from.md
8622
9239
  */
8623
9240
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>;
9241
+ /**
9242
+ * Prefer flat `Math.min()` and `Math.max()` calls over nested calls.
9243
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-flat-math-min-max.md
9244
+ */
9245
+ 'unicorn/prefer-flat-math-min-max'?: Linter.RuleEntry<[]>;
9246
+ /**
9247
+ * Prefer `.getOrInsertComputed()` when the default value has side effects.
9248
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-get-or-insert-computed.md
9249
+ */
9250
+ 'unicorn/prefer-get-or-insert-computed'?: Linter.RuleEntry<[]>;
9251
+ /**
9252
+ * Prefer global numeric constants over `Number` static properties.
9253
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-global-number-constants.md
9254
+ */
9255
+ 'unicorn/prefer-global-number-constants'?: Linter.RuleEntry<[]>;
8624
9256
  /**
8625
9257
  * 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
9258
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-global-this.md
8627
9259
  */
8628
9260
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>;
9261
+ /**
9262
+ * Prefer `.has()` when checking existence.
9263
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-has-check.md
9264
+ */
9265
+ 'unicorn/prefer-has-check'?: Linter.RuleEntry<[]>;
9266
+ /**
9267
+ * Prefer moving code shared by all branches of an `if` statement out of the branches.
9268
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-hoisting-branch-code.md
9269
+ */
9270
+ 'unicorn/prefer-hoisting-branch-code'?: Linter.RuleEntry<[]>;
9271
+ /**
9272
+ * Prefer HTTPS over HTTP.
9273
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-https.md
9274
+ */
9275
+ 'unicorn/prefer-https'?: Linter.RuleEntry<[]>;
9276
+ /**
9277
+ * Prefer identifiers over string literals in import and export specifiers.
9278
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-identifier-import-export-specifiers.md
9279
+ */
9280
+ 'unicorn/prefer-identifier-import-export-specifiers'?: Linter.RuleEntry<[]>;
8629
9281
  /**
8630
9282
  * 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
9283
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-import-meta-properties.md
8632
9284
  */
8633
9285
  'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>;
8634
9286
  /**
8635
9287
  * 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
9288
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-includes.md
8637
9289
  */
8638
9290
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>;
8639
9291
  /**
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
9292
+ * Prefer `.includes()` over repeated equality comparisons.
9293
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-includes-over-repeated-comparisons.md
9294
+ */
9295
+ 'unicorn/prefer-includes-over-repeated-comparisons'?: Linter.RuleEntry<UnicornPreferIncludesOverRepeatedComparisons>;
9296
+ /**
9297
+ * Prefer passing iterables directly to constructors instead of filling empty collections.
9298
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-iterable-in-constructor.md
9299
+ */
9300
+ 'unicorn/prefer-iterable-in-constructor'?: Linter.RuleEntry<[]>;
9301
+ /**
9302
+ * Prefer `Iterator.concat(…)` over temporary spread arrays.
9303
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-iterator-concat.md
9304
+ */
9305
+ 'unicorn/prefer-iterator-concat'?: Linter.RuleEntry<[]>;
9306
+ /**
9307
+ * Prefer `Iterator#toArray()` over temporary arrays from iterator spreads.
9308
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-iterator-to-array.md
9309
+ */
9310
+ 'unicorn/prefer-iterator-to-array'?: Linter.RuleEntry<[]>;
9311
+ /**
9312
+ * Prefer moving `.toArray()` to the end of iterator helper chains.
9313
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-iterator-to-array-at-end.md
9314
+ */
9315
+ 'unicorn/prefer-iterator-to-array-at-end'?: Linter.RuleEntry<[]>;
9316
+ /**
9317
+ * Renamed to `unicorn/consistent-json-file-read`.
9318
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/deleted-and-deprecated-rules.md#prefer-json-parse-buffer
9319
+ * @deprecated
8642
9320
  */
8643
9321
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>;
8644
9322
  /**
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
9323
+ * Prefer `KeyboardEvent#key` over deprecated keyboard event properties.
9324
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-keyboard-event-key.md
8647
9325
  */
8648
9326
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>;
9327
+ /**
9328
+ * Prefer `location.assign()` over assigning to `location.href`.
9329
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-location-assign.md
9330
+ */
9331
+ 'unicorn/prefer-location-assign'?: Linter.RuleEntry<[]>;
8649
9332
  /**
8650
9333
  * 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
9334
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-logical-operator-over-ternary.md
8652
9335
  */
8653
9336
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>;
9337
+ /**
9338
+ * Prefer `new Map()` over `Object.fromEntries()` when using the result as a map.
9339
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-map-from-entries.md
9340
+ */
9341
+ 'unicorn/prefer-map-from-entries'?: Linter.RuleEntry<[]>;
9342
+ /**
9343
+ * Prefer `Math.abs()` over manual absolute value expressions and symmetric range checks.
9344
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-math-abs.md
9345
+ */
9346
+ 'unicorn/prefer-math-abs'?: Linter.RuleEntry<[]>;
9347
+ /**
9348
+ * Prefer `Math` constants over their approximate numeric values.
9349
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-math-constants.md
9350
+ */
9351
+ 'unicorn/prefer-math-constants'?: Linter.RuleEntry<[]>;
8654
9352
  /**
8655
9353
  * 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
9354
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-math-min-max.md
8657
9355
  */
8658
9356
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>;
8659
9357
  /**
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
9358
+ * Prefer `Math.trunc()` for truncating numbers.
9359
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-math-trunc.md
8662
9360
  */
8663
9361
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>;
8664
9362
  /**
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
9363
+ * Prefer moving ternaries into the minimal varying part of an expression.
9364
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-minimal-ternary.md
9365
+ */
9366
+ 'unicorn/prefer-minimal-ternary'?: Linter.RuleEntry<UnicornPreferMinimalTernary>;
9367
+ /**
9368
+ * Prefer modern DOM APIs.
9369
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-modern-dom-apis.md
8667
9370
  */
8668
9371
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>;
8669
9372
  /**
8670
9373
  * 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
9374
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-modern-math-apis.md
8672
9375
  */
8673
9376
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>;
8674
9377
  /**
8675
9378
  * Prefer JavaScript modules (ESM) over CommonJS.
8676
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-module.md
9379
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-module.md
8677
9380
  */
8678
9381
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>;
8679
9382
  /**
8680
9383
  * 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
9384
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-native-coercion-functions.md
8682
9385
  */
8683
9386
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>;
8684
9387
  /**
8685
9388
  * 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
9389
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-negative-index.md
8687
9390
  */
8688
9391
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>;
8689
9392
  /**
8690
9393
  * 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
9394
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-node-protocol.md
8692
9395
  */
8693
9396
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>;
8694
9397
  /**
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
9398
+ * Prefer `Number()` over `parseFloat()` and base-10 `parseInt()`.
9399
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-number-coercion.md
9400
+ */
9401
+ 'unicorn/prefer-number-coercion'?: Linter.RuleEntry<[]>;
9402
+ /**
9403
+ * Prefer `Number.isSafeInteger()` over integer checks.
9404
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-number-is-safe-integer.md
9405
+ */
9406
+ 'unicorn/prefer-number-is-safe-integer'?: Linter.RuleEntry<[]>;
9407
+ /**
9408
+ * Prefer `Number` static methods over global functions and optionally static properties over global constants.
9409
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-number-properties.md
8697
9410
  */
8698
9411
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>;
9412
+ /**
9413
+ * Prefer `Object.defineProperties()` over multiple `Object.defineProperty()` calls.
9414
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-object-define-properties.md
9415
+ */
9416
+ 'unicorn/prefer-object-define-properties'?: Linter.RuleEntry<[]>;
9417
+ /**
9418
+ * Prefer object destructuring defaults over default object literals with spread.
9419
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-object-destructuring-defaults.md
9420
+ */
9421
+ 'unicorn/prefer-object-destructuring-defaults'?: Linter.RuleEntry<[]>;
8699
9422
  /**
8700
9423
  * 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
9424
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-object-from-entries.md
8702
9425
  */
8703
9426
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>;
9427
+ /**
9428
+ * Prefer the most specific `Object` iterable method.
9429
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-object-iterable-methods.md
9430
+ */
9431
+ 'unicorn/prefer-object-iterable-methods'?: Linter.RuleEntry<[]>;
9432
+ /**
9433
+ * Prefer observer APIs over resize and scroll listeners with layout reads.
9434
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-observer-apis.md
9435
+ */
9436
+ 'unicorn/prefer-observer-apis'?: Linter.RuleEntry<[]>;
8704
9437
  /**
8705
9438
  * 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
9439
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-optional-catch-binding.md
8707
9440
  */
8708
9441
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>;
9442
+ /**
9443
+ * Prefer `Path2D` for repeatedly drawn canvas paths.
9444
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-path2d.md
9445
+ */
9446
+ 'unicorn/prefer-path2d'?: Linter.RuleEntry<[]>;
9447
+ /**
9448
+ * Prefer private class fields over the underscore-prefix convention.
9449
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-private-class-fields.md
9450
+ */
9451
+ 'unicorn/prefer-private-class-fields'?: Linter.RuleEntry<[]>;
9452
+ /**
9453
+ * Prefer `Promise.try()` over promise-wrapping boilerplate.
9454
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-promise-try.md
9455
+ */
9456
+ 'unicorn/prefer-promise-try'?: Linter.RuleEntry<[]>;
9457
+ /**
9458
+ * Prefer `Promise.withResolvers()` when extracting resolver functions from `new Promise()`.
9459
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-promise-with-resolvers.md
9460
+ */
9461
+ 'unicorn/prefer-promise-with-resolvers'?: Linter.RuleEntry<[]>;
8709
9462
  /**
8710
9463
  * 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
9464
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-prototype-methods.md
8712
9465
  */
8713
9466
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>;
8714
9467
  /**
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
9468
+ * Prefer `.querySelector()` and `.querySelectorAll()` over older DOM query methods.
9469
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-query-selector.md
8717
9470
  */
8718
- 'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>;
9471
+ 'unicorn/prefer-query-selector'?: Linter.RuleEntry<UnicornPreferQuerySelector>;
9472
+ /**
9473
+ * Prefer `queueMicrotask()` over `process.nextTick()`, `setImmediate()`, and `setTimeout(…, 0)`.
9474
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-queue-microtask.md
9475
+ */
9476
+ 'unicorn/prefer-queue-microtask'?: Linter.RuleEntry<UnicornPreferQueueMicrotask>;
8719
9477
  /**
8720
9478
  * 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
9479
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-reflect-apply.md
8722
9480
  */
8723
9481
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>;
8724
9482
  /**
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
9483
+ * Prefer `RegExp.escape()` for escaping strings to use in regular expressions.
9484
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-regexp-escape.md
9485
+ */
9486
+ 'unicorn/prefer-regexp-escape'?: Linter.RuleEntry<[]>;
9487
+ /**
9488
+ * Prefer `RegExp#test()` over `String#match()`, `String#search()`, and `RegExp#exec()`.
9489
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-regexp-test.md
8727
9490
  */
8728
9491
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>;
8729
9492
  /**
8730
9493
  * 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
9494
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-response-static-json.md
8732
9495
  */
8733
9496
  'unicorn/prefer-response-static-json'?: Linter.RuleEntry<[]>;
9497
+ /**
9498
+ * Prefer `:scope` when using element query selector methods.
9499
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-scoped-selector.md
9500
+ */
9501
+ 'unicorn/prefer-scoped-selector'?: Linter.RuleEntry<[]>;
8734
9502
  /**
8735
9503
  * 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
9504
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-set-has.md
9505
+ */
9506
+ 'unicorn/prefer-set-has'?: Linter.RuleEntry<UnicornPreferSetHas>;
9507
+ /**
9508
+ * Prefer `Set` methods for Set operations.
9509
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-set-methods.md
8737
9510
  */
8738
- 'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>;
9511
+ 'unicorn/prefer-set-methods'?: Linter.RuleEntry<[]>;
8739
9512
  /**
8740
9513
  * 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
9514
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-set-size.md
8742
9515
  */
8743
9516
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>;
9517
+ /**
9518
+ * Prefer arrow function properties over methods with a single return.
9519
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-short-arrow-method.md
9520
+ */
9521
+ 'unicorn/prefer-short-arrow-method'?: Linter.RuleEntry<[]>;
8744
9522
  /**
8745
9523
  * 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
9524
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-simple-condition-first.md
8747
9525
  */
8748
9526
  'unicorn/prefer-simple-condition-first'?: Linter.RuleEntry<[]>;
8749
9527
  /**
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
9528
+ * Prefer a simple comparison function for `Array#sort()`.
9529
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-simple-sort-comparator.md
9530
+ */
9531
+ 'unicorn/prefer-simple-sort-comparator'?: Linter.RuleEntry<[]>;
9532
+ /**
9533
+ * Prefer a single `Array#some()` or `Array#every()` with a combined predicate.
9534
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-single-array-predicate.md
9535
+ */
9536
+ 'unicorn/prefer-single-array-predicate'?: Linter.RuleEntry<[]>;
9537
+ /**
9538
+ * Enforce combining multiple `Array#{push,unshift}()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
9539
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-single-call.md
8752
9540
  */
8753
9541
  'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>;
8754
9542
  /**
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
9543
+ * Prefer a single object destructuring declaration per local const source.
9544
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-single-object-destructuring.md
9545
+ */
9546
+ 'unicorn/prefer-single-object-destructuring'?: Linter.RuleEntry<[]>;
9547
+ /**
9548
+ * Enforce combining multiple single-character replacements into a single `String#replaceAll()` with a regular expression.
9549
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-single-replace.md
9550
+ */
9551
+ 'unicorn/prefer-single-replace'?: Linter.RuleEntry<[]>;
9552
+ /**
9553
+ * Prefer declaring variables in the smallest possible scope.
9554
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-smaller-scope.md
9555
+ */
9556
+ 'unicorn/prefer-smaller-scope'?: Linter.RuleEntry<[]>;
9557
+ /**
9558
+ * Prefer `String#split()` with a limit.
9559
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-split-limit.md
9560
+ */
9561
+ 'unicorn/prefer-split-limit'?: Linter.RuleEntry<[]>;
9562
+ /**
9563
+ * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()`, and trivial `for…of` copies.
9564
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-spread.md
8757
9565
  */
8758
9566
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>;
9567
+ /**
9568
+ * Prefer `String#matchAll()` over `RegExp#exec()` loops.
9569
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-string-match-all.md
9570
+ */
9571
+ 'unicorn/prefer-string-match-all'?: Linter.RuleEntry<[]>;
9572
+ /**
9573
+ * Prefer `String#padStart()` and `String#padEnd()` over manual string padding.
9574
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-string-pad-start-end.md
9575
+ */
9576
+ 'unicorn/prefer-string-pad-start-end'?: Linter.RuleEntry<[]>;
8759
9577
  /**
8760
9578
  * 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
9579
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-string-raw.md
8762
9580
  */
8763
9581
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>;
8764
9582
  /**
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
9583
+ * Prefer `String#repeat()` for repeated whitespace.
9584
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-string-repeat.md
9585
+ */
9586
+ 'unicorn/prefer-string-repeat'?: Linter.RuleEntry<UnicornPreferStringRepeat>;
9587
+ /**
9588
+ * Prefer `String#replaceAll()` over regex searches with the global flag and `String#split().join()`.
9589
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-string-replace-all.md
8767
9590
  */
8768
9591
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>;
8769
9592
  /**
8770
9593
  * 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
9594
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-string-slice.md
8772
9595
  */
8773
9596
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>;
8774
9597
  /**
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
9598
+ * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()` and `String#indexOf() === 0`.
9599
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-string-starts-ends-with.md
8777
9600
  */
8778
9601
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>;
8779
9602
  /**
8780
9603
  * 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
9604
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-string-trim-start-end.md
8782
9605
  */
8783
9606
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>;
8784
9607
  /**
8785
9608
  * 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
9609
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-structured-clone.md
8787
9610
  */
8788
9611
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>;
8789
9612
  /**
8790
9613
  * Prefer `switch` over multiple `else-if`.
8791
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-switch.md
9614
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-switch.md
8792
9615
  */
8793
9616
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>;
8794
9617
  /**
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
9618
+ * Prefer `Temporal` over `Date`.
9619
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-temporal.md
9620
+ */
9621
+ 'unicorn/prefer-temporal'?: Linter.RuleEntry<UnicornPreferTemporal>;
9622
+ /**
9623
+ * Prefer ternary expressions over simple `if` statements that return or assign values.
9624
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-ternary.md
8797
9625
  */
8798
9626
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>;
9627
+ /**
9628
+ * Prefer using `Element#toggleAttribute()` to toggle attributes.
9629
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-toggle-attribute.md
9630
+ */
9631
+ 'unicorn/prefer-toggle-attribute'?: Linter.RuleEntry<[]>;
8799
9632
  /**
8800
9633
  * 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
9634
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-top-level-await.md
8802
9635
  */
8803
9636
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>;
8804
9637
  /**
8805
9638
  * 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
9639
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-type-error.md
8807
9640
  */
8808
9641
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>;
8809
9642
  /**
8810
- * Prevent abbreviations.
8811
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prevent-abbreviations.md
9643
+ * Require type literals to be last in union types.
9644
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-type-literal-last.md
9645
+ */
9646
+ 'unicorn/prefer-type-literal-last'?: Linter.RuleEntry<[]>;
9647
+ /**
9648
+ * Prefer `Uint8Array#toBase64()` and `Uint8Array.fromBase64()` over `atob()`, `btoa()`, and `Buffer` base64 conversions.
9649
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-uint8array-base64.md
9650
+ */
9651
+ 'unicorn/prefer-uint8array-base64'?: Linter.RuleEntry<[]>;
9652
+ /**
9653
+ * Prefer the unary minus operator over multiplying or dividing by `-1`.
9654
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-unary-minus.md
9655
+ */
9656
+ 'unicorn/prefer-unary-minus'?: Linter.RuleEntry<[]>;
9657
+ /**
9658
+ * Prefer Unicode code point escapes over legacy escape sequences.
9659
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-unicode-code-point-escapes.md
9660
+ */
9661
+ 'unicorn/prefer-unicode-code-point-escapes'?: Linter.RuleEntry<[]>;
9662
+ /**
9663
+ * Prefer `URL.canParse()` over constructing a `URL` in a try/catch for validation.
9664
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-url-can-parse.md
9665
+ */
9666
+ 'unicorn/prefer-url-can-parse'?: Linter.RuleEntry<[]>;
9667
+ /**
9668
+ * Prefer `URL#href` over stringifying a `URL`.
9669
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-url-href.md
8812
9670
  */
8813
- 'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>;
9671
+ 'unicorn/prefer-url-href'?: Linter.RuleEntry<[]>;
9672
+ /**
9673
+ * Prefer `URLSearchParams` over manually splitting query strings.
9674
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-url-search-parameters.md
9675
+ */
9676
+ 'unicorn/prefer-url-search-parameters'?: Linter.RuleEntry<[]>;
9677
+ /**
9678
+ * Prefer putting the condition in the while statement.
9679
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/prefer-while-loop-condition.md
9680
+ */
9681
+ 'unicorn/prefer-while-loop-condition'?: Linter.RuleEntry<[]>;
9682
+ /**
9683
+ * Renamed to `unicorn/name-replacements`.
9684
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/deleted-and-deprecated-rules.md#prevent-abbreviations
9685
+ * @deprecated
9686
+ */
9687
+ 'unicorn/prevent-abbreviations'?: Linter.RuleEntry<[]>;
8814
9688
  /**
8815
9689
  * Enforce consistent relative URL style.
8816
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/relative-url-style.md
9690
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/relative-url-style.md
8817
9691
  */
8818
9692
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>;
8819
9693
  /**
8820
9694
  * 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
9695
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/require-array-join-separator.md
8822
9696
  */
8823
9697
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>;
9698
+ /**
9699
+ * Require a compare function when calling `Array#sort()` or `Array#toSorted()`.
9700
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/require-array-sort-compare.md
9701
+ */
9702
+ 'unicorn/require-array-sort-compare'?: Linter.RuleEntry<[]>;
9703
+ /**
9704
+ * Require `CSS.escape()` for interpolated values in CSS selectors.
9705
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/require-css-escape.md
9706
+ */
9707
+ 'unicorn/require-css-escape'?: Linter.RuleEntry<UnicornRequireCssEscape>;
8824
9708
  /**
8825
9709
  * 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
9710
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/require-module-attributes.md
8827
9711
  */
8828
9712
  'unicorn/require-module-attributes'?: Linter.RuleEntry<[]>;
8829
9713
  /**
8830
9714
  * 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
9715
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/require-module-specifiers.md
8832
9716
  */
8833
9717
  'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>;
8834
9718
  /**
8835
9719
  * 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
9720
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/require-number-to-fixed-digits-argument.md
8837
9721
  */
8838
9722
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>;
9723
+ /**
9724
+ * Require passive event listeners for high-frequency events.
9725
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/require-passive-events.md
9726
+ */
9727
+ 'unicorn/require-passive-events'?: Linter.RuleEntry<[]>;
8839
9728
  /**
8840
9729
  * 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
9730
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/require-post-message-target-origin.md
8842
9731
  */
8843
9732
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>;
9733
+ /**
9734
+ * Require boolean-returning Proxy traps to return booleans.
9735
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/require-proxy-trap-boolean-return.md
9736
+ */
9737
+ 'unicorn/require-proxy-trap-boolean-return'?: Linter.RuleEntry<[]>;
8844
9738
  /**
8845
9739
  * Enforce better string content.
8846
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/string-content.md
9740
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/string-content.md
8847
9741
  */
8848
9742
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>;
8849
9743
  /**
8850
9744
  * 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
9745
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/switch-case-braces.md
8852
9746
  */
8853
9747
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>;
8854
9748
  /**
8855
9749
  * 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
9750
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/switch-case-break-position.md
8857
9751
  */
8858
9752
  'unicorn/switch-case-break-position'?: Linter.RuleEntry<[]>;
8859
9753
  /**
8860
9754
  * Fix whitespace-insensitive template indentation.
8861
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/template-indent.md
9755
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/template-indent.md
8862
9756
  */
8863
9757
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>;
8864
9758
  /**
8865
9759
  * 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
9760
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/text-encoding-identifier-case.md
8867
9761
  */
8868
9762
  'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<UnicornTextEncodingIdentifierCase>;
8869
9763
  /**
8870
9764
  * 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
9765
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/throw-new-error.md
8872
9766
  */
8873
9767
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>;
9768
+ /**
9769
+ * Limit the complexity of `try` blocks.
9770
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v69.0.0/docs/rules/try-complexity.md
9771
+ */
9772
+ 'unicorn/try-complexity'?: Linter.RuleEntry<UnicornTryComplexity>;
8874
9773
  /**
8875
9774
  * Utilities in UnoCSS blocklist
8876
9775
  * @see https://unocss.dev/integrations/eslint#rules
@@ -10385,6 +11284,11 @@ interface RuleOptions {
10385
11284
  * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-tab-indent.html
10386
11285
  */
10387
11286
  'yaml/no-tab-indent'?: Linter.RuleEntry<[]>;
11287
+ /**
11288
+ * disallow trailing whitespace at the end of lines
11289
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-trailing-spaces.html
11290
+ */
11291
+ 'yaml/no-trailing-spaces'?: Linter.RuleEntry<YamlNoTrailingSpaces>;
10388
11292
  /**
10389
11293
  * disallow trailing zeros for floats
10390
11294
  * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-trailing-zeros.html
@@ -18492,43 +19396,110 @@ type TsUnifiedSignatures = [] | [{
18492
19396
  ignoreDifferentlyNamedParameters?: boolean;
18493
19397
  ignoreOverloadsWithDifferentJSDoc?: boolean;
18494
19398
  }]; // ----- unicode-bom -----
18495
- type UnicodeBom = [] | [("always" | "never")]; // ----- unicorn/better-regex -----
18496
- type UnicornBetterRegex = [] | [{
18497
- sortCharacterClasses?: boolean;
18498
- }]; // ----- unicorn/catch-error-name -----
19399
+ type UnicodeBom = [] | [("always" | "never")]; // ----- unicorn/catch-error-name -----
18499
19400
  type UnicornCatchErrorName = [] | [{
18500
19401
  name?: string;
18501
19402
  ignore?: unknown[];
18502
- }]; // ----- unicorn/consistent-function-scoping -----
19403
+ }]; // ----- unicorn/class-reference-in-static-methods -----
19404
+ type UnicornClassReferenceInStaticMethods = [] | [{
19405
+ preferThis?: boolean;
19406
+ preferSuper?: boolean;
19407
+ }]; // ----- unicorn/comment-content -----
19408
+ type UnicornCommentContent = [] | [{
19409
+ checkUniformCase?: boolean;
19410
+ extendDefaultReplacements?: boolean;
19411
+ replacements?: {
19412
+ [k: string]: (false | string | {
19413
+ replacement: string;
19414
+ caseSensitive?: boolean;
19415
+ }) | undefined;
19416
+ };
19417
+ }]; // ----- unicorn/consistent-boolean-name -----
19418
+ type UnicornConsistentBooleanName = [] | [{
19419
+ checkProperties?: boolean;
19420
+ prefixes?: {
19421
+ [k: string]: boolean | undefined;
19422
+ };
19423
+ ignore?: unknown[];
19424
+ }]; // ----- unicorn/consistent-class-member-order -----
19425
+ type UnicornConsistentClassMemberOrder = [] | [{
19426
+ order?: [("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method")];
19427
+ }]; // ----- unicorn/consistent-compound-words -----
19428
+ type UnicornConsistentCompoundWords = [] | [{
19429
+ checkProperties?: boolean;
19430
+ checkVariables?: boolean;
19431
+ checkDefaultAndNamespaceImports?: (boolean | "internal");
19432
+ checkShorthandImports?: (boolean | "internal");
19433
+ checkShorthandProperties?: boolean;
19434
+ extendDefaultReplacements?: boolean;
19435
+ replacements?: _UnicornConsistentCompoundWords_Replacements;
19436
+ allowList?: _UnicornConsistentCompoundWords_TrueObject;
19437
+ }];
19438
+ interface _UnicornConsistentCompoundWords_Replacements {
19439
+ [k: string]: (false | string) | undefined;
19440
+ }
19441
+ interface _UnicornConsistentCompoundWords_TrueObject {
19442
+ [k: string]: true | undefined;
19443
+ } // ----- unicorn/consistent-conditional-object-spread -----
19444
+ type UnicornConsistentConditionalObjectSpread = [] | [("logical" | "ternary")]; // ----- unicorn/consistent-export-decorator-position -----
19445
+ type UnicornConsistentExportDecoratorPosition = [] | [("above" | "before" | "after")]; // ----- unicorn/consistent-function-scoping -----
18503
19446
  type UnicornConsistentFunctionScoping = [] | [{
18504
19447
  checkArrowFunctions?: boolean;
19448
+ }]; // ----- unicorn/consistent-function-style -----
19449
+ type UnicornConsistentFunctionStyle = [] | [{
19450
+ default?: ("declaration" | "function-expression" | "arrow-function" | "ignore");
19451
+ namedFunctions?: ("declaration" | "function-expression" | "arrow-function" | "ignore");
19452
+ namedExports?: ("declaration" | "function-expression" | "arrow-function" | "ignore");
19453
+ callbacks?: ("function-expression" | "arrow-function" | "ignore");
19454
+ objectProperties?: ("method" | "function-expression" | "arrow-function" | "ignore");
19455
+ reassignedVariables?: ("function-expression" | "arrow-function" | "ignore");
19456
+ typedVariables?: ("function-expression" | "arrow-function" | "ignore");
19457
+ }]; // ----- unicorn/consistent-json-file-read -----
19458
+ type UnicornConsistentJsonFileRead = [] | [("string" | "buffer")]; // ----- unicorn/default-export-style -----
19459
+ type UnicornDefaultExportStyle = [] | [{
19460
+ functions?: ("inline" | "separate" | "ignore");
19461
+ classes?: ("inline" | "separate" | "ignore");
19462
+ }]; // ----- unicorn/dom-node-dataset -----
19463
+ type UnicornDomNodeDataset = [] | [{
19464
+ preferAttributes?: boolean;
18505
19465
  }]; // ----- unicorn/escape-case -----
18506
19466
  type UnicornEscapeCase = [] | [("uppercase" | "lowercase")]; // ----- unicorn/expiring-todo-comments -----
18507
19467
  type UnicornExpiringTodoComments = [] | [{
18508
19468
  terms?: string[];
18509
19469
  ignore?: unknown[];
18510
- ignoreDates?: boolean;
18511
- ignoreDatesOnPullRequests?: boolean;
19470
+ checkDates?: boolean;
19471
+ checkDatesOnPullRequests?: boolean;
18512
19472
  allowWarningComments?: boolean;
18513
19473
  date?: string;
18514
19474
  }]; // ----- unicorn/explicit-length-check -----
18515
19475
  type UnicornExplicitLengthCheck = [] | [{
18516
19476
  "non-zero"?: ("greater-than" | "not-equal");
18517
- }]; // ----- unicorn/filename-case -----
19477
+ }]; // ----- unicorn/explicit-timer-delay -----
19478
+ type UnicornExplicitTimerDelay = [] | [("always" | "never")]; // ----- unicorn/filename-case -----
18518
19479
  type UnicornFilenameCase = [] | [({
18519
- case?: ("camelCase" | "snakeCase" | "kebabCase" | "pascalCase");
19480
+ case?: ("camelCase" | "camelCaseWithAcronyms" | "snakeCase" | "kebabCase" | "pascalCase");
18520
19481
  ignore?: unknown[];
18521
19482
  multipleFileExtensions?: boolean;
19483
+ checkDirectories?: boolean;
18522
19484
  } | {
18523
19485
  cases?: {
18524
19486
  camelCase?: boolean;
19487
+ camelCaseWithAcronyms?: boolean;
18525
19488
  snakeCase?: boolean;
18526
19489
  kebabCase?: boolean;
18527
19490
  pascalCase?: boolean;
18528
19491
  };
18529
19492
  ignore?: unknown[];
18530
19493
  multipleFileExtensions?: boolean;
18531
- })]; // ----- unicorn/import-style -----
19494
+ checkDirectories?: boolean;
19495
+ })]; // ----- unicorn/id-match -----
19496
+ type UnicornIdMatch = [] | [string] | [string, {
19497
+ properties?: boolean;
19498
+ classFields?: boolean;
19499
+ onlyDeclarations?: boolean;
19500
+ ignoreDestructuring?: boolean;
19501
+ checkNamedSpecifiers?: boolean;
19502
+ }]; // ----- unicorn/import-style -----
18532
19503
  type UnicornImportStyle = [] | [{
18533
19504
  checkImport?: boolean;
18534
19505
  checkDynamicImport?: boolean;
@@ -18551,6 +19522,38 @@ type UnicornIsolatedFunctions = [] | [{
18551
19522
  functions?: string[];
18552
19523
  selectors?: string[];
18553
19524
  comments?: string[];
19525
+ }]; // ----- unicorn/logical-assignment-operators -----
19526
+ type UnicornLogicalAssignmentOperators = (([] | ["always"] | ["always", {
19527
+ enforceForIfStatements?: boolean;
19528
+ }] | ["never"]) & unknown[]); // ----- unicorn/max-nested-calls -----
19529
+ type UnicornMaxNestedCalls = [] | [{
19530
+ max?: number;
19531
+ }]; // ----- unicorn/name-replacements -----
19532
+ type UnicornNameReplacements = [] | [{
19533
+ checkProperties?: boolean;
19534
+ checkVariables?: boolean;
19535
+ checkDefaultAndNamespaceImports?: (boolean | string);
19536
+ checkShorthandImports?: (boolean | string);
19537
+ checkShorthandProperties?: boolean;
19538
+ checkFilenames?: boolean;
19539
+ extendDefaultReplacements?: boolean;
19540
+ replacements?: _UnicornNameReplacements_NameReplacements;
19541
+ extendDefaultAllowList?: boolean;
19542
+ allowList?: _UnicornNameReplacements_BooleanObject;
19543
+ ignore?: unknown[];
19544
+ }];
19545
+ type _UnicornNameReplacementsReplacements = (false | _UnicornNameReplacements_BooleanObject) | undefined;
19546
+ interface _UnicornNameReplacements_NameReplacements {
19547
+ [k: string]: _UnicornNameReplacementsReplacements | undefined;
19548
+ }
19549
+ interface _UnicornNameReplacements_BooleanObject {
19550
+ [k: string]: boolean | undefined;
19551
+ }
19552
+ interface _UnicornNameReplacements_BooleanObject {
19553
+ [k: string]: boolean | undefined;
19554
+ } // ----- unicorn/no-array-callback-reference -----
19555
+ type UnicornNoArrayCallbackReference = [] | [{
19556
+ ignore?: string[];
18554
19557
  }]; // ----- unicorn/no-array-reduce -----
18555
19558
  type UnicornNoArrayReduce = [] | [{
18556
19559
  allowSimpleOperations?: boolean;
@@ -18560,28 +19563,47 @@ type UnicornNoArrayReverse = [] | [{
18560
19563
  }]; // ----- unicorn/no-array-sort -----
18561
19564
  type UnicornNoArraySort = [] | [{
18562
19565
  allowExpressionStatement?: boolean;
19566
+ }]; // ----- unicorn/no-empty-file -----
19567
+ type UnicornNoEmptyFile = [] | [{
19568
+ allowComments?: boolean;
18563
19569
  }]; // ----- unicorn/no-instanceof-builtins -----
18564
19570
  type UnicornNoInstanceofBuiltins = [] | [{
18565
19571
  useErrorIsError?: boolean;
18566
19572
  strategy?: ("loose" | "strict");
18567
19573
  include?: string[];
18568
19574
  exclude?: string[];
19575
+ }]; // ----- unicorn/no-invalid-argument-count -----
19576
+ type UnicornNoInvalidArgumentCount = [] | [{
19577
+ [k: string]: (number | [number, ...(number)[]] | {
19578
+ min?: number;
19579
+ max?: number;
19580
+ }) | undefined;
18569
19581
  }]; // ----- unicorn/no-keyword-prefix -----
18570
19582
  type UnicornNoKeywordPrefix = [] | [{
18571
19583
  disallowedPrefixes?: [] | [string];
18572
19584
  checkProperties?: boolean;
18573
19585
  onlyCamelCase?: boolean;
19586
+ }]; // ----- unicorn/no-negated-comparison -----
19587
+ type UnicornNoNegatedComparison = [] | [{
19588
+ checkLogicalExpressions?: boolean;
19589
+ }]; // ----- unicorn/no-non-function-verb-prefix -----
19590
+ type UnicornNoNonFunctionVerbPrefix = [] | [{
19591
+ verbs?: string[];
18574
19592
  }]; // ----- unicorn/no-null -----
18575
19593
  type UnicornNoNull = [] | [{
19594
+ checkArguments?: boolean;
18576
19595
  checkStrictEquality?: boolean;
18577
19596
  }]; // ----- unicorn/no-typeof-undefined -----
18578
19597
  type UnicornNoTypeofUndefined = [] | [{
18579
19598
  checkGlobalVariables?: boolean;
18580
19599
  }]; // ----- unicorn/no-unnecessary-polyfills -----
18581
19600
  type UnicornNoUnnecessaryPolyfills = [] | [{
18582
- targets: (string | unknown[] | {
19601
+ targets?: (string | unknown[] | {
18583
19602
  [k: string]: unknown | undefined;
18584
19603
  });
19604
+ }]; // ----- unicorn/no-unreadable-array-destructuring -----
19605
+ type UnicornNoUnreadableArrayDestructuring = [] | [{
19606
+ maximumIgnoredElements?: number;
18585
19607
  }]; // ----- unicorn/no-useless-undefined -----
18586
19608
  type UnicornNoUselessUndefined = [] | [{
18587
19609
  checkArguments?: boolean;
@@ -18610,9 +19632,11 @@ type UnicornNumericSeparatorsStyle = [] | [{
18610
19632
  onlyIfContainsSeparator?: boolean;
18611
19633
  minimumDigits?: number;
18612
19634
  groupLength?: number;
19635
+ fractionGroupLength?: number;
18613
19636
  };
18614
19637
  onlyIfContainsSeparator?: boolean;
18615
- }]; // ----- unicorn/prefer-add-event-listener -----
19638
+ }]; // ----- unicorn/operator-assignment -----
19639
+ type UnicornOperatorAssignment = [] | [("always" | "never")]; // ----- unicorn/prefer-add-event-listener -----
18616
19640
  type UnicornPreferAddEventListener = [] | [{
18617
19641
  excludedPackages?: string[];
18618
19642
  }]; // ----- unicorn/prefer-array-find -----
@@ -18625,9 +19649,22 @@ type UnicornPreferArrayFlat = [] | [{
18625
19649
  type UnicornPreferAt = [] | [{
18626
19650
  getLastElementFunctions?: unknown[];
18627
19651
  checkAllIndexAccess?: boolean;
19652
+ }]; // ----- unicorn/prefer-continue -----
19653
+ type UnicornPreferContinue = [] | [{
19654
+ maximumStatements?: number;
19655
+ }]; // ----- unicorn/prefer-early-return -----
19656
+ type UnicornPreferEarlyReturn = [] | [{
19657
+ maximumStatements?: number;
18628
19658
  }]; // ----- unicorn/prefer-export-from -----
18629
19659
  type UnicornPreferExportFrom = [] | [{
18630
- ignoreUsedVariables?: boolean;
19660
+ checkUsedVariables?: boolean;
19661
+ }]; // ----- unicorn/prefer-includes-over-repeated-comparisons -----
19662
+ type UnicornPreferIncludesOverRepeatedComparisons = [] | [{
19663
+ minimumComparisons?: number;
19664
+ }]; // ----- unicorn/prefer-minimal-ternary -----
19665
+ type UnicornPreferMinimalTernary = [] | [{
19666
+ checkVaryingCallee?: boolean;
19667
+ checkComputedMemberAccess?: boolean;
18631
19668
  }]; // ----- unicorn/prefer-number-properties -----
18632
19669
  type UnicornPreferNumberProperties = [] | [{
18633
19670
  checkInfinity?: boolean;
@@ -18635,9 +19672,22 @@ type UnicornPreferNumberProperties = [] | [{
18635
19672
  }]; // ----- unicorn/prefer-object-from-entries -----
18636
19673
  type UnicornPreferObjectFromEntries = [] | [{
18637
19674
  functions?: unknown[];
19675
+ }]; // ----- unicorn/prefer-query-selector -----
19676
+ type UnicornPreferQuerySelector = [] | [{
19677
+ allowWithVariables?: boolean;
19678
+ }]; // ----- unicorn/prefer-queue-microtask -----
19679
+ type UnicornPreferQueueMicrotask = [] | [{
19680
+ checkSetImmediate?: boolean;
19681
+ checkSetTimeout?: boolean;
19682
+ }]; // ----- unicorn/prefer-set-has -----
19683
+ type UnicornPreferSetHas = [] | [{
19684
+ minimumItems?: number;
18638
19685
  }]; // ----- unicorn/prefer-single-call -----
18639
19686
  type UnicornPreferSingleCall = [] | [{
18640
19687
  ignore?: unknown[];
19688
+ }]; // ----- unicorn/prefer-string-repeat -----
19689
+ type UnicornPreferStringRepeat = [] | [{
19690
+ minimumRepetitions?: number;
18641
19691
  }]; // ----- unicorn/prefer-structured-clone -----
18642
19692
  type UnicornPreferStructuredClone = [] | [{
18643
19693
  functions?: unknown[];
@@ -18645,42 +19695,29 @@ type UnicornPreferStructuredClone = [] | [{
18645
19695
  type UnicornPreferSwitch = [] | [{
18646
19696
  minimumCases?: number;
18647
19697
  emptyDefaultCase?: ("no-default-comment" | "do-nothing-comment" | "no-default-case");
19698
+ }]; // ----- unicorn/prefer-temporal -----
19699
+ type UnicornPreferTemporal = [] | [{
19700
+ checkDateNow?: boolean;
19701
+ checkReferences?: boolean;
19702
+ checkMethods?: boolean;
18648
19703
  }]; // ----- 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 -----
19704
+ type UnicornPreferTernary = [] | [("always" | "only-single-line")]; // ----- unicorn/relative-url-style -----
19705
+ type UnicornRelativeUrlStyle = [] | [("never" | "always")]; // ----- unicorn/require-css-escape -----
19706
+ type UnicornRequireCssEscape = [] | [{
19707
+ checkAllSelectors?: boolean;
19708
+ }]; // ----- unicorn/string-content -----
18674
19709
  type UnicornStringContent = [] | [{
18675
19710
  patterns?: {
18676
19711
  [k: string]: (string | {
18677
19712
  suggest: string;
18678
19713
  fix?: boolean;
19714
+ caseSensitive?: boolean;
18679
19715
  message?: string;
18680
19716
  }) | undefined;
18681
19717
  };
19718
+ selectors?: string[];
18682
19719
  }]; // ----- unicorn/switch-case-braces -----
18683
- type UnicornSwitchCaseBraces = [] | [("always" | "avoid")]; // ----- unicorn/template-indent -----
19720
+ type UnicornSwitchCaseBraces = [] | [("always" | "avoid" | "single-statement")]; // ----- unicorn/template-indent -----
18684
19721
  type UnicornTemplateIndent = [] | [{
18685
19722
  indent?: (string | number);
18686
19723
  tags?: string[];
@@ -18690,6 +19727,9 @@ type UnicornTemplateIndent = [] | [{
18690
19727
  }]; // ----- unicorn/text-encoding-identifier-case -----
18691
19728
  type UnicornTextEncodingIdentifierCase = [] | [{
18692
19729
  withDash?: boolean;
19730
+ }]; // ----- unicorn/try-complexity -----
19731
+ type UnicornTryComplexity = [] | [{
19732
+ max?: number;
18693
19733
  }]; // ----- unocss/enforce-class-compile -----
18694
19734
  type UnocssEnforceClassCompile = [] | [{
18695
19735
  prefix?: string;
@@ -20031,6 +21071,10 @@ type YamlNoMultipleEmptyLines = [] | [{
20031
21071
  max: number;
20032
21072
  maxEOF?: number;
20033
21073
  maxBOF?: number;
21074
+ }]; // ----- yaml/no-trailing-spaces -----
21075
+ type YamlNoTrailingSpaces = [] | [{
21076
+ skipBlankLines?: boolean;
21077
+ ignoreComments?: boolean;
20034
21078
  }]; // ----- yaml/plain-scalar -----
20035
21079
  type YamlPlainScalar = [] | [("always" | "never")] | [("always" | "never"), {
20036
21080
  ignorePatterns?: string[];
@@ -20125,7 +21169,7 @@ type Yoda = [] | [("always" | "never")] | [("always" | "never"), {
20125
21169
  exceptRange?: boolean;
20126
21170
  onlyEquality?: boolean;
20127
21171
  }]; // 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';
21172
+ type ConfigNames = 'vinicunca/gitignore' | 'vinicunca/ignores' | 'vinicunca/javascript/setup' | 'vinicunca/javascript/rules' | 'vinicunca/eslint-comments/rules' | 'vinicunca/command/rules' | 'vinicunca/sonar/rules' | 'vinicunca/perfectionist/rules' | 'vinicunca/node/rules' | 'vinicunca/jsdoc/setup' | 'vinicunca/jsdoc/rules' | 'vinicunca/imports/rules' | 'vinicunca/e18e/rules' | 'vinicunca/unicorn/setup' | 'vinicunca/unicorn/rules' | 'antfu/jsx/setup' | 'vinicunca/typescript/setup' | 'vinicunca/typescript/parser' | 'vinicunca/typescript/type-aware-parser' | 'vinicunca/typescript/rules' | 'vinicunca/typescript/rules-type-aware' | 'antfu/typescript/erasable-syntax-only' | 'vinicunca/stylistic/rules' | 'vinicunca/regexp/rules' | 'vinicunca/test/setup' | 'vinicunca/test/rules' | 'vinicunca/vue/setup' | 'vinicunca/vue/rules' | 'vinicunca/react/setup' | 'vinicunca/react/rules' | 'vinicunca/react/typescript' | 'vinicunca/react/type-aware-rules' | 'vinicunca/nextjs/setup' | 'vinicunca/nextjs/rules' | 'vinicunca/solid/setup' | 'vinicunca/solid/rules' | 'vinicunca/svelte/setup' | 'vinicunca/svelte/rules' | 'vinicunca/unocss' | 'vinicunca/astro/setup' | 'vinicunca/astro/rules' | 'vinicunca/jsonc/setup' | 'vinicunca/jsonc/rules' | 'vinicunca/sort/package-json' | 'vinicunca/sort/tsconfig' | 'vinicunca/pnpm/package-json' | 'vinicunca/pnpm/pnpm-workspace-yaml' | 'vinicunca/pnpm/pnpm-workspace-yaml-sort' | 'vinicunca/yaml/setup' | 'vinicunca/yaml/rules' | 'vinicunca/toml/setup' | 'vinicunca/toml/rules' | 'vinicunca/markdown/setup' | 'vinicunca/markdown/processor' | 'vinicunca/markdown/parser' | 'vinicunca/markdown/rules' | 'vinicunca/markdown/disables/markdown' | 'vinicunca/markdown/disables' | 'vinicunca/formatter/setup' | 'vinicunca/formatter/css' | 'vinicunca/formatter/scss' | 'vinicunca/formatter/less' | 'vinicunca/formatter/html' | 'vinicunca/formatter/xml' | 'vinicunca/formatter/svg' | 'vinicunca/formatter/markdown' | 'vinicunca/formatter/astro' | 'vinicunca/formatter/astro/disables' | 'vinicunca/formatter/graphql' | 'vinicunca/disables/scripts' | 'vinicunca/disables/cli' | 'vinicunca/disables/bin' | 'vinicunca/disables/dts' | 'vinicunca/disables/cjs' | 'vinicunca/disables/config-files';
20129
21173
  //#endregion
20130
21174
  //#region src/vendor/prettier-types.d.ts
20131
21175
  /**