@2digits/eslint-config 5.5.6 → 5.5.8

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
@@ -515,6 +515,16 @@ interface RuleOptions {
515
515
  * @see https://eslint-plugin-github-action.ntnyq.com/rules/no-top-level-permissions.html
516
516
  */
517
517
  'github-action/no-top-level-permissions'?: Linter.RuleEntry<[]>;
518
+ /**
519
+ * disallow unpinned uses references.
520
+ * @see https://eslint-plugin-github-action.ntnyq.com/rules/no-unpinned-uses.html
521
+ */
522
+ 'github-action/no-unpinned-uses'?: Linter.RuleEntry<[]>;
523
+ /**
524
+ * enforce setting concurrency cancel-in-progress to true.
525
+ * @see https://eslint-plugin-github-action.ntnyq.com/rules/prefer-cancel-in-progress.html
526
+ */
527
+ 'github-action/prefer-cancel-in-progress'?: Linter.RuleEntry<[]>;
518
528
  /**
519
529
  * enforce workflow file extension.
520
530
  * @see https://eslint-plugin-github-action.ntnyq.com/rules/prefer-file-extension.html
@@ -535,6 +545,11 @@ interface RuleOptions {
535
545
  * @see https://eslint-plugin-github-action.ntnyq.com/rules/require-action-run-name.html
536
546
  */
537
547
  'github-action/require-action-run-name'?: Linter.RuleEntry<[]>;
548
+ /**
549
+ * require a workflow-level concurrency group.
550
+ * @see https://eslint-plugin-github-action.ntnyq.com/rules/require-concurrency-group.html
551
+ */
552
+ 'github-action/require-concurrency-group'?: Linter.RuleEntry<[]>;
538
553
  /**
539
554
  * require a string job name.
540
555
  * @see https://eslint-plugin-github-action.ntnyq.com/rules/require-job-name.html
@@ -2023,7 +2038,7 @@ interface RuleOptions {
2023
2038
  * Disallow expressions where the operation doesn't affect the value
2024
2039
  * @see https://eslint.org/docs/latest/rules/no-constant-binary-expression
2025
2040
  */
2026
- 'no-constant-binary-expression'?: Linter.RuleEntry<[]>;
2041
+ 'no-constant-binary-expression'?: Linter.RuleEntry<NoConstantBinaryExpression>;
2027
2042
  /**
2028
2043
  * Disallow constant expressions in conditions
2029
2044
  * @see https://eslint.org/docs/latest/rules/no-constant-condition
@@ -3578,6 +3593,11 @@ interface RuleOptions {
3578
3593
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-fetch
3579
3594
  */
3580
3595
  'react-extra/web-api-no-leaked-fetch'?: Linter.RuleEntry<[]>;
3596
+ /**
3597
+ * Enforces that every 'IntersectionObserver' created in a component or custom hook has a corresponding 'IntersectionObserver.disconnect()'.
3598
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-intersection-observer
3599
+ */
3600
+ 'react-extra/web-api-no-leaked-intersection-observer'?: Linter.RuleEntry<[]>;
3581
3601
  /**
3582
3602
  * Enforces that every 'setInterval' in a component or custom hook has a corresponding 'clearInterval'.
3583
3603
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval
@@ -4353,12 +4373,17 @@ interface RuleOptions {
4353
4373
  */
4354
4374
  'sonar/assertions-in-tests'?: Linter.RuleEntry<[]>;
4355
4375
  /**
4356
- * Creating public APIs is security-sensitive
4376
+ * Async test assertions should be awaited or returned
4377
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8780/javascript
4378
+ */
4379
+ 'sonar/async-test-assertions'?: Linter.RuleEntry<[]>;
4380
+ /**
4381
+ * AWS API Gateway should require authentication
4357
4382
  * @see https://sonarsource.github.io/rspec/#/rspec/S6333/javascript
4358
4383
  */
4359
4384
  'sonar/aws-apigateway-public-api'?: Linter.RuleEntry<[]>;
4360
4385
  /**
4361
- * Allowing public network access to cloud resources is security-sensitive
4386
+ * Public network access to cloud resources should be disabled
4362
4387
  * @see https://sonarsource.github.io/rspec/#/rspec/S6329/javascript
4363
4388
  */
4364
4389
  'sonar/aws-ec2-rds-dms-public'?: Linter.RuleEntry<[]>;
@@ -4368,7 +4393,7 @@ interface RuleOptions {
4368
4393
  */
4369
4394
  'sonar/aws-ec2-unencrypted-ebs-volume'?: Linter.RuleEntry<[]>;
4370
4395
  /**
4371
- * Using unencrypted EFS file systems is security-sensitive
4396
+ * Amazon EFS file systems should be encrypted
4372
4397
  * @see https://sonarsource.github.io/rspec/#/rspec/S6332/javascript
4373
4398
  */
4374
4399
  'sonar/aws-efs-unencrypted'?: Linter.RuleEntry<[]>;
@@ -4378,7 +4403,7 @@ interface RuleOptions {
4378
4403
  */
4379
4404
  'sonar/aws-iam-all-privileges'?: Linter.RuleEntry<[]>;
4380
4405
  /**
4381
- * Policies granting access to all resources of an account are security-sensitive
4406
+ * IAM policies should not grant access to all account resources
4382
4407
  * @see https://sonarsource.github.io/rspec/#/rspec/S6304/javascript
4383
4408
  */
4384
4409
  'sonar/aws-iam-all-resources-accessible'?: Linter.RuleEntry<[]>;
@@ -4413,33 +4438,27 @@ interface RuleOptions {
4413
4438
  */
4414
4439
  'sonar/aws-s3-bucket-granted-access'?: Linter.RuleEntry<[]>;
4415
4440
  /**
4416
- * Authorizing HTTP communications with S3 buckets is security-sensitive
4441
+ * S3 buckets should enforce HTTPS-only access
4417
4442
  * @see https://sonarsource.github.io/rspec/#/rspec/S6249/javascript
4418
4443
  */
4419
4444
  'sonar/aws-s3-bucket-insecure-http'?: Linter.RuleEntry<[]>;
4420
4445
  /**
4421
- * Allowing public ACLs or policies on a S3 bucket is security-sensitive
4446
+ * Amazon S3 bucket public access should be fully blocked
4422
4447
  * @see https://sonarsource.github.io/rspec/#/rspec/S6281/javascript
4423
4448
  */
4424
4449
  'sonar/aws-s3-bucket-public-access'?: Linter.RuleEntry<[]>;
4425
4450
  /**
4426
- * Disabling server-side encryption of S3 buckets is security-sensitive
4427
- * @see https://sonarsource.github.io/rspec/#/rspec/S6245/javascript
4428
- * @deprecated
4429
- */
4430
- 'sonar/aws-s3-bucket-server-encryption'?: Linter.RuleEntry<[]>;
4431
- /**
4432
- * Disabling versioning of S3 buckets is security-sensitive
4451
+ * Amazon S3 buckets should have versioning enabled
4433
4452
  * @see https://sonarsource.github.io/rspec/#/rspec/S6252/javascript
4434
4453
  */
4435
4454
  'sonar/aws-s3-bucket-versioning'?: Linter.RuleEntry<[]>;
4436
4455
  /**
4437
- * Using unencrypted SageMaker notebook instances is security-sensitive
4456
+ * SageMaker notebook instances should be encrypted at rest
4438
4457
  * @see https://sonarsource.github.io/rspec/#/rspec/S6319/javascript
4439
4458
  */
4440
4459
  'sonar/aws-sagemaker-unencrypted-notebook'?: Linter.RuleEntry<[]>;
4441
4460
  /**
4442
- * Using unencrypted SNS topics is security-sensitive
4461
+ * Amazon SNS topics should be encrypted at rest
4443
4462
  * @see https://sonarsource.github.io/rspec/#/rspec/S6327/javascript
4444
4463
  */
4445
4464
  'sonar/aws-sns-unencrypted-topics'?: Linter.RuleEntry<[]>;
@@ -4468,12 +4487,6 @@ interface RuleOptions {
4468
4487
  * @see https://sonarsource.github.io/rspec/#/rspec/S1472/javascript
4469
4488
  */
4470
4489
  'sonar/call-argument-line'?: Linter.RuleEntry<[]>;
4471
- /**
4472
- * Disabling Certificate Transparency monitoring is security-sensitive
4473
- * @see https://sonarsource.github.io/rspec/#/rspec/S5742/javascript
4474
- * @deprecated
4475
- */
4476
- 'sonar/certificate-transparency'?: Linter.RuleEntry<[]>;
4477
4490
  /**
4478
4491
  * Chai assertions should have only one reason to succeed
4479
4492
  * @see https://sonarsource.github.io/rspec/#/rspec/S6092/javascript
@@ -4490,7 +4503,7 @@ interface RuleOptions {
4490
4503
  */
4491
4504
  'sonar/class-prototype'?: Linter.RuleEntry<[]>;
4492
4505
  /**
4493
- * Dynamically executing code is security-sensitive
4506
+ * Dynamic code execution should not use user-controlled data
4494
4507
  * @see https://sonarsource.github.io/rspec/#/rspec/S1523/javascript
4495
4508
  */
4496
4509
  'sonar/code-eval'?: Linter.RuleEntry<[]>;
@@ -4521,8 +4534,9 @@ interface RuleOptions {
4521
4534
  */
4522
4535
  'sonar/conditional-indentation'?: Linter.RuleEntry<[]>;
4523
4536
  /**
4524
- * Allowing confidential information to be logged is security-sensitive
4537
+ * Confidential information should not be logged
4525
4538
  * @see https://sonarsource.github.io/rspec/#/rspec/S5757/javascript
4539
+ * @deprecated
4526
4540
  */
4527
4541
  'sonar/confidential-information-logging'?: Linter.RuleEntry<[]>;
4528
4542
  /**
@@ -4536,28 +4550,22 @@ interface RuleOptions {
4536
4550
  */
4537
4551
  'sonar/content-length'?: Linter.RuleEntry<SonarContentLength>;
4538
4552
  /**
4539
- * Disabling content security policy fetch directives is security-sensitive
4553
+ * Content security policy fetch directives should not be disabled
4540
4554
  * @see https://sonarsource.github.io/rspec/#/rspec/S5728/javascript
4541
4555
  */
4542
4556
  'sonar/content-security-policy'?: Linter.RuleEntry<[]>;
4543
4557
  /**
4544
- * Creating cookies without the "HttpOnly" flag is security-sensitive
4558
+ * Cookies should have the "HttpOnly" flag
4545
4559
  * @see https://sonarsource.github.io/rspec/#/rspec/S3330/javascript
4546
4560
  */
4547
4561
  'sonar/cookie-no-httponly'?: Linter.RuleEntry<[]>;
4548
- /**
4549
- * Writing cookies is security-sensitive
4550
- * @see https://sonarsource.github.io/rspec/#/rspec/S2255/javascript
4551
- * @deprecated
4552
- */
4553
- 'sonar/cookies'?: Linter.RuleEntry<[]>;
4554
4562
  /**
4555
4563
  * Cross-Origin Resource Sharing (CORS) policy should be restricted to trusted origins
4556
4564
  * @see https://sonarsource.github.io/rspec/#/rspec/S5122/javascript
4557
4565
  */
4558
4566
  'sonar/cors'?: Linter.RuleEntry<[]>;
4559
4567
  /**
4560
- * Disabling CSRF protections is security-sensitive
4568
+ * CSRF protections should not be disabled
4561
4569
  * @see https://sonarsource.github.io/rspec/#/rspec/S4502/javascript
4562
4570
  */
4563
4571
  'sonar/csrf'?: Linter.RuleEntry<[]>;
@@ -4587,12 +4595,12 @@ interface RuleOptions {
4587
4595
  */
4588
4596
  'sonar/different-types-comparison'?: Linter.RuleEntry<[]>;
4589
4597
  /**
4590
- * Disabling auto-escaping in template engines is security-sensitive
4598
+ * Auto-escaping in HTML template engines should not be disabled
4591
4599
  * @see https://sonarsource.github.io/rspec/#/rspec/S5247/javascript
4592
4600
  */
4593
4601
  'sonar/disabled-auto-escaping'?: Linter.RuleEntry<[]>;
4594
4602
  /**
4595
- * Using remote artifacts without integrity checks is security-sensitive
4603
+ * Remote artifacts should not be used without integrity checks
4596
4604
  * @see https://sonarsource.github.io/rspec/#/rspec/S5725/javascript
4597
4605
  */
4598
4606
  'sonar/disabled-resource-integrity'?: Linter.RuleEntry<[]>;
@@ -4601,12 +4609,6 @@ interface RuleOptions {
4601
4609
  * @see https://sonarsource.github.io/rspec/#/rspec/S6080/javascript
4602
4610
  */
4603
4611
  'sonar/disabled-timeout'?: Linter.RuleEntry<[]>;
4604
- /**
4605
- * Allowing browsers to perform DNS prefetching is security-sensitive
4606
- * @see https://sonarsource.github.io/rspec/#/rspec/S5743/javascript
4607
- * @deprecated
4608
- */
4609
- 'sonar/dns-prefetching'?: Linter.RuleEntry<[]>;
4610
4612
  /**
4611
4613
  * DOMPurify configuration should not be bypassable
4612
4614
  * @see https://sonarsource.github.io/rspec/#/rspec/S8479/javascript
@@ -4632,12 +4634,6 @@ interface RuleOptions {
4632
4634
  * @see https://sonarsource.github.io/rspec/#/rspec/S5842/javascript
4633
4635
  */
4634
4636
  'sonar/empty-string-repetition'?: Linter.RuleEntry<[]>;
4635
- /**
4636
- * Encrypting data is security-sensitive
4637
- * @see https://sonarsource.github.io/rspec/#/rspec/S4787/javascript
4638
- * @deprecated
4639
- */
4640
- 'sonar/encryption'?: Linter.RuleEntry<[]>;
4641
4637
  /**
4642
4638
  * Encryption algorithms should be used with secure mode and padding scheme
4643
4639
  * @see https://sonarsource.github.io/rspec/#/rspec/S5542/javascript
@@ -4689,8 +4685,9 @@ interface RuleOptions {
4689
4685
  */
4690
4686
  'sonar/for-loop-increment-sign'?: Linter.RuleEntry<[]>;
4691
4687
  /**
4692
- * Disabling content security policy frame-ancestors directive is security-sensitive
4688
+ * Content Security Policy frame-ancestors directive should not be disabled
4693
4689
  * @see https://sonarsource.github.io/rspec/#/rspec/S5732/javascript
4690
+ * @deprecated
4694
4691
  */
4695
4692
  'sonar/frame-ancestors'?: Linter.RuleEntry<[]>;
4696
4693
  /**
@@ -4724,15 +4721,21 @@ interface RuleOptions {
4724
4721
  */
4725
4722
  'sonar/hardcoded-secret-signatures'?: Linter.RuleEntry<[]>;
4726
4723
  /**
4727
- * Using weak hashing algorithms is security-sensitive
4724
+ * Weak hashing algorithms should not be used
4728
4725
  * @see https://sonarsource.github.io/rspec/#/rspec/S4790/javascript
4729
4726
  */
4730
4727
  'sonar/hashing'?: Linter.RuleEntry<[]>;
4731
4728
  /**
4732
- * Statically serving hidden files is security-sensitive
4729
+ * Hidden files should not be served statically
4733
4730
  * @see https://sonarsource.github.io/rspec/#/rspec/S5691/javascript
4731
+ * @deprecated
4734
4732
  */
4735
4733
  'sonar/hidden-files'?: Linter.RuleEntry<[]>;
4734
+ /**
4735
+ * Lifecycle hooks should not be interleaved with test cases or nested suites
4736
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8782/javascript
4737
+ */
4738
+ 'sonar/hooks-before-test-cases'?: Linter.RuleEntry<[]>;
4736
4739
  /**
4737
4740
  * "in" should not be used with primitive types
4738
4741
  * @see https://sonarsource.github.io/rspec/#/rspec/S3785/javascript
@@ -4824,7 +4827,7 @@ interface RuleOptions {
4824
4827
  */
4825
4828
  'sonar/no-alphabetical-sort'?: Linter.RuleEntry<[]>;
4826
4829
  /**
4827
- * Disabling Angular built-in sanitization is security-sensitive
4830
+ * Angular built-in sanitization should not be disabled
4828
4831
  * @see https://sonarsource.github.io/rspec/#/rspec/S6268/javascript
4829
4832
  */
4830
4833
  'sonar/no-angular-bypass-sanitization'?: Linter.RuleEntry<[]>;
@@ -4854,7 +4857,7 @@ interface RuleOptions {
4854
4857
  */
4855
4858
  'sonar/no-case-label-in-switch'?: Linter.RuleEntry<[]>;
4856
4859
  /**
4857
- * Using clear-text protocols is security-sensitive
4860
+ * Clear-text protocols should not be used
4858
4861
  * @see https://sonarsource.github.io/rspec/#/rspec/S5332/javascript
4859
4862
  */
4860
4863
  'sonar/no-clear-text-protocols'?: Linter.RuleEntry<[]>;
@@ -4903,6 +4906,11 @@ interface RuleOptions {
4903
4906
  * @see https://sonarsource.github.io/rspec/#/rspec/S1192/javascript
4904
4907
  */
4905
4908
  'sonar/no-duplicate-string'?: Linter.RuleEntry<SonarNoDuplicateString>;
4909
+ /**
4910
+ * Test titles should be unique within the same suite
4911
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8754/javascript
4912
+ */
4913
+ 'sonar/no-duplicate-test-title'?: Linter.RuleEntry<[]>;
4906
4914
  /**
4907
4915
  * Two branches in a conditional structure should not have exactly the same implementation
4908
4916
  * @see https://sonarsource.github.io/rspec/#/rspec/S1871/javascript
@@ -4943,6 +4951,11 @@ interface RuleOptions {
4943
4951
  * @see https://sonarsource.github.io/rspec/#/rspec/S2187/javascript
4944
4952
  */
4945
4953
  'sonar/no-empty-test-file'?: Linter.RuleEntry<[]>;
4954
+ /**
4955
+ * Test and suite titles should not be empty or whitespace-only
4956
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8781/javascript
4957
+ */
4958
+ 'sonar/no-empty-test-title'?: Linter.RuleEntry<[]>;
4946
4959
  /**
4947
4960
  * Equality operators should not be used in "for" loop termination conditions
4948
4961
  * @see https://sonarsource.github.io/rspec/#/rspec/S888/javascript
@@ -4963,11 +4976,21 @@ interface RuleOptions {
4963
4976
  * @see https://sonarsource.github.io/rspec/#/rspec/S128/javascript
4964
4977
  */
4965
4978
  'sonar/no-fallthrough'?: Linter.RuleEntry<[]>;
4979
+ /**
4980
+ * Floating point numbers should not be tested for equality
4981
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1244/javascript
4982
+ */
4983
+ 'sonar/no-floating-point-equality'?: Linter.RuleEntry<[]>;
4966
4984
  /**
4967
4985
  * "for in" should not be used with iterables
4968
4986
  * @see https://sonarsource.github.io/rspec/#/rspec/S4139/javascript
4969
4987
  */
4970
4988
  'sonar/no-for-in-iterable'?: Linter.RuleEntry<[]>;
4989
+ /**
4990
+ * Forced browser interactions should not bypass actionability checks
4991
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8783/javascript
4992
+ */
4993
+ 'sonar/no-forced-browser-interaction'?: Linter.RuleEntry<[]>;
4971
4994
  /**
4972
4995
  * Function declarations should not be made within blocks
4973
4996
  * @see https://sonarsource.github.io/rspec/#/rspec/S1530/javascript
@@ -5048,6 +5071,11 @@ interface RuleOptions {
5048
5071
  * @see https://sonarsource.github.io/rspec/#/rspec/S4619/javascript
5049
5072
  */
5050
5073
  'sonar/no-in-misuse'?: Linter.RuleEntry<[]>;
5074
+ /**
5075
+ * Assertions comparing incompatible types should not be made
5076
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5845/javascript
5077
+ */
5078
+ 'sonar/no-incompatible-assertion-types'?: Linter.RuleEntry<[]>;
5051
5079
  /**
5052
5080
  * Assertions should be complete
5053
5081
  * @see https://sonarsource.github.io/rspec/#/rspec/S2970/javascript
@@ -5069,8 +5097,9 @@ interface RuleOptions {
5069
5097
  */
5070
5098
  'sonar/no-internal-api-use'?: Linter.RuleEntry<[]>;
5071
5099
  /**
5072
- * Using intrusive permissions is security-sensitive
5100
+ * Sensitive permissions should not be requested unnecessarily
5073
5101
  * @see https://sonarsource.github.io/rspec/#/rspec/S5604/javascript
5102
+ * @deprecated
5074
5103
  */
5075
5104
  'sonar/no-intrusive-permissions'?: Linter.RuleEntry<SonarNoIntrusivePermissions>;
5076
5105
  /**
@@ -5089,8 +5118,9 @@ interface RuleOptions {
5089
5118
  */
5090
5119
  'sonar/no-inverted-boolean-check'?: Linter.RuleEntry<[]>;
5091
5120
  /**
5092
- * Forwarding client IP address is security-sensitive
5121
+ * Client IP address should not be forwarded to proxies
5093
5122
  * @see https://sonarsource.github.io/rspec/#/rspec/S5759/javascript
5123
+ * @deprecated
5094
5124
  */
5095
5125
  'sonar/no-ip-forward'?: Linter.RuleEntry<[]>;
5096
5126
  /**
@@ -5104,7 +5134,7 @@ interface RuleOptions {
5104
5134
  */
5105
5135
  'sonar/no-literal-call'?: Linter.RuleEntry<[]>;
5106
5136
  /**
5107
- * Allowing browsers to sniff MIME types is security-sensitive
5137
+ * Browsers should not be allowed to perform MIME type sniffing
5108
5138
  * @see https://sonarsource.github.io/rspec/#/rspec/S5734/javascript
5109
5139
  */
5110
5140
  'sonar/no-mime-sniff'?: Linter.RuleEntry<[]>;
@@ -5119,8 +5149,9 @@ interface RuleOptions {
5119
5149
  */
5120
5150
  'sonar/no-misleading-character-class'?: Linter.RuleEntry<[]>;
5121
5151
  /**
5122
- * Allowing mixed-content is security-sensitive
5152
+ * Content Security Policy should block mixed-content
5123
5153
  * @see https://sonarsource.github.io/rspec/#/rspec/S5730/javascript
5154
+ * @deprecated
5124
5155
  */
5125
5156
  'sonar/no-mixed-content'?: Linter.RuleEntry<[]>;
5126
5157
  /**
@@ -5154,7 +5185,7 @@ interface RuleOptions {
5154
5185
  */
5155
5186
  'sonar/no-nested-template-literals'?: Linter.RuleEntry<[]>;
5156
5187
  /**
5157
- * Searching OS commands in PATH is security-sensitive
5188
+ * OS commands should not rely on PATH resolution
5158
5189
  * @see https://sonarsource.github.io/rspec/#/rspec/S4036/javascript
5159
5190
  */
5160
5191
  'sonar/no-os-command-from-path'?: Linter.RuleEntry<[]>;
@@ -5200,7 +5231,7 @@ interface RuleOptions {
5200
5231
  */
5201
5232
  'sonar/no-reference-error'?: Linter.RuleEntry<[]>;
5202
5233
  /**
5203
- * Disabling strict HTTP no-referrer policy is security-sensitive
5234
+ * HTTP Referrer-Policy should not be set to an unsafe value
5204
5235
  * @see https://sonarsource.github.io/rspec/#/rspec/S5736/javascript
5205
5236
  */
5206
5237
  'sonar/no-referrer-policy'?: Linter.RuleEntry<[]>;
@@ -5265,6 +5296,11 @@ interface RuleOptions {
5265
5296
  * @see https://sonarsource.github.io/rspec/#/rspec/S5257/javascript
5266
5297
  */
5267
5298
  'sonar/no-table-as-layout'?: Linter.RuleEntry<[]>;
5299
+ /**
5300
+ * Assertions should not fail or succeed unconditionally
5301
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5914/javascript
5302
+ */
5303
+ 'sonar/no-trivial-assertions'?: Linter.RuleEntry<[]>;
5268
5304
  /**
5269
5305
  * Promise rejections should not be caught by "try" blocks
5270
5306
  * @see https://sonarsource.github.io/rspec/#/rspec/S4822/javascript
@@ -5346,12 +5382,6 @@ interface RuleOptions {
5346
5382
  * @see https://sonarsource.github.io/rspec/#/rspec/S1526/javascript
5347
5383
  */
5348
5384
  'sonar/no-variable-usage-before-declaration'?: Linter.RuleEntry<[]>;
5349
- /**
5350
- * Disabling Vue.js built-in escaping is security-sensitive
5351
- * @see https://sonarsource.github.io/rspec/#/rspec/S6299/javascript
5352
- * @deprecated
5353
- */
5354
- 'sonar/no-vue-bypass-sanitization'?: Linter.RuleEntry<[]>;
5355
5385
  /**
5356
5386
  * Cipher algorithms should be robust
5357
5387
  * @see https://sonarsource.github.io/rspec/#/rspec/S5547/javascript
@@ -5393,8 +5423,9 @@ interface RuleOptions {
5393
5423
  */
5394
5424
  'sonar/operation-returning-nan'?: Linter.RuleEntry<[]>;
5395
5425
  /**
5396
- * Using shell interpreter when executing OS commands is security-sensitive
5426
+ * OS commands should not be executed using a shell interpreter
5397
5427
  * @see https://sonarsource.github.io/rspec/#/rspec/S4721/javascript
5428
+ * @deprecated
5398
5429
  */
5399
5430
  'sonar/os-command'?: Linter.RuleEntry<[]>;
5400
5431
  /**
@@ -5437,6 +5468,11 @@ interface RuleOptions {
5437
5468
  * @see https://sonarsource.github.io/rspec/#/rspec/S1126/javascript
5438
5469
  */
5439
5470
  'sonar/prefer-single-boolean-return'?: Linter.RuleEntry<[]>;
5471
+ /**
5472
+ * The most specific assertion should be used
5473
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5906/javascript
5474
+ */
5475
+ 'sonar/prefer-specific-assertions'?: Linter.RuleEntry<[]>;
5440
5476
  /**
5441
5477
  * Type predicates should be used
5442
5478
  * @see https://sonarsource.github.io/rspec/#/rspec/S4322/javascript
@@ -5448,18 +5484,12 @@ interface RuleOptions {
5448
5484
  */
5449
5485
  'sonar/prefer-while'?: Linter.RuleEntry<[]>;
5450
5486
  /**
5451
- * Using command line arguments is security-sensitive
5452
- * @see https://sonarsource.github.io/rspec/#/rspec/S4823/javascript
5453
- * @deprecated
5454
- */
5455
- 'sonar/process-argv'?: Linter.RuleEntry<[]>;
5456
- /**
5457
- * Delivering code in production with debug features activated is security-sensitive
5487
+ * Debugging features should not be enabled in production
5458
5488
  * @see https://sonarsource.github.io/rspec/#/rspec/S4507/javascript
5459
5489
  */
5460
5490
  'sonar/production-debug'?: Linter.RuleEntry<[]>;
5461
5491
  /**
5462
- * Using pseudorandom number generators (PRNGs) is security-sensitive
5492
+ * Pseudorandom number generators (PRNGs) should not be used in security contexts
5463
5493
  * @see https://sonarsource.github.io/rspec/#/rspec/S2245/javascript
5464
5494
  */
5465
5495
  'sonar/pseudo-random'?: Linter.RuleEntry<[]>;
@@ -5488,12 +5518,6 @@ interface RuleOptions {
5488
5518
  * @see https://sonarsource.github.io/rspec/#/rspec/S5843/javascript
5489
5519
  */
5490
5520
  'sonar/regex-complexity'?: Linter.RuleEntry<SonarRegexComplexity>;
5491
- /**
5492
- * Using regular expressions is security-sensitive
5493
- * @see https://sonarsource.github.io/rspec/#/rspec/S4784/javascript
5494
- * @deprecated
5495
- */
5496
- 'sonar/regular-expr'?: Linter.RuleEntry<[]>;
5497
5521
  /**
5498
5522
  * Wallet phrases should not be hard-coded
5499
5523
  * @see https://sonarsource.github.io/rspec/#/rspec/S7639/javascript
@@ -5520,18 +5544,12 @@ interface RuleOptions {
5520
5544
  */
5521
5545
  'sonar/single-character-alternation'?: Linter.RuleEntry<[]>;
5522
5546
  /**
5523
- * Using slow regular expressions is security-sensitive
5547
+ * Regular expressions should not cause catastrophic backtracking
5524
5548
  * @see https://sonarsource.github.io/rspec/#/rspec/S5852/javascript
5525
5549
  */
5526
5550
  'sonar/slow-regex'?: Linter.RuleEntry<[]>;
5527
5551
  /**
5528
- * Using Sockets is security-sensitive
5529
- * @see https://sonarsource.github.io/rspec/#/rspec/S4818/javascript
5530
- * @deprecated
5531
- */
5532
- 'sonar/sockets'?: Linter.RuleEntry<[]>;
5533
- /**
5534
- * Formatting SQL queries is security-sensitive
5552
+ * SQL queries should not be dynamically formatted
5535
5553
  * @see https://sonarsource.github.io/rspec/#/rspec/S2077/javascript
5536
5554
  */
5537
5555
  'sonar/sql-queries'?: Linter.RuleEntry<[]>;
@@ -5540,19 +5558,13 @@ interface RuleOptions {
5540
5558
  * @see https://sonarsource.github.io/rspec/#/rspec/S5973/javascript
5541
5559
  */
5542
5560
  'sonar/stable-tests'?: Linter.RuleEntry<[]>;
5543
- /**
5544
- * Reading the Standard Input is security-sensitive
5545
- * @see https://sonarsource.github.io/rspec/#/rspec/S4829/javascript
5546
- * @deprecated
5547
- */
5548
- 'sonar/standard-input'?: Linter.RuleEntry<[]>;
5549
5561
  /**
5550
5562
  * Regular expressions with the global flag should be used with caution
5551
5563
  * @see https://sonarsource.github.io/rspec/#/rspec/S6351/javascript
5552
5564
  */
5553
5565
  'sonar/stateful-regex'?: Linter.RuleEntry<[]>;
5554
5566
  /**
5555
- * Disabling Strict-Transport-Security policy is security-sensitive
5567
+ * HTTP Strict-Transport-Security policy should not be disabled
5556
5568
  * @see https://sonarsource.github.io/rspec/#/rspec/S5739/javascript
5557
5569
  */
5558
5570
  'sonar/strict-transport-security'?: Linter.RuleEntry<[]>;
@@ -5561,6 +5573,11 @@ interface RuleOptions {
5561
5573
  * @see https://sonarsource.github.io/rspec/#/rspec/S3003/javascript
5562
5574
  */
5563
5575
  'sonar/strings-comparison'?: Linter.RuleEntry<[]>;
5576
+ /**
5577
+ * Regular expressions should not cause non-linear backtracking
5578
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8786/javascript
5579
+ */
5580
+ 'sonar/super-linear-regex'?: Linter.RuleEntry<[]>;
5564
5581
  /**
5565
5582
  * Tables should have headers
5566
5583
  * @see https://sonarsource.github.io/rspec/#/rspec/S5256/javascript
@@ -5668,12 +5685,6 @@ interface RuleOptions {
5668
5685
  * @see https://sonarsource.github.io/rspec/#/rspec/S2755/javascript
5669
5686
  */
5670
5687
  'sonar/xml-parser-xxe'?: Linter.RuleEntry<[]>;
5671
- /**
5672
- * Executing XPath expressions is security-sensitive
5673
- * @see https://sonarsource.github.io/rspec/#/rspec/S4817/javascript
5674
- * @deprecated
5675
- */
5676
- 'sonar/xpath'?: Linter.RuleEntry<[]>;
5677
5688
  /**
5678
5689
  * Enforce sorted `import` declarations within modules
5679
5690
  * @see https://eslint.org/docs/latest/rules/sort-imports
@@ -7221,918 +7232,1670 @@ interface RuleOptions {
7221
7232
  'unicode-bom'?: Linter.RuleEntry<UnicodeBom>;
7222
7233
  /**
7223
7234
  * Prefer better DOM traversal APIs.
7224
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/better-dom-traversing.md
7235
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/better-dom-traversing.md
7225
7236
  */
7226
7237
  'unicorn/better-dom-traversing'?: Linter.RuleEntry<[]>;
7227
7238
  /**
7228
7239
  * Removed. Prefer `eslint-plugin-regexp`
7229
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/deleted-and-deprecated-rules.md#better-regex
7240
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/deleted-and-deprecated-rules.md#better-regex
7230
7241
  * @deprecated
7231
7242
  */
7232
7243
  'unicorn/better-regex'?: Linter.RuleEntry<[]>;
7233
7244
  /**
7234
7245
  * Enforce a specific parameter name in catch clauses.
7235
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/catch-error-name.md
7246
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/catch-error-name.md
7236
7247
  */
7237
7248
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>;
7249
+ /**
7250
+ * Enforce consistent class references in static methods.
7251
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/class-reference-in-static-methods.md
7252
+ */
7253
+ 'unicorn/class-reference-in-static-methods'?: Linter.RuleEntry<UnicornClassReferenceInStaticMethods>;
7254
+ /**
7255
+ * Enforce better comment content.
7256
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/comment-content.md
7257
+ */
7258
+ 'unicorn/comment-content'?: Linter.RuleEntry<UnicornCommentContent>;
7238
7259
  /**
7239
7260
  * Enforce consistent assertion style with `node:assert`.
7240
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/consistent-assert.md
7261
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/consistent-assert.md
7241
7262
  */
7242
7263
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>;
7264
+ /**
7265
+ * Enforce consistent naming for boolean names.
7266
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/consistent-boolean-name.md
7267
+ */
7268
+ 'unicorn/consistent-boolean-name'?: Linter.RuleEntry<UnicornConsistentBooleanName>;
7269
+ /**
7270
+ * Enforce consistent class member order.
7271
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/consistent-class-member-order.md
7272
+ */
7273
+ 'unicorn/consistent-class-member-order'?: Linter.RuleEntry<UnicornConsistentClassMemberOrder>;
7243
7274
  /**
7244
7275
  * Enforce consistent spelling of compound words in identifiers.
7245
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/consistent-compound-words.md
7276
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/consistent-compound-words.md
7246
7277
  */
7247
7278
  'unicorn/consistent-compound-words'?: Linter.RuleEntry<UnicornConsistentCompoundWords>;
7279
+ /**
7280
+ * Enforce consistent conditional object spread style.
7281
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/consistent-conditional-object-spread.md
7282
+ */
7283
+ 'unicorn/consistent-conditional-object-spread'?: Linter.RuleEntry<UnicornConsistentConditionalObjectSpread>;
7248
7284
  /**
7249
7285
  * Prefer passing `Date` directly to the constructor when cloning.
7250
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/consistent-date-clone.md
7286
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/consistent-date-clone.md
7251
7287
  */
7252
7288
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>;
7253
7289
  /**
7254
7290
  * Use destructured variables over properties.
7255
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/consistent-destructuring.md
7291
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/consistent-destructuring.md
7256
7292
  */
7257
7293
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>;
7258
7294
  /**
7259
7295
  * Prefer consistent types when spreading a ternary in an array literal.
7260
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/consistent-empty-array-spread.md
7296
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/consistent-empty-array-spread.md
7261
7297
  */
7262
7298
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>;
7263
7299
  /**
7264
7300
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
7265
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/consistent-existence-index-check.md
7301
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/consistent-existence-index-check.md
7266
7302
  */
7267
7303
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>;
7304
+ /**
7305
+ * Enforce consistent decorator position on exported classes.
7306
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/consistent-export-decorator-position.md
7307
+ */
7308
+ 'unicorn/consistent-export-decorator-position'?: Linter.RuleEntry<UnicornConsistentExportDecoratorPosition>;
7268
7309
  /**
7269
7310
  * Move function definitions to the highest possible scope.
7270
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/consistent-function-scoping.md
7311
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/consistent-function-scoping.md
7271
7312
  */
7272
7313
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>;
7314
+ /**
7315
+ * Enforce function syntax by role.
7316
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/consistent-function-style.md
7317
+ */
7318
+ 'unicorn/consistent-function-style'?: Linter.RuleEntry<UnicornConsistentFunctionStyle>;
7273
7319
  /**
7274
7320
  * Enforce consistent JSON file reads before `JSON.parse()`.
7275
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/consistent-json-file-read.md
7321
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/consistent-json-file-read.md
7276
7322
  */
7277
7323
  'unicorn/consistent-json-file-read'?: Linter.RuleEntry<UnicornConsistentJsonFileRead>;
7324
+ /**
7325
+ * Enforce consistent optional chaining for same-base member access.
7326
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/consistent-optional-chaining.md
7327
+ */
7328
+ 'unicorn/consistent-optional-chaining'?: Linter.RuleEntry<[]>;
7278
7329
  /**
7279
7330
  * Enforce consistent style for escaping `${` in template literals.
7280
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/consistent-template-literal-escape.md
7331
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/consistent-template-literal-escape.md
7281
7332
  */
7282
7333
  'unicorn/consistent-template-literal-escape'?: Linter.RuleEntry<[]>;
7334
+ /**
7335
+ * Enforce consistent labels on tuple type elements.
7336
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/consistent-tuple-labels.md
7337
+ */
7338
+ 'unicorn/consistent-tuple-labels'?: Linter.RuleEntry<[]>;
7283
7339
  /**
7284
7340
  * Enforce correct `Error` subclassing.
7285
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/custom-error-definition.md
7341
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/custom-error-definition.md
7286
7342
  */
7287
7343
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>;
7344
+ /**
7345
+ * Enforce consistent default export declarations.
7346
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/default-export-style.md
7347
+ */
7348
+ 'unicorn/default-export-style'?: Linter.RuleEntry<UnicornDefaultExportStyle>;
7288
7349
  /**
7289
7350
  * Enforce consistent style for DOM element dataset access.
7290
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/dom-node-dataset.md
7351
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/dom-node-dataset.md
7291
7352
  */
7292
7353
  'unicorn/dom-node-dataset'?: Linter.RuleEntry<UnicornDomNodeDataset>;
7293
7354
  /**
7294
7355
  * Enforce no spaces between braces.
7295
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/empty-brace-spaces.md
7356
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/empty-brace-spaces.md
7296
7357
  */
7297
7358
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>;
7298
7359
  /**
7299
7360
  * Enforce passing a `message` value when creating a built-in error.
7300
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/error-message.md
7361
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/error-message.md
7301
7362
  */
7302
7363
  'unicorn/error-message'?: Linter.RuleEntry<[]>;
7303
7364
  /**
7304
7365
  * Require escape sequences to use uppercase or lowercase values.
7305
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/escape-case.md
7366
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/escape-case.md
7306
7367
  */
7307
7368
  'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>;
7308
7369
  /**
7309
7370
  * Add expiration conditions to TODO comments.
7310
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/expiring-todo-comments.md
7371
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/expiring-todo-comments.md
7311
7372
  */
7312
7373
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>;
7313
7374
  /**
7314
7375
  * Enforce explicitly comparing the `length` or `size` property of a value.
7315
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/explicit-length-check.md
7376
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/explicit-length-check.md
7316
7377
  */
7317
7378
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>;
7379
+ /**
7380
+ * Enforce or disallow explicit `delay` argument for `setTimeout()` and `setInterval()`.
7381
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/explicit-timer-delay.md
7382
+ */
7383
+ 'unicorn/explicit-timer-delay'?: Linter.RuleEntry<UnicornExplicitTimerDelay>;
7318
7384
  /**
7319
7385
  * Enforce a case style for filenames and directory names.
7320
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/filename-case.md
7386
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/filename-case.md
7321
7387
  */
7322
7388
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>;
7389
+ /**
7390
+ * Require identifiers to match a specified regular expression.
7391
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/id-match.md
7392
+ */
7393
+ 'unicorn/id-match'?: Linter.RuleEntry<UnicornIdMatch>;
7323
7394
  /**
7324
7395
  * Enforce specific import styles per module.
7325
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/import-style.md
7396
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/import-style.md
7326
7397
  */
7327
7398
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>;
7328
7399
  /**
7329
7400
  * Prevent usage of variables from outside the scope of isolated functions.
7330
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/isolated-functions.md
7401
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/isolated-functions.md
7331
7402
  */
7332
7403
  'unicorn/isolated-functions'?: Linter.RuleEntry<UnicornIsolatedFunctions>;
7333
7404
  /**
7334
- * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
7335
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/new-for-builtins.md
7405
+ * Require or disallow logical assignment operator shorthand
7406
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/logical-assignment-operators.md
7407
+ */
7408
+ 'unicorn/logical-assignment-operators'?: Linter.RuleEntry<UnicornLogicalAssignmentOperators>;
7409
+ /**
7410
+ * Limit the depth of nested calls.
7411
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/max-nested-calls.md
7412
+ */
7413
+ 'unicorn/max-nested-calls'?: Linter.RuleEntry<UnicornMaxNestedCalls>;
7414
+ /**
7415
+ * Enforce replacements for variable, property, and filenames.
7416
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/name-replacements.md
7417
+ */
7418
+ 'unicorn/name-replacements'?: Linter.RuleEntry<UnicornNameReplacements>;
7419
+ /**
7420
+ * Enforce correct use of `new` for builtin constructors.
7421
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/new-for-builtins.md
7336
7422
  */
7337
7423
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>;
7338
7424
  /**
7339
7425
  * Enforce specifying rules to disable in `eslint-disable` comments.
7340
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-abusive-eslint-disable.md
7426
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-abusive-eslint-disable.md
7341
7427
  */
7342
7428
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>;
7343
7429
  /**
7344
7430
  * Disallow recursive access to `this` within getters and setters.
7345
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-accessor-recursion.md
7431
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-accessor-recursion.md
7346
7432
  */
7347
7433
  'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>;
7434
+ /**
7435
+ * Disallow bitwise operators where a logical operator was likely intended.
7436
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-accidental-bitwise-operator.md
7437
+ */
7438
+ 'unicorn/no-accidental-bitwise-operator'?: Linter.RuleEntry<[]>;
7348
7439
  /**
7349
7440
  * Disallow anonymous functions and classes as the default export.
7350
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-anonymous-default-export.md
7441
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-anonymous-default-export.md
7351
7442
  */
7352
7443
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>;
7353
7444
  /**
7354
7445
  * Prevent passing a function reference directly to iterator methods.
7355
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-array-callback-reference.md
7446
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-array-callback-reference.md
7356
7447
  */
7357
7448
  'unicorn/no-array-callback-reference'?: Linter.RuleEntry<UnicornNoArrayCallbackReference>;
7358
7449
  /**
7359
- * Disallow using reference values as `Array#fill()` values.
7360
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-array-fill-with-reference-type.md
7450
+ * Disallow array accumulation with `Array#concat()` in loops.
7451
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-array-concat-in-loop.md
7361
7452
  */
7362
- 'unicorn/no-array-fill-with-reference-type'?: Linter.RuleEntry<[]>;
7453
+ 'unicorn/no-array-concat-in-loop'?: Linter.RuleEntry<[]>;
7363
7454
  /**
7364
- * Prefer `for…of` over the `forEach` method.
7365
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-array-for-each.md
7455
+ * Disallow using reference values as `Array#fill()` values.
7456
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-array-fill-with-reference-type.md
7366
7457
  */
7367
- 'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>;
7458
+ 'unicorn/no-array-fill-with-reference-type'?: Linter.RuleEntry<[]>;
7368
7459
  /**
7369
7460
  * Disallow `.fill()` after `Array.from({length: …})`.
7370
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-array-from-fill.md
7461
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-array-from-fill.md
7371
7462
  */
7372
7463
  'unicorn/no-array-from-fill'?: Linter.RuleEntry<[]>;
7464
+ /**
7465
+ * Disallow front-of-array mutation.
7466
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-array-front-mutation.md
7467
+ */
7468
+ 'unicorn/no-array-front-mutation'?: Linter.RuleEntry<[]>;
7373
7469
  /**
7374
7470
  * Disallow using the `this` argument in array methods.
7375
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-array-method-this-argument.md
7471
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-array-method-this-argument.md
7376
7472
  */
7377
7473
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>;
7378
7474
  /**
7379
7475
  * Replaced by `unicorn/prefer-single-call` which covers more cases.
7380
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/deleted-and-deprecated-rules.md#no-array-push-push
7476
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/deleted-and-deprecated-rules.md#no-array-push-push
7381
7477
  * @deprecated
7382
7478
  */
7383
7479
  'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>;
7384
7480
  /**
7385
7481
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
7386
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-array-reduce.md
7482
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-array-reduce.md
7387
7483
  */
7388
7484
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>;
7389
7485
  /**
7390
7486
  * Prefer `Array#toReversed()` over `Array#reverse()`.
7391
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-array-reverse.md
7487
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-array-reverse.md
7392
7488
  */
7393
7489
  'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>;
7394
7490
  /**
7395
7491
  * Prefer `Array#toSorted()` over `Array#sort()`.
7396
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-array-sort.md
7492
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-array-sort.md
7397
7493
  */
7398
7494
  'unicorn/no-array-sort'?: Linter.RuleEntry<UnicornNoArraySort>;
7495
+ /**
7496
+ * Disallow sorting arrays to get the minimum or maximum value.
7497
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-array-sort-for-min-max.md
7498
+ */
7499
+ 'unicorn/no-array-sort-for-min-max'?: Linter.RuleEntry<[]>;
7500
+ /**
7501
+ * Prefer `Array#toSpliced()` over `Array#splice()`.
7502
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-array-splice.md
7503
+ */
7504
+ 'unicorn/no-array-splice'?: Linter.RuleEntry<[]>;
7505
+ /**
7506
+ * Disallow asterisk prefixes in documentation comments.
7507
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-asterisk-prefix-in-documentation-comments.md
7508
+ */
7509
+ 'unicorn/no-asterisk-prefix-in-documentation-comments'?: Linter.RuleEntry<[]>;
7510
+ /**
7511
+ * Disallow async functions as `Promise#finally()` callbacks.
7512
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-async-promise-finally.md
7513
+ */
7514
+ 'unicorn/no-async-promise-finally'?: Linter.RuleEntry<[]>;
7399
7515
  /**
7400
7516
  * Disallow member access from await expression.
7401
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-await-expression-member.md
7517
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-await-expression-member.md
7402
7518
  */
7403
7519
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>;
7404
7520
  /**
7405
7521
  * Disallow using `await` in `Promise` method parameters.
7406
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-await-in-promise-methods.md
7522
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-await-in-promise-methods.md
7407
7523
  */
7408
7524
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>;
7409
7525
  /**
7410
7526
  * Disallow unnecessary `Blob` to `File` conversion.
7411
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-blob-to-file.md
7527
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-blob-to-file.md
7412
7528
  */
7413
7529
  'unicorn/no-blob-to-file'?: Linter.RuleEntry<[]>;
7530
+ /**
7531
+ * Disallow boolean-returning sort comparators.
7532
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-boolean-sort-comparator.md
7533
+ */
7534
+ 'unicorn/no-boolean-sort-comparator'?: Linter.RuleEntry<[]>;
7535
+ /**
7536
+ * Disallow `break` and `continue` in nested loops and switches inside loops.
7537
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-break-in-nested-loop.md
7538
+ */
7539
+ 'unicorn/no-break-in-nested-loop'?: Linter.RuleEntry<[]>;
7414
7540
  /**
7415
7541
  * Prefer drawing canvases directly instead of converting them to images.
7416
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-canvas-to-image.md
7542
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-canvas-to-image.md
7417
7543
  */
7418
7544
  'unicorn/no-canvas-to-image'?: Linter.RuleEntry<[]>;
7545
+ /**
7546
+ * Disallow chained comparisons such as `a < b < c`.
7547
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-chained-comparison.md
7548
+ */
7549
+ 'unicorn/no-chained-comparison'?: Linter.RuleEntry<[]>;
7550
+ /**
7551
+ * Disallow accessing `Map`, `Set`, `WeakMap`, and `WeakSet` entries with bracket notation.
7552
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-collection-bracket-access.md
7553
+ */
7554
+ 'unicorn/no-collection-bracket-access'?: Linter.RuleEntry<[]>;
7555
+ /**
7556
+ * Disallow dynamic object property existence checks.
7557
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-computed-property-existence-check.md
7558
+ */
7559
+ 'unicorn/no-computed-property-existence-check'?: Linter.RuleEntry<[]>;
7419
7560
  /**
7420
7561
  * Disallow confusing uses of `Array#{splice,toSpliced}()`.
7421
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-confusing-array-splice.md
7562
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-confusing-array-splice.md
7422
7563
  */
7423
7564
  'unicorn/no-confusing-array-splice'?: Linter.RuleEntry<[]>;
7565
+ /**
7566
+ * Disallow confusing uses of `Array#with()`.
7567
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-confusing-array-with.md
7568
+ */
7569
+ 'unicorn/no-confusing-array-with'?: Linter.RuleEntry<[]>;
7424
7570
  /**
7425
7571
  * Do not use leading/trailing space between `console.log` parameters.
7426
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-console-spaces.md
7572
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-console-spaces.md
7427
7573
  */
7428
7574
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>;
7575
+ /**
7576
+ * Disallow arithmetic and bitwise operations that always evaluate to `0`.
7577
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-constant-zero-expression.md
7578
+ */
7579
+ 'unicorn/no-constant-zero-expression'?: Linter.RuleEntry<[]>;
7580
+ /**
7581
+ * Disallow declarations before conditional early exits when they are only used after the exit.
7582
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-declarations-before-early-exit.md
7583
+ */
7584
+ 'unicorn/no-declarations-before-early-exit'?: Linter.RuleEntry<[]>;
7429
7585
  /**
7430
7586
  * Do not use `document.cookie` directly.
7431
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-document-cookie.md
7587
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-document-cookie.md
7432
7588
  */
7433
7589
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>;
7590
+ /**
7591
+ * Disallow two comparisons of the same operands that can be combined into one.
7592
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-double-comparison.md
7593
+ */
7594
+ 'unicorn/no-double-comparison'?: Linter.RuleEntry<[]>;
7595
+ /**
7596
+ * Disallow duplicate adjacent branches in if chains.
7597
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-duplicate-if-branches.md
7598
+ */
7599
+ 'unicorn/no-duplicate-if-branches'?: Linter.RuleEntry<[]>;
7600
+ /**
7601
+ * Disallow adjacent duplicate operands in logical expressions.
7602
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-duplicate-logical-operands.md
7603
+ */
7604
+ 'unicorn/no-duplicate-logical-operands'?: Linter.RuleEntry<[]>;
7605
+ /**
7606
+ * Disallow `.map()` and `.filter()` in `for…of` and `for await…of` loop headers.
7607
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-duplicate-loops.md
7608
+ */
7609
+ 'unicorn/no-duplicate-loops'?: Linter.RuleEntry<[]>;
7434
7610
  /**
7435
7611
  * Disallow duplicate values in `Set` constructor array literals.
7436
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-duplicate-set-values.md
7612
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-duplicate-set-values.md
7437
7613
  */
7438
7614
  'unicorn/no-duplicate-set-values'?: Linter.RuleEntry<[]>;
7439
7615
  /**
7440
7616
  * Disallow empty files.
7441
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-empty-file.md
7617
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-empty-file.md
7442
7618
  */
7443
7619
  'unicorn/no-empty-file'?: Linter.RuleEntry<UnicornNoEmptyFile>;
7620
+ /**
7621
+ * Disallow assigning to built-in error properties.
7622
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-error-property-assignment.md
7623
+ */
7624
+ 'unicorn/no-error-property-assignment'?: Linter.RuleEntry<[]>;
7444
7625
  /**
7445
7626
  * Disallow exports in scripts.
7446
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-exports-in-scripts.md
7627
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-exports-in-scripts.md
7447
7628
  */
7448
7629
  'unicorn/no-exports-in-scripts'?: Linter.RuleEntry<[]>;
7630
+ /**
7631
+ * Prefer `for…of` over the `forEach` method.
7632
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-for-each.md
7633
+ */
7634
+ 'unicorn/no-for-each'?: Linter.RuleEntry<[]>;
7449
7635
  /**
7450
7636
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
7451
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-for-loop.md
7637
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-for-loop.md
7452
7638
  */
7453
7639
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>;
7454
7640
  /**
7455
- * Enforce the use of Unicode escapes instead of hexadecimal escapes.
7456
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-hex-escape.md
7641
+ * Disallow assigning properties on the global object.
7642
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-global-object-property-assignment.md
7643
+ */
7644
+ 'unicorn/no-global-object-property-assignment'?: Linter.RuleEntry<[]>;
7645
+ /**
7646
+ * Replaced by `unicorn/prefer-unicode-code-point-escapes` which covers more cases.
7647
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/deleted-and-deprecated-rules.md#no-hex-escape
7648
+ * @deprecated
7457
7649
  */
7458
7650
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>;
7459
7651
  /**
7460
7652
  * Disallow immediate mutation after variable assignment.
7461
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-immediate-mutation.md
7653
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-immediate-mutation.md
7462
7654
  */
7463
7655
  'unicorn/no-immediate-mutation'?: Linter.RuleEntry<[]>;
7656
+ /**
7657
+ * Disallow impossible comparisons against `.length` or `.size`.
7658
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-impossible-length-comparison.md
7659
+ */
7660
+ 'unicorn/no-impossible-length-comparison'?: Linter.RuleEntry<[]>;
7464
7661
  /**
7465
7662
  * Disallow incorrect `querySelector()` and `querySelectorAll()` usage.
7466
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-incorrect-query-selector.md
7663
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-incorrect-query-selector.md
7467
7664
  */
7468
7665
  'unicorn/no-incorrect-query-selector'?: Linter.RuleEntry<[]>;
7666
+ /**
7667
+ * Disallow incorrect template literal interpolation syntax.
7668
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-incorrect-template-string-interpolation.md
7669
+ */
7670
+ 'unicorn/no-incorrect-template-string-interpolation'?: Linter.RuleEntry<[]>;
7469
7671
  /**
7470
7672
  * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
7471
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/deleted-and-deprecated-rules.md#no-instanceof-array
7673
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/deleted-and-deprecated-rules.md#no-instanceof-array
7472
7674
  * @deprecated
7473
7675
  */
7474
7676
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>;
7475
7677
  /**
7476
7678
  * Disallow `instanceof` with built-in objects
7477
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-instanceof-builtins.md
7679
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-instanceof-builtins.md
7478
7680
  */
7479
7681
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>;
7682
+ /**
7683
+ * Disallow calling functions and constructors with an invalid number of arguments.
7684
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-invalid-argument-count.md
7685
+ */
7686
+ 'unicorn/no-invalid-argument-count'?: Linter.RuleEntry<UnicornNoInvalidArgumentCount>;
7687
+ /**
7688
+ * Disallow comparing a single character from a string to a multi-character string.
7689
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-invalid-character-comparison.md
7690
+ */
7691
+ 'unicorn/no-invalid-character-comparison'?: Linter.RuleEntry<[]>;
7480
7692
  /**
7481
7693
  * Disallow invalid options in `fetch()` and `new Request()`.
7482
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-invalid-fetch-options.md
7694
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-invalid-fetch-options.md
7483
7695
  */
7484
7696
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>;
7485
7697
  /**
7486
7698
  * Disallow invalid `accept` values on file inputs.
7487
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-invalid-file-input-accept.md
7699
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-invalid-file-input-accept.md
7488
7700
  */
7489
7701
  'unicorn/no-invalid-file-input-accept'?: Linter.RuleEntry<[]>;
7490
7702
  /**
7491
7703
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
7492
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-invalid-remove-event-listener.md
7704
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-invalid-remove-event-listener.md
7493
7705
  */
7494
7706
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>;
7707
+ /**
7708
+ * Disallow invalid implementations of well-known symbol methods.
7709
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-invalid-well-known-symbol-methods.md
7710
+ */
7711
+ 'unicorn/no-invalid-well-known-symbol-methods'?: Linter.RuleEntry<[]>;
7495
7712
  /**
7496
7713
  * Disallow identifiers starting with `new` or `class`.
7497
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-keyword-prefix.md
7714
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-keyword-prefix.md
7498
7715
  */
7499
7716
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>;
7500
7717
  /**
7501
7718
  * Disallow accessing `event.currentTarget` after the synchronous event dispatch has finished.
7502
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-late-current-target-access.md
7719
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-late-current-target-access.md
7503
7720
  */
7504
7721
  'unicorn/no-late-current-target-access'?: Linter.RuleEntry<[]>;
7722
+ /**
7723
+ * Disallow event-control method calls after the synchronous event dispatch has finished.
7724
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-late-event-control.md
7725
+ */
7726
+ 'unicorn/no-late-event-control'?: Linter.RuleEntry<[]>;
7505
7727
  /**
7506
7728
  * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
7507
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
7729
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
7508
7730
  * @deprecated
7509
7731
  */
7510
7732
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>;
7511
7733
  /**
7512
7734
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
7513
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-lonely-if.md
7735
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-lonely-if.md
7514
7736
  */
7515
7737
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>;
7738
+ /**
7739
+ * Disallow mutating a loop iterable during iteration.
7740
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-loop-iterable-mutation.md
7741
+ */
7742
+ 'unicorn/no-loop-iterable-mutation'?: Linter.RuleEntry<[]>;
7516
7743
  /**
7517
7744
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
7518
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-magic-array-flat-depth.md
7745
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-magic-array-flat-depth.md
7519
7746
  */
7520
7747
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>;
7521
7748
  /**
7522
7749
  * Disallow manually wrapped comments.
7523
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-manually-wrapped-comments.md
7750
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-manually-wrapped-comments.md
7524
7751
  */
7525
7752
  'unicorn/no-manually-wrapped-comments'?: Linter.RuleEntry<[]>;
7753
+ /**
7754
+ * Disallow checking a Map key before accessing a different key.
7755
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-mismatched-map-key.md
7756
+ */
7757
+ 'unicorn/no-mismatched-map-key'?: Linter.RuleEntry<[]>;
7758
+ /**
7759
+ * Disallow misrefactored compound assignments where the target is duplicated in the right-hand side.
7760
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-misrefactored-assignment.md
7761
+ */
7762
+ 'unicorn/no-misrefactored-assignment'?: Linter.RuleEntry<[]>;
7526
7763
  /**
7527
7764
  * Disallow named usage of default import and export.
7528
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-named-default.md
7765
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-named-default.md
7529
7766
  */
7530
7767
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>;
7768
+ /**
7769
+ * Disallow negated array predicate calls.
7770
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-negated-array-predicate.md
7771
+ */
7772
+ 'unicorn/no-negated-array-predicate'?: Linter.RuleEntry<[]>;
7773
+ /**
7774
+ * Disallow negated comparisons.
7775
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-negated-comparison.md
7776
+ */
7777
+ 'unicorn/no-negated-comparison'?: Linter.RuleEntry<UnicornNoNegatedComparison>;
7531
7778
  /**
7532
7779
  * Disallow negated conditions.
7533
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-negated-condition.md
7780
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-negated-condition.md
7534
7781
  */
7535
7782
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>;
7536
7783
  /**
7537
7784
  * Disallow negated expression in equality check.
7538
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-negation-in-equality-check.md
7785
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-negation-in-equality-check.md
7539
7786
  */
7540
7787
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>;
7541
7788
  /**
7542
7789
  * Disallow nested ternary expressions.
7543
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-nested-ternary.md
7790
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-nested-ternary.md
7544
7791
  */
7545
7792
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>;
7546
7793
  /**
7547
7794
  * Disallow `new Array()`.
7548
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-new-array.md
7795
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-new-array.md
7549
7796
  */
7550
7797
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>;
7551
7798
  /**
7552
7799
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
7553
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-new-buffer.md
7800
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-new-buffer.md
7554
7801
  */
7555
7802
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>;
7803
+ /**
7804
+ * Disallow non-function values with function-style verb prefixes.
7805
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-non-function-verb-prefix.md
7806
+ */
7807
+ 'unicorn/no-non-function-verb-prefix'?: Linter.RuleEntry<UnicornNoNonFunctionVerbPrefix>;
7808
+ /**
7809
+ * Disallow non-standard properties on built-in objects.
7810
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-nonstandard-builtin-properties.md
7811
+ */
7812
+ 'unicorn/no-nonstandard-builtin-properties'?: Linter.RuleEntry<[]>;
7556
7813
  /**
7557
7814
  * Disallow the use of the `null` literal.
7558
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-null.md
7815
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-null.md
7559
7816
  */
7560
7817
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>;
7561
7818
  /**
7562
7819
  * Disallow the use of objects as default parameters.
7563
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-object-as-default-parameter.md
7820
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-object-as-default-parameter.md
7564
7821
  */
7565
7822
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>;
7823
+ /**
7824
+ * Disallow `Object` methods with `Map` or `Set`.
7825
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-object-methods-with-collections.md
7826
+ */
7827
+ 'unicorn/no-object-methods-with-collections'?: Linter.RuleEntry<[]>;
7828
+ /**
7829
+ * Disallow optional chaining on undeclared variables.
7830
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-optional-chaining-on-undeclared-variable.md
7831
+ */
7832
+ 'unicorn/no-optional-chaining-on-undeclared-variable'?: Linter.RuleEntry<[]>;
7566
7833
  /**
7567
7834
  * Disallow `process.exit()`.
7568
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-process-exit.md
7835
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-process-exit.md
7569
7836
  */
7570
7837
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>;
7838
+ /**
7839
+ * Disallow comparisons made redundant by an equality check in the same logical AND.
7840
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-redundant-comparison.md
7841
+ */
7842
+ 'unicorn/no-redundant-comparison'?: Linter.RuleEntry<[]>;
7843
+ /**
7844
+ * Disallow using the return value of `Array#push()` and `Array#unshift()`.
7845
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-return-array-push.md
7846
+ */
7847
+ 'unicorn/no-return-array-push'?: Linter.RuleEntry<[]>;
7848
+ /**
7849
+ * Disallow selector syntax in DOM names.
7850
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-selector-as-dom-name.md
7851
+ */
7852
+ 'unicorn/no-selector-as-dom-name'?: Linter.RuleEntry<[]>;
7571
7853
  /**
7572
7854
  * Disallow passing single-element arrays to `Promise` methods.
7573
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-single-promise-in-promise-methods.md
7855
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-single-promise-in-promise-methods.md
7574
7856
  */
7575
7857
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>;
7576
7858
  /**
7577
7859
  * Disallow classes that only have static members.
7578
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-static-only-class.md
7860
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-static-only-class.md
7579
7861
  */
7580
7862
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>;
7863
+ /**
7864
+ * Prefer comparing values directly over subtracting and comparing to `0`.
7865
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-subtraction-comparison.md
7866
+ */
7867
+ 'unicorn/no-subtraction-comparison'?: Linter.RuleEntry<[]>;
7581
7868
  /**
7582
7869
  * Disallow `then` property.
7583
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-thenable.md
7870
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-thenable.md
7584
7871
  */
7585
7872
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>;
7586
7873
  /**
7587
7874
  * Disallow assigning `this` to a variable.
7588
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-this-assignment.md
7875
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-this-assignment.md
7589
7876
  */
7590
7877
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>;
7591
7878
  /**
7592
7879
  * Disallow `this` outside of classes.
7593
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-this-outside-of-class.md
7880
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-this-outside-of-class.md
7594
7881
  */
7595
7882
  'unicorn/no-this-outside-of-class'?: Linter.RuleEntry<[]>;
7883
+ /**
7884
+ * Disallow assigning to top-level variables from inside functions.
7885
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-top-level-assignment-in-function.md
7886
+ */
7887
+ 'unicorn/no-top-level-assignment-in-function'?: Linter.RuleEntry<[]>;
7888
+ /**
7889
+ * Disallow top-level side effects in exported modules.
7890
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-top-level-side-effects.md
7891
+ */
7892
+ 'unicorn/no-top-level-side-effects'?: Linter.RuleEntry<[]>;
7596
7893
  /**
7597
7894
  * Disallow comparing `undefined` using `typeof`.
7598
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-typeof-undefined.md
7895
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-typeof-undefined.md
7599
7896
  */
7600
7897
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>;
7898
+ /**
7899
+ * Disallow referencing methods without calling them.
7900
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-uncalled-method.md
7901
+ */
7902
+ 'unicorn/no-uncalled-method'?: Linter.RuleEntry<[]>;
7903
+ /**
7904
+ * Require class members to be declared.
7905
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-undeclared-class-members.md
7906
+ */
7907
+ 'unicorn/no-undeclared-class-members'?: Linter.RuleEntry<[]>;
7601
7908
  /**
7602
7909
  * Disallow using `1` as the `depth` argument of `Array#flat()`.
7603
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-unnecessary-array-flat-depth.md
7910
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-unnecessary-array-flat-depth.md
7604
7911
  */
7605
7912
  'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>;
7913
+ /**
7914
+ * Disallow `Array#flatMap()` callbacks that only wrap a single item.
7915
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-unnecessary-array-flat-map.md
7916
+ */
7917
+ 'unicorn/no-unnecessary-array-flat-map'?: Linter.RuleEntry<[]>;
7606
7918
  /**
7607
7919
  * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
7608
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-unnecessary-array-splice-count.md
7920
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-unnecessary-array-splice-count.md
7609
7921
  */
7610
7922
  'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>;
7611
7923
  /**
7612
7924
  * Disallow awaiting non-promise values.
7613
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-unnecessary-await.md
7925
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-unnecessary-await.md
7614
7926
  */
7615
7927
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>;
7928
+ /**
7929
+ * Disallow unnecessary comparisons against boolean literals.
7930
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-unnecessary-boolean-comparison.md
7931
+ */
7932
+ 'unicorn/no-unnecessary-boolean-comparison'?: Linter.RuleEntry<[]>;
7933
+ /**
7934
+ * Disallow unnecessary options in `fetch()` and `new Request()`.
7935
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-unnecessary-fetch-options.md
7936
+ */
7937
+ 'unicorn/no-unnecessary-fetch-options'?: Linter.RuleEntry<[]>;
7938
+ /**
7939
+ * Disallow unnecessary `globalThis` references.
7940
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-unnecessary-global-this.md
7941
+ */
7942
+ 'unicorn/no-unnecessary-global-this'?: Linter.RuleEntry<[]>;
7616
7943
  /**
7617
7944
  * Disallow unnecessary nested ternary expressions.
7618
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-unnecessary-nested-ternary.md
7945
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-unnecessary-nested-ternary.md
7619
7946
  */
7620
7947
  'unicorn/no-unnecessary-nested-ternary'?: Linter.RuleEntry<[]>;
7621
7948
  /**
7622
7949
  * Enforce the use of built-in methods instead of unnecessary polyfills.
7623
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-unnecessary-polyfills.md
7950
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-unnecessary-polyfills.md
7624
7951
  */
7625
7952
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>;
7626
7953
  /**
7627
7954
  * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
7628
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-unnecessary-slice-end.md
7955
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-unnecessary-slice-end.md
7629
7956
  */
7630
7957
  'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>;
7958
+ /**
7959
+ * Disallow `Array#splice()` when simpler alternatives exist.
7960
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-unnecessary-splice.md
7961
+ */
7962
+ 'unicorn/no-unnecessary-splice'?: Linter.RuleEntry<[]>;
7631
7963
  /**
7632
7964
  * Disallow unreadable array destructuring.
7633
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-unreadable-array-destructuring.md
7965
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-unreadable-array-destructuring.md
7634
7966
  */
7635
- 'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>;
7967
+ 'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<UnicornNoUnreadableArrayDestructuring>;
7968
+ /**
7969
+ * Disallow unreadable iterable expressions in `for…of` and `for await…of` loop headers.
7970
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-unreadable-for-of-expression.md
7971
+ */
7972
+ 'unicorn/no-unreadable-for-of-expression'?: Linter.RuleEntry<[]>;
7636
7973
  /**
7637
7974
  * Disallow unreadable IIFEs.
7638
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-unreadable-iife.md
7975
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-unreadable-iife.md
7639
7976
  */
7640
7977
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>;
7978
+ /**
7979
+ * Disallow unreadable `new` expressions.
7980
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-unreadable-new-expression.md
7981
+ */
7982
+ 'unicorn/no-unreadable-new-expression'?: Linter.RuleEntry<[]>;
7983
+ /**
7984
+ * Disallow unreadable object destructuring.
7985
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-unreadable-object-destructuring.md
7986
+ */
7987
+ 'unicorn/no-unreadable-object-destructuring'?: Linter.RuleEntry<[]>;
7988
+ /**
7989
+ * Prevent unsafe use of ArrayBuffer view `.buffer`.
7990
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-unsafe-buffer-conversion.md
7991
+ */
7992
+ 'unicorn/no-unsafe-buffer-conversion'?: Linter.RuleEntry<[]>;
7993
+ /**
7994
+ * Disallow unsafe DOM HTML APIs.
7995
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-unsafe-dom-html.md
7996
+ */
7997
+ 'unicorn/no-unsafe-dom-html'?: Linter.RuleEntry<[]>;
7998
+ /**
7999
+ * Disallow reading `.value` from `Promise.allSettled()` results without a fulfilled status guard.
8000
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-unsafe-promise-all-settled-values.md
8001
+ */
8002
+ 'unicorn/no-unsafe-promise-all-settled-values'?: Linter.RuleEntry<[]>;
8003
+ /**
8004
+ * Disallow unsafe values as property keys.
8005
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-unsafe-property-key.md
8006
+ */
8007
+ 'unicorn/no-unsafe-property-key'?: Linter.RuleEntry<[]>;
8008
+ /**
8009
+ * Disallow non-literal replacement values in `String#replace()` and `String#replaceAll()`.
8010
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-unsafe-string-replacement.md
8011
+ */
8012
+ 'unicorn/no-unsafe-string-replacement'?: Linter.RuleEntry<[]>;
7641
8013
  /**
7642
8014
  * Disallow ignoring the return value of selected array methods.
7643
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-unused-array-method-return.md
8015
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-unused-array-method-return.md
7644
8016
  */
7645
8017
  'unicorn/no-unused-array-method-return'?: Linter.RuleEntry<[]>;
7646
8018
  /**
7647
8019
  * Disallow unused object properties.
7648
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-unused-properties.md
8020
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-unused-properties.md
7649
8021
  */
7650
8022
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>;
8023
+ /**
8024
+ * Disallow unnecessary `Boolean()` casts in array predicate callbacks.
8025
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-useless-boolean-cast.md
8026
+ */
8027
+ 'unicorn/no-useless-boolean-cast'?: Linter.RuleEntry<[]>;
8028
+ /**
8029
+ * Disallow useless type coercions of values that are already of the target type.
8030
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-useless-coercion.md
8031
+ */
8032
+ 'unicorn/no-useless-coercion'?: Linter.RuleEntry<[]>;
7651
8033
  /**
7652
8034
  * Disallow useless values or fallbacks in `Set`, `Map`, `WeakSet`, or `WeakMap`.
7653
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-useless-collection-argument.md
8035
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-useless-collection-argument.md
7654
8036
  */
7655
8037
  'unicorn/no-useless-collection-argument'?: Linter.RuleEntry<[]>;
8038
+ /**
8039
+ * Disallow useless compound assignments such as `x += 0`.
8040
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-useless-compound-assignment.md
8041
+ */
8042
+ 'unicorn/no-useless-compound-assignment'?: Linter.RuleEntry<[]>;
8043
+ /**
8044
+ * Disallow useless concatenation of literals.
8045
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-useless-concat.md
8046
+ */
8047
+ 'unicorn/no-useless-concat'?: Linter.RuleEntry<[]>;
8048
+ /**
8049
+ * Disallow useless `continue` statements.
8050
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-useless-continue.md
8051
+ */
8052
+ 'unicorn/no-useless-continue'?: Linter.RuleEntry<[]>;
8053
+ /**
8054
+ * Disallow unnecessary existence checks before deletion.
8055
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-useless-delete-check.md
8056
+ */
8057
+ 'unicorn/no-useless-delete-check'?: Linter.RuleEntry<[]>;
8058
+ /**
8059
+ * Disallow `else` after a statement that exits.
8060
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-useless-else.md
8061
+ */
8062
+ 'unicorn/no-useless-else'?: Linter.RuleEntry<[]>;
7656
8063
  /**
7657
8064
  * Disallow unnecessary `Error.captureStackTrace(…)`.
7658
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-useless-error-capture-stack-trace.md
8065
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-useless-error-capture-stack-trace.md
7659
8066
  */
7660
8067
  'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>;
7661
8068
  /**
7662
8069
  * Disallow useless fallback when spreading in object literals.
7663
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-useless-fallback-in-spread.md
8070
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-useless-fallback-in-spread.md
7664
8071
  */
7665
8072
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>;
7666
8073
  /**
7667
8074
  * Disallow unnecessary `.toArray()` on iterators.
7668
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-useless-iterator-to-array.md
8075
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-useless-iterator-to-array.md
7669
8076
  */
7670
8077
  'unicorn/no-useless-iterator-to-array'?: Linter.RuleEntry<[]>;
7671
8078
  /**
7672
8079
  * Disallow useless array length check.
7673
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-useless-length-check.md
8080
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-useless-length-check.md
7674
8081
  */
7675
8082
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>;
8083
+ /**
8084
+ * Disallow unnecessary operands in logical expressions involving boolean literals.
8085
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-useless-logical-operand.md
8086
+ */
8087
+ 'unicorn/no-useless-logical-operand'?: Linter.RuleEntry<[]>;
8088
+ /**
8089
+ * Disallow useless overrides of class methods.
8090
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-useless-override.md
8091
+ */
8092
+ 'unicorn/no-useless-override'?: Linter.RuleEntry<[]>;
7676
8093
  /**
7677
8094
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
7678
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-useless-promise-resolve-reject.md
8095
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-useless-promise-resolve-reject.md
7679
8096
  */
7680
8097
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>;
8098
+ /**
8099
+ * Disallow simple recursive function calls that can be replaced with a loop.
8100
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-useless-recursion.md
8101
+ */
8102
+ 'unicorn/no-useless-recursion'?: Linter.RuleEntry<[]>;
7681
8103
  /**
7682
8104
  * Disallow unnecessary spread.
7683
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-useless-spread.md
8105
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-useless-spread.md
7684
8106
  */
7685
8107
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>;
7686
8108
  /**
7687
8109
  * Disallow useless case in switch statements.
7688
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-useless-switch-case.md
8110
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-useless-switch-case.md
7689
8111
  */
7690
8112
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>;
8113
+ /**
8114
+ * Disallow useless template literal expressions.
8115
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-useless-template-literals.md
8116
+ */
8117
+ 'unicorn/no-useless-template-literals'?: Linter.RuleEntry<[]>;
7691
8118
  /**
7692
8119
  * Disallow useless `undefined`.
7693
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-useless-undefined.md
8120
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-useless-undefined.md
7694
8121
  */
7695
8122
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>;
8123
+ /**
8124
+ * Disallow the bitwise XOR operator where exponentiation was likely intended.
8125
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-xor-as-exponentiation.md
8126
+ */
8127
+ 'unicorn/no-xor-as-exponentiation'?: Linter.RuleEntry<[]>;
7696
8128
  /**
7697
8129
  * Disallow number literals with zero fractions or dangling dots.
7698
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-zero-fractions.md
8130
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/no-zero-fractions.md
7699
8131
  */
7700
8132
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>;
7701
8133
  /**
7702
8134
  * Enforce proper case for numeric literals.
7703
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/number-literal-case.md
8135
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/number-literal-case.md
7704
8136
  */
7705
8137
  'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>;
7706
8138
  /**
7707
8139
  * Enforce the style of numeric separators by correctly grouping digits.
7708
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/numeric-separators-style.md
8140
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/numeric-separators-style.md
7709
8141
  */
7710
8142
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>;
8143
+ /**
8144
+ * Require assignment operator shorthand where possible.
8145
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/operator-assignment.md
8146
+ */
8147
+ 'unicorn/operator-assignment'?: Linter.RuleEntry<UnicornOperatorAssignment>;
8148
+ /**
8149
+ * Prefer `AbortSignal.any()` over manually forwarding abort events between signals.
8150
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-abort-signal-any.md
8151
+ */
8152
+ 'unicorn/prefer-abort-signal-any'?: Linter.RuleEntry<[]>;
8153
+ /**
8154
+ * Prefer `AbortSignal.timeout()` over manually aborting an `AbortController` with `setTimeout()`.
8155
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-abort-signal-timeout.md
8156
+ */
8157
+ 'unicorn/prefer-abort-signal-timeout'?: Linter.RuleEntry<[]>;
7711
8158
  /**
7712
8159
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
7713
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-add-event-listener.md
8160
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-add-event-listener.md
7714
8161
  */
7715
8162
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>;
8163
+ /**
8164
+ * Prefer an options object over a boolean in `.addEventListener()`.
8165
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-add-event-listener-options.md
8166
+ */
8167
+ 'unicorn/prefer-add-event-listener-options'?: Linter.RuleEntry<[]>;
8168
+ /**
8169
+ * Prefer `AggregateError` when throwing collected errors.
8170
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-aggregate-error.md
8171
+ */
8172
+ 'unicorn/prefer-aggregate-error'?: Linter.RuleEntry<[]>;
7716
8173
  /**
7717
8174
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
7718
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-array-find.md
8175
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-array-find.md
7719
8176
  */
7720
8177
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>;
7721
8178
  /**
7722
8179
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
7723
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-array-flat.md
8180
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-array-flat.md
7724
8181
  */
7725
8182
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>;
7726
8183
  /**
7727
- * Prefer `.flatMap(…)` over `.map(…).flat()`.
7728
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-array-flat-map.md
8184
+ * Prefer `.flatMap(…)` over `.map(…).flat()` and `.filter(…).flatMap(…)`.
8185
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-array-flat-map.md
7729
8186
  */
7730
8187
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>;
8188
+ /**
8189
+ * Prefer `Array.fromAsync()` over `for await…of` array accumulation.
8190
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-array-from-async.md
8191
+ */
8192
+ 'unicorn/prefer-array-from-async'?: Linter.RuleEntry<[]>;
8193
+ /**
8194
+ * Prefer using the `Array.from()` mapping function argument.
8195
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-array-from-map.md
8196
+ */
8197
+ 'unicorn/prefer-array-from-map'?: Linter.RuleEntry<[]>;
8198
+ /**
8199
+ * Prefer `Array.from({length}, …)` when creating range arrays.
8200
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-array-from-range.md
8201
+ */
8202
+ 'unicorn/prefer-array-from-range'?: Linter.RuleEntry<[]>;
7731
8203
  /**
7732
8204
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
7733
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-array-index-of.md
8205
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-array-index-of.md
7734
8206
  */
7735
8207
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>;
8208
+ /**
8209
+ * Prefer iterating an array directly or with `Array#keys()` over `Array#entries()` when the index or value is unused.
8210
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-array-iterable-methods.md
8211
+ */
8212
+ 'unicorn/prefer-array-iterable-methods'?: Linter.RuleEntry<[]>;
7736
8213
  /**
7737
8214
  * Prefer last-oriented array methods over `Array#reverse()` or `Array#toReversed()` followed by a method.
7738
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-array-last-methods.md
8215
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-array-last-methods.md
7739
8216
  */
7740
8217
  'unicorn/prefer-array-last-methods'?: Linter.RuleEntry<[]>;
8218
+ /**
8219
+ * Prefer `Array#slice()` over `Array#splice()` when reading from the returned array.
8220
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-array-slice.md
8221
+ */
8222
+ 'unicorn/prefer-array-slice'?: Linter.RuleEntry<[]>;
7741
8223
  /**
7742
8224
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
7743
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-array-some.md
8225
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-array-some.md
7744
8226
  */
7745
8227
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>;
7746
8228
  /**
7747
8229
  * Prefer `.at()` method for index access and `String#charAt()`.
7748
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-at.md
8230
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-at.md
7749
8231
  */
7750
8232
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>;
8233
+ /**
8234
+ * Prefer `await` over promise chaining.
8235
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-await.md
8236
+ */
8237
+ 'unicorn/prefer-await'?: Linter.RuleEntry<[]>;
7751
8238
  /**
7752
8239
  * Prefer `BigInt` literals over the constructor.
7753
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-bigint-literals.md
8240
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-bigint-literals.md
7754
8241
  */
7755
8242
  'unicorn/prefer-bigint-literals'?: Linter.RuleEntry<[]>;
7756
8243
  /**
7757
8244
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
7758
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-blob-reading-methods.md
8245
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-blob-reading-methods.md
7759
8246
  */
7760
8247
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>;
8248
+ /**
8249
+ * Prefer block statements over IIFEs used only for scoping.
8250
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-block-statement-over-iife.md
8251
+ */
8252
+ 'unicorn/prefer-block-statement-over-iife'?: Linter.RuleEntry<[]>;
8253
+ /**
8254
+ * Prefer directly returning boolean expressions over `if` statements.
8255
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-boolean-return.md
8256
+ */
8257
+ 'unicorn/prefer-boolean-return'?: Linter.RuleEntry<[]>;
7761
8258
  /**
7762
8259
  * Prefer class field declarations over `this` assignments in constructors.
7763
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-class-fields.md
8260
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-class-fields.md
7764
8261
  */
7765
8262
  'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>;
7766
8263
  /**
7767
8264
  * Prefer using `Element#classList.toggle()` to toggle class names.
7768
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-classlist-toggle.md
8265
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-classlist-toggle.md
7769
8266
  */
7770
8267
  'unicorn/prefer-classlist-toggle'?: Linter.RuleEntry<[]>;
7771
8268
  /**
7772
8269
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
7773
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-code-point.md
8270
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-code-point.md
7774
8271
  */
7775
8272
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>;
8273
+ /**
8274
+ * Prefer early continues over whole-loop conditional wrapping.
8275
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-continue.md
8276
+ */
8277
+ 'unicorn/prefer-continue'?: Linter.RuleEntry<UnicornPreferContinue>;
7776
8278
  /**
7777
8279
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
7778
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-date-now.md
8280
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-date-now.md
7779
8281
  */
7780
8282
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>;
7781
8283
  /**
7782
8284
  * Prefer default parameters over reassignment.
7783
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-default-parameters.md
8285
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-default-parameters.md
7784
8286
  */
7785
8287
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>;
8288
+ /**
8289
+ * Prefer direct iteration over default iterator method calls.
8290
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-direct-iteration.md
8291
+ */
8292
+ 'unicorn/prefer-direct-iteration'?: Linter.RuleEntry<[]>;
8293
+ /**
8294
+ * Prefer using `using`/`await using` over manual `try`/`finally` resource disposal.
8295
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-dispose.md
8296
+ */
8297
+ 'unicorn/prefer-dispose'?: Linter.RuleEntry<[]>;
7786
8298
  /**
7787
8299
  * Prefer `Element#append()` over `Node#appendChild()`.
7788
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-dom-node-append.md
8300
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-dom-node-append.md
7789
8301
  */
7790
8302
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>;
7791
8303
  /**
7792
8304
  * Renamed to `unicorn/dom-node-dataset`.
7793
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/deleted-and-deprecated-rules.md#prefer-dom-node-dataset
8305
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/deleted-and-deprecated-rules.md#prefer-dom-node-dataset
7794
8306
  * @deprecated
7795
8307
  */
7796
8308
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>;
8309
+ /**
8310
+ * Prefer `.getHTML()` and `.setHTML()` over `.innerHTML`.
8311
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-dom-node-html-methods.md
8312
+ */
8313
+ 'unicorn/prefer-dom-node-html-methods'?: Linter.RuleEntry<[]>;
7797
8314
  /**
7798
8315
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
7799
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-dom-node-remove.md
8316
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-dom-node-remove.md
7800
8317
  */
7801
8318
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>;
8319
+ /**
8320
+ * Prefer `.replaceChildren()` when emptying DOM children.
8321
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-dom-node-replace-children.md
8322
+ */
8323
+ 'unicorn/prefer-dom-node-replace-children'?: Linter.RuleEntry<[]>;
7802
8324
  /**
7803
8325
  * Prefer `.textContent` over `.innerText`.
7804
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-dom-node-text-content.md
8326
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-dom-node-text-content.md
7805
8327
  */
7806
8328
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>;
8329
+ /**
8330
+ * Prefer early returns over full-function conditional wrapping.
8331
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-early-return.md
8332
+ */
8333
+ 'unicorn/prefer-early-return'?: Linter.RuleEntry<UnicornPreferEarlyReturn>;
8334
+ /**
8335
+ * Prefer `else if` over adjacent `if` statements with related conditions.
8336
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-else-if.md
8337
+ */
8338
+ 'unicorn/prefer-else-if'?: Linter.RuleEntry<[]>;
8339
+ /**
8340
+ * Prefer `Error.isError()` when checking for errors.
8341
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-error-is-error.md
8342
+ */
8343
+ 'unicorn/prefer-error-is-error'?: Linter.RuleEntry<[]>;
7807
8344
  /**
7808
8345
  * Prefer `EventTarget` over `EventEmitter`.
7809
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-event-target.md
8346
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-event-target.md
7810
8347
  */
7811
8348
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>;
7812
8349
  /**
7813
8350
  * Prefer `export…from` when re-exporting.
7814
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-export-from.md
8351
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-export-from.md
7815
8352
  */
7816
8353
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>;
8354
+ /**
8355
+ * Prefer flat `Math.min()` and `Math.max()` calls over nested calls.
8356
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-flat-math-min-max.md
8357
+ */
8358
+ 'unicorn/prefer-flat-math-min-max'?: Linter.RuleEntry<[]>;
7817
8359
  /**
7818
8360
  * Prefer `.getOrInsertComputed()` when the default value has side effects.
7819
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-get-or-insert-computed.md
8361
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-get-or-insert-computed.md
7820
8362
  */
7821
8363
  'unicorn/prefer-get-or-insert-computed'?: Linter.RuleEntry<[]>;
8364
+ /**
8365
+ * Prefer global numeric constants over `Number` static properties.
8366
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-global-number-constants.md
8367
+ */
8368
+ 'unicorn/prefer-global-number-constants'?: Linter.RuleEntry<[]>;
7822
8369
  /**
7823
8370
  * Prefer `globalThis` over `window`, `self`, and `global`.
7824
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-global-this.md
8371
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-global-this.md
7825
8372
  */
7826
8373
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>;
8374
+ /**
8375
+ * Prefer `Object.groupBy()` or `Map.groupBy()` over reduce-based grouping.
8376
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-group-by.md
8377
+ */
8378
+ 'unicorn/prefer-group-by'?: Linter.RuleEntry<[]>;
8379
+ /**
8380
+ * Prefer `.has()` when checking existence.
8381
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-has-check.md
8382
+ */
8383
+ 'unicorn/prefer-has-check'?: Linter.RuleEntry<[]>;
8384
+ /**
8385
+ * Prefer moving code shared by all branches of an `if` statement out of the branches.
8386
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-hoisting-branch-code.md
8387
+ */
8388
+ 'unicorn/prefer-hoisting-branch-code'?: Linter.RuleEntry<[]>;
7827
8389
  /**
7828
8390
  * Prefer HTTPS over HTTP.
7829
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-https.md
8391
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-https.md
7830
8392
  */
7831
8393
  'unicorn/prefer-https'?: Linter.RuleEntry<[]>;
8394
+ /**
8395
+ * Prefer identifiers over string literals in import and export specifiers.
8396
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-identifier-import-export-specifiers.md
8397
+ */
8398
+ 'unicorn/prefer-identifier-import-export-specifiers'?: Linter.RuleEntry<[]>;
7832
8399
  /**
7833
8400
  * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
7834
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-import-meta-properties.md
8401
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-import-meta-properties.md
7835
8402
  */
7836
8403
  'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>;
7837
8404
  /**
7838
8405
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
7839
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-includes.md
8406
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-includes.md
7840
8407
  */
7841
8408
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>;
7842
8409
  /**
7843
8410
  * Prefer `.includes()` over repeated equality comparisons.
7844
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-includes-over-repeated-comparisons.md
8411
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-includes-over-repeated-comparisons.md
7845
8412
  */
7846
8413
  'unicorn/prefer-includes-over-repeated-comparisons'?: Linter.RuleEntry<UnicornPreferIncludesOverRepeatedComparisons>;
8414
+ /**
8415
+ * Prefer passing iterables directly to constructors instead of filling empty collections.
8416
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-iterable-in-constructor.md
8417
+ */
8418
+ 'unicorn/prefer-iterable-in-constructor'?: Linter.RuleEntry<[]>;
7847
8419
  /**
7848
8420
  * Prefer `Iterator.concat(…)` over temporary spread arrays.
7849
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-iterator-concat.md
8421
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-iterator-concat.md
7850
8422
  */
7851
8423
  'unicorn/prefer-iterator-concat'?: Linter.RuleEntry<[]>;
8424
+ /**
8425
+ * Prefer iterator helpers over temporary arrays from iterators.
8426
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-iterator-helpers.md
8427
+ */
8428
+ 'unicorn/prefer-iterator-helpers'?: Linter.RuleEntry<[]>;
8429
+ /**
8430
+ * Prefer `Iterator#toArray()` over temporary arrays from iterator spreads.
8431
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-iterator-to-array.md
8432
+ */
8433
+ 'unicorn/prefer-iterator-to-array'?: Linter.RuleEntry<[]>;
7852
8434
  /**
7853
8435
  * Prefer moving `.toArray()` to the end of iterator helper chains.
7854
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-iterator-to-array-at-end.md
8436
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-iterator-to-array-at-end.md
7855
8437
  */
7856
8438
  'unicorn/prefer-iterator-to-array-at-end'?: Linter.RuleEntry<[]>;
7857
8439
  /**
7858
8440
  * Renamed to `unicorn/consistent-json-file-read`.
7859
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/deleted-and-deprecated-rules.md#prefer-json-parse-buffer
8441
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/deleted-and-deprecated-rules.md#prefer-json-parse-buffer
7860
8442
  * @deprecated
7861
8443
  */
7862
8444
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>;
7863
8445
  /**
7864
8446
  * Prefer `KeyboardEvent#key` over deprecated keyboard event properties.
7865
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-keyboard-event-key.md
8447
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-keyboard-event-key.md
7866
8448
  */
7867
8449
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>;
8450
+ /**
8451
+ * Prefer `location.assign()` over assigning to `location.href`.
8452
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-location-assign.md
8453
+ */
8454
+ 'unicorn/prefer-location-assign'?: Linter.RuleEntry<[]>;
7868
8455
  /**
7869
8456
  * Prefer using a logical operator over a ternary.
7870
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-logical-operator-over-ternary.md
8457
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-logical-operator-over-ternary.md
7871
8458
  */
7872
8459
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>;
8460
+ /**
8461
+ * Prefer `new Map()` over `Object.fromEntries()` when using the result as a map.
8462
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-map-from-entries.md
8463
+ */
8464
+ 'unicorn/prefer-map-from-entries'?: Linter.RuleEntry<[]>;
7873
8465
  /**
7874
8466
  * Prefer `Math.abs()` over manual absolute value expressions and symmetric range checks.
7875
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-math-abs.md
8467
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-math-abs.md
7876
8468
  */
7877
8469
  'unicorn/prefer-math-abs'?: Linter.RuleEntry<[]>;
8470
+ /**
8471
+ * Prefer `Math` constants over their approximate numeric values.
8472
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-math-constants.md
8473
+ */
8474
+ 'unicorn/prefer-math-constants'?: Linter.RuleEntry<[]>;
7878
8475
  /**
7879
8476
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
7880
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-math-min-max.md
8477
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-math-min-max.md
7881
8478
  */
7882
8479
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>;
7883
8480
  /**
7884
- * Enforce the use of `Math.trunc` instead of bitwise operators.
7885
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-math-trunc.md
8481
+ * Prefer `Math.trunc()` for truncating numbers.
8482
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-math-trunc.md
7886
8483
  */
7887
8484
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>;
7888
8485
  /**
7889
- * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
7890
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-modern-dom-apis.md
8486
+ * Prefer moving ternaries into the minimal varying part of an expression.
8487
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-minimal-ternary.md
8488
+ */
8489
+ 'unicorn/prefer-minimal-ternary'?: Linter.RuleEntry<UnicornPreferMinimalTernary>;
8490
+ /**
8491
+ * Prefer modern DOM APIs.
8492
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-modern-dom-apis.md
7891
8493
  */
7892
8494
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>;
7893
8495
  /**
7894
8496
  * Prefer modern `Math` APIs over legacy patterns.
7895
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-modern-math-apis.md
8497
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-modern-math-apis.md
7896
8498
  */
7897
8499
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>;
7898
8500
  /**
7899
8501
  * Prefer JavaScript modules (ESM) over CommonJS.
7900
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-module.md
8502
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-module.md
7901
8503
  */
7902
8504
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>;
7903
8505
  /**
7904
8506
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
7905
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-native-coercion-functions.md
8507
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-native-coercion-functions.md
7906
8508
  */
7907
8509
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>;
7908
8510
  /**
7909
8511
  * Prefer negative index over `.length - index` when possible.
7910
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-negative-index.md
8512
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-negative-index.md
7911
8513
  */
7912
8514
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>;
7913
8515
  /**
7914
8516
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
7915
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-node-protocol.md
8517
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-node-protocol.md
7916
8518
  */
7917
8519
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>;
7918
8520
  /**
7919
- * Prefer `Number` static properties over global ones.
7920
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-number-properties.md
8521
+ * Prefer `Number()` over `parseFloat()` and base-10 `parseInt()`.
8522
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-number-coercion.md
8523
+ */
8524
+ 'unicorn/prefer-number-coercion'?: Linter.RuleEntry<[]>;
8525
+ /**
8526
+ * Prefer `Number.isSafeInteger()` over integer checks.
8527
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-number-is-safe-integer.md
8528
+ */
8529
+ 'unicorn/prefer-number-is-safe-integer'?: Linter.RuleEntry<[]>;
8530
+ /**
8531
+ * Prefer `Number` static methods over global functions and optionally static properties over global constants.
8532
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-number-properties.md
7921
8533
  */
7922
8534
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>;
8535
+ /**
8536
+ * Prefer `Object.defineProperties()` over multiple `Object.defineProperty()` calls.
8537
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-object-define-properties.md
8538
+ */
8539
+ 'unicorn/prefer-object-define-properties'?: Linter.RuleEntry<[]>;
8540
+ /**
8541
+ * Prefer object destructuring defaults over default object literals with spread.
8542
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-object-destructuring-defaults.md
8543
+ */
8544
+ 'unicorn/prefer-object-destructuring-defaults'?: Linter.RuleEntry<[]>;
7923
8545
  /**
7924
8546
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
7925
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-object-from-entries.md
8547
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-object-from-entries.md
7926
8548
  */
7927
8549
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>;
8550
+ /**
8551
+ * Prefer the most specific `Object` iterable method.
8552
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-object-iterable-methods.md
8553
+ */
8554
+ 'unicorn/prefer-object-iterable-methods'?: Linter.RuleEntry<[]>;
8555
+ /**
8556
+ * Prefer observer APIs over resize and scroll listeners with layout reads.
8557
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-observer-apis.md
8558
+ */
8559
+ 'unicorn/prefer-observer-apis'?: Linter.RuleEntry<[]>;
7928
8560
  /**
7929
8561
  * Prefer omitting the `catch` binding parameter.
7930
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-optional-catch-binding.md
8562
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-optional-catch-binding.md
7931
8563
  */
7932
8564
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>;
8565
+ /**
8566
+ * Prefer `Path2D` for repeatedly drawn canvas paths.
8567
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-path2d.md
8568
+ */
8569
+ 'unicorn/prefer-path2d'?: Linter.RuleEntry<[]>;
8570
+ /**
8571
+ * Prefer private class fields over the underscore-prefix convention.
8572
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-private-class-fields.md
8573
+ */
8574
+ 'unicorn/prefer-private-class-fields'?: Linter.RuleEntry<[]>;
8575
+ /**
8576
+ * Prefer `Promise.try()` over promise-wrapping boilerplate.
8577
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-promise-try.md
8578
+ */
8579
+ 'unicorn/prefer-promise-try'?: Linter.RuleEntry<[]>;
8580
+ /**
8581
+ * Prefer `Promise.withResolvers()` when extracting resolver functions from `new Promise()`.
8582
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-promise-with-resolvers.md
8583
+ */
8584
+ 'unicorn/prefer-promise-with-resolvers'?: Linter.RuleEntry<[]>;
7933
8585
  /**
7934
8586
  * Prefer borrowing methods from the prototype instead of the instance.
7935
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-prototype-methods.md
8587
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-prototype-methods.md
7936
8588
  */
7937
8589
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>;
7938
8590
  /**
7939
8591
  * Prefer `.querySelector()` and `.querySelectorAll()` over older DOM query methods.
7940
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-query-selector.md
8592
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-query-selector.md
7941
8593
  */
7942
8594
  'unicorn/prefer-query-selector'?: Linter.RuleEntry<UnicornPreferQuerySelector>;
7943
8595
  /**
7944
8596
  * Prefer `queueMicrotask()` over `process.nextTick()`, `setImmediate()`, and `setTimeout(…, 0)`.
7945
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-queue-microtask.md
8597
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-queue-microtask.md
7946
8598
  */
7947
8599
  'unicorn/prefer-queue-microtask'?: Linter.RuleEntry<UnicornPreferQueueMicrotask>;
7948
8600
  /**
7949
8601
  * Prefer `Reflect.apply()` over `Function#apply()`.
7950
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-reflect-apply.md
8602
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-reflect-apply.md
7951
8603
  */
7952
8604
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>;
7953
8605
  /**
7954
- * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
7955
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-regexp-test.md
8606
+ * Prefer `RegExp.escape()` for escaping strings to use in regular expressions.
8607
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-regexp-escape.md
8608
+ */
8609
+ 'unicorn/prefer-regexp-escape'?: Linter.RuleEntry<[]>;
8610
+ /**
8611
+ * Prefer `RegExp#test()` over `String#match()`, `String#search()`, and `RegExp#exec()`.
8612
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-regexp-test.md
7956
8613
  */
7957
8614
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>;
7958
8615
  /**
7959
8616
  * Prefer `Response.json()` over `new Response(JSON.stringify())`.
7960
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-response-static-json.md
8617
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-response-static-json.md
7961
8618
  */
7962
8619
  'unicorn/prefer-response-static-json'?: Linter.RuleEntry<[]>;
8620
+ /**
8621
+ * Prefer `:scope` when using element query selector methods.
8622
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-scoped-selector.md
8623
+ */
8624
+ 'unicorn/prefer-scoped-selector'?: Linter.RuleEntry<[]>;
7963
8625
  /**
7964
8626
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
7965
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-set-has.md
8627
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-set-has.md
7966
8628
  */
7967
8629
  'unicorn/prefer-set-has'?: Linter.RuleEntry<UnicornPreferSetHas>;
8630
+ /**
8631
+ * Prefer `Set` methods for Set operations.
8632
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-set-methods.md
8633
+ */
8634
+ 'unicorn/prefer-set-methods'?: Linter.RuleEntry<[]>;
7968
8635
  /**
7969
8636
  * Prefer using `Set#size` instead of `Array#length`.
7970
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-set-size.md
8637
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-set-size.md
7971
8638
  */
7972
8639
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>;
8640
+ /**
8641
+ * Prefer arrow function properties over methods with a single return.
8642
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-short-arrow-method.md
8643
+ */
8644
+ 'unicorn/prefer-short-arrow-method'?: Linter.RuleEntry<[]>;
7973
8645
  /**
7974
8646
  * Prefer simple conditions first in logical expressions.
7975
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-simple-condition-first.md
8647
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-simple-condition-first.md
7976
8648
  */
7977
8649
  'unicorn/prefer-simple-condition-first'?: Linter.RuleEntry<[]>;
8650
+ /**
8651
+ * Prefer a simple comparison function for `Array#sort()`.
8652
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-simple-sort-comparator.md
8653
+ */
8654
+ 'unicorn/prefer-simple-sort-comparator'?: Linter.RuleEntry<[]>;
8655
+ /**
8656
+ * Prefer simplified conditions.
8657
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-simplified-conditions.md
8658
+ */
8659
+ 'unicorn/prefer-simplified-conditions'?: Linter.RuleEntry<[]>;
8660
+ /**
8661
+ * Prefer a single `Array#some()` or `Array#every()` with a combined predicate.
8662
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-single-array-predicate.md
8663
+ */
8664
+ 'unicorn/prefer-single-array-predicate'?: Linter.RuleEntry<[]>;
7978
8665
  /**
7979
8666
  * Enforce combining multiple `Array#{push,unshift}()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
7980
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-single-call.md
8667
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-single-call.md
7981
8668
  */
7982
8669
  'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>;
8670
+ /**
8671
+ * Prefer a single object destructuring declaration per local const source.
8672
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-single-object-destructuring.md
8673
+ */
8674
+ 'unicorn/prefer-single-object-destructuring'?: Linter.RuleEntry<[]>;
8675
+ /**
8676
+ * Enforce combining multiple single-character replacements into a single `String#replaceAll()` with a regular expression.
8677
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-single-replace.md
8678
+ */
8679
+ 'unicorn/prefer-single-replace'?: Linter.RuleEntry<[]>;
8680
+ /**
8681
+ * Prefer declaring variables in the smallest possible scope.
8682
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-smaller-scope.md
8683
+ */
8684
+ 'unicorn/prefer-smaller-scope'?: Linter.RuleEntry<[]>;
7983
8685
  /**
7984
8686
  * Prefer `String#split()` with a limit.
7985
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-split-limit.md
8687
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-split-limit.md
7986
8688
  */
7987
8689
  'unicorn/prefer-split-limit'?: Linter.RuleEntry<[]>;
7988
8690
  /**
7989
- * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
7990
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-spread.md
8691
+ * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()`, and trivial `for…of` copies.
8692
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-spread.md
7991
8693
  */
7992
8694
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>;
7993
8695
  /**
7994
8696
  * Prefer `String#matchAll()` over `RegExp#exec()` loops.
7995
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-string-match-all.md
8697
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-string-match-all.md
7996
8698
  */
7997
8699
  'unicorn/prefer-string-match-all'?: Linter.RuleEntry<[]>;
7998
8700
  /**
7999
8701
  * Prefer `String#padStart()` and `String#padEnd()` over manual string padding.
8000
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-string-pad-start-end.md
8702
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-string-pad-start-end.md
8001
8703
  */
8002
8704
  'unicorn/prefer-string-pad-start-end'?: Linter.RuleEntry<[]>;
8003
8705
  /**
8004
8706
  * Prefer using the `String.raw` tag to avoid escaping `\`.
8005
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-string-raw.md
8707
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-string-raw.md
8006
8708
  */
8007
8709
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>;
8008
8710
  /**
8009
8711
  * Prefer `String#repeat()` for repeated whitespace.
8010
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-string-repeat.md
8712
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-string-repeat.md
8011
8713
  */
8012
8714
  'unicorn/prefer-string-repeat'?: Linter.RuleEntry<UnicornPreferStringRepeat>;
8013
8715
  /**
8014
8716
  * Prefer `String#replaceAll()` over regex searches with the global flag and `String#split().join()`.
8015
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-string-replace-all.md
8717
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-string-replace-all.md
8016
8718
  */
8017
8719
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>;
8018
8720
  /**
8019
8721
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
8020
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-string-slice.md
8722
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-string-slice.md
8021
8723
  */
8022
8724
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>;
8023
8725
  /**
8024
- * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
8025
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-string-starts-ends-with.md
8726
+ * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()` and `String#indexOf() === 0`.
8727
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-string-starts-ends-with.md
8026
8728
  */
8027
8729
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>;
8028
8730
  /**
8029
8731
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
8030
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-string-trim-start-end.md
8732
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-string-trim-start-end.md
8031
8733
  */
8032
8734
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>;
8033
8735
  /**
8034
8736
  * Prefer using `structuredClone` to create a deep clone.
8035
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-structured-clone.md
8737
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-structured-clone.md
8036
8738
  */
8037
8739
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>;
8038
8740
  /**
8039
8741
  * Prefer `switch` over multiple `else-if`.
8040
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-switch.md
8742
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-switch.md
8041
8743
  */
8042
8744
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>;
8043
8745
  /**
8044
- * Prefer ternary expressions over simple `if-else` statements.
8045
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-ternary.md
8746
+ * Prefer `Temporal` over `Date`.
8747
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-temporal.md
8748
+ */
8749
+ 'unicorn/prefer-temporal'?: Linter.RuleEntry<UnicornPreferTemporal>;
8750
+ /**
8751
+ * Prefer ternary expressions over simple `if` statements that return or assign values.
8752
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-ternary.md
8046
8753
  */
8047
8754
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>;
8755
+ /**
8756
+ * Prefer using `Element#toggleAttribute()` to toggle attributes.
8757
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-toggle-attribute.md
8758
+ */
8759
+ 'unicorn/prefer-toggle-attribute'?: Linter.RuleEntry<[]>;
8048
8760
  /**
8049
8761
  * Prefer top-level await over top-level promises and async function calls.
8050
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-top-level-await.md
8762
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-top-level-await.md
8051
8763
  */
8052
8764
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>;
8053
8765
  /**
8054
8766
  * Enforce throwing `TypeError` in type checking conditions.
8055
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-type-error.md
8767
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-type-error.md
8056
8768
  */
8057
8769
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>;
8058
8770
  /**
8059
- * Prevent abbreviations.
8060
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prevent-abbreviations.md
8771
+ * Require type literals to be last in union types.
8772
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-type-literal-last.md
8773
+ */
8774
+ 'unicorn/prefer-type-literal-last'?: Linter.RuleEntry<[]>;
8775
+ /**
8776
+ * Prefer `Uint8Array#toBase64()` and `Uint8Array.fromBase64()` over `atob()`, `btoa()`, and `Buffer` base64 conversions.
8777
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-uint8array-base64.md
8778
+ */
8779
+ 'unicorn/prefer-uint8array-base64'?: Linter.RuleEntry<[]>;
8780
+ /**
8781
+ * Prefer the unary minus operator over multiplying or dividing by `-1`.
8782
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-unary-minus.md
8783
+ */
8784
+ 'unicorn/prefer-unary-minus'?: Linter.RuleEntry<[]>;
8785
+ /**
8786
+ * Prefer Unicode code point escapes over legacy escape sequences.
8787
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-unicode-code-point-escapes.md
8788
+ */
8789
+ 'unicorn/prefer-unicode-code-point-escapes'?: Linter.RuleEntry<[]>;
8790
+ /**
8791
+ * Prefer `URL.canParse()` over constructing a `URL` in a try/catch for validation.
8792
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-url-can-parse.md
8793
+ */
8794
+ 'unicorn/prefer-url-can-parse'?: Linter.RuleEntry<[]>;
8795
+ /**
8796
+ * Prefer `URL#href` over stringifying a `URL`.
8797
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-url-href.md
8798
+ */
8799
+ 'unicorn/prefer-url-href'?: Linter.RuleEntry<[]>;
8800
+ /**
8801
+ * Prefer `URLSearchParams` over manually splitting query strings.
8802
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-url-search-parameters.md
8803
+ */
8804
+ 'unicorn/prefer-url-search-parameters'?: Linter.RuleEntry<[]>;
8805
+ /**
8806
+ * Prefer putting the condition in the while statement.
8807
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/prefer-while-loop-condition.md
8808
+ */
8809
+ 'unicorn/prefer-while-loop-condition'?: Linter.RuleEntry<[]>;
8810
+ /**
8811
+ * Renamed to `unicorn/name-replacements`.
8812
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/deleted-and-deprecated-rules.md#prevent-abbreviations
8813
+ * @deprecated
8061
8814
  */
8062
- 'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>;
8815
+ 'unicorn/prevent-abbreviations'?: Linter.RuleEntry<[]>;
8063
8816
  /**
8064
8817
  * Enforce consistent relative URL style.
8065
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/relative-url-style.md
8818
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/relative-url-style.md
8066
8819
  */
8067
8820
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>;
8068
8821
  /**
8069
8822
  * Enforce using the separator argument with `Array#join()`.
8070
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/require-array-join-separator.md
8823
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/require-array-join-separator.md
8071
8824
  */
8072
8825
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>;
8826
+ /**
8827
+ * Require a compare function when calling `Array#sort()` or `Array#toSorted()`.
8828
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/require-array-sort-compare.md
8829
+ */
8830
+ 'unicorn/require-array-sort-compare'?: Linter.RuleEntry<[]>;
8073
8831
  /**
8074
8832
  * Require `CSS.escape()` for interpolated values in CSS selectors.
8075
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/require-css-escape.md
8833
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/require-css-escape.md
8076
8834
  */
8077
8835
  'unicorn/require-css-escape'?: Linter.RuleEntry<UnicornRequireCssEscape>;
8078
8836
  /**
8079
8837
  * Require non-empty module attributes for imports and exports
8080
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/require-module-attributes.md
8838
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/require-module-attributes.md
8081
8839
  */
8082
8840
  'unicorn/require-module-attributes'?: Linter.RuleEntry<[]>;
8083
8841
  /**
8084
8842
  * Require non-empty specifier list in import and export statements.
8085
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/require-module-specifiers.md
8843
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/require-module-specifiers.md
8086
8844
  */
8087
8845
  'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>;
8088
8846
  /**
8089
8847
  * Enforce using the digits argument with `Number#toFixed()`.
8090
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/require-number-to-fixed-digits-argument.md
8848
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/require-number-to-fixed-digits-argument.md
8091
8849
  */
8092
8850
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>;
8093
8851
  /**
8094
8852
  * Require passive event listeners for high-frequency events.
8095
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/require-passive-events.md
8853
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/require-passive-events.md
8096
8854
  */
8097
8855
  'unicorn/require-passive-events'?: Linter.RuleEntry<[]>;
8098
8856
  /**
8099
8857
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
8100
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/require-post-message-target-origin.md
8858
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/require-post-message-target-origin.md
8101
8859
  */
8102
8860
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>;
8861
+ /**
8862
+ * Require boolean-returning Proxy traps to return booleans.
8863
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/require-proxy-trap-boolean-return.md
8864
+ */
8865
+ 'unicorn/require-proxy-trap-boolean-return'?: Linter.RuleEntry<[]>;
8103
8866
  /**
8104
8867
  * Enforce better string content.
8105
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/string-content.md
8868
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/string-content.md
8106
8869
  */
8107
8870
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>;
8108
8871
  /**
8109
8872
  * Enforce consistent brace style for `case` clauses.
8110
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/switch-case-braces.md
8873
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/switch-case-braces.md
8111
8874
  */
8112
8875
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>;
8113
8876
  /**
8114
8877
  * Enforce consistent `break`/`return`/`continue`/`throw` position in `case` clauses.
8115
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/switch-case-break-position.md
8878
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/switch-case-break-position.md
8116
8879
  */
8117
8880
  'unicorn/switch-case-break-position'?: Linter.RuleEntry<[]>;
8118
8881
  /**
8119
8882
  * Fix whitespace-insensitive template indentation.
8120
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/template-indent.md
8883
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/template-indent.md
8121
8884
  */
8122
8885
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>;
8123
8886
  /**
8124
8887
  * Enforce consistent case for text encoding identifiers.
8125
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/text-encoding-identifier-case.md
8888
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/text-encoding-identifier-case.md
8126
8889
  */
8127
8890
  'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<UnicornTextEncodingIdentifierCase>;
8128
8891
  /**
8129
8892
  * Require `new` when creating an error.
8130
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/throw-new-error.md
8893
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/throw-new-error.md
8131
8894
  */
8132
8895
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>;
8133
8896
  /**
8134
8897
  * Limit the complexity of `try` blocks.
8135
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/try-complexity.md
8898
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v70.0.0/docs/rules/try-complexity.md
8136
8899
  */
8137
8900
  'unicorn/try-complexity'?: Linter.RuleEntry<UnicornTryComplexity>;
8138
8901
  /**
@@ -8679,6 +9442,11 @@ interface RuleOptions {
8679
9442
  * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-tab-indent.html
8680
9443
  */
8681
9444
  'yml/no-tab-indent'?: Linter.RuleEntry<[]>;
9445
+ /**
9446
+ * disallow trailing whitespace at the end of lines
9447
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-trailing-spaces.html
9448
+ */
9449
+ 'yml/no-trailing-spaces'?: Linter.RuleEntry<YmlNoTrailingSpaces>;
8682
9450
  /**
8683
9451
  * disallow trailing zeros for floats
8684
9452
  * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-trailing-zeros.html
@@ -9078,9 +9846,9 @@ type CssSelectorComplexity = [] | [{
9078
9846
  type CssUseBaseline = [] | [{
9079
9847
  available?: (("widely" | "newly") | number);
9080
9848
  allowAtRules?: ("position-try" | "keyframes" | "layer" | "charset" | "container" | "counter-style" | "view-transition" | "custom-media" | "font-face" | "font-palette-values" | "font-feature-values" | "function" | "import" | "media" | "namespace" | "page" | "property" | "scope" | "starting-style" | "supports")[];
9081
- allowFunctions?: ("abs" | "sign" | "anchor" | "anchor-size" | "attr" | "calc" | "calc-size" | "shape" | "rect" | "color" | "color-mix" | "conic-gradient" | "repeating-conic-gradient" | "contrast-color" | "round" | "superellipse" | "counter" | "counters" | "cross-fade" | "cubic-bezier" | "var" | "dynamic-range-limit-mix" | "element" | "exp" | "hypot" | "log" | "pow" | "sqrt" | "blur" | "brightness" | "contrast" | "drop-shadow" | "grayscale" | "hue-rotate" | "invert" | "opacity" | "saturate" | "sepia" | "filter" | "fit-content" | "url" | "type" | "linear-gradient" | "radial-gradient" | "repeating-linear-gradient" | "repeating-radial-gradient" | "hsl" | "hwb" | "if" | "image" | "image-set" | "lab" | "lch" | "light-dark" | "clamp" | "max" | "min" | "ray" | "oklab" | "oklch" | "paint" | "path" | "progress" | "random" | "xywh" | "rgb" | "mod" | "rem" | "env" | "circle" | "ellipse" | "inset" | "polygon" | "sibling-count" | "sibling-index" | "steps" | "matrix" | "rotate" | "scale" | "scaleX" | "scaleY" | "skew" | "skewX" | "skewY" | "translate" | "translateX" | "translateY" | "matrix3d" | "perspective" | "rotate3d" | "rotateX" | "rotateY" | "rotateZ" | "scale3d" | "scaleZ" | "translate3d" | "translateZ" | "acos" | "asin" | "atan" | "atan2" | "cos" | "sin" | "tan" | "cross-origin" | "referrer-policy")[];
9849
+ allowFunctions?: ("abs" | "sign" | "anchor" | "anchor-size" | "attr" | "calc" | "calc-size" | "shape" | "rect" | "color" | "color-mix" | "conic-gradient" | "repeating-conic-gradient" | "contrast-color" | "round" | "superellipse" | "counter" | "counters" | "cross-fade" | "cubic-bezier" | "var" | "dynamic-range-limit-mix" | "element" | "exp" | "hypot" | "log" | "pow" | "sqrt" | "blur" | "brightness" | "contrast" | "drop-shadow" | "grayscale" | "hue-rotate" | "invert" | "opacity" | "saturate" | "sepia" | "filter" | "fit-content" | "url" | "type" | "linear-gradient" | "radial-gradient" | "repeating-linear-gradient" | "repeating-radial-gradient" | "hsl" | "hwb" | "if" | "image" | "image-set" | "lab" | "lch" | "light-dark" | "clamp" | "max" | "min" | "ray" | "oklab" | "oklch" | "paint" | "path" | "progress" | "random" | "xywh" | "rgb" | "mod" | "rem" | "env" | "circle" | "ellipse" | "inset" | "polygon" | "sibling-count" | "sibling-index" | "steps" | "matrix" | "rotate" | "scale" | "scaleX" | "scaleY" | "skew" | "skewX" | "skewY" | "translate" | "translateX" | "translateY" | "matrix3d" | "perspective" | "rotate3d" | "rotateX" | "rotateY" | "rotateZ" | "scale3d" | "scaleZ" | "translate3d" | "translateZ" | "acos" | "asin" | "atan" | "atan2" | "cos" | "sin" | "tan" | "cross-origin" | "integrity" | "referrer-policy")[];
9082
9850
  allowMediaConditions?: ("color-gamut" | "device-posture" | "device-aspect-ratio" | "device-height" | "device-width" | "display-mode" | "dynamic-range" | "forced-colors" | "any-hover" | "any-pointer" | "hover" | "pointer" | "inverted-colors" | "aspect-ratio" | "calc" | "color" | "color-index" | "grid" | "height" | "monochrome" | "nested-queries" | "orientation" | "width" | "overflow-block" | "overflow-inline" | "prefers-color-scheme" | "prefers-contrast" | "prefers-reduced-data" | "prefers-reduced-motion" | "prefers-reduced-transparency" | "resolution" | "-webkit-device-pixel-ratio" | "-webkit-max-device-pixel-ratio" | "-webkit-min-device-pixel-ratio" | "scripting" | "-webkit-transform-3d" | "update" | "video-dynamic-range" | "horizontal-viewport-segments" | "vertical-viewport-segments")[];
9083
- allowProperties?: ("accent-color" | "alignment-baseline" | "all" | "anchor-name" | "anchor-scope" | "position-anchor" | "position-area" | "position-try" | "position-try-fallbacks" | "position-try-order" | "position-visibility" | "animation-composition" | "animation" | "animation-delay" | "animation-direction" | "animation-duration" | "animation-fill-mode" | "animation-iteration-count" | "animation-name" | "animation-play-state" | "animation-timing-function" | "appearance" | "aspect-ratio" | "backdrop-filter" | "background" | "background-attachment" | "background-blend-mode" | "background-clip" | "background-color" | "background-image" | "background-origin" | "background-position" | "background-position-x" | "background-position-y" | "background-repeat" | "background-size" | "baseline-shift" | "baseline-source" | "border-image" | "border-image-outset" | "border-image-repeat" | "border-image-slice" | "border-image-source" | "border-image-width" | "border-bottom-left-radius" | "border-bottom-right-radius" | "border-radius" | "border-top-left-radius" | "border-top-right-radius" | "border-shape" | "border" | "border-bottom" | "border-bottom-color" | "border-bottom-style" | "border-bottom-width" | "border-color" | "border-left" | "border-left-color" | "border-left-style" | "border-left-width" | "border-right" | "border-right-color" | "border-right-style" | "border-right-width" | "border-style" | "border-top" | "border-top-color" | "border-top-style" | "border-top-width" | "border-width" | "box-decoration-break" | "box-shadow" | "box-sizing" | "caret-color" | "caret-shape" | "clip" | "clip-path" | "color" | "color-adjust" | "color-scheme" | "column-fill" | "column-span" | "contain" | "contain-intrinsic-block-size" | "contain-intrinsic-height" | "contain-intrinsic-inline-size" | "contain-intrinsic-size" | "contain-intrinsic-width" | "container" | "container-name" | "container-type" | "content" | "content-visibility" | "corner-block-end-shape" | "corner-block-start-shape" | "corner-bottom-left-shape" | "corner-bottom-right-shape" | "corner-bottom-shape" | "corner-end-end-shape" | "corner-end-start-shape" | "corner-inline-end-shape" | "corner-inline-start-shape" | "corner-left-shape" | "corner-right-shape" | "corner-shape" | "corner-start-end-shape" | "corner-start-start-shape" | "corner-top-left-shape" | "corner-top-right-shape" | "corner-top-shape" | "counter-set" | "counter-increment" | "counter-reset" | "custom-property" | "display" | "dominant-baseline" | "dynamic-range-limit" | "field-sizing" | "filter" | "align-content" | "align-items" | "align-self" | "flex" | "flex-basis" | "flex-direction" | "flex-flow" | "flex-grow" | "flex-shrink" | "flex-wrap" | "justify-content" | "justify-items" | "order" | "place-content" | "place-items" | "place-self" | "clear" | "float" | "font-family" | "font-feature-settings" | "font-kerning" | "font-language-override" | "font-optical-sizing" | "font-palette" | "font" | "font-size" | "font-size-adjust" | "font-stretch" | "font-style" | "font-synthesis" | "font-synthesis-position" | "font-synthesis-small-caps" | "font-synthesis-style" | "font-synthesis-weight" | "font-variant" | "font-variant-alternates" | "font-variant-caps" | "font-variant-east-asian" | "font-variant-emoji" | "font-variant-ligatures" | "font-variant-numeric" | "font-variant-position" | "font-variation-settings" | "font-weight" | "font-width" | "forced-color-adjust" | "glyph-orientation-vertical" | "gap" | "grid" | "grid-area" | "grid-auto-columns" | "grid-auto-flow" | "grid-auto-rows" | "grid-column" | "grid-column-end" | "grid-column-start" | "grid-row" | "grid-row-end" | "grid-row-start" | "grid-template" | "grid-template-areas" | "grid-template-columns" | "grid-template-rows" | "justify-self" | "row-gap" | "hanging-punctuation" | "hyphenate-character" | "hyphenate-limit-chars" | "hyphens" | "image-orientation" | "image-rendering" | "ime-mode" | "rotate" | "scale" | "translate" | "initial-letter" | "interactivity" | "interpolate-size" | "isolation" | "direction" | "unicode-bidi" | "letter-spacing" | "line-break" | "line-clamp" | "line-height" | "list-style" | "list-style-image" | "list-style-position" | "list-style-type" | "block-size" | "border-block" | "border-block-color" | "border-block-end" | "border-block-end-color" | "border-block-end-style" | "border-block-end-width" | "border-block-start" | "border-block-start-color" | "border-block-start-style" | "border-block-start-width" | "border-block-style" | "border-block-width" | "border-end-end-radius" | "border-end-start-radius" | "border-inline" | "border-inline-color" | "border-inline-end" | "border-inline-end-color" | "border-inline-end-style" | "border-inline-end-width" | "border-inline-start" | "border-inline-start-color" | "border-inline-start-style" | "border-inline-start-width" | "border-inline-style" | "border-inline-width" | "border-start-end-radius" | "border-start-start-radius" | "inline-size" | "inset" | "inset-block" | "inset-block-end" | "inset-block-start" | "inset-inline" | "inset-inline-end" | "inset-inline-start" | "margin-block" | "margin-block-end" | "margin-block-start" | "margin-inline" | "margin-inline-end" | "margin-inline-start" | "max-block-size" | "max-inline-size" | "min-block-size" | "min-inline-size" | "overflow-block" | "overflow-inline" | "padding-block" | "padding-block-end" | "padding-block-start" | "padding-inline" | "padding-inline-end" | "padding-inline-start" | "margin" | "margin-bottom" | "margin-left" | "margin-right" | "margin-top" | "margin-trim" | "mask-border" | "mask-border-outset" | "mask-border-repeat" | "mask-border-slice" | "mask-border-source" | "mask-border-width" | "mask-type" | "mask" | "mask-clip" | "mask-composite" | "mask-image" | "mask-mode" | "mask-origin" | "mask-position" | "mask-repeat" | "mask-size" | "math-depth" | "math-shift" | "math-style" | "max-height" | "max-width" | "min-height" | "min-width" | "mix-blend-mode" | "offset" | "offset-anchor" | "offset-distance" | "offset-path" | "offset-position" | "offset-rotate" | "column-count" | "column-gap" | "column-rule" | "column-rule-color" | "column-rule-style" | "column-rule-width" | "column-width" | "columns" | "object-fit" | "object-position" | "object-view-box" | "opacity" | "fill-opacity" | "stroke-opacity" | "outline" | "outline-color" | "outline-offset" | "outline-style" | "outline-width" | "overflow-anchor" | "overflow-clip-margin" | "overflow" | "overflow-x" | "overflow-y" | "overflow-wrap" | "overlay" | "overscroll-behavior" | "overscroll-behavior-block" | "overscroll-behavior-inline" | "overscroll-behavior-x" | "overscroll-behavior-y" | "padding" | "padding-bottom" | "padding-left" | "padding-right" | "padding-top" | "page-break-after" | "page-break-before" | "page-break-inside" | "break-after" | "break-before" | "break-inside" | "page" | "paint-order" | "bottom" | "left" | "right" | "top" | "pointer-events" | "position" | "print-color-adjust" | "quotes" | "reading-flow" | "reading-order" | "resize" | "ruby-align" | "ruby-overhang" | "ruby-position" | "scroll-behavior" | "animation-range" | "animation-range-end" | "animation-range-start" | "animation-timeline" | "scroll-timeline" | "scroll-timeline-axis" | "scroll-timeline-name" | "timeline-scope" | "view-timeline" | "view-timeline-axis" | "view-timeline-inset" | "view-timeline-name" | "scroll-initial-target" | "scroll-marker-group" | "scroll-margin" | "scroll-margin-block" | "scroll-margin-block-end" | "scroll-margin-block-start" | "scroll-margin-bottom" | "scroll-margin-inline" | "scroll-margin-inline-end" | "scroll-margin-inline-start" | "scroll-margin-left" | "scroll-margin-right" | "scroll-margin-top" | "scroll-padding" | "scroll-padding-block" | "scroll-padding-block-end" | "scroll-padding-block-start" | "scroll-padding-bottom" | "scroll-padding-inline" | "scroll-padding-inline-end" | "scroll-padding-inline-start" | "scroll-padding-left" | "scroll-padding-right" | "scroll-padding-top" | "scroll-snap-align" | "scroll-snap-stop" | "scroll-snap-type" | "scroll-target-group" | "scrollbar-color" | "scrollbar-gutter" | "scrollbar-width" | "shape-image-threshold" | "shape-margin" | "shape-outside" | "speak" | "speak-as" | "clip-rule" | "color-interpolation" | "cx" | "cy" | "d" | "fill" | "fill-rule" | "marker" | "marker-end" | "marker-mid" | "marker-start" | "r" | "rx" | "ry" | "shape-rendering" | "stop-color" | "stop-opacity" | "stroke" | "stroke-color" | "stroke-dasharray" | "stroke-dashoffset" | "stroke-linecap" | "stroke-linejoin" | "stroke-miterlimit" | "stroke-width" | "text-anchor" | "text-rendering" | "vector-effect" | "x" | "y" | "color-interpolation-filters" | "flood-color" | "flood-opacity" | "lighting-color" | "tab-size" | "border-collapse" | "border-spacing" | "caption-side" | "empty-cells" | "table-layout" | "text-align" | "text-align-last" | "text-autospace" | "text-box" | "text-box-edge" | "text-box-trim" | "text-combine-upright" | "text-decoration" | "text-decoration-color" | "text-decoration-line" | "text-decoration-style" | "text-decoration-thickness" | "text-decoration-skip-ink" | "text-emphasis" | "text-emphasis-color" | "text-emphasis-position" | "text-emphasis-style" | "text-indent" | "text-justify" | "text-orientation" | "text-overflow" | "text-shadow" | "text-size-adjust" | "text-spacing-trim" | "-webkit-text-fill-color" | "-webkit-text-stroke" | "-webkit-text-stroke-color" | "-webkit-text-stroke-width" | "text-transform" | "text-underline-offset" | "text-underline-position" | "text-wrap" | "text-wrap-mode" | "text-wrap-style" | "touch-action" | "transform-box" | "transform" | "transform-origin" | "backface-visibility" | "perspective" | "perspective-origin" | "transform-style" | "transition-behavior" | "transition" | "transition-delay" | "transition-duration" | "transition-property" | "transition-timing-function" | "user-select" | "vertical-align" | "view-transition-class" | "view-transition-name" | "view-transition-scope" | "visibility" | "white-space" | "white-space-collapse" | "orphans" | "widows" | "height" | "width" | "will-change" | "word-break" | "word-spacing" | "writing-mode" | "z-index" | "zoom")[];
9851
+ allowProperties?: ("accent-color" | "alignment-baseline" | "all" | "anchor-name" | "anchor-scope" | "position-anchor" | "position-area" | "position-try" | "position-try-fallbacks" | "position-try-order" | "position-visibility" | "animation-composition" | "animation" | "animation-delay" | "animation-direction" | "animation-duration" | "animation-fill-mode" | "animation-iteration-count" | "animation-name" | "animation-play-state" | "animation-timing-function" | "appearance" | "aspect-ratio" | "backdrop-filter" | "background" | "background-attachment" | "background-blend-mode" | "background-clip" | "background-color" | "background-image" | "background-origin" | "background-position" | "background-position-x" | "background-position-y" | "background-repeat" | "background-size" | "baseline-shift" | "baseline-source" | "border-image" | "border-image-outset" | "border-image-repeat" | "border-image-slice" | "border-image-source" | "border-image-width" | "border-bottom-left-radius" | "border-bottom-right-radius" | "border-radius" | "border-top-left-radius" | "border-top-right-radius" | "border-shape" | "border" | "border-bottom" | "border-bottom-color" | "border-bottom-style" | "border-bottom-width" | "border-color" | "border-left" | "border-left-color" | "border-left-style" | "border-left-width" | "border-right" | "border-right-color" | "border-right-style" | "border-right-width" | "border-style" | "border-top" | "border-top-color" | "border-top-style" | "border-top-width" | "border-width" | "box-decoration-break" | "box-shadow" | "box-sizing" | "caret-color" | "caret-shape" | "clip" | "clip-path" | "color" | "color-adjust" | "color-scheme" | "column-fill" | "column-span" | "contain" | "contain-intrinsic-block-size" | "contain-intrinsic-height" | "contain-intrinsic-inline-size" | "contain-intrinsic-size" | "contain-intrinsic-width" | "container" | "container-name" | "container-type" | "content" | "content-visibility" | "corner-block-end-shape" | "corner-block-start-shape" | "corner-bottom-left-shape" | "corner-bottom-right-shape" | "corner-bottom-shape" | "corner-end-end-shape" | "corner-end-start-shape" | "corner-inline-end-shape" | "corner-inline-start-shape" | "corner-left-shape" | "corner-right-shape" | "corner-shape" | "corner-start-end-shape" | "corner-start-start-shape" | "corner-top-left-shape" | "corner-top-right-shape" | "corner-top-shape" | "counter-set" | "counter-increment" | "counter-reset" | "custom-property" | "display" | "dominant-baseline" | "dynamic-range-limit" | "field-sizing" | "filter" | "align-content" | "align-items" | "align-self" | "flex" | "flex-basis" | "flex-direction" | "flex-flow" | "flex-grow" | "flex-shrink" | "flex-wrap" | "justify-content" | "justify-items" | "order" | "place-content" | "place-items" | "place-self" | "clear" | "float" | "font-family" | "font-feature-settings" | "font-kerning" | "font-language-override" | "font-optical-sizing" | "font-palette" | "font" | "font-size" | "font-size-adjust" | "font-stretch" | "font-style" | "font-synthesis" | "font-synthesis-position" | "font-synthesis-small-caps" | "font-synthesis-style" | "font-synthesis-weight" | "font-variant" | "font-variant-alternates" | "font-variant-caps" | "font-variant-east-asian" | "font-variant-emoji" | "font-variant-ligatures" | "font-variant-numeric" | "font-variant-position" | "font-variation-settings" | "font-weight" | "font-width" | "forced-color-adjust" | "column-rule-break" | "column-rule-inset" | "column-rule-inset-cap" | "column-rule-inset-cap-end" | "column-rule-inset-cap-start" | "column-rule-inset-end" | "column-rule-inset-junction" | "column-rule-inset-junction-end" | "column-rule-inset-junction-start" | "column-rule-inset-start" | "column-rule-visibility-items" | "row-rule" | "row-rule-break" | "row-rule-color" | "row-rule-inset" | "row-rule-inset-cap" | "row-rule-inset-cap-end" | "row-rule-inset-cap-start" | "row-rule-inset-end" | "row-rule-inset-junction" | "row-rule-inset-junction-end" | "row-rule-inset-junction-start" | "row-rule-inset-start" | "row-rule-style" | "row-rule-visibility-items" | "row-rule-width" | "rule" | "rule-break" | "rule-color" | "rule-inset" | "rule-inset-cap" | "rule-inset-end" | "rule-inset-junction" | "rule-inset-start" | "rule-overlap" | "rule-style" | "rule-visibility-items" | "rule-width" | "glyph-orientation-vertical" | "gap" | "grid" | "grid-area" | "grid-auto-columns" | "grid-auto-flow" | "grid-auto-rows" | "grid-column" | "grid-column-end" | "grid-column-start" | "grid-row" | "grid-row-end" | "grid-row-start" | "grid-template" | "grid-template-areas" | "grid-template-columns" | "grid-template-rows" | "justify-self" | "row-gap" | "hanging-punctuation" | "hyphenate-character" | "hyphenate-limit-chars" | "hyphens" | "image-orientation" | "image-rendering" | "ime-mode" | "rotate" | "scale" | "translate" | "initial-letter" | "interactivity" | "interpolate-size" | "isolation" | "direction" | "unicode-bidi" | "letter-spacing" | "line-break" | "line-clamp" | "line-height" | "list-style" | "list-style-image" | "list-style-position" | "list-style-type" | "block-size" | "border-block" | "border-block-color" | "border-block-end" | "border-block-end-color" | "border-block-end-style" | "border-block-end-width" | "border-block-start" | "border-block-start-color" | "border-block-start-style" | "border-block-start-width" | "border-block-style" | "border-block-width" | "border-end-end-radius" | "border-end-start-radius" | "border-inline" | "border-inline-color" | "border-inline-end" | "border-inline-end-color" | "border-inline-end-style" | "border-inline-end-width" | "border-inline-start" | "border-inline-start-color" | "border-inline-start-style" | "border-inline-start-width" | "border-inline-style" | "border-inline-width" | "border-start-end-radius" | "border-start-start-radius" | "inline-size" | "inset" | "inset-block" | "inset-block-end" | "inset-block-start" | "inset-inline" | "inset-inline-end" | "inset-inline-start" | "margin-block" | "margin-block-end" | "margin-block-start" | "margin-inline" | "margin-inline-end" | "margin-inline-start" | "max-block-size" | "max-inline-size" | "min-block-size" | "min-inline-size" | "overflow-block" | "overflow-inline" | "padding-block" | "padding-block-end" | "padding-block-start" | "padding-inline" | "padding-inline-end" | "padding-inline-start" | "margin" | "margin-bottom" | "margin-left" | "margin-right" | "margin-top" | "margin-trim" | "mask-border" | "mask-border-outset" | "mask-border-repeat" | "mask-border-slice" | "mask-border-source" | "mask-border-width" | "mask-type" | "mask" | "mask-clip" | "mask-composite" | "mask-image" | "mask-mode" | "mask-origin" | "mask-position" | "mask-repeat" | "mask-size" | "math-depth" | "math-shift" | "math-style" | "max-height" | "max-width" | "min-height" | "min-width" | "mix-blend-mode" | "offset" | "offset-anchor" | "offset-distance" | "offset-path" | "offset-position" | "offset-rotate" | "column-count" | "column-gap" | "column-rule" | "column-rule-color" | "column-rule-style" | "column-rule-width" | "column-width" | "columns" | "object-fit" | "object-position" | "object-view-box" | "opacity" | "fill-opacity" | "stroke-opacity" | "outline" | "outline-color" | "outline-offset" | "outline-style" | "outline-width" | "overflow-anchor" | "overflow-clip-margin" | "overflow" | "overflow-x" | "overflow-y" | "overflow-wrap" | "overlay" | "overscroll-behavior" | "overscroll-behavior-block" | "overscroll-behavior-inline" | "overscroll-behavior-x" | "overscroll-behavior-y" | "padding" | "padding-bottom" | "padding-left" | "padding-right" | "padding-top" | "page-break-after" | "page-break-before" | "page-break-inside" | "break-after" | "break-before" | "break-inside" | "page" | "paint-order" | "bottom" | "left" | "right" | "top" | "pointer-events" | "position" | "print-color-adjust" | "quotes" | "reading-flow" | "reading-order" | "resize" | "ruby-align" | "ruby-overhang" | "ruby-position" | "scroll-behavior" | "animation-range" | "animation-range-end" | "animation-range-start" | "animation-timeline" | "scroll-timeline" | "scroll-timeline-axis" | "scroll-timeline-name" | "timeline-scope" | "view-timeline" | "view-timeline-axis" | "view-timeline-inset" | "view-timeline-name" | "scroll-initial-target" | "scroll-marker-group" | "scroll-margin" | "scroll-margin-block" | "scroll-margin-block-end" | "scroll-margin-block-start" | "scroll-margin-bottom" | "scroll-margin-inline" | "scroll-margin-inline-end" | "scroll-margin-inline-start" | "scroll-margin-left" | "scroll-margin-right" | "scroll-margin-top" | "scroll-padding" | "scroll-padding-block" | "scroll-padding-block-end" | "scroll-padding-block-start" | "scroll-padding-bottom" | "scroll-padding-inline" | "scroll-padding-inline-end" | "scroll-padding-inline-start" | "scroll-padding-left" | "scroll-padding-right" | "scroll-padding-top" | "scroll-snap-align" | "scroll-snap-stop" | "scroll-snap-type" | "scroll-target-group" | "scrollbar-color" | "scrollbar-gutter" | "scrollbar-width" | "shape-image-threshold" | "shape-margin" | "shape-outside" | "speak" | "speak-as" | "clip-rule" | "color-interpolation" | "cx" | "cy" | "d" | "fill" | "fill-rule" | "marker" | "marker-end" | "marker-mid" | "marker-start" | "r" | "rx" | "ry" | "shape-rendering" | "stop-color" | "stop-opacity" | "stroke" | "stroke-color" | "stroke-dasharray" | "stroke-dashoffset" | "stroke-linecap" | "stroke-linejoin" | "stroke-miterlimit" | "stroke-width" | "text-anchor" | "text-rendering" | "vector-effect" | "x" | "y" | "color-interpolation-filters" | "flood-color" | "flood-opacity" | "lighting-color" | "tab-size" | "border-collapse" | "border-spacing" | "caption-side" | "empty-cells" | "table-layout" | "text-align" | "text-align-last" | "text-autospace" | "text-box" | "text-box-edge" | "text-box-trim" | "text-combine-upright" | "text-decoration" | "text-decoration-color" | "text-decoration-line" | "text-decoration-style" | "text-decoration-thickness" | "text-decoration-skip-ink" | "text-emphasis" | "text-emphasis-color" | "text-emphasis-position" | "text-emphasis-style" | "text-indent" | "text-justify" | "text-orientation" | "text-overflow" | "text-shadow" | "text-size-adjust" | "text-spacing-trim" | "-webkit-text-fill-color" | "-webkit-text-stroke" | "-webkit-text-stroke-color" | "-webkit-text-stroke-width" | "text-transform" | "text-underline-offset" | "text-underline-position" | "text-wrap" | "text-wrap-mode" | "text-wrap-style" | "touch-action" | "transform-box" | "transform" | "transform-origin" | "backface-visibility" | "perspective" | "perspective-origin" | "transform-style" | "transition-behavior" | "transition" | "transition-delay" | "transition-duration" | "transition-property" | "transition-timing-function" | "user-select" | "vertical-align" | "view-transition-class" | "view-transition-name" | "view-transition-scope" | "visibility" | "white-space" | "white-space-collapse" | "orphans" | "widows" | "height" | "width" | "will-change" | "word-break" | "word-spacing" | "writing-mode" | "z-index" | "zoom")[];
9084
9852
  allowPropertyValues?: {
9085
9853
  position?: ("absolute" | "fixed" | "relative" | "static" | "sticky")[];
9086
9854
  "accent-color"?: ("auto" | "currentColor" | "transparent")[];
@@ -9253,6 +10021,44 @@ type CssUseBaseline = [] | [{
9253
10021
  "font-weight"?: ("bold" | "bolder" | "lighter" | "normal" | "number")[];
9254
10022
  "font-width"?: ("condensed" | "expanded" | "extra-condensed" | "extra-expanded" | "normal" | "semi-condensed" | "semi-expanded" | "ultra-condensed" | "ultra-expanded")[];
9255
10023
  "forced-color-adjust"?: ("auto" | "none" | "preserve-parent-color")[];
10024
+ "column-rule-break"?: ("intersection" | "none" | "normal")[];
10025
+ "column-rule-inset-cap-end"?: ("overlap-join")[];
10026
+ "column-rule-inset-cap-start"?: ("overlap-join")[];
10027
+ "column-rule-inset-cap"?: ("overlap-join")[];
10028
+ "column-rule-inset-end"?: ("overlap-join")[];
10029
+ "column-rule-inset-junction-end"?: ("overlap-join")[];
10030
+ "column-rule-inset-junction-start"?: ("overlap-join")[];
10031
+ "column-rule-inset-junction"?: ("overlap-join")[];
10032
+ "column-rule-inset-start"?: ("overlap-join")[];
10033
+ "column-rule-inset"?: ("overlap-join")[];
10034
+ "column-rule-visibility-items"?: ("all" | "around" | "between" | "normal")[];
10035
+ "row-rule-break"?: ("intersection" | "none" | "normal")[];
10036
+ "row-rule-color"?: ("currentColor" | "transparent")[];
10037
+ "row-rule-inset-cap-end"?: ("overlap-join")[];
10038
+ "row-rule-inset-cap-start"?: ("overlap-join")[];
10039
+ "row-rule-inset-cap"?: ("overlap-join")[];
10040
+ "row-rule-inset-end"?: ("overlap-join")[];
10041
+ "row-rule-inset-junction-end"?: ("overlap-join")[];
10042
+ "row-rule-inset-junction-start"?: ("overlap-join")[];
10043
+ "row-rule-inset-junction"?: ("overlap-join")[];
10044
+ "row-rule-inset-start"?: ("overlap-join")[];
10045
+ "row-rule-inset"?: ("overlap-join")[];
10046
+ "row-rule-style"?: ("dashed" | "dotted" | "double" | "groove" | "hidden" | "inset" | "none" | "outset" | "ridge" | "solid")[];
10047
+ "row-rule-visibility-items"?: ("all" | "around" | "between" | "normal")[];
10048
+ "row-rule-width"?: ("medium" | "thick" | "thin")[];
10049
+ "row-rule"?: ("currentColor" | "dashed" | "dotted" | "double" | "groove" | "hidden" | "inset" | "medium" | "none" | "outset" | "ridge" | "solid" | "thick" | "thin" | "transparent")[];
10050
+ "rule-break"?: ("intersection" | "none" | "normal")[];
10051
+ "rule-color"?: ("currentColor" | "transparent")[];
10052
+ "rule-inset-cap"?: ("overlap-join")[];
10053
+ "rule-inset-end"?: ("overlap-join")[];
10054
+ "rule-inset-junction"?: ("overlap-join")[];
10055
+ "rule-inset-start"?: ("overlap-join")[];
10056
+ "rule-inset"?: ("overlap-join")[];
10057
+ "rule-overlap"?: ("column-over-row" | "row-over-column")[];
10058
+ "rule-style"?: ("dashed" | "dotted" | "double" | "groove" | "hidden" | "inset" | "none" | "outset" | "ridge" | "solid")[];
10059
+ "rule-visibility-items"?: ("all" | "around" | "between" | "normal")[];
10060
+ "rule-width"?: ("medium" | "thick" | "thin")[];
10061
+ rule?: ("currentColor" | "dashed" | "dotted" | "double" | "groove" | "hidden" | "inset" | "medium" | "none" | "outset" | "ridge" | "solid" | "thick" | "thin" | "transparent")[];
9256
10062
  gap?: ("normal")[];
9257
10063
  "grid-auto-flow"?: ("column" | "dense" | "row")[];
9258
10064
  "grid-template-areas"?: ("none")[];
@@ -9416,7 +10222,7 @@ type CssUseBaseline = [] | [{
9416
10222
  "text-decoration-line"?: ("line-through" | "none" | "overline" | "underline" | "blink" | "grammar-error" | "spelling-error")[];
9417
10223
  "text-decoration-style"?: ("wavy")[];
9418
10224
  "text-decoration-thickness"?: ("auto" | "from-font" | "percentage")[];
9419
- "text-decoration"?: ("currentColor" | "transparent")[];
10225
+ "text-decoration"?: ("currentColor" | "line-through" | "none" | "overline" | "transparent" | "underline")[];
9420
10226
  "text-decoration-skip-ink"?: ("auto" | "none" | "all")[];
9421
10227
  "text-emphasis-color"?: ("currentColor" | "transparent")[];
9422
10228
  "text-emphasis-position"?: ("auto" | "left" | "over" | "right" | "under")[];
@@ -11090,6 +11896,9 @@ type NoConfusingArrow = [] | [{
11090
11896
  }]; // ----- no-console -----
11091
11897
  type NoConsole = [] | [{
11092
11898
  allow?: [string, ...(string)[]];
11899
+ }]; // ----- no-constant-binary-expression -----
11900
+ type NoConstantBinaryExpression = [] | [{
11901
+ checkRelationalComparisons?: boolean;
11093
11902
  }]; // ----- no-constant-condition -----
11094
11903
  type NoConstantCondition = [] | [{
11095
11904
  checkLoops?: ("all" | "allExceptWhileTrue" | "none" | true | false);
@@ -14378,6 +15187,30 @@ type UnicodeBom = [] | [("always" | "never")]; // ----- unicorn/catch-error-name
14378
15187
  type UnicornCatchErrorName = [] | [{
14379
15188
  name?: string;
14380
15189
  ignore?: unknown[];
15190
+ }]; // ----- unicorn/class-reference-in-static-methods -----
15191
+ type UnicornClassReferenceInStaticMethods = [] | [{
15192
+ preferThis?: boolean;
15193
+ preferSuper?: boolean;
15194
+ }]; // ----- unicorn/comment-content -----
15195
+ type UnicornCommentContent = [] | [{
15196
+ checkUniformCase?: boolean;
15197
+ extendDefaultReplacements?: boolean;
15198
+ replacements?: {
15199
+ [k: string]: (false | string | {
15200
+ replacement: string;
15201
+ caseSensitive?: boolean;
15202
+ }) | undefined;
15203
+ };
15204
+ }]; // ----- unicorn/consistent-boolean-name -----
15205
+ type UnicornConsistentBooleanName = [] | [{
15206
+ checkProperties?: boolean;
15207
+ prefixes?: {
15208
+ [k: string]: boolean | undefined;
15209
+ };
15210
+ ignore?: unknown[];
15211
+ }]; // ----- unicorn/consistent-class-member-order -----
15212
+ type UnicornConsistentClassMemberOrder = [] | [{
15213
+ 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")];
14381
15214
  }]; // ----- unicorn/consistent-compound-words -----
14382
15215
  type UnicornConsistentCompoundWords = [] | [{
14383
15216
  checkProperties?: boolean;
@@ -14394,11 +15227,26 @@ interface _UnicornConsistentCompoundWords_Replacements {
14394
15227
  }
14395
15228
  interface _UnicornConsistentCompoundWords_TrueObject {
14396
15229
  [k: string]: true | undefined;
14397
- } // ----- unicorn/consistent-function-scoping -----
15230
+ } // ----- unicorn/consistent-conditional-object-spread -----
15231
+ type UnicornConsistentConditionalObjectSpread = [] | [("logical" | "ternary")]; // ----- unicorn/consistent-export-decorator-position -----
15232
+ type UnicornConsistentExportDecoratorPosition = [] | [("above" | "before" | "after")]; // ----- unicorn/consistent-function-scoping -----
14398
15233
  type UnicornConsistentFunctionScoping = [] | [{
14399
15234
  checkArrowFunctions?: boolean;
15235
+ }]; // ----- unicorn/consistent-function-style -----
15236
+ type UnicornConsistentFunctionStyle = [] | [{
15237
+ default?: ("declaration" | "function-expression" | "arrow-function" | "ignore");
15238
+ namedFunctions?: ("declaration" | "function-expression" | "arrow-function" | "ignore");
15239
+ namedExports?: ("declaration" | "function-expression" | "arrow-function" | "ignore");
15240
+ callbacks?: ("function-expression" | "arrow-function" | "ignore");
15241
+ objectProperties?: ("method" | "function-expression" | "arrow-function" | "ignore");
15242
+ reassignedVariables?: ("function-expression" | "arrow-function" | "ignore");
15243
+ typedVariables?: ("function-expression" | "arrow-function" | "ignore");
14400
15244
  }]; // ----- unicorn/consistent-json-file-read -----
14401
- type UnicornConsistentJsonFileRead = [] | [("string" | "buffer")]; // ----- unicorn/dom-node-dataset -----
15245
+ type UnicornConsistentJsonFileRead = [] | [("string" | "buffer")]; // ----- unicorn/default-export-style -----
15246
+ type UnicornDefaultExportStyle = [] | [{
15247
+ functions?: ("inline" | "separate" | "ignore");
15248
+ classes?: ("inline" | "separate" | "ignore");
15249
+ }]; // ----- unicorn/dom-node-dataset -----
14402
15250
  type UnicornDomNodeDataset = [] | [{
14403
15251
  preferAttributes?: boolean;
14404
15252
  }]; // ----- unicorn/escape-case -----
@@ -14413,15 +15261,17 @@ type UnicornExpiringTodoComments = [] | [{
14413
15261
  }]; // ----- unicorn/explicit-length-check -----
14414
15262
  type UnicornExplicitLengthCheck = [] | [{
14415
15263
  "non-zero"?: ("greater-than" | "not-equal");
14416
- }]; // ----- unicorn/filename-case -----
15264
+ }]; // ----- unicorn/explicit-timer-delay -----
15265
+ type UnicornExplicitTimerDelay = [] | [("always" | "never")]; // ----- unicorn/filename-case -----
14417
15266
  type UnicornFilenameCase = [] | [({
14418
- case?: ("camelCase" | "snakeCase" | "kebabCase" | "pascalCase");
15267
+ case?: ("camelCase" | "camelCaseWithAcronyms" | "snakeCase" | "kebabCase" | "pascalCase");
14419
15268
  ignore?: unknown[];
14420
15269
  multipleFileExtensions?: boolean;
14421
15270
  checkDirectories?: boolean;
14422
15271
  } | {
14423
15272
  cases?: {
14424
15273
  camelCase?: boolean;
15274
+ camelCaseWithAcronyms?: boolean;
14425
15275
  snakeCase?: boolean;
14426
15276
  kebabCase?: boolean;
14427
15277
  pascalCase?: boolean;
@@ -14429,7 +15279,14 @@ type UnicornFilenameCase = [] | [({
14429
15279
  ignore?: unknown[];
14430
15280
  multipleFileExtensions?: boolean;
14431
15281
  checkDirectories?: boolean;
14432
- })]; // ----- unicorn/import-style -----
15282
+ })]; // ----- unicorn/id-match -----
15283
+ type UnicornIdMatch = [] | [string] | [string, {
15284
+ properties?: boolean;
15285
+ classFields?: boolean;
15286
+ onlyDeclarations?: boolean;
15287
+ ignoreDestructuring?: boolean;
15288
+ checkNamedSpecifiers?: boolean;
15289
+ }]; // ----- unicorn/import-style -----
14433
15290
  type UnicornImportStyle = [] | [{
14434
15291
  checkImport?: boolean;
14435
15292
  checkDynamicImport?: boolean;
@@ -14452,7 +15309,36 @@ type UnicornIsolatedFunctions = [] | [{
14452
15309
  functions?: string[];
14453
15310
  selectors?: string[];
14454
15311
  comments?: string[];
14455
- }]; // ----- unicorn/no-array-callback-reference -----
15312
+ }]; // ----- unicorn/logical-assignment-operators -----
15313
+ type UnicornLogicalAssignmentOperators = (([] | ["always"] | ["always", {
15314
+ enforceForIfStatements?: boolean;
15315
+ }] | ["never"]) & unknown[]); // ----- unicorn/max-nested-calls -----
15316
+ type UnicornMaxNestedCalls = [] | [{
15317
+ max?: number;
15318
+ }]; // ----- unicorn/name-replacements -----
15319
+ type UnicornNameReplacements = [] | [{
15320
+ checkProperties?: boolean;
15321
+ checkVariables?: boolean;
15322
+ checkDefaultAndNamespaceImports?: (boolean | string);
15323
+ checkShorthandImports?: (boolean | string);
15324
+ checkShorthandProperties?: boolean;
15325
+ checkFilenames?: boolean;
15326
+ extendDefaultReplacements?: boolean;
15327
+ replacements?: _UnicornNameReplacements_NameReplacements;
15328
+ extendDefaultAllowList?: boolean;
15329
+ allowList?: _UnicornNameReplacements_BooleanObject;
15330
+ ignore?: unknown[];
15331
+ }];
15332
+ type _UnicornNameReplacementsReplacements = (false | _UnicornNameReplacements_BooleanObject) | undefined;
15333
+ interface _UnicornNameReplacements_NameReplacements {
15334
+ [k: string]: _UnicornNameReplacementsReplacements | undefined;
15335
+ }
15336
+ interface _UnicornNameReplacements_BooleanObject {
15337
+ [k: string]: boolean | undefined;
15338
+ }
15339
+ interface _UnicornNameReplacements_BooleanObject {
15340
+ [k: string]: boolean | undefined;
15341
+ } // ----- unicorn/no-array-callback-reference -----
14456
15342
  type UnicornNoArrayCallbackReference = [] | [{
14457
15343
  ignore?: string[];
14458
15344
  }]; // ----- unicorn/no-array-reduce -----
@@ -14473,11 +15359,24 @@ type UnicornNoInstanceofBuiltins = [] | [{
14473
15359
  strategy?: ("loose" | "strict");
14474
15360
  include?: string[];
14475
15361
  exclude?: string[];
15362
+ }]; // ----- unicorn/no-invalid-argument-count -----
15363
+ type UnicornNoInvalidArgumentCount = [] | [{
15364
+ [k: string]: (number | [number, ...(number)[]] | {
15365
+ min?: number;
15366
+ max?: number;
15367
+ }) | undefined;
14476
15368
  }]; // ----- unicorn/no-keyword-prefix -----
14477
15369
  type UnicornNoKeywordPrefix = [] | [{
14478
15370
  disallowedPrefixes?: [] | [string];
14479
15371
  checkProperties?: boolean;
14480
15372
  onlyCamelCase?: boolean;
15373
+ }]; // ----- unicorn/no-negated-comparison -----
15374
+ type UnicornNoNegatedComparison = [] | [{
15375
+ checkLogicalExpressions?: boolean;
15376
+ }]; // ----- unicorn/no-non-function-verb-prefix -----
15377
+ type UnicornNoNonFunctionVerbPrefix = [] | [{
15378
+ verbs?: string[];
15379
+ ignore?: unknown[];
14481
15380
  }]; // ----- unicorn/no-null -----
14482
15381
  type UnicornNoNull = [] | [{
14483
15382
  checkArguments?: boolean;
@@ -14490,6 +15389,9 @@ type UnicornNoUnnecessaryPolyfills = [] | [{
14490
15389
  targets?: (string | unknown[] | {
14491
15390
  [k: string]: unknown | undefined;
14492
15391
  });
15392
+ }]; // ----- unicorn/no-unreadable-array-destructuring -----
15393
+ type UnicornNoUnreadableArrayDestructuring = [] | [{
15394
+ maximumIgnoredElements?: number;
14493
15395
  }]; // ----- unicorn/no-useless-undefined -----
14494
15396
  type UnicornNoUselessUndefined = [] | [{
14495
15397
  checkArguments?: boolean;
@@ -14521,7 +15423,8 @@ type UnicornNumericSeparatorsStyle = [] | [{
14521
15423
  fractionGroupLength?: number;
14522
15424
  };
14523
15425
  onlyIfContainsSeparator?: boolean;
14524
- }]; // ----- unicorn/prefer-add-event-listener -----
15426
+ }]; // ----- unicorn/operator-assignment -----
15427
+ type UnicornOperatorAssignment = [] | [("always" | "never")]; // ----- unicorn/prefer-add-event-listener -----
14525
15428
  type UnicornPreferAddEventListener = [] | [{
14526
15429
  excludedPackages?: string[];
14527
15430
  }]; // ----- unicorn/prefer-array-find -----
@@ -14534,12 +15437,22 @@ type UnicornPreferArrayFlat = [] | [{
14534
15437
  type UnicornPreferAt = [] | [{
14535
15438
  getLastElementFunctions?: unknown[];
14536
15439
  checkAllIndexAccess?: boolean;
15440
+ }]; // ----- unicorn/prefer-continue -----
15441
+ type UnicornPreferContinue = [] | [{
15442
+ maximumStatements?: number;
15443
+ }]; // ----- unicorn/prefer-early-return -----
15444
+ type UnicornPreferEarlyReturn = [] | [{
15445
+ maximumStatements?: number;
14537
15446
  }]; // ----- unicorn/prefer-export-from -----
14538
15447
  type UnicornPreferExportFrom = [] | [{
14539
15448
  checkUsedVariables?: boolean;
14540
15449
  }]; // ----- unicorn/prefer-includes-over-repeated-comparisons -----
14541
15450
  type UnicornPreferIncludesOverRepeatedComparisons = [] | [{
14542
15451
  minimumComparisons?: number;
15452
+ }]; // ----- unicorn/prefer-minimal-ternary -----
15453
+ type UnicornPreferMinimalTernary = [] | [{
15454
+ checkVaryingCallee?: boolean;
15455
+ checkComputedMemberAccess?: boolean;
14543
15456
  }]; // ----- unicorn/prefer-number-properties -----
14544
15457
  type UnicornPreferNumberProperties = [] | [{
14545
15458
  checkInfinity?: boolean;
@@ -14570,31 +15483,13 @@ type UnicornPreferStructuredClone = [] | [{
14570
15483
  type UnicornPreferSwitch = [] | [{
14571
15484
  minimumCases?: number;
14572
15485
  emptyDefaultCase?: ("no-default-comment" | "do-nothing-comment" | "no-default-case");
15486
+ }]; // ----- unicorn/prefer-temporal -----
15487
+ type UnicornPreferTemporal = [] | [{
15488
+ checkDateNow?: boolean;
15489
+ checkReferences?: boolean;
15490
+ checkMethods?: boolean;
14573
15491
  }]; // ----- unicorn/prefer-ternary -----
14574
- type UnicornPreferTernary = [] | [("always" | "only-single-line")]; // ----- unicorn/prevent-abbreviations -----
14575
- type UnicornPreventAbbreviations = [] | [{
14576
- checkProperties?: boolean;
14577
- checkVariables?: boolean;
14578
- checkDefaultAndNamespaceImports?: (boolean | string);
14579
- checkShorthandImports?: (boolean | string);
14580
- checkShorthandProperties?: boolean;
14581
- checkFilenames?: boolean;
14582
- extendDefaultReplacements?: boolean;
14583
- replacements?: _UnicornPreventAbbreviations_Abbreviations;
14584
- extendDefaultAllowList?: boolean;
14585
- allowList?: _UnicornPreventAbbreviations_BooleanObject;
14586
- ignore?: unknown[];
14587
- }];
14588
- type _UnicornPreventAbbreviationsReplacements = (false | _UnicornPreventAbbreviations_BooleanObject) | undefined;
14589
- interface _UnicornPreventAbbreviations_Abbreviations {
14590
- [k: string]: _UnicornPreventAbbreviationsReplacements | undefined;
14591
- }
14592
- interface _UnicornPreventAbbreviations_BooleanObject {
14593
- [k: string]: boolean | undefined;
14594
- }
14595
- interface _UnicornPreventAbbreviations_BooleanObject {
14596
- [k: string]: boolean | undefined;
14597
- } // ----- unicorn/relative-url-style -----
15492
+ type UnicornPreferTernary = [] | [("always" | "only-single-line")]; // ----- unicorn/relative-url-style -----
14598
15493
  type UnicornRelativeUrlStyle = [] | [("never" | "always")]; // ----- unicorn/require-css-escape -----
14599
15494
  type UnicornRequireCssEscape = [] | [{
14600
15495
  checkAllSelectors?: boolean;
@@ -14610,7 +15505,7 @@ type UnicornStringContent = [] | [{
14610
15505
  };
14611
15506
  selectors?: string[];
14612
15507
  }]; // ----- unicorn/switch-case-braces -----
14613
- type UnicornSwitchCaseBraces = [] | [("always" | "avoid")]; // ----- unicorn/template-indent -----
15508
+ type UnicornSwitchCaseBraces = [] | [("always" | "avoid" | "single-statement")]; // ----- unicorn/template-indent -----
14614
15509
  type UnicornTemplateIndent = [] | [{
14615
15510
  indent?: (string | number);
14616
15511
  tags?: string[];
@@ -14665,7 +15560,7 @@ type VitestNoFocusedTests = [] | [{
14665
15560
  fixable?: boolean;
14666
15561
  }]; // ----- vitest/no-hooks -----
14667
15562
  type VitestNoHooks = [] | [{
14668
- allow?: ("beforeAll" | "beforeEach" | "afterAll" | "afterEach")[];
15563
+ allow?: ("beforeAll" | "beforeEach" | "afterAll" | "afterEach" | "aroundAll" | "aroundEach")[];
14669
15564
  }]; // ----- vitest/no-large-snapshots -----
14670
15565
  type VitestNoLargeSnapshots = [] | [{
14671
15566
  maxSize?: number;
@@ -14834,6 +15729,10 @@ type YmlNoMultipleEmptyLines = [] | [{
14834
15729
  max: number;
14835
15730
  maxEOF?: number;
14836
15731
  maxBOF?: number;
15732
+ }]; // ----- yml/no-trailing-spaces -----
15733
+ type YmlNoTrailingSpaces = [] | [{
15734
+ skipBlankLines?: boolean;
15735
+ ignoreComments?: boolean;
14837
15736
  }]; // ----- yml/plain-scalar -----
14838
15737
  type YmlPlainScalar = [] | [("always" | "never")] | [("always" | "never"), {
14839
15738
  ignorePatterns?: string[];