@fabdeh/eslint-config 0.9.1 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/README.md +115 -60
  2. package/dist/index.d.mts +660 -345
  3. package/dist/index.mjs +209 -241
  4. package/package.json +21 -34
package/dist/index.d.mts CHANGED
@@ -1,7 +1,8 @@
1
+ import { PathLike } from "node:fs";
1
2
  import { StylisticCustomizeOptions } from "@stylistic/eslint-plugin";
2
- import { FlatGitignoreOptions } from "eslint-config-flat-gitignore";
3
3
  import { TSESLint } from "@typescript-eslint/utils";
4
4
  import { Linter } from "eslint";
5
+ import { FlatGitignoreOptions } from "eslint-config-flat-gitignore";
5
6
  import { ObjectKeyMatcher, ObjectValueMatcher, Regex, StringMatcher } from "eslint-plugin-better-tailwindcss/types";
6
7
 
7
8
  //#region src/typegen.d.ts
@@ -1892,18 +1893,6 @@ interface RuleOptions {
1892
1893
  * @see https://eslint.org/docs/latest/rules/for-direction
1893
1894
  */
1894
1895
  'for-direction'?: Linter.RuleEntry<[]>;
1895
- /**
1896
- * Use dprint to format code
1897
- */
1898
- 'format/dprint'?: Linter.RuleEntry<FormatDprint>;
1899
- /**
1900
- * Use oxfmt to format code
1901
- */
1902
- 'format/oxfmt'?: Linter.RuleEntry<FormatOxfmt>;
1903
- /**
1904
- * Use Prettier to format code
1905
- */
1906
- 'format/prettier'?: Linter.RuleEntry<FormatPrettier>;
1907
1896
  /**
1908
1897
  * Require or disallow spacing between function identifiers and their invocations
1909
1898
  * @see https://eslint.org/docs/latest/rules/func-call-spacing
@@ -2958,6 +2947,11 @@ interface RuleOptions {
2958
2947
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/fenced-code-language.md
2959
2948
  */
2960
2949
  'markdown/fenced-code-language'?: Linter.RuleEntry<MarkdownFencedCodeLanguage>;
2950
+ /**
2951
+ * Require or disallow metadata for fenced code blocks
2952
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/fenced-code-meta.md
2953
+ */
2954
+ 'markdown/fenced-code-meta'?: Linter.RuleEntry<MarkdownFencedCodeMeta>;
2961
2955
  /**
2962
2956
  * Enforce heading levels increment by one
2963
2957
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/heading-increment.md
@@ -4337,6 +4331,296 @@ interface RuleOptions {
4337
4331
  * @see https://perfectionist.dev/rules/sort-variable-declarations
4338
4332
  */
4339
4333
  'perfectionist/sort-variable-declarations'?: Linter.RuleEntry<PerfectionistSortVariableDeclarations>;
4334
+ /**
4335
+ * Enforces a blank line between Playwright test blocks (e.g., test, test.step, test.beforeEach, etc.).
4336
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/consistent-spacing-between-blocks.md
4337
+ */
4338
+ 'playwright/consistent-spacing-between-blocks'?: Linter.RuleEntry<[]>;
4339
+ /**
4340
+ * Enforce assertion to be made in a test body
4341
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/expect-expect.md
4342
+ */
4343
+ 'playwright/expect-expect'?: Linter.RuleEntry<PlaywrightExpectExpect>;
4344
+ /**
4345
+ * Enforces a maximum number assertion calls in a test body
4346
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/max-expects.md
4347
+ */
4348
+ 'playwright/max-expects'?: Linter.RuleEntry<PlaywrightMaxExpects>;
4349
+ /**
4350
+ * Enforces a maximum depth to nested describe calls
4351
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/max-nested-describe.md
4352
+ */
4353
+ 'playwright/max-nested-describe'?: Linter.RuleEntry<PlaywrightMaxNestedDescribe>;
4354
+ /**
4355
+ * Identify false positives when async Playwright APIs are not properly awaited.
4356
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/missing-playwright-await.md
4357
+ */
4358
+ 'playwright/missing-playwright-await'?: Linter.RuleEntry<PlaywrightMissingPlaywrightAwait>;
4359
+ /**
4360
+ * Disallow commented out tests
4361
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-commented-out-tests.md
4362
+ */
4363
+ 'playwright/no-commented-out-tests'?: Linter.RuleEntry<[]>;
4364
+ /**
4365
+ * Disallow calling `expect` conditionally
4366
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-conditional-expect.md
4367
+ */
4368
+ 'playwright/no-conditional-expect'?: Linter.RuleEntry<[]>;
4369
+ /**
4370
+ * Disallow conditional logic in tests
4371
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-conditional-in-test.md
4372
+ */
4373
+ 'playwright/no-conditional-in-test'?: Linter.RuleEntry<[]>;
4374
+ /**
4375
+ * Disallow duplicate setup and teardown hooks
4376
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-duplicate-hooks.md
4377
+ */
4378
+ 'playwright/no-duplicate-hooks'?: Linter.RuleEntry<[]>;
4379
+ /**
4380
+ * Disallow multiple `test.slow()` calls in the same test
4381
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-duplicate-slow.md
4382
+ */
4383
+ 'playwright/no-duplicate-slow'?: Linter.RuleEntry<[]>;
4384
+ /**
4385
+ * The use of ElementHandle is discouraged, use Locator instead
4386
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-element-handle.md
4387
+ */
4388
+ 'playwright/no-element-handle'?: Linter.RuleEntry<[]>;
4389
+ /**
4390
+ * The use of `page.$eval` and `page.$$eval` are discouraged, use `locator.evaluate` or `locator.evaluateAll` instead
4391
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-eval.md
4392
+ */
4393
+ 'playwright/no-eval'?: Linter.RuleEntry<[]>;
4394
+ /**
4395
+ * Prevent usage of `.only()` focus test annotation
4396
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-focused-test.md
4397
+ */
4398
+ 'playwright/no-focused-test'?: Linter.RuleEntry<[]>;
4399
+ /**
4400
+ * Prevent usage of `{ force: true }` option.
4401
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-force-option.md
4402
+ */
4403
+ 'playwright/no-force-option'?: Linter.RuleEntry<[]>;
4404
+ /**
4405
+ * Disallows the usage of getByTitle()
4406
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-get-by-title.md
4407
+ */
4408
+ 'playwright/no-get-by-title'?: Linter.RuleEntry<[]>;
4409
+ /**
4410
+ * Disallow setup and teardown hooks
4411
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-hooks.md
4412
+ */
4413
+ 'playwright/no-hooks'?: Linter.RuleEntry<PlaywrightNoHooks>;
4414
+ /**
4415
+ * Disallow nested `test.step()` methods
4416
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-nested-step.md
4417
+ */
4418
+ 'playwright/no-nested-step'?: Linter.RuleEntry<[]>;
4419
+ /**
4420
+ * Prevent usage of the networkidle option
4421
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-networkidle.md
4422
+ */
4423
+ 'playwright/no-networkidle'?: Linter.RuleEntry<[]>;
4424
+ /**
4425
+ * Disallow usage of nth methods
4426
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-nth-methods.md
4427
+ */
4428
+ 'playwright/no-nth-methods'?: Linter.RuleEntry<[]>;
4429
+ /**
4430
+ * Prevent usage of page.pause()
4431
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-page-pause.md
4432
+ */
4433
+ 'playwright/no-page-pause'?: Linter.RuleEntry<[]>;
4434
+ /**
4435
+ * Disallows the usage of raw locators
4436
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-raw-locators.md
4437
+ */
4438
+ 'playwright/no-raw-locators'?: Linter.RuleEntry<PlaywrightNoRawLocators>;
4439
+ /**
4440
+ * Disallows the usage of specific locator methods
4441
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-restricted-locators.md
4442
+ */
4443
+ 'playwright/no-restricted-locators'?: Linter.RuleEntry<PlaywrightNoRestrictedLocators>;
4444
+ /**
4445
+ * Disallow specific matchers & modifiers
4446
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-restricted-matchers.md
4447
+ */
4448
+ 'playwright/no-restricted-matchers'?: Linter.RuleEntry<PlaywrightNoRestrictedMatchers>;
4449
+ /**
4450
+ * Disallows the usage of specific roles in getByRole()
4451
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-restricted-roles.md
4452
+ */
4453
+ 'playwright/no-restricted-roles'?: Linter.RuleEntry<PlaywrightNoRestrictedRoles>;
4454
+ /**
4455
+ * Prevent usage of the `.skip()` skip test annotation.
4456
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-skipped-test.md
4457
+ */
4458
+ 'playwright/no-skipped-test'?: Linter.RuleEntry<PlaywrightNoSkippedTest>;
4459
+ /**
4460
+ * Prevent usage of the `.slow()` slow test annotation.
4461
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-slowed-test.md
4462
+ */
4463
+ 'playwright/no-slowed-test'?: Linter.RuleEntry<PlaywrightNoSlowedTest>;
4464
+ /**
4465
+ * Disallow using `expect` outside of `test` blocks
4466
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-standalone-expect.md
4467
+ */
4468
+ 'playwright/no-standalone-expect'?: Linter.RuleEntry<[]>;
4469
+ /**
4470
+ * Prevent unsafe variable references in page.evaluate() and page.addInitScript()
4471
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-unsafe-references.md
4472
+ */
4473
+ 'playwright/no-unsafe-references'?: Linter.RuleEntry<[]>;
4474
+ /**
4475
+ * Disallow usage of page locators that are not used
4476
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-unused-locators.md
4477
+ */
4478
+ 'playwright/no-unused-locators'?: Linter.RuleEntry<[]>;
4479
+ /**
4480
+ * Disallow unnecessary awaits for Playwright methods
4481
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-useless-await.md
4482
+ */
4483
+ 'playwright/no-useless-await'?: Linter.RuleEntry<[]>;
4484
+ /**
4485
+ * Disallow usage of 'not' matchers when a more specific matcher exists
4486
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-useless-not.md
4487
+ */
4488
+ 'playwright/no-useless-not'?: Linter.RuleEntry<[]>;
4489
+ /**
4490
+ * Prevent usage of page.waitForNavigation()
4491
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-wait-for-navigation.md
4492
+ */
4493
+ 'playwright/no-wait-for-navigation'?: Linter.RuleEntry<[]>;
4494
+ /**
4495
+ * Prevent usage of page.waitForSelector()
4496
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-wait-for-selector.md
4497
+ */
4498
+ 'playwright/no-wait-for-selector'?: Linter.RuleEntry<[]>;
4499
+ /**
4500
+ * Prevent usage of page.waitForTimeout()
4501
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-wait-for-timeout.md
4502
+ */
4503
+ 'playwright/no-wait-for-timeout'?: Linter.RuleEntry<[]>;
4504
+ /**
4505
+ * Suggest using the built-in comparison matchers
4506
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/prefer-comparison-matcher.md
4507
+ */
4508
+ 'playwright/prefer-comparison-matcher'?: Linter.RuleEntry<[]>;
4509
+ /**
4510
+ * Suggest using the built-in equality matchers
4511
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/prefer-equality-matcher.md
4512
+ */
4513
+ 'playwright/prefer-equality-matcher'?: Linter.RuleEntry<[]>;
4514
+ /**
4515
+ * Prefer having hooks in a consistent order
4516
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/prefer-hooks-in-order.md
4517
+ */
4518
+ 'playwright/prefer-hooks-in-order'?: Linter.RuleEntry<[]>;
4519
+ /**
4520
+ * Suggest having hooks before any test cases
4521
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/prefer-hooks-on-top.md
4522
+ */
4523
+ 'playwright/prefer-hooks-on-top'?: Linter.RuleEntry<[]>;
4524
+ /**
4525
+ * Suggest locators over page methods
4526
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/prefer-locator.md
4527
+ */
4528
+ 'playwright/prefer-locator'?: Linter.RuleEntry<[]>;
4529
+ /**
4530
+ * Enforce lowercase test names
4531
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/prefer-lowercase-title.md
4532
+ */
4533
+ 'playwright/prefer-lowercase-title'?: Linter.RuleEntry<PlaywrightPreferLowercaseTitle>;
4534
+ /**
4535
+ * Prefer native locator functions
4536
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/prefer-native-locators.md
4537
+ */
4538
+ 'playwright/prefer-native-locators'?: Linter.RuleEntry<PlaywrightPreferNativeLocators>;
4539
+ /**
4540
+ * Suggest using `toStrictEqual()`
4541
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/prefer-strict-equal.md
4542
+ */
4543
+ 'playwright/prefer-strict-equal'?: Linter.RuleEntry<[]>;
4544
+ /**
4545
+ * Suggest using `toBe()` for primitive literals
4546
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/prefer-to-be.md
4547
+ */
4548
+ 'playwright/prefer-to-be'?: Linter.RuleEntry<[]>;
4549
+ /**
4550
+ * Suggest using toContain()
4551
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/prefer-to-contain.md
4552
+ */
4553
+ 'playwright/prefer-to-contain'?: Linter.RuleEntry<[]>;
4554
+ /**
4555
+ * Suggest using `toHaveCount()`
4556
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/prefer-to-have-count.md
4557
+ */
4558
+ 'playwright/prefer-to-have-count'?: Linter.RuleEntry<[]>;
4559
+ /**
4560
+ * Suggest using `toHaveLength()`
4561
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/prefer-to-have-length.md
4562
+ */
4563
+ 'playwright/prefer-to-have-length'?: Linter.RuleEntry<[]>;
4564
+ /**
4565
+ * Prefer web first assertions
4566
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/prefer-web-first-assertions.md
4567
+ */
4568
+ 'playwright/prefer-web-first-assertions'?: Linter.RuleEntry<[]>;
4569
+ /**
4570
+ * Require setup and teardown code to be within a hook
4571
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/require-hook.md
4572
+ */
4573
+ 'playwright/require-hook'?: Linter.RuleEntry<PlaywrightRequireHook>;
4574
+ /**
4575
+ * Require all assertions to use `expect.soft`
4576
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/require-soft-assertions.md
4577
+ */
4578
+ 'playwright/require-soft-assertions'?: Linter.RuleEntry<[]>;
4579
+ /**
4580
+ * Require test blocks to have tags
4581
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/require-tags.md
4582
+ */
4583
+ 'playwright/require-tags'?: Linter.RuleEntry<[]>;
4584
+ /**
4585
+ * Require a timeout option for `toPass()`
4586
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/require-to-pass-timeout.md
4587
+ */
4588
+ 'playwright/require-to-pass-timeout'?: Linter.RuleEntry<[]>;
4589
+ /**
4590
+ * Require a message for `toThrow()`
4591
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/require-to-throw-message.md
4592
+ */
4593
+ 'playwright/require-to-throw-message'?: Linter.RuleEntry<[]>;
4594
+ /**
4595
+ * Require test cases and hooks to be inside a `test.describe` block
4596
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/require-top-level-describe.md
4597
+ */
4598
+ 'playwright/require-top-level-describe'?: Linter.RuleEntry<PlaywrightRequireTopLevelDescribe>;
4599
+ /**
4600
+ * Enforce valid `describe()` callback
4601
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/valid-describe-callback.md
4602
+ */
4603
+ 'playwright/valid-describe-callback'?: Linter.RuleEntry<[]>;
4604
+ /**
4605
+ * Enforce valid `expect()` usage
4606
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/valid-expect.md
4607
+ */
4608
+ 'playwright/valid-expect'?: Linter.RuleEntry<PlaywrightValidExpect>;
4609
+ /**
4610
+ * Require promises that have expectations in their chain to be valid
4611
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/valid-expect-in-promise.md
4612
+ */
4613
+ 'playwright/valid-expect-in-promise'?: Linter.RuleEntry<[]>;
4614
+ /**
4615
+ * Enforce valid tag format in Playwright test blocks and titles
4616
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/valid-test-tags.md
4617
+ */
4618
+ 'playwright/valid-test-tags'?: Linter.RuleEntry<PlaywrightValidTestTags>;
4619
+ /**
4620
+ * Enforce valid titles
4621
+ * @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/valid-title.md
4622
+ */
4623
+ 'playwright/valid-title'?: Linter.RuleEntry<PlaywrightValidTitle>;
4340
4624
  /**
4341
4625
  * Require using arrow functions for callbacks
4342
4626
  * @see https://eslint.org/docs/latest/rules/prefer-arrow-callback
@@ -5241,730 +5525,750 @@ interface RuleOptions {
5241
5525
  'unicode-bom'?: Linter.RuleEntry<UnicodeBom>;
5242
5526
  /**
5243
5527
  * Improve regexes by making them shorter, consistent, and safer.
5244
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/better-regex.md
5528
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/better-regex.md
5245
5529
  */
5246
5530
  'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>;
5247
5531
  /**
5248
5532
  * Enforce a specific parameter name in catch clauses.
5249
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/catch-error-name.md
5533
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/catch-error-name.md
5250
5534
  */
5251
5535
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>;
5252
5536
  /**
5253
5537
  * Enforce consistent assertion style with `node:assert`.
5254
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-assert.md
5538
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-assert.md
5255
5539
  */
5256
5540
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>;
5257
5541
  /**
5258
5542
  * Prefer passing `Date` directly to the constructor when cloning.
5259
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-date-clone.md
5543
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-date-clone.md
5260
5544
  */
5261
5545
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>;
5262
5546
  /**
5263
5547
  * Use destructured variables over properties.
5264
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-destructuring.md
5548
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-destructuring.md
5265
5549
  */
5266
5550
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>;
5267
5551
  /**
5268
5552
  * Prefer consistent types when spreading a ternary in an array literal.
5269
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-empty-array-spread.md
5553
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-empty-array-spread.md
5270
5554
  */
5271
5555
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>;
5272
5556
  /**
5273
5557
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
5274
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-existence-index-check.md
5558
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-existence-index-check.md
5275
5559
  */
5276
5560
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>;
5277
5561
  /**
5278
5562
  * Move function definitions to the highest possible scope.
5279
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-function-scoping.md
5563
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-function-scoping.md
5280
5564
  */
5281
5565
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>;
5566
+ /**
5567
+ * Enforce consistent style for escaping `${` in template literals.
5568
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-template-literal-escape.md
5569
+ */
5570
+ 'unicorn/consistent-template-literal-escape'?: Linter.RuleEntry<[]>;
5282
5571
  /**
5283
5572
  * Enforce correct `Error` subclassing.
5284
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/custom-error-definition.md
5573
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/custom-error-definition.md
5285
5574
  */
5286
5575
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>;
5287
5576
  /**
5288
5577
  * Enforce no spaces between braces.
5289
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/empty-brace-spaces.md
5578
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/empty-brace-spaces.md
5290
5579
  */
5291
5580
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>;
5292
5581
  /**
5293
5582
  * Enforce passing a `message` value when creating a built-in error.
5294
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/error-message.md
5583
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/error-message.md
5295
5584
  */
5296
5585
  'unicorn/error-message'?: Linter.RuleEntry<[]>;
5297
5586
  /**
5298
5587
  * Require escape sequences to use uppercase or lowercase values.
5299
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/escape-case.md
5588
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/escape-case.md
5300
5589
  */
5301
5590
  'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>;
5302
5591
  /**
5303
5592
  * Add expiration conditions to TODO comments.
5304
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/expiring-todo-comments.md
5593
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/expiring-todo-comments.md
5305
5594
  */
5306
5595
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>;
5307
5596
  /**
5308
5597
  * Enforce explicitly comparing the `length` or `size` property of a value.
5309
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/explicit-length-check.md
5598
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/explicit-length-check.md
5310
5599
  */
5311
5600
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>;
5312
5601
  /**
5313
5602
  * Enforce a case style for filenames.
5314
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/filename-case.md
5603
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/filename-case.md
5315
5604
  */
5316
5605
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>;
5317
5606
  /**
5318
5607
  * Enforce specific import styles per module.
5319
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/import-style.md
5608
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/import-style.md
5320
5609
  */
5321
5610
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>;
5322
5611
  /**
5323
5612
  * Prevent usage of variables from outside the scope of isolated functions.
5324
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/isolated-functions.md
5613
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/isolated-functions.md
5325
5614
  */
5326
5615
  'unicorn/isolated-functions'?: Linter.RuleEntry<UnicornIsolatedFunctions>;
5327
5616
  /**
5328
5617
  * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
5329
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/new-for-builtins.md
5618
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/new-for-builtins.md
5330
5619
  */
5331
5620
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>;
5332
5621
  /**
5333
5622
  * Enforce specifying rules to disable in `eslint-disable` comments.
5334
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-abusive-eslint-disable.md
5623
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-abusive-eslint-disable.md
5335
5624
  */
5336
5625
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>;
5337
5626
  /**
5338
5627
  * Disallow recursive access to `this` within getters and setters.
5339
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-accessor-recursion.md
5628
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-accessor-recursion.md
5340
5629
  */
5341
5630
  'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>;
5342
5631
  /**
5343
5632
  * Disallow anonymous functions and classes as the default export.
5344
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-anonymous-default-export.md
5633
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-anonymous-default-export.md
5345
5634
  */
5346
5635
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>;
5347
5636
  /**
5348
5637
  * Prevent passing a function reference directly to iterator methods.
5349
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-callback-reference.md
5638
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-callback-reference.md
5350
5639
  */
5351
5640
  'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>;
5352
5641
  /**
5353
5642
  * Prefer `for…of` over the `forEach` method.
5354
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-for-each.md
5643
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-for-each.md
5355
5644
  */
5356
5645
  'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>;
5357
5646
  /**
5358
5647
  * Disallow using the `this` argument in array methods.
5359
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-method-this-argument.md
5648
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-method-this-argument.md
5360
5649
  */
5361
5650
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>;
5362
5651
  /**
5363
5652
  * Replaced by `unicorn/prefer-single-call` which covers more cases.
5364
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/deleted-and-deprecated-rules.md#no-array-push-push
5653
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-array-push-push
5365
5654
  * @deprecated
5366
5655
  */
5367
5656
  'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>;
5368
5657
  /**
5369
5658
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
5370
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-reduce.md
5659
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-reduce.md
5371
5660
  */
5372
5661
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>;
5373
5662
  /**
5374
5663
  * Prefer `Array#toReversed()` over `Array#reverse()`.
5375
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-reverse.md
5664
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-reverse.md
5376
5665
  */
5377
5666
  'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>;
5378
5667
  /**
5379
5668
  * Prefer `Array#toSorted()` over `Array#sort()`.
5380
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-sort.md
5669
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-sort.md
5381
5670
  */
5382
5671
  'unicorn/no-array-sort'?: Linter.RuleEntry<UnicornNoArraySort>;
5383
5672
  /**
5384
5673
  * Disallow member access from await expression.
5385
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-await-expression-member.md
5674
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-await-expression-member.md
5386
5675
  */
5387
5676
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>;
5388
5677
  /**
5389
5678
  * Disallow using `await` in `Promise` method parameters.
5390
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-await-in-promise-methods.md
5679
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-await-in-promise-methods.md
5391
5680
  */
5392
5681
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>;
5393
5682
  /**
5394
5683
  * Do not use leading/trailing space between `console.log` parameters.
5395
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-console-spaces.md
5684
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-console-spaces.md
5396
5685
  */
5397
5686
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>;
5398
5687
  /**
5399
5688
  * Do not use `document.cookie` directly.
5400
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-document-cookie.md
5689
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-document-cookie.md
5401
5690
  */
5402
5691
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>;
5403
5692
  /**
5404
5693
  * Disallow empty files.
5405
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-empty-file.md
5694
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-empty-file.md
5406
5695
  */
5407
5696
  'unicorn/no-empty-file'?: Linter.RuleEntry<[]>;
5408
5697
  /**
5409
5698
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
5410
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-for-loop.md
5699
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-for-loop.md
5411
5700
  */
5412
5701
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>;
5413
5702
  /**
5414
5703
  * Enforce the use of Unicode escapes instead of hexadecimal escapes.
5415
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-hex-escape.md
5704
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-hex-escape.md
5416
5705
  */
5417
5706
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>;
5418
5707
  /**
5419
5708
  * Disallow immediate mutation after variable assignment.
5420
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-immediate-mutation.md
5709
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-immediate-mutation.md
5421
5710
  */
5422
5711
  'unicorn/no-immediate-mutation'?: Linter.RuleEntry<[]>;
5423
5712
  /**
5424
5713
  * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
5425
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/deleted-and-deprecated-rules.md#no-instanceof-array
5714
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-instanceof-array
5426
5715
  * @deprecated
5427
5716
  */
5428
5717
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>;
5429
5718
  /**
5430
5719
  * Disallow `instanceof` with built-in objects
5431
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-instanceof-builtins.md
5720
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-instanceof-builtins.md
5432
5721
  */
5433
5722
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>;
5434
5723
  /**
5435
5724
  * Disallow invalid options in `fetch()` and `new Request()`.
5436
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-invalid-fetch-options.md
5725
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-invalid-fetch-options.md
5437
5726
  */
5438
5727
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>;
5439
5728
  /**
5440
5729
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
5441
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-invalid-remove-event-listener.md
5730
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-invalid-remove-event-listener.md
5442
5731
  */
5443
5732
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>;
5444
5733
  /**
5445
5734
  * Disallow identifiers starting with `new` or `class`.
5446
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-keyword-prefix.md
5735
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-keyword-prefix.md
5447
5736
  */
5448
5737
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>;
5449
5738
  /**
5450
5739
  * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
5451
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
5740
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
5452
5741
  * @deprecated
5453
5742
  */
5454
5743
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>;
5455
5744
  /**
5456
5745
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
5457
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-lonely-if.md
5746
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-lonely-if.md
5458
5747
  */
5459
5748
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>;
5460
5749
  /**
5461
5750
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
5462
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-magic-array-flat-depth.md
5751
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-magic-array-flat-depth.md
5463
5752
  */
5464
5753
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>;
5465
5754
  /**
5466
5755
  * Disallow named usage of default import and export.
5467
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-named-default.md
5756
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-named-default.md
5468
5757
  */
5469
5758
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>;
5470
5759
  /**
5471
5760
  * Disallow negated conditions.
5472
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-negated-condition.md
5761
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-negated-condition.md
5473
5762
  */
5474
5763
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>;
5475
5764
  /**
5476
5765
  * Disallow negated expression in equality check.
5477
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-negation-in-equality-check.md
5766
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-negation-in-equality-check.md
5478
5767
  */
5479
5768
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>;
5480
5769
  /**
5481
5770
  * Disallow nested ternary expressions.
5482
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-nested-ternary.md
5771
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-nested-ternary.md
5483
5772
  */
5484
5773
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>;
5485
5774
  /**
5486
5775
  * Disallow `new Array()`.
5487
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-new-array.md
5776
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-new-array.md
5488
5777
  */
5489
5778
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>;
5490
5779
  /**
5491
5780
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
5492
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-new-buffer.md
5781
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-new-buffer.md
5493
5782
  */
5494
5783
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>;
5495
5784
  /**
5496
5785
  * Disallow the use of the `null` literal.
5497
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-null.md
5786
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-null.md
5498
5787
  */
5499
5788
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>;
5500
5789
  /**
5501
5790
  * Disallow the use of objects as default parameters.
5502
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-object-as-default-parameter.md
5791
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-object-as-default-parameter.md
5503
5792
  */
5504
5793
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>;
5505
5794
  /**
5506
5795
  * Disallow `process.exit()`.
5507
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-process-exit.md
5796
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-process-exit.md
5508
5797
  */
5509
5798
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>;
5510
5799
  /**
5511
5800
  * Disallow passing single-element arrays to `Promise` methods.
5512
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-single-promise-in-promise-methods.md
5801
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-single-promise-in-promise-methods.md
5513
5802
  */
5514
5803
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>;
5515
5804
  /**
5516
5805
  * Disallow classes that only have static members.
5517
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-static-only-class.md
5806
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-static-only-class.md
5518
5807
  */
5519
5808
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>;
5520
5809
  /**
5521
5810
  * Disallow `then` property.
5522
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-thenable.md
5811
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-thenable.md
5523
5812
  */
5524
5813
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>;
5525
5814
  /**
5526
5815
  * Disallow assigning `this` to a variable.
5527
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-this-assignment.md
5816
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-this-assignment.md
5528
5817
  */
5529
5818
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>;
5530
5819
  /**
5531
5820
  * Disallow comparing `undefined` using `typeof`.
5532
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-typeof-undefined.md
5821
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-typeof-undefined.md
5533
5822
  */
5534
5823
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>;
5535
5824
  /**
5536
5825
  * Disallow using `1` as the `depth` argument of `Array#flat()`.
5537
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-array-flat-depth.md
5826
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-array-flat-depth.md
5538
5827
  */
5539
5828
  'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>;
5540
5829
  /**
5541
5830
  * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
5542
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-array-splice-count.md
5831
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-array-splice-count.md
5543
5832
  */
5544
5833
  'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>;
5545
5834
  /**
5546
5835
  * Disallow awaiting non-promise values.
5547
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-await.md
5836
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-await.md
5548
5837
  */
5549
5838
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>;
5550
5839
  /**
5551
5840
  * Enforce the use of built-in methods instead of unnecessary polyfills.
5552
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-polyfills.md
5841
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-polyfills.md
5553
5842
  */
5554
5843
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>;
5555
5844
  /**
5556
5845
  * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
5557
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-slice-end.md
5846
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-slice-end.md
5558
5847
  */
5559
5848
  'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>;
5560
5849
  /**
5561
5850
  * Disallow unreadable array destructuring.
5562
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unreadable-array-destructuring.md
5851
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-array-destructuring.md
5563
5852
  */
5564
5853
  'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>;
5565
5854
  /**
5566
5855
  * Disallow unreadable IIFEs.
5567
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unreadable-iife.md
5856
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-iife.md
5568
5857
  */
5569
5858
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>;
5570
5859
  /**
5571
5860
  * Disallow unused object properties.
5572
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unused-properties.md
5861
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unused-properties.md
5573
5862
  */
5574
5863
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>;
5575
5864
  /**
5576
5865
  * Disallow useless values or fallbacks in `Set`, `Map`, `WeakSet`, or `WeakMap`.
5577
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-collection-argument.md
5866
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-collection-argument.md
5578
5867
  */
5579
5868
  'unicorn/no-useless-collection-argument'?: Linter.RuleEntry<[]>;
5580
5869
  /**
5581
5870
  * Disallow unnecessary `Error.captureStackTrace(…)`.
5582
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-error-capture-stack-trace.md
5871
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-error-capture-stack-trace.md
5583
5872
  */
5584
5873
  'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>;
5585
5874
  /**
5586
5875
  * Disallow useless fallback when spreading in object literals.
5587
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-fallback-in-spread.md
5876
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-fallback-in-spread.md
5588
5877
  */
5589
5878
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>;
5879
+ /**
5880
+ * Disallow unnecessary `.toArray()` on iterators.
5881
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-iterator-to-array.md
5882
+ */
5883
+ 'unicorn/no-useless-iterator-to-array'?: Linter.RuleEntry<[]>;
5590
5884
  /**
5591
5885
  * Disallow useless array length check.
5592
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-length-check.md
5886
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-length-check.md
5593
5887
  */
5594
5888
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>;
5595
5889
  /**
5596
5890
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
5597
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-promise-resolve-reject.md
5891
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-promise-resolve-reject.md
5598
5892
  */
5599
5893
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>;
5600
5894
  /**
5601
5895
  * Disallow unnecessary spread.
5602
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-spread.md
5896
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-spread.md
5603
5897
  */
5604
5898
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>;
5605
5899
  /**
5606
5900
  * Disallow useless case in switch statements.
5607
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-switch-case.md
5901
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-switch-case.md
5608
5902
  */
5609
5903
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>;
5610
5904
  /**
5611
5905
  * Disallow useless `undefined`.
5612
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-undefined.md
5906
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-undefined.md
5613
5907
  */
5614
5908
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>;
5615
5909
  /**
5616
5910
  * Disallow number literals with zero fractions or dangling dots.
5617
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-zero-fractions.md
5911
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-zero-fractions.md
5618
5912
  */
5619
5913
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>;
5620
5914
  /**
5621
5915
  * Enforce proper case for numeric literals.
5622
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/number-literal-case.md
5916
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/number-literal-case.md
5623
5917
  */
5624
5918
  'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>;
5625
5919
  /**
5626
5920
  * Enforce the style of numeric separators by correctly grouping digits.
5627
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/numeric-separators-style.md
5921
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/numeric-separators-style.md
5628
5922
  */
5629
5923
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>;
5630
5924
  /**
5631
5925
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
5632
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-add-event-listener.md
5926
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-add-event-listener.md
5633
5927
  */
5634
5928
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>;
5635
5929
  /**
5636
5930
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
5637
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-find.md
5931
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-find.md
5638
5932
  */
5639
5933
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>;
5640
5934
  /**
5641
5935
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
5642
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-flat.md
5936
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-flat.md
5643
5937
  */
5644
5938
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>;
5645
5939
  /**
5646
5940
  * Prefer `.flatMap(…)` over `.map(…).flat()`.
5647
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-flat-map.md
5941
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-flat-map.md
5648
5942
  */
5649
5943
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>;
5650
5944
  /**
5651
5945
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
5652
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-index-of.md
5946
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-index-of.md
5653
5947
  */
5654
5948
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>;
5655
5949
  /**
5656
5950
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
5657
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-some.md
5951
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-some.md
5658
5952
  */
5659
5953
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>;
5660
5954
  /**
5661
5955
  * Prefer `.at()` method for index access and `String#charAt()`.
5662
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-at.md
5956
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-at.md
5663
5957
  */
5664
5958
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>;
5665
5959
  /**
5666
5960
  * Prefer `BigInt` literals over the constructor.
5667
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-bigint-literals.md
5961
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-bigint-literals.md
5668
5962
  */
5669
5963
  'unicorn/prefer-bigint-literals'?: Linter.RuleEntry<[]>;
5670
5964
  /**
5671
5965
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
5672
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-blob-reading-methods.md
5966
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-blob-reading-methods.md
5673
5967
  */
5674
5968
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>;
5675
5969
  /**
5676
5970
  * Prefer class field declarations over `this` assignments in constructors.
5677
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-class-fields.md
5971
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-class-fields.md
5678
5972
  */
5679
5973
  'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>;
5680
5974
  /**
5681
5975
  * Prefer using `Element#classList.toggle()` to toggle class names.
5682
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-classlist-toggle.md
5976
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-classlist-toggle.md
5683
5977
  */
5684
5978
  'unicorn/prefer-classlist-toggle'?: Linter.RuleEntry<[]>;
5685
5979
  /**
5686
5980
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
5687
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-code-point.md
5981
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-code-point.md
5688
5982
  */
5689
5983
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>;
5690
5984
  /**
5691
5985
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
5692
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-date-now.md
5986
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-date-now.md
5693
5987
  */
5694
5988
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>;
5695
5989
  /**
5696
5990
  * Prefer default parameters over reassignment.
5697
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-default-parameters.md
5991
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-default-parameters.md
5698
5992
  */
5699
5993
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>;
5700
5994
  /**
5701
5995
  * Prefer `Node#append()` over `Node#appendChild()`.
5702
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-dom-node-append.md
5996
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-append.md
5703
5997
  */
5704
5998
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>;
5705
5999
  /**
5706
6000
  * Prefer using `.dataset` on DOM elements over calling attribute methods.
5707
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-dom-node-dataset.md
6001
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-dataset.md
5708
6002
  */
5709
6003
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>;
5710
6004
  /**
5711
6005
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
5712
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-dom-node-remove.md
6006
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-remove.md
5713
6007
  */
5714
6008
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>;
5715
6009
  /**
5716
6010
  * Prefer `.textContent` over `.innerText`.
5717
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-dom-node-text-content.md
6011
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-text-content.md
5718
6012
  */
5719
6013
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>;
5720
6014
  /**
5721
6015
  * Prefer `EventTarget` over `EventEmitter`.
5722
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-event-target.md
6016
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-event-target.md
5723
6017
  */
5724
6018
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>;
5725
6019
  /**
5726
6020
  * Prefer `export…from` when re-exporting.
5727
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-export-from.md
6021
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-export-from.md
5728
6022
  */
5729
6023
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>;
5730
6024
  /**
5731
6025
  * Prefer `globalThis` over `window`, `self`, and `global`.
5732
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-global-this.md
6026
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-global-this.md
5733
6027
  */
5734
6028
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>;
5735
6029
  /**
5736
6030
  * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
5737
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-import-meta-properties.md
6031
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-import-meta-properties.md
5738
6032
  */
5739
6033
  'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>;
5740
6034
  /**
5741
6035
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
5742
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-includes.md
6036
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-includes.md
5743
6037
  */
5744
6038
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>;
5745
6039
  /**
5746
6040
  * Prefer reading a JSON file as a buffer.
5747
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-json-parse-buffer.md
6041
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-json-parse-buffer.md
5748
6042
  */
5749
6043
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>;
5750
6044
  /**
5751
6045
  * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
5752
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-keyboard-event-key.md
6046
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-keyboard-event-key.md
5753
6047
  */
5754
6048
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>;
5755
6049
  /**
5756
6050
  * Prefer using a logical operator over a ternary.
5757
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-logical-operator-over-ternary.md
6051
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-logical-operator-over-ternary.md
5758
6052
  */
5759
6053
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>;
5760
6054
  /**
5761
6055
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
5762
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-math-min-max.md
6056
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-math-min-max.md
5763
6057
  */
5764
6058
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>;
5765
6059
  /**
5766
6060
  * Enforce the use of `Math.trunc` instead of bitwise operators.
5767
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-math-trunc.md
6061
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-math-trunc.md
5768
6062
  */
5769
6063
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>;
5770
6064
  /**
5771
6065
  * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
5772
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-modern-dom-apis.md
6066
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-modern-dom-apis.md
5773
6067
  */
5774
6068
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>;
5775
6069
  /**
5776
6070
  * Prefer modern `Math` APIs over legacy patterns.
5777
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-modern-math-apis.md
6071
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-modern-math-apis.md
5778
6072
  */
5779
6073
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>;
5780
6074
  /**
5781
6075
  * Prefer JavaScript modules (ESM) over CommonJS.
5782
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-module.md
6076
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-module.md
5783
6077
  */
5784
6078
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>;
5785
6079
  /**
5786
6080
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
5787
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-native-coercion-functions.md
6081
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-native-coercion-functions.md
5788
6082
  */
5789
6083
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>;
5790
6084
  /**
5791
6085
  * Prefer negative index over `.length - index` when possible.
5792
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-negative-index.md
6086
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-negative-index.md
5793
6087
  */
5794
6088
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>;
5795
6089
  /**
5796
6090
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
5797
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-node-protocol.md
6091
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-node-protocol.md
5798
6092
  */
5799
6093
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>;
5800
6094
  /**
5801
6095
  * Prefer `Number` static properties over global ones.
5802
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-number-properties.md
6096
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-number-properties.md
5803
6097
  */
5804
6098
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>;
5805
6099
  /**
5806
6100
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
5807
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-object-from-entries.md
6101
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-object-from-entries.md
5808
6102
  */
5809
6103
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>;
5810
6104
  /**
5811
6105
  * Prefer omitting the `catch` binding parameter.
5812
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-optional-catch-binding.md
6106
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-optional-catch-binding.md
5813
6107
  */
5814
6108
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>;
5815
6109
  /**
5816
6110
  * Prefer borrowing methods from the prototype instead of the instance.
5817
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-prototype-methods.md
6111
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-prototype-methods.md
5818
6112
  */
5819
6113
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>;
5820
6114
  /**
5821
6115
  * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
5822
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-query-selector.md
6116
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-query-selector.md
5823
6117
  */
5824
6118
  'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>;
5825
6119
  /**
5826
6120
  * Prefer `Reflect.apply()` over `Function#apply()`.
5827
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-reflect-apply.md
6121
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-reflect-apply.md
5828
6122
  */
5829
6123
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>;
5830
6124
  /**
5831
6125
  * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
5832
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-regexp-test.md
6126
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-regexp-test.md
5833
6127
  */
5834
6128
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>;
5835
6129
  /**
5836
6130
  * Prefer `Response.json()` over `new Response(JSON.stringify())`.
5837
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-response-static-json.md
6131
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-response-static-json.md
5838
6132
  */
5839
6133
  'unicorn/prefer-response-static-json'?: Linter.RuleEntry<[]>;
5840
6134
  /**
5841
6135
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
5842
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-set-has.md
6136
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-set-has.md
5843
6137
  */
5844
6138
  'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>;
5845
6139
  /**
5846
6140
  * Prefer using `Set#size` instead of `Array#length`.
5847
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-set-size.md
6141
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-set-size.md
5848
6142
  */
5849
6143
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>;
6144
+ /**
6145
+ * Prefer simple conditions first in logical expressions.
6146
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-simple-condition-first.md
6147
+ */
6148
+ 'unicorn/prefer-simple-condition-first'?: Linter.RuleEntry<[]>;
5850
6149
  /**
5851
6150
  * Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
5852
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-single-call.md
6151
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-single-call.md
5853
6152
  */
5854
6153
  'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>;
5855
6154
  /**
5856
6155
  * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
5857
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-spread.md
6156
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-spread.md
5858
6157
  */
5859
6158
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>;
5860
6159
  /**
5861
6160
  * Prefer using the `String.raw` tag to avoid escaping `\`.
5862
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-raw.md
6161
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-raw.md
5863
6162
  */
5864
6163
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>;
5865
6164
  /**
5866
6165
  * Prefer `String#replaceAll()` over regex searches with the global flag.
5867
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-replace-all.md
6166
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-replace-all.md
5868
6167
  */
5869
6168
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>;
5870
6169
  /**
5871
6170
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
5872
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-slice.md
6171
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-slice.md
5873
6172
  */
5874
6173
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>;
5875
6174
  /**
5876
6175
  * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
5877
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-starts-ends-with.md
6176
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-starts-ends-with.md
5878
6177
  */
5879
6178
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>;
5880
6179
  /**
5881
6180
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
5882
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-trim-start-end.md
6181
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-trim-start-end.md
5883
6182
  */
5884
6183
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>;
5885
6184
  /**
5886
6185
  * Prefer using `structuredClone` to create a deep clone.
5887
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-structured-clone.md
6186
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-structured-clone.md
5888
6187
  */
5889
6188
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>;
5890
6189
  /**
5891
6190
  * Prefer `switch` over multiple `else-if`.
5892
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-switch.md
6191
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-switch.md
5893
6192
  */
5894
6193
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>;
5895
6194
  /**
5896
6195
  * Prefer ternary expressions over simple `if-else` statements.
5897
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-ternary.md
6196
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-ternary.md
5898
6197
  */
5899
6198
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>;
5900
6199
  /**
5901
6200
  * Prefer top-level await over top-level promises and async function calls.
5902
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-top-level-await.md
6201
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-top-level-await.md
5903
6202
  */
5904
6203
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>;
5905
6204
  /**
5906
6205
  * Enforce throwing `TypeError` in type checking conditions.
5907
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-type-error.md
6206
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-type-error.md
5908
6207
  */
5909
6208
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>;
5910
6209
  /**
5911
6210
  * Prevent abbreviations.
5912
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prevent-abbreviations.md
6211
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prevent-abbreviations.md
5913
6212
  */
5914
6213
  'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>;
5915
6214
  /**
5916
6215
  * Enforce consistent relative URL style.
5917
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/relative-url-style.md
6216
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/relative-url-style.md
5918
6217
  */
5919
6218
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>;
5920
6219
  /**
5921
6220
  * Enforce using the separator argument with `Array#join()`.
5922
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-array-join-separator.md
6221
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-array-join-separator.md
5923
6222
  */
5924
6223
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>;
5925
6224
  /**
5926
6225
  * Require non-empty module attributes for imports and exports
5927
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-module-attributes.md
6226
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-module-attributes.md
5928
6227
  */
5929
6228
  'unicorn/require-module-attributes'?: Linter.RuleEntry<[]>;
5930
6229
  /**
5931
6230
  * Require non-empty specifier list in import and export statements.
5932
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-module-specifiers.md
6231
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-module-specifiers.md
5933
6232
  */
5934
6233
  'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>;
5935
6234
  /**
5936
6235
  * Enforce using the digits argument with `Number#toFixed()`.
5937
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-number-to-fixed-digits-argument.md
6236
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-number-to-fixed-digits-argument.md
5938
6237
  */
5939
6238
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>;
5940
6239
  /**
5941
6240
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
5942
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-post-message-target-origin.md
6241
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-post-message-target-origin.md
5943
6242
  */
5944
6243
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>;
5945
6244
  /**
5946
6245
  * Enforce better string content.
5947
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/string-content.md
6246
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/string-content.md
5948
6247
  */
5949
6248
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>;
5950
6249
  /**
5951
6250
  * Enforce consistent brace style for `case` clauses.
5952
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/switch-case-braces.md
6251
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/switch-case-braces.md
5953
6252
  */
5954
6253
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>;
6254
+ /**
6255
+ * Enforce consistent `break`/`return`/`continue`/`throw` position in `case` clauses.
6256
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/switch-case-break-position.md
6257
+ */
6258
+ 'unicorn/switch-case-break-position'?: Linter.RuleEntry<[]>;
5955
6259
  /**
5956
6260
  * Fix whitespace-insensitive template indentation.
5957
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/template-indent.md
6261
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/template-indent.md
5958
6262
  */
5959
6263
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>;
5960
6264
  /**
5961
6265
  * Enforce consistent case for text encoding identifiers.
5962
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/text-encoding-identifier-case.md
6266
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/text-encoding-identifier-case.md
5963
6267
  */
5964
6268
  'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<UnicornTextEncodingIdentifierCase>;
5965
6269
  /**
5966
6270
  * Require `new` when creating an error.
5967
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/throw-new-error.md
6271
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/throw-new-error.md
5968
6272
  */
5969
6273
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>;
5970
6274
  /**
@@ -10246,22 +10550,7 @@ type DotNotation = [] | [{
10246
10550
  type EolLast = [] | [("always" | "never" | "unix" | "windows")]; // ----- eqeqeq -----
10247
10551
  type Eqeqeq = ([] | ["always"] | ["always", {
10248
10552
  null?: ("always" | "never" | "ignore");
10249
- }] | [] | [("smart" | "allow-null")]); // ----- format/dprint -----
10250
- type FormatDprint = [] | [{
10251
- language?: string;
10252
- languageOptions?: {
10253
- [k: string]: unknown | undefined;
10254
- };
10255
- plugins?: unknown[];
10256
- [k: string]: unknown | undefined;
10257
- }]; // ----- format/oxfmt -----
10258
- type FormatOxfmt = [] | [{
10259
- [k: string]: unknown | undefined;
10260
- }]; // ----- format/prettier -----
10261
- type FormatPrettier = [] | [{
10262
- parser: string;
10263
- [k: string]: unknown | undefined;
10264
- }]; // ----- func-call-spacing -----
10553
+ }] | [] | [("smart" | "allow-null")]); // ----- func-call-spacing -----
10265
10554
  type FuncCallSpacing = ([] | ["never"] | [] | ["always"] | ["always", {
10266
10555
  allowNewlines?: boolean;
10267
10556
  }]); // ----- func-name-matching -----
@@ -11723,13 +12012,15 @@ type LogicalAssignmentOperators = (([] | ["always"] | ["always", {
11723
12012
  }] | ["never"]) & unknown[]); // ----- markdown/fenced-code-language -----
11724
12013
  type MarkdownFencedCodeLanguage = [] | [{
11725
12014
  required?: string[];
11726
- }]; // ----- markdown/heading-increment -----
12015
+ }]; // ----- markdown/fenced-code-meta -----
12016
+ type MarkdownFencedCodeMeta = [] | [("always" | "never")]; // ----- markdown/heading-increment -----
11727
12017
  type MarkdownHeadingIncrement = [] | [{
11728
12018
  frontmatterTitle?: string;
11729
12019
  }]; // ----- markdown/no-duplicate-definitions -----
11730
12020
  type MarkdownNoDuplicateDefinitions = [] | [{
11731
12021
  allowDefinitions?: string[];
11732
12022
  allowFootnoteDefinitions?: string[];
12023
+ checkFootnoteDefinitions?: boolean;
11733
12024
  }]; // ----- markdown/no-duplicate-headings -----
11734
12025
  type MarkdownNoDuplicateHeadings = [] | [{
11735
12026
  checkSiblingsOnly?: boolean;
@@ -11762,6 +12053,7 @@ type MarkdownNoSpaceInEmphasis = [] | [{
11762
12053
  type MarkdownNoUnusedDefinitions = [] | [{
11763
12054
  allowDefinitions?: string[];
11764
12055
  allowFootnoteDefinitions?: string[];
12056
+ checkFootnoteDefinitions?: boolean;
11765
12057
  }]; // ----- markdown/table-column-count -----
11766
12058
  type MarkdownTableColumnCount = [] | [{
11767
12059
  checkMissingCells?: boolean;
@@ -15032,7 +15324,81 @@ type PerfectionistSortVariableDeclarations = {
15032
15324
  } | string)));
15033
15325
  });
15034
15326
  partitionByNewLine?: boolean;
15035
- }[]; // ----- prefer-arrow-callback -----
15327
+ }[]; // ----- playwright/expect-expect -----
15328
+ type PlaywrightExpectExpect = [] | [{
15329
+ assertFunctionNames?: [] | [string];
15330
+ assertFunctionPatterns?: [] | [string];
15331
+ }]; // ----- playwright/max-expects -----
15332
+ type PlaywrightMaxExpects = [] | [{
15333
+ max?: number;
15334
+ }]; // ----- playwright/max-nested-describe -----
15335
+ type PlaywrightMaxNestedDescribe = [] | [{
15336
+ max?: number;
15337
+ }]; // ----- playwright/missing-playwright-await -----
15338
+ type PlaywrightMissingPlaywrightAwait = [] | [{
15339
+ customMatchers?: string[];
15340
+ includePageLocatorMethods?: boolean;
15341
+ }]; // ----- playwright/no-hooks -----
15342
+ type PlaywrightNoHooks = [] | [{
15343
+ allow?: unknown[];
15344
+ }]; // ----- playwright/no-raw-locators -----
15345
+ type PlaywrightNoRawLocators = [] | [{
15346
+ allowed?: string[];
15347
+ }]; // ----- playwright/no-restricted-locators -----
15348
+ type PlaywrightNoRestrictedLocators = [] | [(string | {
15349
+ message?: string;
15350
+ type: string;
15351
+ })[]]; // ----- playwright/no-restricted-matchers -----
15352
+ type PlaywrightNoRestrictedMatchers = [] | [{
15353
+ [k: string]: (string | null) | undefined;
15354
+ }]; // ----- playwright/no-restricted-roles -----
15355
+ type PlaywrightNoRestrictedRoles = [] | [(string | {
15356
+ message?: string;
15357
+ role: string;
15358
+ })[]]; // ----- playwright/no-skipped-test -----
15359
+ type PlaywrightNoSkippedTest = [] | [{
15360
+ allowConditional?: boolean;
15361
+ disallowFixme?: boolean;
15362
+ }]; // ----- playwright/no-slowed-test -----
15363
+ type PlaywrightNoSlowedTest = [] | [{
15364
+ allowConditional?: boolean;
15365
+ }]; // ----- playwright/prefer-lowercase-title -----
15366
+ type PlaywrightPreferLowercaseTitle = [] | [{
15367
+ allowedPrefixes?: string[];
15368
+ ignore?: ("test.describe" | "test")[];
15369
+ ignoreTopLevelDescribe?: boolean;
15370
+ }]; // ----- playwright/prefer-native-locators -----
15371
+ type PlaywrightPreferNativeLocators = [] | [{
15372
+ testIdAttribute?: string;
15373
+ }]; // ----- playwright/require-hook -----
15374
+ type PlaywrightRequireHook = [] | [{
15375
+ allowedFunctionCalls?: string[];
15376
+ }]; // ----- playwright/require-top-level-describe -----
15377
+ type PlaywrightRequireTopLevelDescribe = [] | [{
15378
+ maxTopLevelDescribes?: number;
15379
+ }]; // ----- playwright/valid-expect -----
15380
+ type PlaywrightValidExpect = [] | [{
15381
+ maxArgs?: number;
15382
+ minArgs?: number;
15383
+ }]; // ----- playwright/valid-test-tags -----
15384
+ type PlaywrightValidTestTags = [] | [{
15385
+ allowedTags?: (string | {
15386
+ source?: string;
15387
+ })[];
15388
+ disallowedTags?: (string | {
15389
+ source?: string;
15390
+ })[];
15391
+ }]; // ----- playwright/valid-title -----
15392
+ type PlaywrightValidTitle = [] | [{
15393
+ disallowedWords?: string[];
15394
+ ignoreSpaces?: boolean;
15395
+ ignoreTypeOfDescribeName?: boolean;
15396
+ ignoreTypeOfStepName?: boolean;
15397
+ ignoreTypeOfTestName?: boolean;
15398
+ [k: string]: (string | [string] | [string, string] | {
15399
+ [k: string]: (string | [string] | [string, string]) | undefined;
15400
+ });
15401
+ }]; // ----- prefer-arrow-callback -----
15036
15402
  type PreferArrowCallback = [] | [{
15037
15403
  allowNamedFunctions?: boolean;
15038
15404
  allowUnboundThis?: boolean;
@@ -15453,6 +15819,7 @@ type UnicornEscapeCase = [] | [("uppercase" | "lowercase")]; // ----- unicorn/ex
15453
15819
  type UnicornExpiringTodoComments = [] | [{
15454
15820
  terms?: string[];
15455
15821
  ignore?: unknown[];
15822
+ ignoreDates?: boolean;
15456
15823
  ignoreDatesOnPullRequests?: boolean;
15457
15824
  allowWarningComments?: boolean;
15458
15825
  date?: string;
@@ -15609,6 +15976,9 @@ type _UnicornPreventAbbreviationsReplacements = (false | _UnicornPreventAbbrevia
15609
15976
  interface _UnicornPreventAbbreviations_Abbreviations {
15610
15977
  [k: string]: _UnicornPreventAbbreviationsReplacements | undefined;
15611
15978
  }
15979
+ interface _UnicornPreventAbbreviations_BooleanObject {
15980
+ [k: string]: boolean | undefined;
15981
+ }
15612
15982
  interface _UnicornPreventAbbreviations_BooleanObject {
15613
15983
  [k: string]: boolean | undefined;
15614
15984
  } // ----- unicorn/relative-url-style -----
@@ -15965,127 +16335,7 @@ type Yoda = [] | [("always" | "never")] | [("always" | "never"), {
15965
16335
  exceptRange?: boolean;
15966
16336
  onlyEquality?: boolean;
15967
16337
  }]; // Names of all the configs
15968
- type ConfigNames = 'fabdeh/angular/rules' | 'fabdeh/angular-template/rules' | 'fabdeh/comments/rules' | 'fabdeh/formatter/setup' | 'fabdeh/imports/rules' | 'fabdeh/imports/ts-disables' | 'fabdeh/javascript/setup' | 'fabdeh/javascript/rules' | 'fabdeh/jsdoc/rules' | 'fabdeh/jsdoc/ts-only/rules' | 'fabdeh/jsonc/setup' | 'fabdeh/jsonc/rules' | 'fabdeh/markdown/setup' | 'fabdeh/markdown/processor' | 'fabdeh/markdown/parser' | 'fabdeh/markdown/disables' | 'fabdeh/markdown/rules' | 'fabdeh/ngrx-store/rules' | 'fabdeh/ngrx-effects/rules' | 'fabdeh/ngrx-signals/rules' | 'fabdeh/ngrx-operators/rules' | 'fabdeh/node/rules' | 'fabdeh/perfectionist/rules' | 'fabdeh/regexp/rules' | 'fabdeh/sort/package-json' | 'fabdeh/stylistic/rules' | '@fabdeh/tailwindcss/rules' | 'fabdeh/toml/setup' | 'fabdeh/toml/rules' | 'fabdeh/app/typescript/setup' | 'fabdeh/app/typescript/rules' | 'fabdeh/unicorn/rules' | 'fabdeh/vitest/rules' | 'fabdeh/yaml/setup' | 'fabdeh/yaml/rules';
15969
- //#endregion
15970
- //#region src/vendor/prettier-types.d.ts
15971
- /**
15972
- * Vendor types from Prettier so we don't rely on the dependency.
15973
- */
15974
- type VendoredPrettierOptions = Partial<VendoredPrettierOptionsRequired>;
15975
- interface VendoredPrettierOptionsRequired {
15976
- /**
15977
- * Specify the line length that the printer will wrap on.
15978
- * @default 120
15979
- */
15980
- printWidth: number;
15981
- /**
15982
- * Specify the number of spaces per indentation-level.
15983
- */
15984
- tabWidth: number;
15985
- /**
15986
- * Indent lines with tabs instead of spaces
15987
- */
15988
- useTabs?: boolean;
15989
- /**
15990
- * Print semicolons at the ends of statements.
15991
- */
15992
- semi: boolean;
15993
- /**
15994
- * Use single quotes instead of double quotes.
15995
- */
15996
- singleQuote: boolean;
15997
- /**
15998
- * Use single quotes in JSX.
15999
- */
16000
- jsxSingleQuote: boolean;
16001
- /**
16002
- * Print trailing commas wherever possible.
16003
- */
16004
- trailingComma: "none" | "es5" | "all";
16005
- /**
16006
- * Print spaces between brackets in object literals.
16007
- */
16008
- bracketSpacing: boolean;
16009
- /**
16010
- * Put the `>` of a multi-line HTML (HTML, XML, JSX, Vue, Angular) element at the end of the last line instead of being
16011
- * alone on the next line (does not apply to self closing elements).
16012
- */
16013
- bracketSameLine: boolean;
16014
- /**
16015
- * Put the `>` of a multi-line JSX element at the end of the last line instead of being alone on the next line.
16016
- * @deprecated use bracketSameLine instead
16017
- */
16018
- jsxBracketSameLine: boolean;
16019
- /**
16020
- * Format only a segment of a file.
16021
- */
16022
- rangeStart: number;
16023
- /**
16024
- * Format only a segment of a file.
16025
- * @default Number.POSITIVE_INFINITY
16026
- */
16027
- rangeEnd: number;
16028
- /**
16029
- * By default, Prettier will wrap markdown text as-is since some services use a linebreak-sensitive renderer.
16030
- * In some cases you may want to rely on editor/viewer soft wrapping instead, so this option allows you to opt out.
16031
- * @default "preserve"
16032
- */
16033
- proseWrap: "always" | "never" | "preserve";
16034
- /**
16035
- * Include parentheses around a sole arrow function parameter.
16036
- * @default "always"
16037
- */
16038
- arrowParens: "avoid" | "always";
16039
- /**
16040
- * Provide ability to support new languages to prettier.
16041
- */
16042
- plugins: Array<string | any>;
16043
- /**
16044
- * How to handle whitespaces in HTML.
16045
- * @default "css"
16046
- */
16047
- htmlWhitespaceSensitivity: "css" | "strict" | "ignore";
16048
- /**
16049
- * Which end of line characters to apply.
16050
- * @default "lf"
16051
- */
16052
- endOfLine: "auto" | "lf" | "crlf" | "cr";
16053
- /**
16054
- * Change when properties in objects are quoted.
16055
- * @default "as-needed"
16056
- */
16057
- quoteProps: "as-needed" | "consistent" | "preserve";
16058
- /**
16059
- * Whether or not to indent the code inside <script> and <style> tags in Vue files.
16060
- * @default false
16061
- */
16062
- vueIndentScriptAndStyle: boolean;
16063
- /**
16064
- * Enforce single attribute per line in HTML, XML, Vue and JSX.
16065
- * @default false
16066
- */
16067
- singleAttributePerLine: boolean;
16068
- /**
16069
- * How to handle whitespaces in XML.
16070
- * @default "preserve"
16071
- */
16072
- xmlQuoteAttributes: "single" | "double" | "preserve";
16073
- /**
16074
- * Whether to put a space inside the brackets of self-closing XML elements.
16075
- * @default true
16076
- */
16077
- xmlSelfClosingSpace: boolean;
16078
- /**
16079
- * Whether to sort attributes by key in XML elements.
16080
- * @default false
16081
- */
16082
- xmlSortAttributesByKey: boolean;
16083
- /**
16084
- * How to handle whitespaces in XML.
16085
- * @default "ignore"
16086
- */
16087
- xmlWhitespaceSensitivity: "ignore" | "strict" | "preserve";
16088
- }
16338
+ type ConfigNames = 'fabdeh/angular/rules' | 'fabdeh/angular-template/rules' | 'fabdeh/comments/rules' | 'fabdeh/imports/rules' | 'fabdeh/imports/ts-disables' | 'fabdeh/javascript/setup' | 'fabdeh/javascript/rules' | 'fabdeh/jsdoc/rules' | 'fabdeh/jsdoc/ts-only/rules' | 'fabdeh/jsonc/setup' | 'fabdeh/jsonc/rules' | 'fabdeh/markdown/setup' | 'fabdeh/markdown/processor' | 'fabdeh/markdown/parser' | 'fabdeh/markdown/disables' | 'fabdeh/markdown/rules' | 'fabdeh/ngrx-store/rules' | 'fabdeh/ngrx-effects/rules' | 'fabdeh/ngrx-signals/rules' | 'fabdeh/ngrx-operators/rules' | 'fabdeh/node/rules' | 'fabdeh/perfectionist/rules' | 'fabdeh/playwright/rules' | 'fabdeh/regexp/rules' | 'fabdeh/sort/package-json' | 'fabdeh/stylistic/rules' | '@fabdeh/tailwindcss/rules' | 'fabdeh/toml/setup' | 'fabdeh/toml/rules' | 'fabdeh/app/typescript/setup' | 'fabdeh/app/typescript/rules' | 'fabdeh/unicorn/rules' | 'fabdeh/vitest/rules' | 'fabdeh/yaml/setup' | 'fabdeh/yaml/rules';
16089
16339
  //#endregion
16090
16340
  //#region src/shared/constants.d.ts
16091
16341
  declare const OPTIONS_SYMBOL: unique symbol;
@@ -16325,6 +16575,12 @@ interface NgrxOptions {
16325
16575
  * Options for configuring testing utilities.
16326
16576
  */
16327
16577
  interface UnitTestingOptions {
16578
+ /**
16579
+ * Indicates whether to enable the `vitest` globals.
16580
+ *
16581
+ * @default true
16582
+ */
16583
+ enableVitestGlobals?: boolean;
16328
16584
  /**
16329
16585
  * Indicates whether to include Jest DOM matchers.
16330
16586
  *
@@ -16338,17 +16594,13 @@ interface UnitTestingOptions {
16338
16594
  */
16339
16595
  useTestingLibrary?: boolean;
16340
16596
  }
16341
- interface FormattersOptions {
16342
- css?: boolean;
16343
- html?: boolean;
16344
- xml?: boolean;
16345
- svg?: boolean;
16346
- markdown?: boolean;
16347
- graphql?: boolean;
16348
- options?: VendoredPrettierOptions;
16349
- slidev?: boolean | {
16350
- files?: string[];
16351
- };
16597
+ interface PlaywrightOptions {
16598
+ /**
16599
+ * Location of the e2e test folder.
16600
+ *
16601
+ * @default 'e2e'
16602
+ */
16603
+ e2eFolderPath?: string;
16352
16604
  }
16353
16605
  interface RegExpOptions {
16354
16606
  /**
@@ -16441,7 +16693,7 @@ interface IgnoresOptions {
16441
16693
  *
16442
16694
  * @see defineWorkspaceConfig function
16443
16695
  */
16444
- interface CreateWorkspaceConfigOptions extends IgnoresOptions {
16696
+ interface DefineWorkspaceConfigOptions extends IgnoresOptions {
16445
16697
  /**
16446
16698
  * Enable gitignore support.
16447
16699
  *
@@ -16502,23 +16754,10 @@ interface CreateWorkspaceConfigOptions extends IgnoresOptions {
16502
16754
  /**
16503
16755
  * Enable linting for **code snippets** in Markdown.
16504
16756
  *
16505
- * For formatting Markdown content, enable also `formatters.markdown`.
16506
- *
16507
16757
  * @default true
16508
16758
  */
16509
16759
  markdown?: OverridesOptions | boolean;
16510
16760
  /**
16511
- * Use external formatters to format files.
16512
- *
16513
- * Requires installing:
16514
- * - `eslint-plugin-format`
16515
- *
16516
- * When set to `true`, it will enable all formatters.
16517
- *
16518
- * @default false
16519
- */
16520
- formatters?: FormattersOptions | boolean;
16521
- /**
16522
16761
  * Enable pnpm (workspace/catalogs) support.
16523
16762
  *
16524
16763
  * Currently, it's disabled by default, as it's still experimental.
@@ -16536,7 +16775,7 @@ interface CreateWorkspaceConfigOptions extends IgnoresOptions {
16536
16775
  *
16537
16776
  * @see defineProjectConfig function
16538
16777
  */
16539
- interface CreateProjectConfigOptions extends IgnoresOptions, ProjectTypeOptions {
16778
+ interface DefineProjectConfigOptions extends IgnoresOptions, ProjectTypeOptions {
16540
16779
  /**
16541
16780
  * Enable or disable JSDoc rules.
16542
16781
  *
@@ -16561,7 +16800,7 @@ interface CreateProjectConfigOptions extends IgnoresOptions, ProjectTypeOptions
16561
16800
  *
16562
16801
  * @default auto-detect based on dependencies.
16563
16802
  */
16564
- vitest?: boolean | (OverridesOptions & UnitTestingOptions);
16803
+ vitest?: boolean | (FilesOptions & OverridesOptions & UnitTestingOptions);
16565
16804
  /**
16566
16805
  * Options for the TailwindCSS linting rules.
16567
16806
  *
@@ -16574,18 +16813,26 @@ interface CreateProjectConfigOptions extends IgnoresOptions, ProjectTypeOptions
16574
16813
  */
16575
16814
  typescript?: OverridesOptions & ProjectTypeScriptOptions;
16576
16815
  }
16816
+ type DefinePlaywrightConfigOptions = FilesOptions & IgnoresOptions & OverridesOptions;
16577
16817
  /**
16578
16818
  * Options for creating an ESLint configuration.
16579
16819
  * Combines workspace and project options for standalone usage.
16580
16820
  *
16581
16821
  * @see defineConfig function
16582
16822
  */
16583
- type CreateConfigOptions = CreateWorkspaceConfigOptions & Omit<CreateProjectConfigOptions, "ignores" | "typescript">;
16823
+ type DefineConfigOptions = DefineWorkspaceConfigOptions & Omit<DefineProjectConfigOptions, "ignores" | "typescript"> & {
16824
+ /**
16825
+ * Options for the Playwright linting rules
16826
+ *
16827
+ * @default auto-detect based on dependencies.
16828
+ */
16829
+ playwright?: boolean | (FilesOptions & OverridesOptions & PlaywrightOptions);
16830
+ };
16584
16831
  /**
16585
16832
  * Return-type of the `defineWorkspaceConfig` function.
16586
16833
  */
16587
16834
  type TypedConfigArrayWithOptions = TypedConfigArray & {
16588
- [OPTIONS_SYMBOL]: CreateWorkspaceConfigOptions;
16835
+ [OPTIONS_SYMBOL]: DefineWorkspaceConfigOptions;
16589
16836
  };
16590
16837
  //#endregion
16591
16838
  //#region src/configs/angular.d.ts
@@ -16613,17 +16860,6 @@ declare function angular(options?: AngularOptions): Promise<TypedConfigArray>;
16613
16860
  */
16614
16861
  declare function comments(): TypedConfigArray;
16615
16862
  //#endregion
16616
- //#region src/configs/formatters.d.ts
16617
- /**
16618
- * Configures and returns an array of formatters based on the provided options.
16619
- *
16620
- * @param options - The options for configuring the formatters. If set to `true`, default options will be used.
16621
- * @param stylistic - The stylistic options for the formatters.
16622
- * @param hasAngularTemplateParser - Optional argument which indicates whether angular rules already registered the template parser or not.
16623
- * @returns A promise that resolves to a `TypedConfigArray` containing the configured formatters.
16624
- */
16625
- declare function formatters(options?: FormattersOptions | true, stylistic?: StylisticConfig, hasAngularTemplateParser?: boolean): Promise<TypedConfigArray>;
16626
- //#endregion
16627
16863
  //#region src/configs/ignore.d.ts
16628
16864
  /**
16629
16865
  * Generates a configuration array for ESLint with default and user-defined ignore patterns.
@@ -16762,6 +16998,26 @@ declare function node(): TypedConfigArray;
16762
16998
  */
16763
16999
  declare function perfectionist(): TypedConfigArray;
16764
17000
  //#endregion
17001
+ //#region src/configs/playwright.d.ts
17002
+ /**
17003
+ * Configures and returns an ESLint flat config for Playwright test files.
17004
+ *
17005
+ * @param [options] - Options used to customize the Playwright config.
17006
+ * @param [options.e2eFolderPath] - The path to the e2e folder to prepend to each `options.files` glob pattern (defaults to `e2e`).
17007
+ * @param [options.files] - File globs to target (defaults to `GLOB_TESTS`).
17008
+ * @param [options.overrides] - Custom ESLint rule overrides merged last.
17009
+ * @returns A promise that resolves to a single-entry ESLint config array.
17010
+ * @example
17011
+ * const config = await playwright({
17012
+ * e2eFolderPath: 'tests/e2e',
17013
+ * files: ['**\/*.test.ts'], // will become 'tests\/e2e\/**\/*.test.ts' because of the e2eFolderPath option
17014
+ * overrides: {
17015
+ * 'playwright/no-page-pause': 'off',
17016
+ * },
17017
+ * });
17018
+ */
17019
+ declare function playwright(options?: FilesOptions & OverridesOptions & PlaywrightOptions): Promise<TypedConfigArray>;
17020
+ //#endregion
16765
17021
  //#region src/configs/pnpm.d.ts
16766
17022
  /**
16767
17023
  * Generates an array containing configuration settings for PNPM workspace-specific rules and plugins.
@@ -16864,20 +17120,23 @@ declare function unicorn(options?: UnicornOptions): TypedConfigArray;
16864
17120
  * Configures and returns an ESLint configuration array for Vitest.
16865
17121
  *
16866
17122
  * @param [options] - The options to customize the configuration.
17123
+ * @param [options.files] - File globs to target (defaults to `GLOB_VITEST`).
16867
17124
  * @param [options.overrides] - Custom rule overrides.
16868
17125
  * @param [options.useJestDom] - Whether to use the `@testing-library/jest-dom` plugin.
16869
17126
  * @param [options.useTestingLibrary] - Whether to use the `@testing-library/angular` plugin.
17127
+ * @param [options.e2eFolderPath] - The path to the e2e folder to ignore (this is only used internally by the `defineConfig` function, not by the user).
16870
17128
  * @returns A promise that resolves to the ESLint configuration array.
16871
17129
  * @example
16872
17130
  * const config = await vitest({
17131
+ * files: ['**\/*.spec.ts'],
16873
17132
  * overrides: {
16874
- * 'no-console': 'warn',
17133
+ * 'vitest/prefer-lowercase-title': 'warn',
16875
17134
  * },
16876
17135
  * useJestDom: true,
16877
17136
  * useTestingLibrary: false,
16878
17137
  * });
16879
17138
  */
16880
- declare function vitest(options?: OverridesOptions & UnitTestingOptions): Promise<TypedConfigArray>;
17139
+ declare function vitest(options?: FilesOptions & OverridesOptions & PlaywrightOptions & UnitTestingOptions): Promise<TypedConfigArray>;
16881
17140
  //#endregion
16882
17141
  //#region src/configs/yaml.d.ts
16883
17142
  /**
@@ -16910,7 +17169,7 @@ declare function yaml(options?: FilesOptions & OverridesOptions & StylisticOptio
16910
17169
  * const config = await defineProjectConfig(baseConfig, { vitest: true, typescript: { parserOptions: { project: './tsconfig.json' } } });
16911
17170
  * ```
16912
17171
  */
16913
- declare function defineProjectConfig(baseConfig: Awaitable<TypedConfigArrayWithOptions>, options?: CreateProjectConfigOptions, ...userConfigs: Awaitable<TypedConfigWithExtends | TypedConfigWithExtends[]>[]): Promise<TypedConfigArray>;
17172
+ declare function defineProjectConfig(baseConfig: Awaitable<TypedConfigArrayWithOptions>, options?: DefineProjectConfigOptions, ...userConfigs: Awaitable<TypedConfigWithExtends | TypedConfigWithExtends[]>[]): Promise<TypedConfigArray>;
16914
17173
  //#endregion
16915
17174
  //#region src/factories/standard-config.d.ts
16916
17175
  /**
@@ -16925,7 +17184,7 @@ declare function defineProjectConfig(baseConfig: Awaitable<TypedConfigArrayWithO
16925
17184
  * const config = await defineConfig({ vitest: true, typescript: { parserOptions: { project: './tsconfig.json' } } });
16926
17185
  * ```
16927
17186
  */
16928
- declare function defineConfig(options?: CreateConfigOptions, ...userConfigs: Awaitable<TypedConfigWithExtends | TypedConfigWithExtends[]>[]): Promise<TypedConfigArray>;
17187
+ declare function defineConfig(options?: DefineConfigOptions, ...userConfigs: Awaitable<TypedConfigWithExtends | TypedConfigWithExtends[]>[]): Promise<TypedConfigArray>;
16929
17188
  //#endregion
16930
17189
  //#region src/factories/workspace-config.d.ts
16931
17190
  /**
@@ -16941,7 +17200,7 @@ declare function defineConfig(options?: CreateConfigOptions, ...userConfigs: Awa
16941
17200
  * const config = await defineWorkspaceConfig({ vitest: true, typescript: { parserOptions: { project: './tsconfig.json' } } });
16942
17201
  * ```
16943
17202
  */
16944
- declare function defineWorkspaceConfig(options?: CreateWorkspaceConfigOptions, ...userConfigs: Awaitable<TypedConfigWithExtends | TypedConfigWithExtends[]>[]): Promise<TypedConfigArrayWithOptions>;
17203
+ declare function defineWorkspaceConfig(options?: DefineWorkspaceConfigOptions, ...userConfigs: Awaitable<TypedConfigWithExtends | TypedConfigWithExtends[]>[]): Promise<TypedConfigArrayWithOptions>;
16945
17204
  //#endregion
16946
17205
  //#region src/shared/globs.d.ts
16947
17206
  /**
@@ -16980,6 +17239,13 @@ declare function interopDefault<T>(m: Awaitable<T>): Promise<T extends {
16980
17239
  default: infer U;
16981
17240
  } ? U : T>;
16982
17241
  /**
17242
+ * Checks whether the given path points to an existing directory.
17243
+ *
17244
+ * @param path - Filesystem path to validate.
17245
+ * @returns `true` when the path exists and is a directory; otherwise `false`.
17246
+ */
17247
+ declare function isDirectory(path: PathLike): boolean;
17248
+ /**
16983
17249
  * Retrieves the root directory of the workspace.
16984
17250
  *
16985
17251
  * This function determines the root directory of the workspace by checking for specific files
@@ -17023,10 +17289,59 @@ type ResolvedOptions<T> = T extends boolean ? never : NonNullable<T>;
17023
17289
  /**
17024
17290
  * Returns the object representation of the configuration or an empty object if it is a boolean.
17025
17291
  *
17026
- * @param options - The {@link CreateConfigOptions} object to extract the sub-options from.
17292
+ * @param options - The {@link DefineConfigOptions} object to extract the sub-options from.
17027
17293
  * @param key - The property name.
17028
17294
  * @returns An object representing the required options.
17029
17295
  */
17030
- declare function resolveSubOptions<K extends keyof CreateConfigOptions>(options: CreateConfigOptions, key: K): ResolvedOptions<CreateConfigOptions[K]>;
17296
+ declare function resolveSubOptions<K extends keyof DefineConfigOptions>(options: DefineConfigOptions, key: K): ResolvedOptions<DefineConfigOptions[K]>;
17297
+ /**
17298
+ * Replace Windows with posix style paths
17299
+ *
17300
+ * @param filePath - Path to convert
17301
+ * @returns Converted filepath
17302
+ */
17303
+ declare function convertPathToPosix(filePath: string): string;
17304
+ interface PathToGlobPatternOptions {
17305
+ /**
17306
+ * An array of accepted extensions
17307
+ */
17308
+ extensions?: string[];
17309
+ /**
17310
+ * cwd to use to resolve relative pathnames
17311
+ */
17312
+ cwd?: string;
17313
+ }
17314
+ /**
17315
+ * Checks if a provided path is a directory and returns a glob string matching
17316
+ * all files under that directory if so, the path itself otherwise.
17317
+ *
17318
+ * Reason for this is that `glob` needs `/**` to collect all the files under a
17319
+ * directory where as our previous implementation without `glob` simply walked
17320
+ * a directory that is passed. So this is to maintain backwards compatibility.
17321
+ *
17322
+ * Also makes sure all path separators are POSIX style for `glob` compatibility.
17323
+ *
17324
+ * @param [options] - An options object
17325
+ * @param [options.extensions] - An array of accepted extensions
17326
+ * @param [options.cwd] - The cwd to use to resolve relative pathnames
17327
+ * @returns A function that takes a pathname and returns a glob that
17328
+ * matches all files with the provided extensions if
17329
+ * pathname is a directory.
17330
+ */
17331
+ declare function pathToGlobPattern(options?: PathToGlobPatternOptions): (path: string) => string;
17332
+ /**
17333
+ * Finds the first valid Playwright test directory declared via `testDir` in any
17334
+ * `playwright.config.ts` file under the current workspace.
17335
+ *
17336
+ * The function:
17337
+ * - Locates Playwright config files, excluding `node_modules`.
17338
+ * - Reads each config as text.
17339
+ * - Extracts `testDir` with a regex.
17340
+ * - Resolves `testDir` relative to the config file location.
17341
+ * - Returns the first resolved path that exists as a directory.
17342
+ *
17343
+ * @returns Absolute path to the first existing Playwright test directory, or `undefined` if none is found.
17344
+ */
17345
+ declare function getPlaywrightDirectory(): Promise<string | undefined>;
17031
17346
  //#endregion
17032
- export { AngularOptions, ArrayItemType, Awaitable, type ConfigNames, CreateConfigOptions, CreateProjectConfigOptions, CreateWorkspaceConfigOptions, ExtractRuleOptionsType, FilesOptions, FormattersOptions, GLOB_HTML, GLOB_JS, GLOB_SRC, GLOB_TESTS, GLOB_TS, IgnoresOptions, InfiniteDepthConfigWithExtends, NamingConventionOptions, NgrxOperatorsOptions, NgrxOptions, OverridesOptions, ProjectType, ProjectTypeOptions, ProjectTypeScriptOptions, RegExpOptions, ResolvedOptions, Rules, STYLISTIC_CONFIG_DEFAULT, StylisticConfig, StylisticOptions, TailwindCssOptions, TypeScriptOptions, TypedConfig, TypedConfigArray, TypedConfigArrayWithOptions, TypedConfigWithExtends, UnicornOptions, UnitTestingOptions, WorkspaceProjectType, angular, comments, defineConfig, defineProjectConfig, defineWorkspaceConfig, ensurePackages, formatters, getTsConfigFileName, getWorkspaceRoot, ignores, imports, interopDefault, isPackageInScope, javascript, jsdoc, jsonc, markdown, ngrx, node, perfectionist, pnpm, regexp, resolveSubOptions, sortPackageJson, sortTsConfig, stylistic, tailwindcss, toml, typescript, unicorn, vitest, yaml };
17347
+ export { AngularOptions, ArrayItemType, Awaitable, type ConfigNames, DefineConfigOptions, DefinePlaywrightConfigOptions, DefineProjectConfigOptions, DefineWorkspaceConfigOptions, ExtractRuleOptionsType, FilesOptions, GLOB_HTML, GLOB_JS, GLOB_SRC, GLOB_TESTS, GLOB_TS, IgnoresOptions, InfiniteDepthConfigWithExtends, NamingConventionOptions, NgrxOperatorsOptions, NgrxOptions, OverridesOptions, PathToGlobPatternOptions, PlaywrightOptions, ProjectType, ProjectTypeOptions, ProjectTypeScriptOptions, RegExpOptions, ResolvedOptions, Rules, STYLISTIC_CONFIG_DEFAULT, StylisticConfig, StylisticOptions, TailwindCssOptions, TypeScriptOptions, TypedConfig, TypedConfigArray, TypedConfigArrayWithOptions, TypedConfigWithExtends, UnicornOptions, UnitTestingOptions, WorkspaceProjectType, angular, comments, convertPathToPosix, defineConfig, defineProjectConfig, defineWorkspaceConfig, ensurePackages, getPlaywrightDirectory, getTsConfigFileName, getWorkspaceRoot, ignores, imports, interopDefault, isDirectory, isPackageInScope, javascript, jsdoc, jsonc, markdown, ngrx, node, pathToGlobPattern, perfectionist, playwright, pnpm, regexp, resolveSubOptions, sortPackageJson, sortTsConfig, stylistic, tailwindcss, toml, typescript, unicorn, vitest, yaml };