@luxass/eslint-config 6.0.3 → 7.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -306,7 +306,38 @@ declare function node(): TypedFlatConfigItem[];
306
306
  declare function perfectionist(): Promise<TypedFlatConfigItem[]>;
307
307
  //#endregion
308
308
  //#region src/configs/pnpm.d.ts
309
- declare function pnpm(): Promise<TypedFlatConfigItem[]>;
309
+ interface PnpmOptions {
310
+ /**
311
+ * Requires catalogs usage
312
+ *
313
+ * Detects automatically based if `catalogs` is used in the pnpm-workspace.yaml file
314
+ */
315
+ catalogs?: boolean;
316
+ /**
317
+ * Enable linting for package.json, will install the jsonc parser
318
+ *
319
+ * @default true
320
+ */
321
+ json?: boolean;
322
+ /**
323
+ * Enable linting for pnpm-workspace.yaml, will install the yaml parser
324
+ *
325
+ * @default true
326
+ */
327
+ yaml?: boolean;
328
+ /**
329
+ * Sort entries in pnpm-workspace.yaml
330
+ *
331
+ * @default false
332
+ */
333
+ sort?: boolean;
334
+ /**
335
+ * Whether the config is for an editor.
336
+ * @default false
337
+ */
338
+ isInEditor?: boolean;
339
+ }
340
+ declare function pnpm(options: PnpmOptions): Promise<TypedFlatConfigItem[]>;
310
341
  //#endregion
311
342
  //#region src/configs/react.d.ts
312
343
  interface ReactOptions {
@@ -336,6 +367,10 @@ interface ReactOptions {
336
367
  * @default ['**\/*.md\/**', '**\/*.astro/*.ts']
337
368
  */
338
369
  ignoresTypeAware?: string[];
370
+ /**
371
+ * Enable rules that require React Compiler.
372
+ */
373
+ reactCompiler?: boolean;
339
374
  }
340
375
  declare function react(options?: ReactOptions): Promise<TypedFlatConfigItem[]>;
341
376
  //#endregion
@@ -1076,6 +1111,26 @@ interface RuleOptions {
1076
1111
  * @see https://eslint.org/docs/latest/rules/eqeqeq
1077
1112
  */
1078
1113
  'eqeqeq'?: Linter.RuleEntry<Eqeqeq>;
1114
+ /**
1115
+ * Avoid using TypeScript's enums.
1116
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-erasable-syntax-only/blob/main/docs/rules/enums.md
1117
+ */
1118
+ 'erasable-syntax-only/enums'?: Linter.RuleEntry<[]>;
1119
+ /**
1120
+ * Avoid using TypeScript's import aliases.
1121
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-erasable-syntax-only/blob/main/docs/rules/import-aliases.md
1122
+ */
1123
+ 'erasable-syntax-only/import-aliases'?: Linter.RuleEntry<[]>;
1124
+ /**
1125
+ * Avoid using TypeScript's namespaces.
1126
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-erasable-syntax-only/blob/main/docs/rules/namespaces.md
1127
+ */
1128
+ 'erasable-syntax-only/namespaces'?: Linter.RuleEntry<[]>;
1129
+ /**
1130
+ * Avoid using TypeScript's class parameter properties.
1131
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-erasable-syntax-only/blob/main/docs/rules/parameter-properties.md
1132
+ */
1133
+ 'erasable-syntax-only/parameter-properties'?: Linter.RuleEntry<[]>;
1079
1134
  /**
1080
1135
  * require a `eslint-enable` comment for every `eslint-disable` comment
1081
1136
  * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/disable-enable-pair.html
@@ -1232,6 +1287,11 @@ interface RuleOptions {
1232
1287
  * @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/consistent-type-specifier-style/README.md
1233
1288
  */
1234
1289
  'import/consistent-type-specifier-style'?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>;
1290
+ /**
1291
+ * Ensure all exports appear after other statements.
1292
+ * @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/exports-last/README.md
1293
+ */
1294
+ 'import/exports-last'?: Linter.RuleEntry<[]>;
1235
1295
  /**
1236
1296
  * Ensure all imports appear before other statements.
1237
1297
  * @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/first/README.md
@@ -1262,6 +1322,11 @@ interface RuleOptions {
1262
1322
  * @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/no-named-default/README.md
1263
1323
  */
1264
1324
  'import/no-named-default'?: Linter.RuleEntry<[]>;
1325
+ /**
1326
+ * Prefer a default export if module exports a single name or multiple names.
1327
+ * @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/prefer-default-export/README.md
1328
+ */
1329
+ 'import/prefer-default-export'?: Linter.RuleEntry<ImportPreferDefaultExport>;
1265
1330
  /**
1266
1331
  * Enforce consistent indentation
1267
1332
  * @see https://eslint.org/docs/latest/rules/indent
@@ -1534,6 +1599,11 @@ interface RuleOptions {
1534
1599
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-type.md#repos-sticky-header
1535
1600
  */
1536
1601
  'jsdoc/require-property-type'?: Linter.RuleEntry<[]>;
1602
+ /**
1603
+ * Requires that Promise rejections are documented with `@rejects` tags.
1604
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-rejects.md#repos-sticky-header
1605
+ */
1606
+ 'jsdoc/require-rejects'?: Linter.RuleEntry<JsdocRequireRejects>;
1537
1607
  /**
1538
1608
  * Requires that returns are documented with `@returns`.
1539
1609
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns.md#repos-sticky-header
@@ -3206,6 +3276,11 @@ interface RuleOptions {
3206
3276
  * @see https://perfectionist.dev/rules/sort-enums
3207
3277
  */
3208
3278
  'perfectionist/sort-enums'?: Linter.RuleEntry<PerfectionistSortEnums>;
3279
+ /**
3280
+ * Enforce sorted export attributes.
3281
+ * @see https://perfectionist.dev/rules/sort-export-attributes
3282
+ */
3283
+ 'perfectionist/sort-export-attributes'?: Linter.RuleEntry<PerfectionistSortExportAttributes>;
3209
3284
  /**
3210
3285
  * Enforce sorted exports.
3211
3286
  * @see https://perfectionist.dev/rules/sort-exports
@@ -3216,6 +3291,11 @@ interface RuleOptions {
3216
3291
  * @see https://perfectionist.dev/rules/sort-heritage-clauses
3217
3292
  */
3218
3293
  'perfectionist/sort-heritage-clauses'?: Linter.RuleEntry<PerfectionistSortHeritageClauses>;
3294
+ /**
3295
+ * Enforce sorted import attributes.
3296
+ * @see https://perfectionist.dev/rules/sort-import-attributes
3297
+ */
3298
+ 'perfectionist/sort-import-attributes'?: Linter.RuleEntry<PerfectionistSortImportAttributes>;
3219
3299
  /**
3220
3300
  * Enforce sorted imports.
3221
3301
  * @see https://perfectionist.dev/rules/sort-imports
@@ -3301,6 +3381,11 @@ interface RuleOptions {
3301
3381
  * @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/json/json-valid-catalog.test.ts
3302
3382
  */
3303
3383
  'pnpm/json-valid-catalog'?: Linter.RuleEntry<PnpmJsonValidCatalog>;
3384
+ /**
3385
+ * Enforce settings in `pnpm-workspace.yaml`
3386
+ * @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/yaml/yaml-enforce-settings.test.ts
3387
+ */
3388
+ 'pnpm/yaml-enforce-settings'?: Linter.RuleEntry<PnpmYamlEnforceSettings>;
3304
3389
  /**
3305
3390
  * Disallow duplicate catalog items in `pnpm-workspace.yaml`
3306
3391
  * @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/yaml/yaml-no-duplicate-catalog-item.test.ts
@@ -3410,97 +3495,97 @@ interface RuleOptions {
3410
3495
  */
3411
3496
  'radix'?: Linter.RuleEntry<Radix>;
3412
3497
  /**
3413
- * Disallow `dangerouslySetInnerHTML`.
3498
+ * Disallows DOM elements from using 'dangerouslySetInnerHTML'.
3414
3499
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml
3415
3500
  */
3416
3501
  'react-dom/no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>;
3417
3502
  /**
3418
- * Disallow `dangerouslySetInnerHTML` and `children` at the same time.
3503
+ * Disallows DOM elements from using 'dangerouslySetInnerHTML' and 'children' at the same time.
3419
3504
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml-with-children
3420
3505
  */
3421
3506
  'react-dom/no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>;
3422
3507
  /**
3423
- * Disallow `findDOMNode`.
3508
+ * Disallows 'findDOMNode'.
3424
3509
  * @see https://eslint-react.xyz/docs/rules/dom-no-find-dom-node
3425
3510
  */
3426
3511
  'react-dom/no-find-dom-node'?: Linter.RuleEntry<[]>;
3427
3512
  /**
3428
- * Disallow `flushSync`.
3513
+ * Disallows 'flushSync'.
3429
3514
  * @see https://eslint-react.xyz/docs/rules/dom-no-flush-sync
3430
3515
  */
3431
3516
  'react-dom/no-flush-sync'?: Linter.RuleEntry<[]>;
3432
3517
  /**
3433
- * Replaces usages of `ReactDom.hydrate()` with `hydrateRoot()`.
3518
+ * Replaces usage of 'ReactDOM.hydrate()' with 'hydrateRoot()'.
3434
3519
  * @see https://eslint-react.xyz/docs/rules/dom-no-hydrate
3435
3520
  */
3436
3521
  'react-dom/no-hydrate'?: Linter.RuleEntry<[]>;
3437
3522
  /**
3438
- * Enforces explicit `type` attribute for `button` elements.
3523
+ * Enforces an explicit 'type' attribute for 'button' elements.
3439
3524
  * @see https://eslint-react.xyz/docs/rules/dom-no-missing-button-type
3440
3525
  */
3441
3526
  'react-dom/no-missing-button-type'?: Linter.RuleEntry<[]>;
3442
3527
  /**
3443
- * Enforces explicit `sandbox` prop for `iframe` elements.
3528
+ * Enforces an explicit 'sandbox' attribute for 'iframe' elements.
3444
3529
  * @see https://eslint-react.xyz/docs/rules/dom-no-missing-iframe-sandbox
3445
3530
  */
3446
3531
  'react-dom/no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>;
3447
3532
  /**
3448
- * Enforces the absence of a `namespace` in React elements.
3533
+ * Enforces the absence of a 'namespace' in React elements.
3449
3534
  * @see https://eslint-react.xyz/docs/rules/dom-no-namespace
3450
3535
  */
3451
3536
  'react-dom/no-namespace'?: Linter.RuleEntry<[]>;
3452
3537
  /**
3453
- * Replaces usages of `ReactDom.render()` with `createRoot(node).render()`.
3538
+ * Replaces usage of 'ReactDOM.render()' with 'createRoot(node).render()'.
3454
3539
  * @see https://eslint-react.xyz/docs/rules/dom-no-render
3455
3540
  */
3456
3541
  'react-dom/no-render'?: Linter.RuleEntry<[]>;
3457
3542
  /**
3458
- * Disallow the return value of `ReactDOM.render`.
3543
+ * Disallows the return value of 'ReactDOM.render'.
3459
3544
  * @see https://eslint-react.xyz/docs/rules/dom-no-render-return-value
3460
3545
  */
3461
3546
  'react-dom/no-render-return-value'?: Linter.RuleEntry<[]>;
3462
3547
  /**
3463
- * Disallow `javascript:` URLs as attribute values.
3548
+ * Disallows 'javascript:' URLs as attribute values.
3464
3549
  * @see https://eslint-react.xyz/docs/rules/dom-no-script-url
3465
3550
  */
3466
3551
  'react-dom/no-script-url'?: Linter.RuleEntry<[]>;
3467
3552
  /**
3468
- * Disallows the use of string style prop.
3553
+ * Disallows the use of string style prop in JSX. Use an object instead.
3469
3554
  * @see https://eslint-react.xyz/docs/rules/dom-no-string-style-prop
3470
3555
  */
3471
3556
  'react-dom/no-string-style-prop'?: Linter.RuleEntry<[]>;
3472
3557
  /**
3473
- * Disallow unknown `DOM` property.
3558
+ * Disallows unknown 'DOM' properties.
3474
3559
  * @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
3475
3560
  */
3476
3561
  'react-dom/no-unknown-property'?: Linter.RuleEntry<ReactDomNoUnknownProperty>;
3477
3562
  /**
3478
- * Enforces `sandbox` attribute for `iframe` elements is not set to unsafe combinations.
3563
+ * Enforces 'sandbox' attribute for 'iframe' elements is not set to unsafe combinations.
3479
3564
  * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-iframe-sandbox
3480
3565
  */
3481
3566
  'react-dom/no-unsafe-iframe-sandbox'?: Linter.RuleEntry<[]>;
3482
3567
  /**
3483
- * Disallow `target="_blank"` without `rel="noreferrer noopener"`.
3568
+ * Disallows 'target="_blank"' without 'rel="noreferrer noopener"'.
3484
3569
  * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-target-blank
3485
3570
  */
3486
3571
  'react-dom/no-unsafe-target-blank'?: Linter.RuleEntry<[]>;
3487
3572
  /**
3488
- * Replaces usages of `useFormState` with `useActionState`.
3573
+ * Replaces usage of 'useFormState' with 'useActionState'.
3489
3574
  * @see https://eslint-react.xyz/docs/rules/dom-no-use-form-state
3490
3575
  */
3491
3576
  'react-dom/no-use-form-state'?: Linter.RuleEntry<[]>;
3492
3577
  /**
3493
- * Disallow `children` in void DOM elements.
3578
+ * Disallows 'children' in void DOM elements.
3494
3579
  * @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
3495
3580
  */
3496
3581
  'react-dom/no-void-elements-with-children'?: Linter.RuleEntry<[]>;
3497
3582
  /**
3498
- * Enforces React Dom is imported via a namespace import.
3583
+ * Enforces importing React DOM via a namespace import.
3499
3584
  * @see https://eslint-react.xyz/docs/rules/dom-prefer-namespace-import
3500
3585
  */
3501
3586
  'react-dom/prefer-namespace-import'?: Linter.RuleEntry<[]>;
3502
3587
  /**
3503
- * Disallow direct calls to the `set` function of `useState` in `useEffect`.
3588
+ * Disallows direct calls to the ['set' function](https://react.dev/reference/react/useState#setstate) of 'useState' in 'useEffect'.
3504
3589
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-effect
3505
3590
  */
3506
3591
  'react-hooks-extra/no-direct-set-state-in-use-effect'?: Linter.RuleEntry<[]>;
@@ -3628,88 +3713,93 @@ interface RuleOptions {
3628
3713
  */
3629
3714
  'react-naming-convention/component-name'?: Linter.RuleEntry<ReactNamingConventionComponentName>;
3630
3715
  /**
3631
- * Enforces context name to be a valid component name with the suffix `Context`.
3716
+ * Enforces the context name to be a valid component name with the suffix 'Context'.
3632
3717
  * @see https://eslint-react.xyz/docs/rules/naming-convention-context-name
3633
3718
  */
3634
3719
  'react-naming-convention/context-name'?: Linter.RuleEntry<[]>;
3635
3720
  /**
3636
- * Enforces consistent file naming conventions.
3721
+ * Enforces consistent file-naming conventions.
3637
3722
  * @see https://eslint-react.xyz/docs/rules/naming-convention-filename
3638
3723
  */
3639
3724
  'react-naming-convention/filename'?: Linter.RuleEntry<ReactNamingConventionFilename>;
3640
3725
  /**
3641
- * Enforces consistent file naming conventions.
3726
+ * Enforces consistent use of the JSX file extension.
3642
3727
  * @see https://eslint-react.xyz/docs/rules/naming-convention-filename-extension
3643
3728
  */
3644
3729
  'react-naming-convention/filename-extension'?: Linter.RuleEntry<ReactNamingConventionFilenameExtension>;
3645
3730
  /**
3646
- * Enforces destructuring and symmetric naming of `useState` hook value and setter.
3731
+ * Enforces identifier names assigned from 'useRef' calls to be either 'ref' or end with 'Ref'.
3732
+ * @see https://eslint-react.xyz/docs/rules/naming-convention-ref-name
3733
+ */
3734
+ 'react-naming-convention/ref-name'?: Linter.RuleEntry<[]>;
3735
+ /**
3736
+ * Enforces destructuring and symmetric naming of the 'useState' hook value and setter.
3647
3737
  * @see https://eslint-react.xyz/docs/rules/naming-convention-use-state
3648
3738
  */
3649
- 'react-naming-convention/use-state'?: Linter.RuleEntry<[]>;
3739
+ 'react-naming-convention/use-state'?: Linter.RuleEntry<ReactNamingConventionUseState>;
3650
3740
  'react-refresh/only-export-components'?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>;
3651
3741
  /**
3652
- * Prevents leaked `addEventListener` in a component or custom Hook.
3742
+ * Enforces that every 'addEventListener' in a component or custom hook has a corresponding 'removeEventListener'.
3653
3743
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-event-listener
3654
3744
  */
3655
3745
  'react-web-api/no-leaked-event-listener'?: Linter.RuleEntry<[]>;
3656
3746
  /**
3657
- * Prevents leaked `setInterval` in a component or custom Hook.
3747
+ * Enforces that every 'setInterval' in a component or custom hook has a corresponding 'clearInterval'.
3658
3748
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval
3659
3749
  */
3660
3750
  'react-web-api/no-leaked-interval'?: Linter.RuleEntry<[]>;
3661
3751
  /**
3662
- * Prevents leaked `ResizeObserver` in a component or custom Hook.
3752
+ * Enforces that every 'ResizeObserver' created in a component or custom hook has a corresponding 'ResizeObserver.disconnect()'.
3663
3753
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-resize-observer
3664
3754
  */
3665
3755
  'react-web-api/no-leaked-resize-observer'?: Linter.RuleEntry<[]>;
3666
3756
  /**
3667
- * Prevents leaked `setTimeout` in a component or custom Hook.
3757
+ * Enforces that every 'setTimeout' in a component or custom hook has a corresponding 'clearTimeout'.
3668
3758
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-timeout
3669
3759
  */
3670
3760
  'react-web-api/no-leaked-timeout'?: Linter.RuleEntry<[]>;
3671
3761
  /**
3672
- * Prevents dollar signs from being inserted as text nodes before expressions.
3762
+ * Prevents unnecessary dollar signs ('$') from being inserted before an expression in JSX.
3673
3763
  * @see https://eslint-react.xyz/docs/rules/jsx-dollar
3674
3764
  */
3675
3765
  'react/jsx-dollar'?: Linter.RuleEntry<[]>;
3676
3766
  /**
3677
- * Enforces that the 'key' prop is placed before the spread prop in JSX elements.
3767
+ * Enforces that the 'key' prop is placed before the spread prop in JSX elements when using the new JSX transform.
3678
3768
  * @see https://eslint-react.xyz/docs/rules/jsx-key-before-spread
3679
3769
  */
3680
3770
  'react/jsx-key-before-spread'?: Linter.RuleEntry<[]>;
3681
3771
  /**
3682
- * Prevents comments from being inserted as text nodes.
3772
+ * Prevents comment strings (e.g., beginning with '//' or '/*') from being accidentally inserted into a JSX element's text nodes.
3683
3773
  * @see https://eslint-react.xyz/docs/rules/jsx-no-comment-textnodes
3684
3774
  */
3685
3775
  'react/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>;
3686
3776
  /**
3687
- * Disallow duplicate props in JSX elements.
3777
+ * Disallows duplicate props in JSX elements.
3688
3778
  * @see https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props
3689
3779
  */
3690
3780
  'react/jsx-no-duplicate-props'?: Linter.RuleEntry<[]>;
3691
3781
  /**
3692
- * Disallows 'IIFE' in JSX elements.
3782
+ * Disallows 'IIFE' in JSX.
3693
3783
  * @see https://eslint-react.xyz/docs/rules/jsx-no-iife
3694
3784
  */
3695
3785
  'react/jsx-no-iife'?: Linter.RuleEntry<[]>;
3696
3786
  /**
3697
- * Disallow undefined variables in JSX.
3787
+ * Prevents using variables in JSX that are not defined in the scope.
3698
3788
  * @see https://eslint-react.xyz/docs/rules/jsx-no-undef
3699
3789
  */
3700
3790
  'react/jsx-no-undef'?: Linter.RuleEntry<[]>;
3701
3791
  /**
3702
- * Enforces shorthand syntax for boolean attributes.
3792
+ * Enforces the use of shorthand syntax for boolean attributes.
3703
3793
  * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-boolean
3704
3794
  */
3705
3795
  'react/jsx-shorthand-boolean'?: Linter.RuleEntry<ReactJsxShorthandBoolean>;
3706
3796
  /**
3707
- * Enforces shorthand syntax for fragments.
3797
+ * Enforces the use of shorthand syntax for fragments.
3708
3798
  * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-fragment
3709
3799
  */
3710
3800
  'react/jsx-shorthand-fragment'?: Linter.RuleEntry<ReactJsxShorthandFragment>;
3711
3801
  /**
3712
- * Marks React variables as used when JSX is used.
3802
+ * Marks React variables as used when JSX is present.
3713
3803
  * @see https://eslint-react.xyz/docs/rules/jsx-uses-react
3714
3804
  */
3715
3805
  'react/jsx-uses-react'?: Linter.RuleEntry<[]>;
@@ -3719,107 +3809,108 @@ interface RuleOptions {
3719
3809
  */
3720
3810
  'react/jsx-uses-vars'?: Linter.RuleEntry<[]>;
3721
3811
  /**
3722
- * Disallow accessing `this.state` inside `setState` calls.
3812
+ * Disallows accessing 'this.state' inside 'setState' calls.
3723
3813
  * @see https://eslint-react.xyz/docs/rules/no-access-state-in-setstate
3724
3814
  */
3725
3815
  'react/no-access-state-in-setstate'?: Linter.RuleEntry<[]>;
3726
3816
  /**
3727
- * Disallow an item's index in the array as its key.
3817
+ * Disallows using an item's index in the array as its key.
3728
3818
  * @see https://eslint-react.xyz/docs/rules/no-array-index-key
3729
3819
  */
3730
3820
  'react/no-array-index-key'?: Linter.RuleEntry<[]>;
3731
3821
  /**
3732
- * Disallow `Children.count`.
3822
+ * Disallows the use of 'Children.count' from the 'react' package.
3733
3823
  * @see https://eslint-react.xyz/docs/rules/no-children-count
3734
3824
  */
3735
3825
  'react/no-children-count'?: Linter.RuleEntry<[]>;
3736
3826
  /**
3737
- * Disallow 'Children.forEach'.
3827
+ * Disallows the use of 'Children.forEach' from the 'react' package.
3738
3828
  * @see https://eslint-react.xyz/docs/rules/no-children-for-each
3739
3829
  */
3740
3830
  'react/no-children-for-each'?: Linter.RuleEntry<[]>;
3741
3831
  /**
3742
- * Disallow `Children.map`.
3832
+ * Disallows the use of 'Children.map' from the 'react' package.
3743
3833
  * @see https://eslint-react.xyz/docs/rules/no-children-map
3744
3834
  */
3745
3835
  'react/no-children-map'?: Linter.RuleEntry<[]>;
3746
3836
  /**
3747
- * Disallow `Children.only`.
3837
+ * Disallows the use of 'Children.only' from the 'react' package.
3748
3838
  * @see https://eslint-react.xyz/docs/rules/no-children-only
3749
3839
  */
3750
3840
  'react/no-children-only'?: Linter.RuleEntry<[]>;
3751
3841
  /**
3752
- * Disallow passing `children` as a prop.
3842
+ * Disallows passing 'children' as a prop.
3753
3843
  * @see https://eslint-react.xyz/docs/rules/no-children-prop
3754
3844
  */
3755
3845
  'react/no-children-prop'?: Linter.RuleEntry<[]>;
3756
3846
  /**
3757
- * Disallow `Children.toArray`.
3847
+ * Disallows the use of 'Children.toArray' from the 'react' package.
3758
3848
  * @see https://eslint-react.xyz/docs/rules/no-children-to-array
3759
3849
  */
3760
3850
  'react/no-children-to-array'?: Linter.RuleEntry<[]>;
3761
3851
  /**
3762
- * Disallow class components except for error boundaries.
3852
+ * Disallows class components except for error boundaries.
3763
3853
  * @see https://eslint-react.xyz/docs/rules/no-class-component
3764
3854
  */
3765
3855
  'react/no-class-component'?: Linter.RuleEntry<[]>;
3766
3856
  /**
3767
- * Disallow `cloneElement`.
3857
+ * Disallows 'cloneElement'.
3768
3858
  * @see https://eslint-react.xyz/docs/rules/no-clone-element
3769
3859
  */
3770
3860
  'react/no-clone-element'?: Linter.RuleEntry<[]>;
3771
3861
  /**
3772
- * Replace usages of `componentWillMount` with `UNSAFE_componentWillMount`.
3862
+ * Replaces usage of 'componentWillMount' with 'UNSAFE_componentWillMount'.
3773
3863
  * @see https://eslint-react.xyz/docs/rules/no-component-will-mount
3774
3864
  */
3775
3865
  'react/no-component-will-mount'?: Linter.RuleEntry<[]>;
3776
3866
  /**
3777
- * Replace usages of `componentWillReceiveProps` with `UNSAFE_componentWillReceiveProps`.
3867
+ * Replaces usage of 'componentWillReceiveProps' with 'UNSAFE_componentWillReceiveProps'.
3778
3868
  * @see https://eslint-react.xyz/docs/rules/no-component-will-receive-props
3779
3869
  */
3780
3870
  'react/no-component-will-receive-props'?: Linter.RuleEntry<[]>;
3781
3871
  /**
3782
- * Replace usages of `componentWillUpdate` with `UNSAFE_componentWillUpdate`.
3872
+ * Replaces usage of 'componentWillUpdate' with 'UNSAFE_componentWillUpdate'.
3783
3873
  * @see https://eslint-react.xyz/docs/rules/no-component-will-update
3784
3874
  */
3785
3875
  'react/no-component-will-update'?: Linter.RuleEntry<[]>;
3786
3876
  /**
3787
- * Replace usages of `<Context.Provider>` with `<Context>`.
3877
+ * Replaces usage of '<Context.Provider>' with '<Context>'.
3788
3878
  * @see https://eslint-react.xyz/docs/rules/no-context-provider
3789
3879
  */
3790
3880
  'react/no-context-provider'?: Linter.RuleEntry<[]>;
3791
3881
  /**
3792
- * Disallow `createRef` in function components.
3882
+ * Disallows 'createRef' in function components.
3793
3883
  * @see https://eslint-react.xyz/docs/rules/no-create-ref
3794
3884
  */
3795
3885
  'react/no-create-ref'?: Linter.RuleEntry<[]>;
3796
3886
  /**
3797
- * Disallow `defaultProps` property in favor of ES6 default parameters.
3887
+ * Disallows the 'defaultProps' property in favor of ES6 default parameters.
3798
3888
  * @see https://eslint-react.xyz/docs/rules/no-default-props
3799
3889
  */
3800
3890
  'react/no-default-props'?: Linter.RuleEntry<[]>;
3801
3891
  /**
3802
- * Disallow direct mutation of `this.state`.
3892
+ * Disallows direct mutation of 'this.state'.
3803
3893
  * @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
3804
3894
  */
3805
3895
  'react/no-direct-mutation-state'?: Linter.RuleEntry<[]>;
3806
3896
  /**
3807
- * Disallow duplicate `key` on elements in the same array or a list of `children`.
3897
+ * Prevents duplicate 'key' props on sibling elements when rendering lists.
3808
3898
  * @see https://eslint-react.xyz/docs/rules/no-duplicate-key
3809
3899
  */
3810
3900
  'react/no-duplicate-key'?: Linter.RuleEntry<[]>;
3811
3901
  /**
3812
- * Disallow certain props on components.
3902
+ * Disallows certain props on components.
3813
3903
  * @see https://eslint-react.xyz/docs/rules/no-forbidden-props
3904
+ * @deprecated
3814
3905
  */
3815
3906
  'react/no-forbidden-props'?: Linter.RuleEntry<ReactNoForbiddenProps>;
3816
3907
  /**
3817
- * Replaces usages of `forwardRef` with passing `ref` as a prop.
3908
+ * Replaces usage of 'forwardRef' with passing 'ref' as a prop.
3818
3909
  * @see https://eslint-react.xyz/docs/rules/no-forward-ref
3819
3910
  */
3820
3911
  'react/no-forward-ref'?: Linter.RuleEntry<[]>;
3821
3912
  /**
3822
- * Prevents `key` from not being explicitly specified (e.g. spreading `key` from objects).
3913
+ * Prevents 'key' from not being explicitly specified (e.g., spreading 'key' from objects).
3823
3914
  * @see https://eslint-react.xyz/docs/rules/no-implicit-key
3824
3915
  */
3825
3916
  'react/no-implicit-key'?: Linter.RuleEntry<[]>;
@@ -3829,57 +3920,57 @@ interface RuleOptions {
3829
3920
  */
3830
3921
  'react/no-leaked-conditional-rendering'?: Linter.RuleEntry<[]>;
3831
3922
  /**
3832
- * Enforces that all components have a `displayName` which can be used in devtools.
3923
+ * Enforces that all components have a 'displayName' that can be used in devtools.
3833
3924
  * @see https://eslint-react.xyz/docs/rules/no-missing-component-display-name
3834
3925
  */
3835
3926
  'react/no-missing-component-display-name'?: Linter.RuleEntry<[]>;
3836
3927
  /**
3837
- * Enforces that all contexts have a `displayName` which can be used in devtools.
3928
+ * Enforces that all contexts have a 'displayName' that can be used in devtools.
3838
3929
  * @see https://eslint-react.xyz/docs/rules/no-missing-context-display-name
3839
3930
  */
3840
3931
  'react/no-missing-context-display-name'?: Linter.RuleEntry<[]>;
3841
3932
  /**
3842
- * Disallow missing `key` on items in list rendering.
3933
+ * Disallows missing 'key' on items in list rendering.
3843
3934
  * @see https://eslint-react.xyz/docs/rules/no-missing-key
3844
3935
  */
3845
3936
  'react/no-missing-key'?: Linter.RuleEntry<[]>;
3846
3937
  /**
3847
- * Prevents incorrect usage of `captureOwnerStack`.
3938
+ * Prevents incorrect usage of 'captureOwnerStack'.
3848
3939
  * @see https://eslint-react.xyz/docs/rules/no-misused-capture-owner-stack
3849
3940
  */
3850
3941
  'react/no-misused-capture-owner-stack'?: Linter.RuleEntry<[]>;
3851
3942
  /**
3852
- * Disallow nesting component definitions inside other components.
3943
+ * Disallows nesting component definitions inside other components.
3853
3944
  * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
3854
3945
  */
3855
3946
  'react/no-nested-component-definitions'?: Linter.RuleEntry<[]>;
3856
3947
  /**
3857
- * Disallow nesting lazy component declarations inside other components.
3948
+ * Disallows nesting lazy component declarations inside other components.
3858
3949
  * @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
3859
3950
  */
3860
3951
  'react/no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>;
3861
3952
  /**
3862
- * Disallow `propTypes` in favor of TypeScript or another type-checking solution.
3953
+ * Disallows 'propTypes' in favor of TypeScript or another type-checking solution.
3863
3954
  * @see https://eslint-react.xyz/docs/rules/no-prop-types
3864
3955
  */
3865
3956
  'react/no-prop-types'?: Linter.RuleEntry<[]>;
3866
3957
  /**
3867
- * Disallow `shouldComponentUpdate` when extending `React.PureComponent`.
3958
+ * Disallows 'shouldComponentUpdate' when extending 'React.PureComponent'.
3868
3959
  * @see https://eslint-react.xyz/docs/rules/no-redundant-should-component-update
3869
3960
  */
3870
3961
  'react/no-redundant-should-component-update'?: Linter.RuleEntry<[]>;
3871
3962
  /**
3872
- * Disallow calling `this.setState` in `componentDidMount` outside of functions, such as callbacks.
3963
+ * Disallows calling 'this.setState' in 'componentDidMount' outside functions such as callbacks.
3873
3964
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-mount
3874
3965
  */
3875
3966
  'react/no-set-state-in-component-did-mount'?: Linter.RuleEntry<[]>;
3876
3967
  /**
3877
- * Disallow calling `this.setState` in `componentDidUpdate` outside of functions, such as callbacks.
3968
+ * Disallows calling 'this.setState' in 'componentDidUpdate' outside functions such as callbacks.
3878
3969
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-update
3879
3970
  */
3880
3971
  'react/no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>;
3881
3972
  /**
3882
- * Disallow calling `this.setState` in `componentWillUpdate` outside of functions, such as callbacks.
3973
+ * Disallows calling 'this.setState' in 'componentWillUpdate' outside functions such as callbacks.
3883
3974
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-will-update
3884
3975
  */
3885
3976
  'react/no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>;
@@ -3889,42 +3980,47 @@ interface RuleOptions {
3889
3980
  */
3890
3981
  'react/no-string-refs'?: Linter.RuleEntry<[]>;
3891
3982
  /**
3892
- * Prevents the use of unnecessary `key` props on JSX elements when rendering lists.
3983
+ * Disallows unnecessary 'key' props on elements.
3893
3984
  * @see https://eslint-react.xyz/docs/rules/no-unnecessary-key
3894
3985
  */
3895
3986
  'react/no-unnecessary-key'?: Linter.RuleEntry<[]>;
3896
3987
  /**
3897
- * Disallow unnecessary usage of `useCallback`.
3988
+ * Disallows unnecessary usage of 'useCallback'.
3898
3989
  * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-callback
3899
3990
  */
3900
3991
  'react/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>;
3901
3992
  /**
3902
- * Disallow unnecessary usage of `useMemo`.
3993
+ * Disallows unnecessary usage of 'useMemo'.
3903
3994
  * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-memo
3904
3995
  */
3905
3996
  'react/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>;
3906
3997
  /**
3907
- * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
3998
+ * Enforces that a function with the 'use' prefix uses at least one Hook inside it.
3908
3999
  * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-prefix
3909
4000
  */
3910
4001
  'react/no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>;
3911
4002
  /**
3912
- * Warns the usage of `UNSAFE_componentWillMount` in class components.
4003
+ * Disallows unnecessary usage of 'useRef'.
4004
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-ref
4005
+ */
4006
+ 'react/no-unnecessary-use-ref'?: Linter.RuleEntry<[]>;
4007
+ /**
4008
+ * Warns about the use of 'UNSAFE_componentWillMount' in class components.
3913
4009
  * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount
3914
4010
  */
3915
4011
  'react/no-unsafe-component-will-mount'?: Linter.RuleEntry<[]>;
3916
4012
  /**
3917
- * Warns the usage of `UNSAFE_componentWillReceiveProps` in class components.
4013
+ * Warns about the use of 'UNSAFE_componentWillReceiveProps' in class components.
3918
4014
  * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-receive-props
3919
4015
  */
3920
4016
  'react/no-unsafe-component-will-receive-props'?: Linter.RuleEntry<[]>;
3921
4017
  /**
3922
- * Warns the usage of `UNSAFE_componentWillUpdate` in class components.
4018
+ * Warns about the use of 'UNSAFE_componentWillUpdate' in class components.
3923
4019
  * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-update
3924
4020
  */
3925
4021
  'react/no-unsafe-component-will-update'?: Linter.RuleEntry<[]>;
3926
4022
  /**
3927
- * Prevents non-stable values (i.e. object literals) from being used as a value for `Context.Provider`.
4023
+ * Prevents non-stable values (i.e., object literals) from being used as a value for 'Context.Provider'.
3928
4024
  * @see https://eslint-react.xyz/docs/rules/no-unstable-context-value
3929
4025
  */
3930
4026
  'react/no-unstable-context-value'?: Linter.RuleEntry<[]>;
@@ -3932,34 +4028,34 @@ interface RuleOptions {
3932
4028
  * Prevents using referential-type values as default props in object destructuring.
3933
4029
  * @see https://eslint-react.xyz/docs/rules/no-unstable-default-props
3934
4030
  */
3935
- 'react/no-unstable-default-props'?: Linter.RuleEntry<[]>;
4031
+ 'react/no-unstable-default-props'?: Linter.RuleEntry<ReactNoUnstableDefaultProps>;
3936
4032
  /**
3937
- * Warns unused class component methods and properties.
4033
+ * Warns about unused class component methods and properties.
3938
4034
  * @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members
3939
4035
  */
3940
4036
  'react/no-unused-class-component-members'?: Linter.RuleEntry<[]>;
3941
4037
  /**
3942
- * Warns component props that are defined but never used.
4038
+ * Warns about component props that are defined but never used.
3943
4039
  * @see https://eslint-react.xyz/docs/rules/no-unused-props
3944
4040
  */
3945
4041
  'react/no-unused-props'?: Linter.RuleEntry<[]>;
3946
4042
  /**
3947
- * Warns unused class component state.
4043
+ * Warns about unused class component state.
3948
4044
  * @see https://eslint-react.xyz/docs/rules/no-unused-state
3949
4045
  */
3950
4046
  'react/no-unused-state'?: Linter.RuleEntry<[]>;
3951
4047
  /**
3952
- * Replaces usages of `useContext` with `use`.
4048
+ * Replaces usage of 'useContext' with 'use'.
3953
4049
  * @see https://eslint-react.xyz/docs/rules/no-use-context
3954
4050
  */
3955
4051
  'react/no-use-context'?: Linter.RuleEntry<[]>;
3956
4052
  /**
3957
- * Disallow useless `forwardRef` calls on components that don't use `ref`s.
4053
+ * Disallows useless 'forwardRef' calls on components that don't use 'ref's.
3958
4054
  * @see https://eslint-react.xyz/docs/rules/no-useless-forward-ref
3959
4055
  */
3960
4056
  'react/no-useless-forward-ref'?: Linter.RuleEntry<[]>;
3961
4057
  /**
3962
- * Disallow useless fragment elements.
4058
+ * Disallows useless fragment elements.
3963
4059
  * @see https://eslint-react.xyz/docs/rules/no-useless-fragment
3964
4060
  */
3965
4061
  'react/no-useless-fragment'?: Linter.RuleEntry<ReactNoUselessFragment>;
@@ -3969,7 +4065,7 @@ interface RuleOptions {
3969
4065
  */
3970
4066
  'react/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>;
3971
4067
  /**
3972
- * Enforces React is imported via a namespace import.
4068
+ * Enforces importing React via a namespace import.
3973
4069
  * @see https://eslint-react.xyz/docs/rules/prefer-namespace-import
3974
4070
  */
3975
4071
  'react/prefer-namespace-import'?: Linter.RuleEntry<[]>;
@@ -3979,7 +4075,7 @@ interface RuleOptions {
3979
4075
  */
3980
4076
  'react/prefer-read-only-props'?: Linter.RuleEntry<[]>;
3981
4077
  /**
3982
- * Enforces function calls made inside `useState` to be wrapped in an `initializer function`.
4078
+ * Enforces wrapping function calls made inside 'useState' in an 'initializer function'.
3983
4079
  * @see https://eslint-react.xyz/docs/rules/prefer-use-state-lazy-initialization
3984
4080
  */
3985
4081
  'react/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>;
@@ -4698,6 +4794,7 @@ interface RuleOptions {
4698
4794
  /**
4699
4795
  * Enforce props alphabetical sorting
4700
4796
  * @see https://eslint.style/rules/jsx-sort-props
4797
+ * @deprecated
4701
4798
  */
4702
4799
  'style/jsx-sort-props'?: Linter.RuleEntry<StyleJsxSortProps>;
4703
4800
  /**
@@ -4986,46 +5083,6 @@ interface RuleOptions {
4986
5083
  * @see https://eslint.org/docs/latest/rules/symbol-description
4987
5084
  */
4988
5085
  'symbol-description'?: Linter.RuleEntry<[]>;
4989
- /**
4990
- * Enforce a consistent and logical order of the Tailwind CSS classnames
4991
- * @see https://github.com/francoismassart/eslint-plugin-tailwindcss/tree/master/docs/rules/classnames-order.md
4992
- */
4993
- 'tailwindcss/classnames-order'?: Linter.RuleEntry<TailwindcssClassnamesOrder>;
4994
- /**
4995
- * Warns about dash prefixed classnames using arbitrary values
4996
- * @see https://github.com/francoismassart/eslint-plugin-tailwindcss/tree/master/docs/rules/enforces-negative-arbitrary-values.md
4997
- */
4998
- 'tailwindcss/enforces-negative-arbitrary-values'?: Linter.RuleEntry<TailwindcssEnforcesNegativeArbitraryValues>;
4999
- /**
5000
- * Enforces the usage of shorthand Tailwind CSS classnames
5001
- * @see https://github.com/francoismassart/eslint-plugin-tailwindcss/tree/master/docs/rules/enforces-shorthand.md
5002
- */
5003
- 'tailwindcss/enforces-shorthand'?: Linter.RuleEntry<TailwindcssEnforcesShorthand>;
5004
- /**
5005
- * Detect obsolete classnames when upgrading to Tailwind CSS v3
5006
- * @see https://github.com/francoismassart/eslint-plugin-tailwindcss/tree/master/docs/rules/migration-from-tailwind-2.md
5007
- */
5008
- 'tailwindcss/migration-from-tailwind-2'?: Linter.RuleEntry<TailwindcssMigrationFromTailwind2>;
5009
- /**
5010
- * Forbid using arbitrary values in classnames
5011
- * @see https://github.com/francoismassart/eslint-plugin-tailwindcss/tree/master/docs/rules/no-arbitrary-value.md
5012
- */
5013
- 'tailwindcss/no-arbitrary-value'?: Linter.RuleEntry<TailwindcssNoArbitraryValue>;
5014
- /**
5015
- * Avoid contradicting Tailwind CSS classnames (e.g. "w-3 w-5")
5016
- * @see https://github.com/francoismassart/eslint-plugin-tailwindcss/tree/master/docs/rules/no-contradicting-classname.md
5017
- */
5018
- 'tailwindcss/no-contradicting-classname'?: Linter.RuleEntry<TailwindcssNoContradictingClassname>;
5019
- /**
5020
- * Detect classnames which do not belong to Tailwind CSS
5021
- * @see https://github.com/francoismassart/eslint-plugin-tailwindcss/tree/master/docs/rules/no-custom-classname.md
5022
- */
5023
- 'tailwindcss/no-custom-classname'?: Linter.RuleEntry<TailwindcssNoCustomClassname>;
5024
- /**
5025
- * Forbid using arbitrary values in classnames when an equivalent preset exists
5026
- * @see https://github.com/francoismassart/eslint-plugin-tailwindcss/tree/master/docs/rules/no-unnecessary-arbitrary-value.md
5027
- */
5028
- 'tailwindcss/no-unnecessary-arbitrary-value'?: Linter.RuleEntry<TailwindcssNoUnnecessaryArbitraryValue>;
5029
5086
  /**
5030
5087
  * Require or disallow spacing around embedded expressions of template strings
5031
5088
  * @see https://eslint.org/docs/latest/rules/template-curly-spacing
@@ -5038,6 +5095,11 @@ interface RuleOptions {
5038
5095
  * @deprecated
5039
5096
  */
5040
5097
  'template-tag-spacing'?: Linter.RuleEntry<TemplateTagSpacing>;
5098
+ /**
5099
+ * enforce using `.each` or `.for` consistently
5100
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-each-for.md
5101
+ */
5102
+ 'test/consistent-each-for'?: Linter.RuleEntry<TestConsistentEachFor>;
5041
5103
  /**
5042
5104
  * require test file pattern
5043
5105
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md
@@ -5087,7 +5149,7 @@ interface RuleOptions {
5087
5149
  * disallow conditional expects
5088
5150
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-expect.md
5089
5151
  */
5090
- 'test/no-conditional-expect'?: Linter.RuleEntry<[]>;
5152
+ 'test/no-conditional-expect'?: Linter.RuleEntry<TestNoConditionalExpect>;
5091
5153
  /**
5092
5154
  * disallow conditional tests
5093
5155
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-in-test.md
@@ -5179,6 +5241,11 @@ interface RuleOptions {
5179
5241
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-return-statement.md
5180
5242
  */
5181
5243
  'test/no-test-return-statement'?: Linter.RuleEntry<[]>;
5244
+ /**
5245
+ * Disallow unnecessary async function wrapper for expected promises
5246
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-unneeded-async-expect-function.md
5247
+ */
5248
+ 'test/no-unneeded-async-expect-function'?: Linter.RuleEntry<[]>;
5182
5249
  /**
5183
5250
  * Enforce padding around `afterAll` blocks
5184
5251
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-after-all-blocks.md
@@ -5255,7 +5322,7 @@ interface RuleOptions {
5255
5322
  */
5256
5323
  'test/prefer-each'?: Linter.RuleEntry<[]>;
5257
5324
  /**
5258
- * enforce using the built-in quality matchers
5325
+ * enforce using the built-in equality matchers
5259
5326
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-equality-matcher.md
5260
5327
  */
5261
5328
  'test/prefer-equality-matcher'?: Linter.RuleEntry<[]>;
@@ -5288,7 +5355,7 @@ interface RuleOptions {
5288
5355
  * prefer dynamic import in mock
5289
5356
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-import-in-mock.md
5290
5357
  */
5291
- 'test/prefer-import-in-mock'?: Linter.RuleEntry<[]>;
5358
+ 'test/prefer-import-in-mock'?: Linter.RuleEntry<TestPreferImportInMock>;
5292
5359
  /**
5293
5360
  * enforce importing Vitest globals
5294
5361
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-importing-vitest-globals.md
@@ -5304,6 +5371,11 @@ interface RuleOptions {
5304
5371
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-mock-promise-shorthand.md
5305
5372
  */
5306
5373
  'test/prefer-mock-promise-shorthand'?: Linter.RuleEntry<[]>;
5374
+ /**
5375
+ * Prefer mock return shorthands
5376
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-mock-return-shorthand.md
5377
+ */
5378
+ 'test/prefer-mock-return-shorthand'?: Linter.RuleEntry<[]>;
5307
5379
  /**
5308
5380
  * enforce including a hint with external snapshots
5309
5381
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-snapshot-hint.md
@@ -5349,6 +5421,11 @@ interface RuleOptions {
5349
5421
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-contain.md
5350
5422
  */
5351
5423
  'test/prefer-to-contain'?: Linter.RuleEntry<[]>;
5424
+ /**
5425
+ * Suggest using `toHaveBeenCalledTimes()`
5426
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-have-been-called-times.md
5427
+ */
5428
+ 'test/prefer-to-have-been-called-times'?: Linter.RuleEntry<[]>;
5352
5429
  /**
5353
5430
  * enforce using toHaveLength()
5354
5431
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-have-length.md
@@ -5364,6 +5441,11 @@ interface RuleOptions {
5364
5441
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-vi-mocked.md
5365
5442
  */
5366
5443
  'test/prefer-vi-mocked'?: Linter.RuleEntry<[]>;
5444
+ /**
5445
+ * ensure that every `expect.poll` call is awaited
5446
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-awaited-expect-poll.md
5447
+ */
5448
+ 'test/require-awaited-expect-poll'?: Linter.RuleEntry<[]>;
5367
5449
  /**
5368
5450
  * require setup and teardown to be within a hook
5369
5451
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-hook.md
@@ -5379,6 +5461,11 @@ interface RuleOptions {
5379
5461
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-mock-type-parameters.md
5380
5462
  */
5381
5463
  'test/require-mock-type-parameters'?: Linter.RuleEntry<TestRequireMockTypeParameters>;
5464
+ /**
5465
+ * require tests to declare a timeout
5466
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-test-timeout.md
5467
+ */
5468
+ 'test/require-test-timeout'?: Linter.RuleEntry<[]>;
5382
5469
  /**
5383
5470
  * require toThrow() to be called with an error message
5384
5471
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-to-throw-message.md
@@ -5968,6 +6055,11 @@ interface RuleOptions {
5968
6055
  * @see https://typescript-eslint.io/rules/no-unused-expressions
5969
6056
  */
5970
6057
  'ts/no-unused-expressions'?: Linter.RuleEntry<TsNoUnusedExpressions>;
6058
+ /**
6059
+ * Disallow unused private class members
6060
+ * @see https://typescript-eslint.io/rules/no-unused-private-class-members
6061
+ */
6062
+ 'ts/no-unused-private-class-members'?: Linter.RuleEntry<[]>;
5971
6063
  /**
5972
6064
  * Disallow unused variables
5973
6065
  * @see https://typescript-eslint.io/rules/no-unused-vars
@@ -5983,6 +6075,11 @@ interface RuleOptions {
5983
6075
  * @see https://typescript-eslint.io/rules/no-useless-constructor
5984
6076
  */
5985
6077
  'ts/no-useless-constructor'?: Linter.RuleEntry<[]>;
6078
+ /**
6079
+ * Disallow default values that will never be used
6080
+ * @see https://typescript-eslint.io/rules/no-useless-default-assignment
6081
+ */
6082
+ 'ts/no-useless-default-assignment'?: Linter.RuleEntry<[]>;
5986
6083
  /**
5987
6084
  * Disallow empty exports that don't change anything in a module file
5988
6085
  * @see https://typescript-eslint.io/rules/no-useless-empty-export
@@ -6156,6 +6253,11 @@ interface RuleOptions {
6156
6253
  * @see https://typescript-eslint.io/rules/strict-boolean-expressions
6157
6254
  */
6158
6255
  'ts/strict-boolean-expressions'?: Linter.RuleEntry<TsStrictBooleanExpressions>;
6256
+ /**
6257
+ * Disallow passing a value-returning function in a position accepting a void function
6258
+ * @see https://typescript-eslint.io/rules/strict-void-return
6259
+ */
6260
+ 'ts/strict-void-return'?: Linter.RuleEntry<TsStrictVoidReturn>;
6159
6261
  /**
6160
6262
  * Require switch-case statements to be exhaustive
6161
6263
  * @see https://typescript-eslint.io/rules/switch-exhaustiveness-check
@@ -7415,6 +7517,11 @@ interface RuleOptions {
7415
7517
  * @see https://eslint.vuejs.org/rules/no-duplicate-attributes.html
7416
7518
  */
7417
7519
  'vue/no-duplicate-attributes'?: Linter.RuleEntry<VueNoDuplicateAttributes>;
7520
+ /**
7521
+ * disallow duplication of class names in class attributes
7522
+ * @see https://eslint.vuejs.org/rules/no-duplicate-class-names.html
7523
+ */
7524
+ 'vue/no-duplicate-class-names'?: Linter.RuleEntry<[]>;
7418
7525
  /**
7419
7526
  * disallow the `<template>` `<script>` `<style>` block to be empty
7420
7527
  * @see https://eslint.vuejs.org/rules/no-empty-component-block.html
@@ -7460,6 +7567,11 @@ interface RuleOptions {
7460
7567
  * @see https://eslint.vuejs.org/rules/no-lifecycle-after-await.html
7461
7568
  */
7462
7569
  'vue/no-lifecycle-after-await'?: Linter.RuleEntry<[]>;
7570
+ /**
7571
+ * disallow object, array, and function literals in template
7572
+ * @see https://eslint.vuejs.org/rules/no-literals-in-template.html
7573
+ */
7574
+ 'vue/no-literals-in-template'?: Linter.RuleEntry<[]>;
7463
7575
  /**
7464
7576
  * disallow unnecessary `<template>`
7465
7577
  * @see https://eslint.vuejs.org/rules/no-lone-template.html
@@ -7670,6 +7782,11 @@ interface RuleOptions {
7670
7782
  * @see https://eslint.vuejs.org/rules/no-undef-components.html
7671
7783
  */
7672
7784
  'vue/no-undef-components'?: Linter.RuleEntry<VueNoUndefComponents>;
7785
+ /**
7786
+ * disallow use of undefined custom directives
7787
+ * @see https://eslint.vuejs.org/rules/no-undef-directives.html
7788
+ */
7789
+ 'vue/no-undef-directives'?: Linter.RuleEntry<VueNoUndefDirectives>;
7673
7790
  /**
7674
7791
  * disallow undefined properties
7675
7792
  * @see https://eslint.vuejs.org/rules/no-undef-properties.html
@@ -8582,6 +8699,7 @@ type FormatDprint = [] | [{
8582
8699
  languageOptions?: {
8583
8700
  [k: string]: unknown | undefined;
8584
8701
  };
8702
+ plugins?: unknown[];
8585
8703
  [k: string]: unknown | undefined;
8586
8704
  }];
8587
8705
  // ----- format/prettier -----
@@ -8682,6 +8800,10 @@ type ImportNewlineAfterImport = [] | [{
8682
8800
  type ImportNoDuplicates = [] | [{
8683
8801
  "prefer-inline"?: boolean;
8684
8802
  }];
8803
+ // ----- import/prefer-default-export -----
8804
+ type ImportPreferDefaultExport = [] | [{
8805
+ target?: ("single" | "any");
8806
+ }];
8685
8807
  // ----- indent -----
8686
8808
  type Indent = [] | [("tab" | number)] | [("tab" | number), {
8687
8809
  SwitchCase?: number;
@@ -8774,6 +8896,7 @@ type JsdocCheckExamples = [] | [{
8774
8896
  }];
8775
8897
  // ----- jsdoc/check-indentation -----
8776
8898
  type JsdocCheckIndentation = [] | [{
8899
+ allowIndentedSections?: boolean;
8777
8900
  excludeTags?: string[];
8778
8901
  }];
8779
8902
  // ----- jsdoc/check-line-alignment -----
@@ -9042,6 +9165,7 @@ type JsdocRequireHyphenBeforeParamDescription = [] | [("always" | "never")] | [(
9042
9165
  }];
9043
9166
  // ----- jsdoc/require-jsdoc -----
9044
9167
  type JsdocRequireJsdoc = [] | [{
9168
+ checkAllFunctionExpressions?: boolean;
9045
9169
  checkConstructors?: boolean;
9046
9170
  checkGetters?: (boolean | "no-setter");
9047
9171
  checkSetters?: (boolean | "no-getter");
@@ -9120,6 +9244,14 @@ type JsdocRequireParamType = [] | [{
9120
9244
  defaultDestructuredRootType?: string;
9121
9245
  setDefaultDestructuredRootType?: boolean;
9122
9246
  }];
9247
+ // ----- jsdoc/require-rejects -----
9248
+ type JsdocRequireRejects = [] | [{
9249
+ contexts?: (string | {
9250
+ comment?: string;
9251
+ context?: string;
9252
+ })[];
9253
+ exemptedBy?: string[];
9254
+ }];
9123
9255
  // ----- jsdoc/require-returns -----
9124
9256
  type JsdocRequireReturns = [] | [{
9125
9257
  checkConstructors?: boolean;
@@ -9210,6 +9342,9 @@ type JsdocSortTags = [] | [{
9210
9342
  linesBetween?: number;
9211
9343
  reportIntraTagGroupSpacing?: boolean;
9212
9344
  reportTagGroupSpacing?: boolean;
9345
+ tagExceptions?: {
9346
+ [k: string]: number;
9347
+ };
9213
9348
  tagSequence?: {
9214
9349
  tags?: string[];
9215
9350
  }[];
@@ -10881,27 +11016,34 @@ type PaddingLineBetweenStatements = {
10881
11016
  // ----- perfectionist/sort-array-includes -----
10882
11017
  type PerfectionistSortArrayIncludes = {
10883
11018
  fallbackSort?: {
11019
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10884
11020
  order?: ("asc" | "desc");
10885
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10886
11021
  };
11022
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10887
11023
  specialCharacters?: ("remove" | "trim" | "keep");
10888
11024
  ignoreCase?: boolean;
10889
11025
  alphabet?: string;
10890
11026
  locales?: (string | string[]);
10891
11027
  order?: ("asc" | "desc");
10892
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10893
- groupKind?: ("mixed" | "literals-first" | "spreads-first");
10894
11028
  customGroups?: ({
10895
- newlinesInside?: (("always" | "never") | number);
10896
11029
  fallbackSort?: {
11030
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10897
11031
  order?: ("asc" | "desc");
10898
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10899
11032
  };
11033
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10900
11034
  groupName: string;
11035
+ newlinesInside?: ("ignore" | number);
10901
11036
  order?: ("asc" | "desc");
10902
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10903
- anyOf?: {
11037
+ anyOf: [{
11038
+ elementNamePattern?: (({
11039
+ pattern: string;
11040
+ flags?: string;
11041
+ } | string)[] | ({
11042
+ pattern: string;
11043
+ flags?: string;
11044
+ } | string));
10904
11045
  selector?: ("literal" | "spread");
11046
+ }, ...({
10905
11047
  elementNamePattern?: (({
10906
11048
  pattern: string;
10907
11049
  flags?: string;
@@ -10909,17 +11051,17 @@ type PerfectionistSortArrayIncludes = {
10909
11051
  pattern: string;
10910
11052
  flags?: string;
10911
11053
  } | string));
10912
- }[];
11054
+ selector?: ("literal" | "spread");
11055
+ })[]];
10913
11056
  } | {
10914
- newlinesInside?: (("always" | "never") | number);
10915
11057
  fallbackSort?: {
11058
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10916
11059
  order?: ("asc" | "desc");
10917
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10918
11060
  };
11061
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10919
11062
  groupName: string;
11063
+ newlinesInside?: ("ignore" | number);
10920
11064
  order?: ("asc" | "desc");
10921
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10922
- selector?: ("literal" | "spread");
10923
11065
  elementNamePattern?: (({
10924
11066
  pattern: string;
10925
11067
  flags?: string;
@@ -10927,7 +11069,23 @@ type PerfectionistSortArrayIncludes = {
10927
11069
  pattern: string;
10928
11070
  flags?: string;
10929
11071
  } | string));
11072
+ selector?: ("literal" | "spread");
11073
+ })[];
11074
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
11075
+ groups?: (string | [string, ...(string)[]] | {
11076
+ newlinesBetween: ("ignore" | number);
11077
+ } | {
11078
+ group: (string | [string, ...(string)[]]);
11079
+ fallbackSort?: {
11080
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11081
+ order?: ("asc" | "desc");
11082
+ };
11083
+ commentAbove?: string;
11084
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11085
+ newlinesInside?: ("ignore" | number);
11086
+ order?: ("asc" | "desc");
10930
11087
  })[];
11088
+ newlinesBetween?: ("ignore" | number);
10931
11089
  useConfigurationIf?: {
10932
11090
  allNamesMatchPattern?: (({
10933
11091
  pattern: string;
@@ -10960,34 +11118,36 @@ type PerfectionistSortArrayIncludes = {
10960
11118
  } | string)));
10961
11119
  });
10962
11120
  partitionByNewLine?: boolean;
10963
- newlinesBetween?: (("ignore" | "always" | "never") | number);
10964
- groups?: (string | string[] | {
10965
- newlinesBetween?: (("ignore" | "always" | "never") | number);
10966
- commentAbove?: string;
10967
- })[];
10968
11121
  }[];
10969
11122
  // ----- perfectionist/sort-classes -----
10970
11123
  type PerfectionistSortClasses = [] | [{
10971
11124
  fallbackSort?: {
11125
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10972
11126
  order?: ("asc" | "desc");
10973
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10974
11127
  };
11128
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10975
11129
  specialCharacters?: ("remove" | "trim" | "keep");
10976
11130
  ignoreCase?: boolean;
10977
11131
  alphabet?: string;
10978
11132
  locales?: (string | string[]);
10979
11133
  order?: ("asc" | "desc");
10980
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10981
11134
  customGroups?: ({
10982
- newlinesInside?: (("always" | "never") | number);
10983
11135
  fallbackSort?: {
11136
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10984
11137
  order?: ("asc" | "desc");
10985
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10986
11138
  };
11139
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
10987
11140
  groupName: string;
11141
+ newlinesInside?: ("ignore" | number);
10988
11142
  order?: ("asc" | "desc");
10989
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
10990
- anyOf?: {
11143
+ anyOf: [{
11144
+ elementNamePattern?: (({
11145
+ pattern: string;
11146
+ flags?: string;
11147
+ } | string)[] | ({
11148
+ pattern: string;
11149
+ flags?: string;
11150
+ } | string));
10991
11151
  modifiers?: ("async" | "protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[];
10992
11152
  selector?: ("accessor-property" | "index-signature" | "constructor" | "static-block" | "get-method" | "set-method" | "function-property" | "property" | "method");
10993
11153
  decoratorNamePattern?: (({
@@ -11004,6 +11164,7 @@ type PerfectionistSortClasses = [] | [{
11004
11164
  pattern: string;
11005
11165
  flags?: string;
11006
11166
  } | string));
11167
+ }, ...({
11007
11168
  elementNamePattern?: (({
11008
11169
  pattern: string;
11009
11170
  flags?: string;
@@ -11011,33 +11172,49 @@ type PerfectionistSortClasses = [] | [{
11011
11172
  pattern: string;
11012
11173
  flags?: string;
11013
11174
  } | string));
11014
- }[];
11175
+ modifiers?: ("async" | "protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[];
11176
+ selector?: ("accessor-property" | "index-signature" | "constructor" | "static-block" | "get-method" | "set-method" | "function-property" | "property" | "method");
11177
+ decoratorNamePattern?: (({
11178
+ pattern: string;
11179
+ flags?: string;
11180
+ } | string)[] | ({
11181
+ pattern: string;
11182
+ flags?: string;
11183
+ } | string));
11184
+ elementValuePattern?: (({
11185
+ pattern: string;
11186
+ flags?: string;
11187
+ } | string)[] | ({
11188
+ pattern: string;
11189
+ flags?: string;
11190
+ } | string));
11191
+ })[]];
11015
11192
  } | {
11016
- newlinesInside?: (("always" | "never") | number);
11017
11193
  fallbackSort?: {
11194
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11018
11195
  order?: ("asc" | "desc");
11019
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11020
11196
  };
11197
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11021
11198
  groupName: string;
11199
+ newlinesInside?: ("ignore" | number);
11022
11200
  order?: ("asc" | "desc");
11023
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11024
- modifiers?: ("async" | "protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[];
11025
- selector?: ("accessor-property" | "index-signature" | "constructor" | "static-block" | "get-method" | "set-method" | "function-property" | "property" | "method");
11026
- decoratorNamePattern?: (({
11201
+ elementNamePattern?: (({
11027
11202
  pattern: string;
11028
11203
  flags?: string;
11029
11204
  } | string)[] | ({
11030
11205
  pattern: string;
11031
11206
  flags?: string;
11032
11207
  } | string));
11033
- elementValuePattern?: (({
11208
+ modifiers?: ("async" | "protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[];
11209
+ selector?: ("accessor-property" | "index-signature" | "constructor" | "static-block" | "get-method" | "set-method" | "function-property" | "property" | "method");
11210
+ decoratorNamePattern?: (({
11034
11211
  pattern: string;
11035
11212
  flags?: string;
11036
11213
  } | string)[] | ({
11037
11214
  pattern: string;
11038
11215
  flags?: string;
11039
11216
  } | string));
11040
- elementNamePattern?: (({
11217
+ elementValuePattern?: (({
11041
11218
  pattern: string;
11042
11219
  flags?: string;
11043
11220
  } | string)[] | ({
@@ -11045,6 +11222,21 @@ type PerfectionistSortClasses = [] | [{
11045
11222
  flags?: string;
11046
11223
  } | string));
11047
11224
  })[];
11225
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
11226
+ groups?: (string | [string, ...(string)[]] | {
11227
+ newlinesBetween: ("ignore" | number);
11228
+ } | {
11229
+ group: (string | [string, ...(string)[]]);
11230
+ fallbackSort?: {
11231
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11232
+ order?: ("asc" | "desc");
11233
+ };
11234
+ commentAbove?: string;
11235
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11236
+ newlinesInside?: ("ignore" | number);
11237
+ order?: ("asc" | "desc");
11238
+ })[];
11239
+ newlinesBetween?: ("ignore" | number);
11048
11240
  ignoreCallbackDependenciesPatterns?: (({
11049
11241
  pattern: string;
11050
11242
  flags?: string;
@@ -11075,24 +11267,77 @@ type PerfectionistSortClasses = [] | [{
11075
11267
  } | string)));
11076
11268
  });
11077
11269
  partitionByNewLine?: boolean;
11078
- newlinesBetween?: (("ignore" | "always" | "never") | number);
11079
- groups?: (string | string[] | {
11080
- newlinesBetween?: (("ignore" | "always" | "never") | number);
11081
- commentAbove?: string;
11082
- })[];
11083
11270
  }];
11084
11271
  // ----- perfectionist/sort-decorators -----
11085
- type PerfectionistSortDecorators = [] | [{
11272
+ type PerfectionistSortDecorators = {
11086
11273
  fallbackSort?: {
11274
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11087
11275
  order?: ("asc" | "desc");
11088
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11089
11276
  };
11277
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11090
11278
  specialCharacters?: ("remove" | "trim" | "keep");
11091
11279
  ignoreCase?: boolean;
11092
11280
  alphabet?: string;
11093
11281
  locales?: (string | string[]);
11094
11282
  order?: ("asc" | "desc");
11095
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11283
+ customGroups?: ({
11284
+ fallbackSort?: {
11285
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11286
+ order?: ("asc" | "desc");
11287
+ };
11288
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11289
+ groupName: string;
11290
+ newlinesInside?: ("ignore" | number);
11291
+ order?: ("asc" | "desc");
11292
+ anyOf: [{
11293
+ elementNamePattern?: (({
11294
+ pattern: string;
11295
+ flags?: string;
11296
+ } | string)[] | ({
11297
+ pattern: string;
11298
+ flags?: string;
11299
+ } | string));
11300
+ }, ...({
11301
+ elementNamePattern?: (({
11302
+ pattern: string;
11303
+ flags?: string;
11304
+ } | string)[] | ({
11305
+ pattern: string;
11306
+ flags?: string;
11307
+ } | string));
11308
+ })[]];
11309
+ } | {
11310
+ fallbackSort?: {
11311
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11312
+ order?: ("asc" | "desc");
11313
+ };
11314
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11315
+ groupName: string;
11316
+ newlinesInside?: ("ignore" | number);
11317
+ order?: ("asc" | "desc");
11318
+ elementNamePattern?: (({
11319
+ pattern: string;
11320
+ flags?: string;
11321
+ } | string)[] | ({
11322
+ pattern: string;
11323
+ flags?: string;
11324
+ } | string));
11325
+ })[];
11326
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
11327
+ groups?: (string | [string, ...(string)[]] | {
11328
+ newlinesBetween: ("ignore" | number);
11329
+ } | {
11330
+ group: (string | [string, ...(string)[]]);
11331
+ fallbackSort?: {
11332
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11333
+ order?: ("asc" | "desc");
11334
+ };
11335
+ commentAbove?: string;
11336
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11337
+ newlinesInside?: ("ignore" | number);
11338
+ order?: ("asc" | "desc");
11339
+ })[];
11340
+ newlinesBetween?: ("ignore" | number);
11096
11341
  sortOnParameters?: boolean;
11097
11342
  sortOnProperties?: boolean;
11098
11343
  sortOnAccessors?: boolean;
@@ -11120,38 +11365,37 @@ type PerfectionistSortDecorators = [] | [{
11120
11365
  flags?: string;
11121
11366
  } | string)));
11122
11367
  });
11123
- customGroups?: {
11124
- [k: string]: (string | string[]) | undefined;
11125
- };
11126
- groups?: (string | string[] | {
11127
- newlinesBetween?: (("ignore" | "always" | "never") | number);
11128
- commentAbove?: string;
11129
- })[];
11130
- }];
11368
+ partitionByNewLine?: boolean;
11369
+ }[];
11131
11370
  // ----- perfectionist/sort-enums -----
11132
11371
  type PerfectionistSortEnums = [] | [{
11133
11372
  fallbackSort?: {
11373
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11134
11374
  order?: ("asc" | "desc");
11135
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11136
11375
  };
11376
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11137
11377
  specialCharacters?: ("remove" | "trim" | "keep");
11138
11378
  ignoreCase?: boolean;
11139
11379
  alphabet?: string;
11140
11380
  locales?: (string | string[]);
11141
11381
  order?: ("asc" | "desc");
11142
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11143
11382
  customGroups?: ({
11144
- [k: string]: (string | string[]) | undefined;
11145
- } | ({
11146
- newlinesInside?: (("always" | "never") | number);
11147
11383
  fallbackSort?: {
11384
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11148
11385
  order?: ("asc" | "desc");
11149
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11150
11386
  };
11387
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11151
11388
  groupName: string;
11389
+ newlinesInside?: ("ignore" | number);
11152
11390
  order?: ("asc" | "desc");
11153
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11154
- anyOf?: {
11391
+ anyOf: [{
11392
+ elementNamePattern?: (({
11393
+ pattern: string;
11394
+ flags?: string;
11395
+ } | string)[] | ({
11396
+ pattern: string;
11397
+ flags?: string;
11398
+ } | string));
11155
11399
  elementValuePattern?: (({
11156
11400
  pattern: string;
11157
11401
  flags?: string;
@@ -11159,6 +11403,7 @@ type PerfectionistSortEnums = [] | [{
11159
11403
  pattern: string;
11160
11404
  flags?: string;
11161
11405
  } | string));
11406
+ }, ...({
11162
11407
  elementNamePattern?: (({
11163
11408
  pattern: string;
11164
11409
  flags?: string;
@@ -11166,33 +11411,54 @@ type PerfectionistSortEnums = [] | [{
11166
11411
  pattern: string;
11167
11412
  flags?: string;
11168
11413
  } | string));
11169
- }[];
11414
+ elementValuePattern?: (({
11415
+ pattern: string;
11416
+ flags?: string;
11417
+ } | string)[] | ({
11418
+ pattern: string;
11419
+ flags?: string;
11420
+ } | string));
11421
+ })[]];
11170
11422
  } | {
11171
- newlinesInside?: (("always" | "never") | number);
11172
11423
  fallbackSort?: {
11424
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11173
11425
  order?: ("asc" | "desc");
11174
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11175
11426
  };
11427
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11176
11428
  groupName: string;
11429
+ newlinesInside?: ("ignore" | number);
11177
11430
  order?: ("asc" | "desc");
11178
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11179
- elementValuePattern?: (({
11431
+ elementNamePattern?: (({
11180
11432
  pattern: string;
11181
11433
  flags?: string;
11182
11434
  } | string)[] | ({
11183
11435
  pattern: string;
11184
11436
  flags?: string;
11185
11437
  } | string));
11186
- elementNamePattern?: (({
11438
+ elementValuePattern?: (({
11187
11439
  pattern: string;
11188
11440
  flags?: string;
11189
11441
  } | string)[] | ({
11190
11442
  pattern: string;
11191
11443
  flags?: string;
11192
11444
  } | string));
11193
- })[]);
11194
- forceNumericSort?: boolean;
11195
- sortByValue?: boolean;
11445
+ })[];
11446
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
11447
+ groups?: (string | [string, ...(string)[]] | {
11448
+ newlinesBetween: ("ignore" | number);
11449
+ } | {
11450
+ group: (string | [string, ...(string)[]]);
11451
+ fallbackSort?: {
11452
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11453
+ order?: ("asc" | "desc");
11454
+ };
11455
+ commentAbove?: string;
11456
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11457
+ newlinesInside?: ("ignore" | number);
11458
+ order?: ("asc" | "desc");
11459
+ })[];
11460
+ newlinesBetween?: ("ignore" | number);
11461
+ sortByValue?: ("always" | "ifNumericEnum" | "never");
11196
11462
  partitionByComment?: (boolean | (({
11197
11463
  pattern: string;
11198
11464
  flags?: string;
@@ -11216,37 +11482,37 @@ type PerfectionistSortEnums = [] | [{
11216
11482
  } | string)));
11217
11483
  });
11218
11484
  partitionByNewLine?: boolean;
11219
- newlinesBetween?: (("ignore" | "always" | "never") | number);
11220
- groups?: (string | string[] | {
11221
- newlinesBetween?: (("ignore" | "always" | "never") | number);
11222
- commentAbove?: string;
11223
- })[];
11224
11485
  }];
11225
- // ----- perfectionist/sort-exports -----
11226
- type PerfectionistSortExports = {
11486
+ // ----- perfectionist/sort-export-attributes -----
11487
+ type PerfectionistSortExportAttributes = {
11227
11488
  fallbackSort?: {
11489
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11228
11490
  order?: ("asc" | "desc");
11229
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11230
11491
  };
11492
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11231
11493
  specialCharacters?: ("remove" | "trim" | "keep");
11232
11494
  ignoreCase?: boolean;
11233
11495
  alphabet?: string;
11234
11496
  locales?: (string | string[]);
11235
11497
  order?: ("asc" | "desc");
11236
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11237
- groupKind?: ("mixed" | "values-first" | "types-first");
11238
11498
  customGroups?: ({
11239
- newlinesInside?: (("always" | "never") | number);
11240
11499
  fallbackSort?: {
11500
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11241
11501
  order?: ("asc" | "desc");
11242
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11243
11502
  };
11503
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11244
11504
  groupName: string;
11505
+ newlinesInside?: ("ignore" | number);
11245
11506
  order?: ("asc" | "desc");
11246
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11247
- anyOf?: {
11248
- modifiers?: ("value" | "type")[];
11249
- selector?: "export";
11507
+ anyOf: [{
11508
+ elementNamePattern?: (({
11509
+ pattern: string;
11510
+ flags?: string;
11511
+ } | string)[] | ({
11512
+ pattern: string;
11513
+ flags?: string;
11514
+ } | string));
11515
+ }, ...({
11250
11516
  elementNamePattern?: (({
11251
11517
  pattern: string;
11252
11518
  flags?: string;
@@ -11254,18 +11520,16 @@ type PerfectionistSortExports = {
11254
11520
  pattern: string;
11255
11521
  flags?: string;
11256
11522
  } | string));
11257
- }[];
11523
+ })[]];
11258
11524
  } | {
11259
- newlinesInside?: (("always" | "never") | number);
11260
11525
  fallbackSort?: {
11526
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11261
11527
  order?: ("asc" | "desc");
11262
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11263
11528
  };
11529
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11264
11530
  groupName: string;
11531
+ newlinesInside?: ("ignore" | number);
11265
11532
  order?: ("asc" | "desc");
11266
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11267
- modifiers?: ("value" | "type")[];
11268
- selector?: "export";
11269
11533
  elementNamePattern?: (({
11270
11534
  pattern: string;
11271
11535
  flags?: string;
@@ -11274,6 +11538,21 @@ type PerfectionistSortExports = {
11274
11538
  flags?: string;
11275
11539
  } | string));
11276
11540
  })[];
11541
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
11542
+ groups?: (string | [string, ...(string)[]] | {
11543
+ newlinesBetween: ("ignore" | number);
11544
+ } | {
11545
+ group: (string | [string, ...(string)[]]);
11546
+ fallbackSort?: {
11547
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11548
+ order?: ("asc" | "desc");
11549
+ };
11550
+ commentAbove?: string;
11551
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11552
+ newlinesInside?: ("ignore" | number);
11553
+ order?: ("asc" | "desc");
11554
+ })[];
11555
+ newlinesBetween?: ("ignore" | number);
11277
11556
  partitionByComment?: (boolean | (({
11278
11557
  pattern: string;
11279
11558
  flags?: string;
@@ -11297,70 +11576,231 @@ type PerfectionistSortExports = {
11297
11576
  } | string)));
11298
11577
  });
11299
11578
  partitionByNewLine?: boolean;
11300
- newlinesBetween?: (("ignore" | "always" | "never") | number);
11301
- groups?: (string | string[] | {
11302
- newlinesBetween?: (("ignore" | "always" | "never") | number);
11303
- commentAbove?: string;
11304
- })[];
11305
11579
  }[];
11306
- // ----- perfectionist/sort-heritage-clauses -----
11307
- type PerfectionistSortHeritageClauses = [] | [{
11580
+ // ----- perfectionist/sort-exports -----
11581
+ type PerfectionistSortExports = {
11308
11582
  fallbackSort?: {
11583
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11309
11584
  order?: ("asc" | "desc");
11310
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11311
11585
  };
11586
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11312
11587
  specialCharacters?: ("remove" | "trim" | "keep");
11313
11588
  ignoreCase?: boolean;
11314
11589
  alphabet?: string;
11315
11590
  locales?: (string | string[]);
11316
11591
  order?: ("asc" | "desc");
11317
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11318
- customGroups?: {
11319
- [k: string]: (string | string[]) | undefined;
11320
- };
11321
- groups?: (string | string[] | {
11322
- newlinesBetween?: (("ignore" | "always" | "never") | number);
11592
+ customGroups?: ({
11593
+ fallbackSort?: {
11594
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11595
+ order?: ("asc" | "desc");
11596
+ };
11597
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11598
+ groupName: string;
11599
+ newlinesInside?: ("ignore" | number);
11600
+ order?: ("asc" | "desc");
11601
+ anyOf: [{
11602
+ elementNamePattern?: (({
11603
+ pattern: string;
11604
+ flags?: string;
11605
+ } | string)[] | ({
11606
+ pattern: string;
11607
+ flags?: string;
11608
+ } | string));
11609
+ modifiers?: ("value" | "type" | "named" | "wildcard" | "multiline" | "singleline")[];
11610
+ selector?: "export";
11611
+ }, ...({
11612
+ elementNamePattern?: (({
11613
+ pattern: string;
11614
+ flags?: string;
11615
+ } | string)[] | ({
11616
+ pattern: string;
11617
+ flags?: string;
11618
+ } | string));
11619
+ modifiers?: ("value" | "type" | "named" | "wildcard" | "multiline" | "singleline")[];
11620
+ selector?: "export";
11621
+ })[]];
11622
+ } | {
11623
+ fallbackSort?: {
11624
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11625
+ order?: ("asc" | "desc");
11626
+ };
11627
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11628
+ groupName: string;
11629
+ newlinesInside?: ("ignore" | number);
11630
+ order?: ("asc" | "desc");
11631
+ elementNamePattern?: (({
11632
+ pattern: string;
11633
+ flags?: string;
11634
+ } | string)[] | ({
11635
+ pattern: string;
11636
+ flags?: string;
11637
+ } | string));
11638
+ modifiers?: ("value" | "type" | "named" | "wildcard" | "multiline" | "singleline")[];
11639
+ selector?: "export";
11640
+ })[];
11641
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
11642
+ groups?: (string | [string, ...(string)[]] | {
11643
+ newlinesBetween: ("ignore" | number);
11644
+ } | {
11645
+ group: (string | [string, ...(string)[]]);
11646
+ fallbackSort?: {
11647
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11648
+ order?: ("asc" | "desc");
11649
+ };
11323
11650
  commentAbove?: string;
11651
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11652
+ newlinesInside?: ("ignore" | number);
11653
+ order?: ("asc" | "desc");
11324
11654
  })[];
11325
- }];
11326
- // ----- perfectionist/sort-imports -----
11327
- type PerfectionistSortImports = {
11655
+ newlinesBetween?: ("ignore" | number);
11656
+ partitionByComment?: (boolean | (({
11657
+ pattern: string;
11658
+ flags?: string;
11659
+ } | string)[] | ({
11660
+ pattern: string;
11661
+ flags?: string;
11662
+ } | string)) | {
11663
+ block?: (boolean | (({
11664
+ pattern: string;
11665
+ flags?: string;
11666
+ } | string)[] | ({
11667
+ pattern: string;
11668
+ flags?: string;
11669
+ } | string)));
11670
+ line?: (boolean | (({
11671
+ pattern: string;
11672
+ flags?: string;
11673
+ } | string)[] | ({
11674
+ pattern: string;
11675
+ flags?: string;
11676
+ } | string)));
11677
+ });
11678
+ partitionByNewLine?: boolean;
11679
+ }[];
11680
+ // ----- perfectionist/sort-heritage-clauses -----
11681
+ type PerfectionistSortHeritageClauses = {
11328
11682
  fallbackSort?: {
11683
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11329
11684
  order?: ("asc" | "desc");
11330
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11331
11685
  };
11686
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11332
11687
  specialCharacters?: ("remove" | "trim" | "keep");
11333
11688
  ignoreCase?: boolean;
11334
11689
  alphabet?: string;
11335
11690
  locales?: (string | string[]);
11336
11691
  order?: ("asc" | "desc");
11337
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11338
11692
  customGroups?: ({
11339
- value?: {
11340
- [k: string]: (string | string[]) | undefined;
11693
+ fallbackSort?: {
11694
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11695
+ order?: ("asc" | "desc");
11341
11696
  };
11342
- type?: {
11343
- [k: string]: (string | string[]) | undefined;
11697
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11698
+ groupName: string;
11699
+ newlinesInside?: ("ignore" | number);
11700
+ order?: ("asc" | "desc");
11701
+ anyOf: [{
11702
+ elementNamePattern?: (({
11703
+ pattern: string;
11704
+ flags?: string;
11705
+ } | string)[] | ({
11706
+ pattern: string;
11707
+ flags?: string;
11708
+ } | string));
11709
+ }, ...({
11710
+ elementNamePattern?: (({
11711
+ pattern: string;
11712
+ flags?: string;
11713
+ } | string)[] | ({
11714
+ pattern: string;
11715
+ flags?: string;
11716
+ } | string));
11717
+ })[]];
11718
+ } | {
11719
+ fallbackSort?: {
11720
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11721
+ order?: ("asc" | "desc");
11344
11722
  };
11345
- } | ({
11346
- newlinesInside?: (("always" | "never") | number);
11723
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11724
+ groupName: string;
11725
+ newlinesInside?: ("ignore" | number);
11726
+ order?: ("asc" | "desc");
11727
+ elementNamePattern?: (({
11728
+ pattern: string;
11729
+ flags?: string;
11730
+ } | string)[] | ({
11731
+ pattern: string;
11732
+ flags?: string;
11733
+ } | string));
11734
+ })[];
11735
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
11736
+ groups?: (string | [string, ...(string)[]] | {
11737
+ newlinesBetween: ("ignore" | number);
11738
+ } | {
11739
+ group: (string | [string, ...(string)[]]);
11347
11740
  fallbackSort?: {
11741
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11348
11742
  order?: ("asc" | "desc");
11349
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11350
11743
  };
11744
+ commentAbove?: string;
11745
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11746
+ newlinesInside?: ("ignore" | number);
11747
+ order?: ("asc" | "desc");
11748
+ })[];
11749
+ newlinesBetween?: ("ignore" | number);
11750
+ partitionByNewLine?: boolean;
11751
+ partitionByComment?: (boolean | (({
11752
+ pattern: string;
11753
+ flags?: string;
11754
+ } | string)[] | ({
11755
+ pattern: string;
11756
+ flags?: string;
11757
+ } | string)) | {
11758
+ block?: (boolean | (({
11759
+ pattern: string;
11760
+ flags?: string;
11761
+ } | string)[] | ({
11762
+ pattern: string;
11763
+ flags?: string;
11764
+ } | string)));
11765
+ line?: (boolean | (({
11766
+ pattern: string;
11767
+ flags?: string;
11768
+ } | string)[] | ({
11769
+ pattern: string;
11770
+ flags?: string;
11771
+ } | string)));
11772
+ });
11773
+ }[];
11774
+ // ----- perfectionist/sort-import-attributes -----
11775
+ type PerfectionistSortImportAttributes = {
11776
+ fallbackSort?: {
11777
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11778
+ order?: ("asc" | "desc");
11779
+ };
11780
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11781
+ specialCharacters?: ("remove" | "trim" | "keep");
11782
+ ignoreCase?: boolean;
11783
+ alphabet?: string;
11784
+ locales?: (string | string[]);
11785
+ order?: ("asc" | "desc");
11786
+ customGroups?: ({
11787
+ fallbackSort?: {
11788
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11789
+ order?: ("asc" | "desc");
11790
+ };
11791
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11351
11792
  groupName: string;
11793
+ newlinesInside?: ("ignore" | number);
11352
11794
  order?: ("asc" | "desc");
11353
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11354
- anyOf?: {
11355
- modifiers?: ("default" | "named" | "require" | "side-effect" | "ts-equals" | "type" | "value" | "wildcard")[];
11356
- selector?: ("side-effect-style" | "tsconfig-path" | "side-effect" | "external" | "internal" | "builtin" | "sibling" | "subpath" | "import" | "parent" | "index" | "style" | "type");
11357
- elementValuePattern?: (({
11795
+ anyOf: [{
11796
+ elementNamePattern?: (({
11358
11797
  pattern: string;
11359
11798
  flags?: string;
11360
11799
  } | string)[] | ({
11361
11800
  pattern: string;
11362
11801
  flags?: string;
11363
11802
  } | string));
11803
+ }, ...({
11364
11804
  elementNamePattern?: (({
11365
11805
  pattern: string;
11366
11806
  flags?: string;
@@ -11368,25 +11808,120 @@ type PerfectionistSortImports = {
11368
11808
  pattern: string;
11369
11809
  flags?: string;
11370
11810
  } | string));
11371
- }[];
11811
+ })[]];
11372
11812
  } | {
11373
- newlinesInside?: (("always" | "never") | number);
11374
11813
  fallbackSort?: {
11814
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11375
11815
  order?: ("asc" | "desc");
11376
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11377
11816
  };
11817
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11378
11818
  groupName: string;
11819
+ newlinesInside?: ("ignore" | number);
11379
11820
  order?: ("asc" | "desc");
11380
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11381
- modifiers?: ("default" | "named" | "require" | "side-effect" | "ts-equals" | "type" | "value" | "wildcard")[];
11382
- selector?: ("side-effect-style" | "tsconfig-path" | "side-effect" | "external" | "internal" | "builtin" | "sibling" | "subpath" | "import" | "parent" | "index" | "style" | "type");
11383
- elementValuePattern?: (({
11821
+ elementNamePattern?: (({
11384
11822
  pattern: string;
11385
11823
  flags?: string;
11386
11824
  } | string)[] | ({
11387
11825
  pattern: string;
11388
11826
  flags?: string;
11389
11827
  } | string));
11828
+ })[];
11829
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
11830
+ groups?: (string | [string, ...(string)[]] | {
11831
+ newlinesBetween: ("ignore" | number);
11832
+ } | {
11833
+ group: (string | [string, ...(string)[]]);
11834
+ fallbackSort?: {
11835
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11836
+ order?: ("asc" | "desc");
11837
+ };
11838
+ commentAbove?: string;
11839
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11840
+ newlinesInside?: ("ignore" | number);
11841
+ order?: ("asc" | "desc");
11842
+ })[];
11843
+ newlinesBetween?: ("ignore" | number);
11844
+ partitionByComment?: (boolean | (({
11845
+ pattern: string;
11846
+ flags?: string;
11847
+ } | string)[] | ({
11848
+ pattern: string;
11849
+ flags?: string;
11850
+ } | string)) | {
11851
+ block?: (boolean | (({
11852
+ pattern: string;
11853
+ flags?: string;
11854
+ } | string)[] | ({
11855
+ pattern: string;
11856
+ flags?: string;
11857
+ } | string)));
11858
+ line?: (boolean | (({
11859
+ pattern: string;
11860
+ flags?: string;
11861
+ } | string)[] | ({
11862
+ pattern: string;
11863
+ flags?: string;
11864
+ } | string)));
11865
+ });
11866
+ partitionByNewLine?: boolean;
11867
+ }[];
11868
+ // ----- perfectionist/sort-imports -----
11869
+ type PerfectionistSortImports = {
11870
+ fallbackSort?: {
11871
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
11872
+ order?: ("asc" | "desc");
11873
+ sortBy?: ("specifier" | "path");
11874
+ };
11875
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
11876
+ specialCharacters?: ("remove" | "trim" | "keep");
11877
+ ignoreCase?: boolean;
11878
+ alphabet?: string;
11879
+ locales?: (string | string[]);
11880
+ order?: ("asc" | "desc");
11881
+ sortBy?: ("specifier" | "path");
11882
+ customGroups?: ({
11883
+ fallbackSort?: {
11884
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
11885
+ order?: ("asc" | "desc");
11886
+ sortBy?: ("specifier" | "path");
11887
+ };
11888
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
11889
+ groupName: string;
11890
+ newlinesInside?: ("ignore" | number);
11891
+ order?: ("asc" | "desc");
11892
+ sortBy?: ("specifier" | "path");
11893
+ anyOf: [{
11894
+ elementNamePattern?: (({
11895
+ pattern: string;
11896
+ flags?: string;
11897
+ } | string)[] | ({
11898
+ pattern: string;
11899
+ flags?: string;
11900
+ } | string));
11901
+ modifiers?: ("default" | "multiline" | "named" | "require" | "side-effect" | "singleline" | "ts-equals" | "type" | "value" | "wildcard")[];
11902
+ selector?: ("side-effect-style" | "tsconfig-path" | "side-effect" | "external" | "internal" | "builtin" | "sibling" | "subpath" | "import" | "parent" | "index" | "style" | "type");
11903
+ }, ...({
11904
+ elementNamePattern?: (({
11905
+ pattern: string;
11906
+ flags?: string;
11907
+ } | string)[] | ({
11908
+ pattern: string;
11909
+ flags?: string;
11910
+ } | string));
11911
+ modifiers?: ("default" | "multiline" | "named" | "require" | "side-effect" | "singleline" | "ts-equals" | "type" | "value" | "wildcard")[];
11912
+ selector?: ("side-effect-style" | "tsconfig-path" | "side-effect" | "external" | "internal" | "builtin" | "sibling" | "subpath" | "import" | "parent" | "index" | "style" | "type");
11913
+ })[]];
11914
+ } | {
11915
+ fallbackSort?: {
11916
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
11917
+ order?: ("asc" | "desc");
11918
+ sortBy?: ("specifier" | "path");
11919
+ };
11920
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
11921
+ groupName: string;
11922
+ newlinesInside?: ("ignore" | number);
11923
+ order?: ("asc" | "desc");
11924
+ sortBy?: ("specifier" | "path");
11390
11925
  elementNamePattern?: (({
11391
11926
  pattern: string;
11392
11927
  flags?: string;
@@ -11394,7 +11929,26 @@ type PerfectionistSortImports = {
11394
11929
  pattern: string;
11395
11930
  flags?: string;
11396
11931
  } | string));
11397
- })[]);
11932
+ modifiers?: ("default" | "multiline" | "named" | "require" | "side-effect" | "singleline" | "ts-equals" | "type" | "value" | "wildcard")[];
11933
+ selector?: ("side-effect-style" | "tsconfig-path" | "side-effect" | "external" | "internal" | "builtin" | "sibling" | "subpath" | "import" | "parent" | "index" | "style" | "type");
11934
+ })[];
11935
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
11936
+ groups?: (string | [string, ...(string)[]] | {
11937
+ newlinesBetween: ("ignore" | number);
11938
+ } | {
11939
+ group: (string | [string, ...(string)[]]);
11940
+ fallbackSort?: {
11941
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
11942
+ order?: ("asc" | "desc");
11943
+ sortBy?: ("specifier" | "path");
11944
+ };
11945
+ commentAbove?: string;
11946
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
11947
+ newlinesInside?: ("ignore" | number);
11948
+ order?: ("asc" | "desc");
11949
+ sortBy?: ("specifier" | "path");
11950
+ })[];
11951
+ newlinesBetween?: ("ignore" | number);
11398
11952
  tsconfig?: {
11399
11953
  rootDir: string;
11400
11954
  filename?: string;
@@ -11402,7 +11956,6 @@ type PerfectionistSortImports = {
11402
11956
  maxLineLength?: number;
11403
11957
  sortSideEffects?: boolean;
11404
11958
  environment?: ("node" | "bun");
11405
- tsconfigRootDir?: string;
11406
11959
  partitionByComment?: (boolean | (({
11407
11960
  pattern: string;
11408
11961
  flags?: string;
@@ -11426,7 +11979,6 @@ type PerfectionistSortImports = {
11426
11979
  } | string)));
11427
11980
  });
11428
11981
  partitionByNewLine?: boolean;
11429
- newlinesBetween?: (("ignore" | "always" | "never") | number);
11430
11982
  internalPattern?: (({
11431
11983
  pattern: string;
11432
11984
  flags?: string;
@@ -11434,39 +11986,42 @@ type PerfectionistSortImports = {
11434
11986
  pattern: string;
11435
11987
  flags?: string;
11436
11988
  } | string));
11437
- groups?: (string | string[] | {
11438
- newlinesBetween?: (("ignore" | "always" | "never") | number);
11439
- commentAbove?: string;
11440
- })[];
11441
11989
  }[];
11442
11990
  // ----- perfectionist/sort-interfaces -----
11443
11991
  type PerfectionistSortInterfaces = {
11444
11992
  fallbackSort?: {
11993
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11445
11994
  order?: ("asc" | "desc");
11446
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11447
11995
  sortBy?: ("name" | "value");
11448
11996
  };
11997
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11449
11998
  specialCharacters?: ("remove" | "trim" | "keep");
11450
11999
  ignoreCase?: boolean;
11451
12000
  alphabet?: string;
11452
12001
  locales?: (string | string[]);
11453
12002
  order?: ("asc" | "desc");
11454
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12003
+ sortBy?: ("name" | "value");
11455
12004
  customGroups?: ({
11456
- [k: string]: (string | string[]) | undefined;
11457
- } | ({
11458
- newlinesInside?: (("always" | "never") | number);
11459
12005
  fallbackSort?: {
12006
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11460
12007
  order?: ("asc" | "desc");
11461
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11462
12008
  sortBy?: ("name" | "value");
11463
12009
  };
12010
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11464
12011
  groupName: string;
12012
+ newlinesInside?: ("ignore" | number);
11465
12013
  order?: ("asc" | "desc");
11466
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11467
- anyOf?: {
12014
+ sortBy?: ("name" | "value");
12015
+ anyOf: [{
12016
+ elementNamePattern?: (({
12017
+ pattern: string;
12018
+ flags?: string;
12019
+ } | string)[] | ({
12020
+ pattern: string;
12021
+ flags?: string;
12022
+ } | string));
11468
12023
  modifiers?: ("optional" | "required" | "multiline")[];
11469
- selector?: ("index-signature" | "member" | "method" | "multiline" | "property");
12024
+ selector?: ("index-signature" | "member" | "method" | "property");
11470
12025
  elementValuePattern?: (({
11471
12026
  pattern: string;
11472
12027
  flags?: string;
@@ -11474,6 +12029,7 @@ type PerfectionistSortInterfaces = {
11474
12029
  pattern: string;
11475
12030
  flags?: string;
11476
12031
  } | string));
12032
+ }, ...({
11477
12033
  elementNamePattern?: (({
11478
12034
  pattern: string;
11479
12035
  flags?: string;
@@ -11481,37 +12037,61 @@ type PerfectionistSortInterfaces = {
11481
12037
  pattern: string;
11482
12038
  flags?: string;
11483
12039
  } | string));
11484
- sortBy?: ("name" | "value");
11485
- }[];
12040
+ modifiers?: ("optional" | "required" | "multiline")[];
12041
+ selector?: ("index-signature" | "member" | "method" | "property");
12042
+ elementValuePattern?: (({
12043
+ pattern: string;
12044
+ flags?: string;
12045
+ } | string)[] | ({
12046
+ pattern: string;
12047
+ flags?: string;
12048
+ } | string));
12049
+ })[]];
11486
12050
  } | {
11487
- newlinesInside?: (("always" | "never") | number);
11488
12051
  fallbackSort?: {
12052
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11489
12053
  order?: ("asc" | "desc");
11490
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11491
12054
  sortBy?: ("name" | "value");
11492
12055
  };
12056
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11493
12057
  groupName: string;
12058
+ newlinesInside?: ("ignore" | number);
11494
12059
  order?: ("asc" | "desc");
11495
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11496
- modifiers?: ("optional" | "required" | "multiline")[];
11497
- selector?: ("index-signature" | "member" | "method" | "multiline" | "property");
11498
- elementValuePattern?: (({
12060
+ sortBy?: ("name" | "value");
12061
+ elementNamePattern?: (({
11499
12062
  pattern: string;
11500
12063
  flags?: string;
11501
12064
  } | string)[] | ({
11502
12065
  pattern: string;
11503
12066
  flags?: string;
11504
12067
  } | string));
11505
- elementNamePattern?: (({
12068
+ modifiers?: ("optional" | "required" | "multiline")[];
12069
+ selector?: ("index-signature" | "member" | "method" | "property");
12070
+ elementValuePattern?: (({
11506
12071
  pattern: string;
11507
12072
  flags?: string;
11508
12073
  } | string)[] | ({
11509
12074
  pattern: string;
11510
12075
  flags?: string;
11511
12076
  } | string));
12077
+ })[];
12078
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
12079
+ groups?: (string | [string, ...(string)[]] | {
12080
+ newlinesBetween: ("ignore" | number);
12081
+ } | {
12082
+ group: (string | [string, ...(string)[]]);
12083
+ fallbackSort?: {
12084
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12085
+ order?: ("asc" | "desc");
12086
+ sortBy?: ("name" | "value");
12087
+ };
12088
+ commentAbove?: string;
12089
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12090
+ newlinesInside?: ("ignore" | number);
12091
+ order?: ("asc" | "desc");
11512
12092
  sortBy?: ("name" | "value");
11513
- })[]);
11514
- groupKind?: ("mixed" | "required-first" | "optional-first");
12093
+ })[];
12094
+ newlinesBetween?: ("ignore" | number);
11515
12095
  useConfigurationIf?: {
11516
12096
  allNamesMatchPattern?: (({
11517
12097
  pattern: string;
@@ -11520,10 +12100,22 @@ type PerfectionistSortInterfaces = {
11520
12100
  pattern: string;
11521
12101
  flags?: string;
11522
12102
  } | string));
12103
+ hasNumericKeysOnly?: boolean;
12104
+ declarationCommentMatchesPattern?: (({
12105
+ scope?: ("shallow" | "deep");
12106
+ pattern: string;
12107
+ flags?: string;
12108
+ } | string)[] | ({
12109
+ scope?: ("shallow" | "deep");
12110
+ pattern: string;
12111
+ flags?: string;
12112
+ } | string));
11523
12113
  declarationMatchesPattern?: (({
12114
+ scope?: ("shallow" | "deep");
11524
12115
  pattern: string;
11525
12116
  flags?: string;
11526
12117
  } | string)[] | ({
12118
+ scope?: ("shallow" | "deep");
11527
12119
  pattern: string;
11528
12120
  flags?: string;
11529
12121
  } | string));
@@ -11551,43 +12143,38 @@ type PerfectionistSortInterfaces = {
11551
12143
  } | string)));
11552
12144
  });
11553
12145
  partitionByNewLine?: boolean;
11554
- newlinesBetween?: (("ignore" | "always" | "never") | number);
11555
- ignorePattern?: (({
11556
- pattern: string;
11557
- flags?: string;
11558
- } | string)[] | ({
11559
- pattern: string;
11560
- flags?: string;
11561
- } | string));
11562
- sortBy?: ("name" | "value");
11563
- groups?: (string | string[] | {
11564
- newlinesBetween?: (("ignore" | "always" | "never") | number);
11565
- commentAbove?: string;
11566
- })[];
11567
12146
  }[];
11568
12147
  // ----- perfectionist/sort-intersection-types -----
11569
12148
  type PerfectionistSortIntersectionTypes = {
11570
12149
  fallbackSort?: {
12150
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11571
12151
  order?: ("asc" | "desc");
11572
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11573
12152
  };
12153
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11574
12154
  specialCharacters?: ("remove" | "trim" | "keep");
11575
12155
  ignoreCase?: boolean;
11576
12156
  alphabet?: string;
11577
12157
  locales?: (string | string[]);
11578
12158
  order?: ("asc" | "desc");
11579
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11580
12159
  customGroups?: ({
11581
- newlinesInside?: (("always" | "never") | number);
11582
12160
  fallbackSort?: {
12161
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11583
12162
  order?: ("asc" | "desc");
11584
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11585
12163
  };
12164
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11586
12165
  groupName: string;
12166
+ newlinesInside?: ("ignore" | number);
11587
12167
  order?: ("asc" | "desc");
11588
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11589
- anyOf?: {
12168
+ anyOf: [{
12169
+ elementNamePattern?: (({
12170
+ pattern: string;
12171
+ flags?: string;
12172
+ } | string)[] | ({
12173
+ pattern: string;
12174
+ flags?: string;
12175
+ } | string));
11590
12176
  selector?: ("intersection" | "conditional" | "function" | "operator" | "keyword" | "literal" | "nullish" | "import" | "object" | "named" | "tuple" | "union");
12177
+ }, ...({
11591
12178
  elementNamePattern?: (({
11592
12179
  pattern: string;
11593
12180
  flags?: string;
@@ -11595,17 +12182,17 @@ type PerfectionistSortIntersectionTypes = {
11595
12182
  pattern: string;
11596
12183
  flags?: string;
11597
12184
  } | string));
11598
- }[];
12185
+ selector?: ("intersection" | "conditional" | "function" | "operator" | "keyword" | "literal" | "nullish" | "import" | "object" | "named" | "tuple" | "union");
12186
+ })[]];
11599
12187
  } | {
11600
- newlinesInside?: (("always" | "never") | number);
11601
12188
  fallbackSort?: {
12189
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11602
12190
  order?: ("asc" | "desc");
11603
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11604
12191
  };
12192
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11605
12193
  groupName: string;
12194
+ newlinesInside?: ("ignore" | number);
11606
12195
  order?: ("asc" | "desc");
11607
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11608
- selector?: ("intersection" | "conditional" | "function" | "operator" | "keyword" | "literal" | "nullish" | "import" | "object" | "named" | "tuple" | "union");
11609
12196
  elementNamePattern?: (({
11610
12197
  pattern: string;
11611
12198
  flags?: string;
@@ -11613,7 +12200,23 @@ type PerfectionistSortIntersectionTypes = {
11613
12200
  pattern: string;
11614
12201
  flags?: string;
11615
12202
  } | string));
12203
+ selector?: ("intersection" | "conditional" | "function" | "operator" | "keyword" | "literal" | "nullish" | "import" | "object" | "named" | "tuple" | "union");
12204
+ })[];
12205
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
12206
+ groups?: (string | [string, ...(string)[]] | {
12207
+ newlinesBetween: ("ignore" | number);
12208
+ } | {
12209
+ group: (string | [string, ...(string)[]]);
12210
+ fallbackSort?: {
12211
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12212
+ order?: ("asc" | "desc");
12213
+ };
12214
+ commentAbove?: string;
12215
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12216
+ newlinesInside?: ("ignore" | number);
12217
+ order?: ("asc" | "desc");
11616
12218
  })[];
12219
+ newlinesBetween?: ("ignore" | number);
11617
12220
  partitionByComment?: (boolean | (({
11618
12221
  pattern: string;
11619
12222
  flags?: string;
@@ -11637,38 +12240,38 @@ type PerfectionistSortIntersectionTypes = {
11637
12240
  } | string)));
11638
12241
  });
11639
12242
  partitionByNewLine?: boolean;
11640
- newlinesBetween?: (("ignore" | "always" | "never") | number);
11641
- groups?: (string | string[] | {
11642
- newlinesBetween?: (("ignore" | "always" | "never") | number);
11643
- commentAbove?: string;
11644
- })[];
11645
12243
  }[];
11646
12244
  // ----- perfectionist/sort-jsx-props -----
11647
12245
  type PerfectionistSortJsxProps = {
11648
12246
  fallbackSort?: {
12247
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11649
12248
  order?: ("asc" | "desc");
11650
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11651
12249
  };
12250
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11652
12251
  specialCharacters?: ("remove" | "trim" | "keep");
11653
12252
  ignoreCase?: boolean;
11654
12253
  alphabet?: string;
11655
12254
  locales?: (string | string[]);
11656
12255
  order?: ("asc" | "desc");
11657
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11658
12256
  customGroups?: ({
11659
- [k: string]: (string | string[]) | undefined;
11660
- } | ({
11661
- newlinesInside?: (("always" | "never") | number);
11662
12257
  fallbackSort?: {
12258
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11663
12259
  order?: ("asc" | "desc");
11664
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11665
12260
  };
12261
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11666
12262
  groupName: string;
12263
+ newlinesInside?: ("ignore" | number);
11667
12264
  order?: ("asc" | "desc");
11668
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11669
- anyOf?: {
12265
+ anyOf: [{
12266
+ elementNamePattern?: (({
12267
+ pattern: string;
12268
+ flags?: string;
12269
+ } | string)[] | ({
12270
+ pattern: string;
12271
+ flags?: string;
12272
+ } | string));
11670
12273
  modifiers?: ("shorthand" | "multiline")[];
11671
- selector?: ("multiline" | "prop" | "shorthand");
12274
+ selector?: "prop";
11672
12275
  elementValuePattern?: (({
11673
12276
  pattern: string;
11674
12277
  flags?: string;
@@ -11676,6 +12279,7 @@ type PerfectionistSortJsxProps = {
11676
12279
  pattern: string;
11677
12280
  flags?: string;
11678
12281
  } | string));
12282
+ }, ...({
11679
12283
  elementNamePattern?: (({
11680
12284
  pattern: string;
11681
12285
  flags?: string;
@@ -11683,33 +12287,57 @@ type PerfectionistSortJsxProps = {
11683
12287
  pattern: string;
11684
12288
  flags?: string;
11685
12289
  } | string));
11686
- }[];
12290
+ modifiers?: ("shorthand" | "multiline")[];
12291
+ selector?: "prop";
12292
+ elementValuePattern?: (({
12293
+ pattern: string;
12294
+ flags?: string;
12295
+ } | string)[] | ({
12296
+ pattern: string;
12297
+ flags?: string;
12298
+ } | string));
12299
+ })[]];
11687
12300
  } | {
11688
- newlinesInside?: (("always" | "never") | number);
11689
12301
  fallbackSort?: {
12302
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11690
12303
  order?: ("asc" | "desc");
11691
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11692
12304
  };
12305
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11693
12306
  groupName: string;
12307
+ newlinesInside?: ("ignore" | number);
11694
12308
  order?: ("asc" | "desc");
11695
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11696
- modifiers?: ("shorthand" | "multiline")[];
11697
- selector?: ("multiline" | "prop" | "shorthand");
11698
- elementValuePattern?: (({
12309
+ elementNamePattern?: (({
11699
12310
  pattern: string;
11700
12311
  flags?: string;
11701
12312
  } | string)[] | ({
11702
12313
  pattern: string;
11703
12314
  flags?: string;
11704
12315
  } | string));
11705
- elementNamePattern?: (({
12316
+ modifiers?: ("shorthand" | "multiline")[];
12317
+ selector?: "prop";
12318
+ elementValuePattern?: (({
11706
12319
  pattern: string;
11707
12320
  flags?: string;
11708
12321
  } | string)[] | ({
11709
12322
  pattern: string;
11710
12323
  flags?: string;
11711
12324
  } | string));
11712
- })[]);
12325
+ })[];
12326
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
12327
+ groups?: (string | [string, ...(string)[]] | {
12328
+ newlinesBetween: ("ignore" | number);
12329
+ } | {
12330
+ group: (string | [string, ...(string)[]]);
12331
+ fallbackSort?: {
12332
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12333
+ order?: ("asc" | "desc");
12334
+ };
12335
+ commentAbove?: string;
12336
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12337
+ newlinesInside?: ("ignore" | number);
12338
+ order?: ("asc" | "desc");
12339
+ })[];
12340
+ newlinesBetween?: ("ignore" | number);
11713
12341
  useConfigurationIf?: {
11714
12342
  allNamesMatchPattern?: (({
11715
12343
  pattern: string;
@@ -11727,41 +12355,29 @@ type PerfectionistSortJsxProps = {
11727
12355
  } | string));
11728
12356
  };
11729
12357
  partitionByNewLine?: boolean;
11730
- newlinesBetween?: (("ignore" | "always" | "never") | number);
11731
- ignorePattern?: (({
11732
- pattern: string;
11733
- flags?: string;
11734
- } | string)[] | ({
11735
- pattern: string;
11736
- flags?: string;
11737
- } | string));
11738
- groups?: (string | string[] | {
11739
- newlinesBetween?: (("ignore" | "always" | "never") | number);
11740
- commentAbove?: string;
11741
- })[];
11742
12358
  }[];
11743
12359
  // ----- perfectionist/sort-maps -----
11744
12360
  type PerfectionistSortMaps = {
11745
12361
  fallbackSort?: {
12362
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11746
12363
  order?: ("asc" | "desc");
11747
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11748
12364
  };
12365
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11749
12366
  specialCharacters?: ("remove" | "trim" | "keep");
11750
12367
  ignoreCase?: boolean;
11751
12368
  alphabet?: string;
11752
12369
  locales?: (string | string[]);
11753
12370
  order?: ("asc" | "desc");
11754
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11755
12371
  customGroups?: ({
11756
- newlinesInside?: (("always" | "never") | number);
11757
12372
  fallbackSort?: {
12373
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11758
12374
  order?: ("asc" | "desc");
11759
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11760
12375
  };
12376
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11761
12377
  groupName: string;
12378
+ newlinesInside?: ("ignore" | number);
11762
12379
  order?: ("asc" | "desc");
11763
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11764
- anyOf?: {
12380
+ anyOf: [{
11765
12381
  elementNamePattern?: (({
11766
12382
  pattern: string;
11767
12383
  flags?: string;
@@ -11769,16 +12385,24 @@ type PerfectionistSortMaps = {
11769
12385
  pattern: string;
11770
12386
  flags?: string;
11771
12387
  } | string));
11772
- }[];
12388
+ }, ...({
12389
+ elementNamePattern?: (({
12390
+ pattern: string;
12391
+ flags?: string;
12392
+ } | string)[] | ({
12393
+ pattern: string;
12394
+ flags?: string;
12395
+ } | string));
12396
+ })[]];
11773
12397
  } | {
11774
- newlinesInside?: (("always" | "never") | number);
11775
12398
  fallbackSort?: {
12399
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11776
12400
  order?: ("asc" | "desc");
11777
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11778
12401
  };
12402
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11779
12403
  groupName: string;
12404
+ newlinesInside?: ("ignore" | number);
11780
12405
  order?: ("asc" | "desc");
11781
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11782
12406
  elementNamePattern?: (({
11783
12407
  pattern: string;
11784
12408
  flags?: string;
@@ -11787,6 +12411,21 @@ type PerfectionistSortMaps = {
11787
12411
  flags?: string;
11788
12412
  } | string));
11789
12413
  })[];
12414
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
12415
+ groups?: (string | [string, ...(string)[]] | {
12416
+ newlinesBetween: ("ignore" | number);
12417
+ } | {
12418
+ group: (string | [string, ...(string)[]]);
12419
+ fallbackSort?: {
12420
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12421
+ order?: ("asc" | "desc");
12422
+ };
12423
+ commentAbove?: string;
12424
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12425
+ newlinesInside?: ("ignore" | number);
12426
+ order?: ("asc" | "desc");
12427
+ })[];
12428
+ newlinesBetween?: ("ignore" | number);
11790
12429
  useConfigurationIf?: {
11791
12430
  allNamesMatchPattern?: (({
11792
12431
  pattern: string;
@@ -11819,34 +12458,36 @@ type PerfectionistSortMaps = {
11819
12458
  } | string)));
11820
12459
  });
11821
12460
  partitionByNewLine?: boolean;
11822
- newlinesBetween?: (("ignore" | "always" | "never") | number);
11823
- groups?: (string | string[] | {
11824
- newlinesBetween?: (("ignore" | "always" | "never") | number);
11825
- commentAbove?: string;
11826
- })[];
11827
12461
  }[];
11828
12462
  // ----- perfectionist/sort-modules -----
11829
12463
  type PerfectionistSortModules = [] | [{
11830
12464
  fallbackSort?: {
12465
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
11831
12466
  order?: ("asc" | "desc");
11832
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11833
12467
  };
12468
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
11834
12469
  specialCharacters?: ("remove" | "trim" | "keep");
11835
12470
  ignoreCase?: boolean;
11836
12471
  alphabet?: string;
11837
12472
  locales?: (string | string[]);
11838
12473
  order?: ("asc" | "desc");
11839
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11840
12474
  customGroups?: ({
11841
- newlinesInside?: (("always" | "never") | number);
11842
12475
  fallbackSort?: {
12476
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
11843
12477
  order?: ("asc" | "desc");
11844
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11845
12478
  };
12479
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
11846
12480
  groupName: string;
12481
+ newlinesInside?: ("ignore" | number);
11847
12482
  order?: ("asc" | "desc");
11848
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11849
- anyOf?: {
12483
+ anyOf: [{
12484
+ elementNamePattern?: (({
12485
+ pattern: string;
12486
+ flags?: string;
12487
+ } | string)[] | ({
12488
+ pattern: string;
12489
+ flags?: string;
12490
+ } | string));
11850
12491
  modifiers?: ("async" | "declare" | "decorated" | "default" | "export")[];
11851
12492
  selector?: ("enum" | "function" | "interface" | "type" | "class");
11852
12493
  decoratorNamePattern?: (({
@@ -11856,6 +12497,7 @@ type PerfectionistSortModules = [] | [{
11856
12497
  pattern: string;
11857
12498
  flags?: string;
11858
12499
  } | string));
12500
+ }, ...({
11859
12501
  elementNamePattern?: (({
11860
12502
  pattern: string;
11861
12503
  flags?: string;
@@ -11863,26 +12505,35 @@ type PerfectionistSortModules = [] | [{
11863
12505
  pattern: string;
11864
12506
  flags?: string;
11865
12507
  } | string));
11866
- }[];
12508
+ modifiers?: ("async" | "declare" | "decorated" | "default" | "export")[];
12509
+ selector?: ("enum" | "function" | "interface" | "type" | "class");
12510
+ decoratorNamePattern?: (({
12511
+ pattern: string;
12512
+ flags?: string;
12513
+ } | string)[] | ({
12514
+ pattern: string;
12515
+ flags?: string;
12516
+ } | string));
12517
+ })[]];
11867
12518
  } | {
11868
- newlinesInside?: (("always" | "never") | number);
11869
12519
  fallbackSort?: {
12520
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
11870
12521
  order?: ("asc" | "desc");
11871
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11872
12522
  };
12523
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
11873
12524
  groupName: string;
12525
+ newlinesInside?: ("ignore" | number);
11874
12526
  order?: ("asc" | "desc");
11875
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11876
- modifiers?: ("async" | "declare" | "decorated" | "default" | "export")[];
11877
- selector?: ("enum" | "function" | "interface" | "type" | "class");
11878
- decoratorNamePattern?: (({
12527
+ elementNamePattern?: (({
11879
12528
  pattern: string;
11880
12529
  flags?: string;
11881
12530
  } | string)[] | ({
11882
12531
  pattern: string;
11883
12532
  flags?: string;
11884
12533
  } | string));
11885
- elementNamePattern?: (({
12534
+ modifiers?: ("async" | "declare" | "decorated" | "default" | "export")[];
12535
+ selector?: ("enum" | "function" | "interface" | "type" | "class");
12536
+ decoratorNamePattern?: (({
11886
12537
  pattern: string;
11887
12538
  flags?: string;
11888
12539
  } | string)[] | ({
@@ -11890,6 +12541,21 @@ type PerfectionistSortModules = [] | [{
11890
12541
  flags?: string;
11891
12542
  } | string));
11892
12543
  })[];
12544
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
12545
+ groups?: (string | [string, ...(string)[]] | {
12546
+ newlinesBetween: ("ignore" | number);
12547
+ } | {
12548
+ group: (string | [string, ...(string)[]]);
12549
+ fallbackSort?: {
12550
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
12551
+ order?: ("asc" | "desc");
12552
+ };
12553
+ commentAbove?: string;
12554
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
12555
+ newlinesInside?: ("ignore" | number);
12556
+ order?: ("asc" | "desc");
12557
+ })[];
12558
+ newlinesBetween?: ("ignore" | number);
11893
12559
  partitionByComment?: (boolean | (({
11894
12560
  pattern: string;
11895
12561
  flags?: string;
@@ -11913,38 +12579,39 @@ type PerfectionistSortModules = [] | [{
11913
12579
  } | string)));
11914
12580
  });
11915
12581
  partitionByNewLine?: boolean;
11916
- newlinesBetween?: (("ignore" | "always" | "never") | number);
11917
- groups?: (string | string[] | {
11918
- newlinesBetween?: (("ignore" | "always" | "never") | number);
11919
- commentAbove?: string;
11920
- })[];
11921
12582
  }];
11922
12583
  // ----- perfectionist/sort-named-exports -----
11923
12584
  type PerfectionistSortNamedExports = {
11924
12585
  fallbackSort?: {
12586
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11925
12587
  order?: ("asc" | "desc");
11926
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11927
12588
  };
12589
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11928
12590
  specialCharacters?: ("remove" | "trim" | "keep");
11929
12591
  ignoreCase?: boolean;
11930
12592
  alphabet?: string;
11931
12593
  locales?: (string | string[]);
11932
12594
  order?: ("asc" | "desc");
11933
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11934
- groupKind?: ("mixed" | "values-first" | "types-first");
11935
- ignoreAlias?: boolean;
11936
12595
  customGroups?: ({
11937
- newlinesInside?: (("always" | "never") | number);
11938
12596
  fallbackSort?: {
12597
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11939
12598
  order?: ("asc" | "desc");
11940
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11941
12599
  };
12600
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11942
12601
  groupName: string;
12602
+ newlinesInside?: ("ignore" | number);
11943
12603
  order?: ("asc" | "desc");
11944
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11945
- anyOf?: {
12604
+ anyOf: [{
12605
+ elementNamePattern?: (({
12606
+ pattern: string;
12607
+ flags?: string;
12608
+ } | string)[] | ({
12609
+ pattern: string;
12610
+ flags?: string;
12611
+ } | string));
11946
12612
  modifiers?: ("value" | "type")[];
11947
12613
  selector?: "export";
12614
+ }, ...({
11948
12615
  elementNamePattern?: (({
11949
12616
  pattern: string;
11950
12617
  flags?: string;
@@ -11952,18 +12619,18 @@ type PerfectionistSortNamedExports = {
11952
12619
  pattern: string;
11953
12620
  flags?: string;
11954
12621
  } | string));
11955
- }[];
12622
+ modifiers?: ("value" | "type")[];
12623
+ selector?: "export";
12624
+ })[]];
11956
12625
  } | {
11957
- newlinesInside?: (("always" | "never") | number);
11958
12626
  fallbackSort?: {
12627
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11959
12628
  order?: ("asc" | "desc");
11960
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11961
12629
  };
12630
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11962
12631
  groupName: string;
12632
+ newlinesInside?: ("ignore" | number);
11963
12633
  order?: ("asc" | "desc");
11964
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
11965
- modifiers?: ("value" | "type")[];
11966
- selector?: "export";
11967
12634
  elementNamePattern?: (({
11968
12635
  pattern: string;
11969
12636
  flags?: string;
@@ -11971,7 +12638,25 @@ type PerfectionistSortNamedExports = {
11971
12638
  pattern: string;
11972
12639
  flags?: string;
11973
12640
  } | string));
12641
+ modifiers?: ("value" | "type")[];
12642
+ selector?: "export";
12643
+ })[];
12644
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
12645
+ groups?: (string | [string, ...(string)[]] | {
12646
+ newlinesBetween: ("ignore" | number);
12647
+ } | {
12648
+ group: (string | [string, ...(string)[]]);
12649
+ fallbackSort?: {
12650
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12651
+ order?: ("asc" | "desc");
12652
+ };
12653
+ commentAbove?: string;
12654
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12655
+ newlinesInside?: ("ignore" | number);
12656
+ order?: ("asc" | "desc");
11974
12657
  })[];
12658
+ newlinesBetween?: ("ignore" | number);
12659
+ ignoreAlias?: boolean;
11975
12660
  partitionByComment?: (boolean | (({
11976
12661
  pattern: string;
11977
12662
  flags?: string;
@@ -11995,38 +12680,39 @@ type PerfectionistSortNamedExports = {
11995
12680
  } | string)));
11996
12681
  });
11997
12682
  partitionByNewLine?: boolean;
11998
- newlinesBetween?: (("ignore" | "always" | "never") | number);
11999
- groups?: (string | string[] | {
12000
- newlinesBetween?: (("ignore" | "always" | "never") | number);
12001
- commentAbove?: string;
12002
- })[];
12003
12683
  }[];
12004
12684
  // ----- perfectionist/sort-named-imports -----
12005
12685
  type PerfectionistSortNamedImports = {
12006
12686
  fallbackSort?: {
12687
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12007
12688
  order?: ("asc" | "desc");
12008
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12009
12689
  };
12690
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12010
12691
  specialCharacters?: ("remove" | "trim" | "keep");
12011
12692
  ignoreCase?: boolean;
12012
12693
  alphabet?: string;
12013
12694
  locales?: (string | string[]);
12014
12695
  order?: ("asc" | "desc");
12015
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12016
- groupKind?: ("mixed" | "values-first" | "types-first");
12017
- ignoreAlias?: boolean;
12018
12696
  customGroups?: ({
12019
- newlinesInside?: (("always" | "never") | number);
12020
12697
  fallbackSort?: {
12698
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12021
12699
  order?: ("asc" | "desc");
12022
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12023
12700
  };
12701
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12024
12702
  groupName: string;
12703
+ newlinesInside?: ("ignore" | number);
12025
12704
  order?: ("asc" | "desc");
12026
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12027
- anyOf?: {
12705
+ anyOf: [{
12706
+ elementNamePattern?: (({
12707
+ pattern: string;
12708
+ flags?: string;
12709
+ } | string)[] | ({
12710
+ pattern: string;
12711
+ flags?: string;
12712
+ } | string));
12028
12713
  modifiers?: ("value" | "type")[];
12029
12714
  selector?: "import";
12715
+ }, ...({
12030
12716
  elementNamePattern?: (({
12031
12717
  pattern: string;
12032
12718
  flags?: string;
@@ -12034,18 +12720,18 @@ type PerfectionistSortNamedImports = {
12034
12720
  pattern: string;
12035
12721
  flags?: string;
12036
12722
  } | string));
12037
- }[];
12723
+ modifiers?: ("value" | "type")[];
12724
+ selector?: "import";
12725
+ })[]];
12038
12726
  } | {
12039
- newlinesInside?: (("always" | "never") | number);
12040
12727
  fallbackSort?: {
12728
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12041
12729
  order?: ("asc" | "desc");
12042
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12043
12730
  };
12731
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12044
12732
  groupName: string;
12733
+ newlinesInside?: ("ignore" | number);
12045
12734
  order?: ("asc" | "desc");
12046
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12047
- modifiers?: ("value" | "type")[];
12048
- selector?: "import";
12049
12735
  elementNamePattern?: (({
12050
12736
  pattern: string;
12051
12737
  flags?: string;
@@ -12053,7 +12739,25 @@ type PerfectionistSortNamedImports = {
12053
12739
  pattern: string;
12054
12740
  flags?: string;
12055
12741
  } | string));
12742
+ modifiers?: ("value" | "type")[];
12743
+ selector?: "import";
12744
+ })[];
12745
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
12746
+ groups?: (string | [string, ...(string)[]] | {
12747
+ newlinesBetween: ("ignore" | number);
12748
+ } | {
12749
+ group: (string | [string, ...(string)[]]);
12750
+ fallbackSort?: {
12751
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12752
+ order?: ("asc" | "desc");
12753
+ };
12754
+ commentAbove?: string;
12755
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12756
+ newlinesInside?: ("ignore" | number);
12757
+ order?: ("asc" | "desc");
12056
12758
  })[];
12759
+ newlinesBetween?: ("ignore" | number);
12760
+ ignoreAlias?: boolean;
12057
12761
  partitionByComment?: (boolean | (({
12058
12762
  pattern: string;
12059
12763
  flags?: string;
@@ -12077,40 +12781,42 @@ type PerfectionistSortNamedImports = {
12077
12781
  } | string)));
12078
12782
  });
12079
12783
  partitionByNewLine?: boolean;
12080
- newlinesBetween?: (("ignore" | "always" | "never") | number);
12081
- groups?: (string | string[] | {
12082
- newlinesBetween?: (("ignore" | "always" | "never") | number);
12083
- commentAbove?: string;
12084
- })[];
12085
12784
  }[];
12086
12785
  // ----- perfectionist/sort-object-types -----
12087
12786
  type PerfectionistSortObjectTypes = {
12088
12787
  fallbackSort?: {
12788
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12089
12789
  order?: ("asc" | "desc");
12090
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12091
12790
  sortBy?: ("name" | "value");
12092
12791
  };
12792
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12093
12793
  specialCharacters?: ("remove" | "trim" | "keep");
12094
12794
  ignoreCase?: boolean;
12095
12795
  alphabet?: string;
12096
12796
  locales?: (string | string[]);
12097
12797
  order?: ("asc" | "desc");
12098
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12798
+ sortBy?: ("name" | "value");
12099
12799
  customGroups?: ({
12100
- [k: string]: (string | string[]) | undefined;
12101
- } | ({
12102
- newlinesInside?: (("always" | "never") | number);
12103
12800
  fallbackSort?: {
12801
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12104
12802
  order?: ("asc" | "desc");
12105
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12106
12803
  sortBy?: ("name" | "value");
12107
12804
  };
12805
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12108
12806
  groupName: string;
12807
+ newlinesInside?: ("ignore" | number);
12109
12808
  order?: ("asc" | "desc");
12110
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12111
- anyOf?: {
12809
+ sortBy?: ("name" | "value");
12810
+ anyOf: [{
12811
+ elementNamePattern?: (({
12812
+ pattern: string;
12813
+ flags?: string;
12814
+ } | string)[] | ({
12815
+ pattern: string;
12816
+ flags?: string;
12817
+ } | string));
12112
12818
  modifiers?: ("optional" | "required" | "multiline")[];
12113
- selector?: ("index-signature" | "member" | "method" | "multiline" | "property");
12819
+ selector?: ("index-signature" | "member" | "method" | "property");
12114
12820
  elementValuePattern?: (({
12115
12821
  pattern: string;
12116
12822
  flags?: string;
@@ -12118,6 +12824,7 @@ type PerfectionistSortObjectTypes = {
12118
12824
  pattern: string;
12119
12825
  flags?: string;
12120
12826
  } | string));
12827
+ }, ...({
12121
12828
  elementNamePattern?: (({
12122
12829
  pattern: string;
12123
12830
  flags?: string;
@@ -12125,37 +12832,61 @@ type PerfectionistSortObjectTypes = {
12125
12832
  pattern: string;
12126
12833
  flags?: string;
12127
12834
  } | string));
12128
- sortBy?: ("name" | "value");
12129
- }[];
12835
+ modifiers?: ("optional" | "required" | "multiline")[];
12836
+ selector?: ("index-signature" | "member" | "method" | "property");
12837
+ elementValuePattern?: (({
12838
+ pattern: string;
12839
+ flags?: string;
12840
+ } | string)[] | ({
12841
+ pattern: string;
12842
+ flags?: string;
12843
+ } | string));
12844
+ })[]];
12130
12845
  } | {
12131
- newlinesInside?: (("always" | "never") | number);
12132
12846
  fallbackSort?: {
12847
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12133
12848
  order?: ("asc" | "desc");
12134
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12135
12849
  sortBy?: ("name" | "value");
12136
12850
  };
12851
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12137
12852
  groupName: string;
12853
+ newlinesInside?: ("ignore" | number);
12138
12854
  order?: ("asc" | "desc");
12139
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12140
- modifiers?: ("optional" | "required" | "multiline")[];
12141
- selector?: ("index-signature" | "member" | "method" | "multiline" | "property");
12142
- elementValuePattern?: (({
12855
+ sortBy?: ("name" | "value");
12856
+ elementNamePattern?: (({
12143
12857
  pattern: string;
12144
12858
  flags?: string;
12145
12859
  } | string)[] | ({
12146
12860
  pattern: string;
12147
12861
  flags?: string;
12148
12862
  } | string));
12149
- elementNamePattern?: (({
12863
+ modifiers?: ("optional" | "required" | "multiline")[];
12864
+ selector?: ("index-signature" | "member" | "method" | "property");
12865
+ elementValuePattern?: (({
12150
12866
  pattern: string;
12151
12867
  flags?: string;
12152
12868
  } | string)[] | ({
12153
12869
  pattern: string;
12154
12870
  flags?: string;
12155
12871
  } | string));
12872
+ })[];
12873
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
12874
+ groups?: (string | [string, ...(string)[]] | {
12875
+ newlinesBetween: ("ignore" | number);
12876
+ } | {
12877
+ group: (string | [string, ...(string)[]]);
12878
+ fallbackSort?: {
12879
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12880
+ order?: ("asc" | "desc");
12881
+ sortBy?: ("name" | "value");
12882
+ };
12883
+ commentAbove?: string;
12884
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12885
+ newlinesInside?: ("ignore" | number);
12886
+ order?: ("asc" | "desc");
12156
12887
  sortBy?: ("name" | "value");
12157
- })[]);
12158
- groupKind?: ("mixed" | "required-first" | "optional-first");
12888
+ })[];
12889
+ newlinesBetween?: ("ignore" | number);
12159
12890
  useConfigurationIf?: {
12160
12891
  allNamesMatchPattern?: (({
12161
12892
  pattern: string;
@@ -12164,10 +12895,22 @@ type PerfectionistSortObjectTypes = {
12164
12895
  pattern: string;
12165
12896
  flags?: string;
12166
12897
  } | string));
12898
+ hasNumericKeysOnly?: boolean;
12899
+ declarationCommentMatchesPattern?: (({
12900
+ scope?: ("shallow" | "deep");
12901
+ pattern: string;
12902
+ flags?: string;
12903
+ } | string)[] | ({
12904
+ scope?: ("shallow" | "deep");
12905
+ pattern: string;
12906
+ flags?: string;
12907
+ } | string));
12167
12908
  declarationMatchesPattern?: (({
12909
+ scope?: ("shallow" | "deep");
12168
12910
  pattern: string;
12169
12911
  flags?: string;
12170
12912
  } | string)[] | ({
12913
+ scope?: ("shallow" | "deep");
12171
12914
  pattern: string;
12172
12915
  flags?: string;
12173
12916
  } | string));
@@ -12195,49 +12938,38 @@ type PerfectionistSortObjectTypes = {
12195
12938
  } | string)));
12196
12939
  });
12197
12940
  partitionByNewLine?: boolean;
12198
- newlinesBetween?: (("ignore" | "always" | "never") | number);
12199
- ignorePattern?: (({
12200
- pattern: string;
12201
- flags?: string;
12202
- } | string)[] | ({
12203
- pattern: string;
12204
- flags?: string;
12205
- } | string));
12206
- sortBy?: ("name" | "value");
12207
- groups?: (string | string[] | {
12208
- newlinesBetween?: (("ignore" | "always" | "never") | number);
12209
- commentAbove?: string;
12210
- })[];
12211
12941
  }[];
12212
12942
  // ----- perfectionist/sort-objects -----
12213
12943
  type PerfectionistSortObjects = {
12214
12944
  fallbackSort?: {
12945
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12215
12946
  order?: ("asc" | "desc");
12216
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12217
12947
  };
12948
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12218
12949
  specialCharacters?: ("remove" | "trim" | "keep");
12219
12950
  ignoreCase?: boolean;
12220
12951
  alphabet?: string;
12221
12952
  locales?: (string | string[]);
12222
12953
  order?: ("asc" | "desc");
12223
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12224
- destructuredObjects?: (boolean | {
12225
- groups?: boolean;
12226
- });
12227
12954
  customGroups?: ({
12228
- [k: string]: (string | string[]) | undefined;
12229
- } | ({
12230
- newlinesInside?: (("always" | "never") | number);
12231
12955
  fallbackSort?: {
12956
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12232
12957
  order?: ("asc" | "desc");
12233
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12234
12958
  };
12959
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12235
12960
  groupName: string;
12961
+ newlinesInside?: ("ignore" | number);
12236
12962
  order?: ("asc" | "desc");
12237
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12238
- anyOf?: {
12239
- modifiers?: ("optional" | "required" | "multiline")[];
12240
- selector?: ("member" | "method" | "multiline" | "property");
12963
+ anyOf: [{
12964
+ elementNamePattern?: (({
12965
+ pattern: string;
12966
+ flags?: string;
12967
+ } | string)[] | ({
12968
+ pattern: string;
12969
+ flags?: string;
12970
+ } | string));
12971
+ modifiers?: ("multiline")[];
12972
+ selector?: ("member" | "method" | "property");
12241
12973
  elementValuePattern?: (({
12242
12974
  pattern: string;
12243
12975
  flags?: string;
@@ -12245,6 +12977,7 @@ type PerfectionistSortObjects = {
12245
12977
  pattern: string;
12246
12978
  flags?: string;
12247
12979
  } | string));
12980
+ }, ...({
12248
12981
  elementNamePattern?: (({
12249
12982
  pattern: string;
12250
12983
  flags?: string;
@@ -12252,33 +12985,57 @@ type PerfectionistSortObjects = {
12252
12985
  pattern: string;
12253
12986
  flags?: string;
12254
12987
  } | string));
12255
- }[];
12988
+ modifiers?: ("multiline")[];
12989
+ selector?: ("member" | "method" | "property");
12990
+ elementValuePattern?: (({
12991
+ pattern: string;
12992
+ flags?: string;
12993
+ } | string)[] | ({
12994
+ pattern: string;
12995
+ flags?: string;
12996
+ } | string));
12997
+ })[]];
12256
12998
  } | {
12257
- newlinesInside?: (("always" | "never") | number);
12258
12999
  fallbackSort?: {
13000
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12259
13001
  order?: ("asc" | "desc");
12260
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12261
13002
  };
13003
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12262
13004
  groupName: string;
13005
+ newlinesInside?: ("ignore" | number);
12263
13006
  order?: ("asc" | "desc");
12264
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12265
- modifiers?: ("optional" | "required" | "multiline")[];
12266
- selector?: ("member" | "method" | "multiline" | "property");
12267
- elementValuePattern?: (({
13007
+ elementNamePattern?: (({
12268
13008
  pattern: string;
12269
13009
  flags?: string;
12270
13010
  } | string)[] | ({
12271
13011
  pattern: string;
12272
13012
  flags?: string;
12273
13013
  } | string));
12274
- elementNamePattern?: (({
13014
+ modifiers?: ("multiline")[];
13015
+ selector?: ("member" | "method" | "property");
13016
+ elementValuePattern?: (({
12275
13017
  pattern: string;
12276
13018
  flags?: string;
12277
13019
  } | string)[] | ({
12278
13020
  pattern: string;
12279
13021
  flags?: string;
12280
13022
  } | string));
12281
- })[]);
13023
+ })[];
13024
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
13025
+ groups?: (string | [string, ...(string)[]] | {
13026
+ newlinesBetween: ("ignore" | number);
13027
+ } | {
13028
+ group: (string | [string, ...(string)[]]);
13029
+ fallbackSort?: {
13030
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
13031
+ order?: ("asc" | "desc");
13032
+ };
13033
+ commentAbove?: string;
13034
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
13035
+ newlinesInside?: ("ignore" | number);
13036
+ order?: ("asc" | "desc");
13037
+ })[];
13038
+ newlinesBetween?: ("ignore" | number);
12282
13039
  useConfigurationIf?: {
12283
13040
  allNamesMatchPattern?: (({
12284
13041
  pattern: string;
@@ -12287,16 +13044,36 @@ type PerfectionistSortObjects = {
12287
13044
  pattern: string;
12288
13045
  flags?: string;
12289
13046
  } | string));
13047
+ objectType?: ("destructured" | "non-destructured");
13048
+ hasNumericKeysOnly?: boolean;
13049
+ declarationCommentMatchesPattern?: (({
13050
+ scope?: ("shallow" | "deep");
13051
+ pattern: string;
13052
+ flags?: string;
13053
+ } | string)[] | ({
13054
+ scope?: ("shallow" | "deep");
13055
+ pattern: string;
13056
+ flags?: string;
13057
+ } | string));
12290
13058
  callingFunctionNamePattern?: (({
13059
+ scope?: ("shallow" | "deep");
13060
+ pattern: string;
13061
+ flags?: string;
13062
+ } | string)[] | ({
13063
+ scope?: ("shallow" | "deep");
13064
+ pattern: string;
13065
+ flags?: string;
13066
+ } | string));
13067
+ declarationMatchesPattern?: (({
13068
+ scope?: ("shallow" | "deep");
12291
13069
  pattern: string;
12292
13070
  flags?: string;
12293
13071
  } | string)[] | ({
13072
+ scope?: ("shallow" | "deep");
12294
13073
  pattern: string;
12295
13074
  flags?: string;
12296
13075
  } | string));
12297
13076
  };
12298
- destructureOnly?: boolean;
12299
- objectDeclarations?: boolean;
12300
13077
  styledComponents?: boolean;
12301
13078
  partitionByComment?: (boolean | (({
12302
13079
  pattern: string;
@@ -12321,43 +13098,38 @@ type PerfectionistSortObjects = {
12321
13098
  } | string)));
12322
13099
  });
12323
13100
  partitionByNewLine?: boolean;
12324
- newlinesBetween?: (("ignore" | "always" | "never") | number);
12325
- ignorePattern?: (({
12326
- pattern: string;
12327
- flags?: string;
12328
- } | string)[] | ({
12329
- pattern: string;
12330
- flags?: string;
12331
- } | string));
12332
- groups?: (string | string[] | {
12333
- newlinesBetween?: (("ignore" | "always" | "never") | number);
12334
- commentAbove?: string;
12335
- })[];
12336
13101
  }[];
12337
13102
  // ----- perfectionist/sort-sets -----
12338
13103
  type PerfectionistSortSets = {
12339
13104
  fallbackSort?: {
13105
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12340
13106
  order?: ("asc" | "desc");
12341
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12342
13107
  };
13108
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12343
13109
  specialCharacters?: ("remove" | "trim" | "keep");
12344
13110
  ignoreCase?: boolean;
12345
13111
  alphabet?: string;
12346
13112
  locales?: (string | string[]);
12347
13113
  order?: ("asc" | "desc");
12348
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12349
- groupKind?: ("mixed" | "literals-first" | "spreads-first");
12350
13114
  customGroups?: ({
12351
- newlinesInside?: (("always" | "never") | number);
12352
13115
  fallbackSort?: {
13116
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12353
13117
  order?: ("asc" | "desc");
12354
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12355
13118
  };
13119
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12356
13120
  groupName: string;
13121
+ newlinesInside?: ("ignore" | number);
12357
13122
  order?: ("asc" | "desc");
12358
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12359
- anyOf?: {
13123
+ anyOf: [{
13124
+ elementNamePattern?: (({
13125
+ pattern: string;
13126
+ flags?: string;
13127
+ } | string)[] | ({
13128
+ pattern: string;
13129
+ flags?: string;
13130
+ } | string));
12360
13131
  selector?: ("literal" | "spread");
13132
+ }, ...({
12361
13133
  elementNamePattern?: (({
12362
13134
  pattern: string;
12363
13135
  flags?: string;
@@ -12365,17 +13137,17 @@ type PerfectionistSortSets = {
12365
13137
  pattern: string;
12366
13138
  flags?: string;
12367
13139
  } | string));
12368
- }[];
13140
+ selector?: ("literal" | "spread");
13141
+ })[]];
12369
13142
  } | {
12370
- newlinesInside?: (("always" | "never") | number);
12371
13143
  fallbackSort?: {
13144
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12372
13145
  order?: ("asc" | "desc");
12373
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12374
13146
  };
13147
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12375
13148
  groupName: string;
13149
+ newlinesInside?: ("ignore" | number);
12376
13150
  order?: ("asc" | "desc");
12377
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12378
- selector?: ("literal" | "spread");
12379
13151
  elementNamePattern?: (({
12380
13152
  pattern: string;
12381
13153
  flags?: string;
@@ -12383,7 +13155,23 @@ type PerfectionistSortSets = {
12383
13155
  pattern: string;
12384
13156
  flags?: string;
12385
13157
  } | string));
13158
+ selector?: ("literal" | "spread");
12386
13159
  })[];
13160
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
13161
+ groups?: (string | [string, ...(string)[]] | {
13162
+ newlinesBetween: ("ignore" | number);
13163
+ } | {
13164
+ group: (string | [string, ...(string)[]]);
13165
+ fallbackSort?: {
13166
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
13167
+ order?: ("asc" | "desc");
13168
+ };
13169
+ commentAbove?: string;
13170
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
13171
+ newlinesInside?: ("ignore" | number);
13172
+ order?: ("asc" | "desc");
13173
+ })[];
13174
+ newlinesBetween?: ("ignore" | number);
12387
13175
  useConfigurationIf?: {
12388
13176
  allNamesMatchPattern?: (({
12389
13177
  pattern: string;
@@ -12416,48 +13204,51 @@ type PerfectionistSortSets = {
12416
13204
  } | string)));
12417
13205
  });
12418
13206
  partitionByNewLine?: boolean;
12419
- newlinesBetween?: (("ignore" | "always" | "never") | number);
12420
- groups?: (string | string[] | {
12421
- newlinesBetween?: (("ignore" | "always" | "never") | number);
12422
- commentAbove?: string;
12423
- })[];
12424
13207
  }[];
12425
13208
  // ----- perfectionist/sort-switch-case -----
12426
13209
  type PerfectionistSortSwitchCase = [] | [{
12427
13210
  fallbackSort?: {
13211
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12428
13212
  order?: ("asc" | "desc");
12429
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12430
13213
  };
13214
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12431
13215
  specialCharacters?: ("remove" | "trim" | "keep");
12432
13216
  ignoreCase?: boolean;
12433
13217
  alphabet?: string;
12434
13218
  locales?: (string | string[]);
12435
13219
  order?: ("asc" | "desc");
12436
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12437
13220
  }];
12438
13221
  // ----- perfectionist/sort-union-types -----
12439
13222
  type PerfectionistSortUnionTypes = {
12440
13223
  fallbackSort?: {
13224
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12441
13225
  order?: ("asc" | "desc");
12442
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12443
13226
  };
13227
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12444
13228
  specialCharacters?: ("remove" | "trim" | "keep");
12445
13229
  ignoreCase?: boolean;
12446
13230
  alphabet?: string;
12447
13231
  locales?: (string | string[]);
12448
13232
  order?: ("asc" | "desc");
12449
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12450
13233
  customGroups?: ({
12451
- newlinesInside?: (("always" | "never") | number);
12452
13234
  fallbackSort?: {
13235
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12453
13236
  order?: ("asc" | "desc");
12454
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12455
13237
  };
13238
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12456
13239
  groupName: string;
13240
+ newlinesInside?: ("ignore" | number);
12457
13241
  order?: ("asc" | "desc");
12458
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12459
- anyOf?: {
13242
+ anyOf: [{
13243
+ elementNamePattern?: (({
13244
+ pattern: string;
13245
+ flags?: string;
13246
+ } | string)[] | ({
13247
+ pattern: string;
13248
+ flags?: string;
13249
+ } | string));
12460
13250
  selector?: ("intersection" | "conditional" | "function" | "operator" | "keyword" | "literal" | "nullish" | "import" | "object" | "named" | "tuple" | "union");
13251
+ }, ...({
12461
13252
  elementNamePattern?: (({
12462
13253
  pattern: string;
12463
13254
  flags?: string;
@@ -12465,17 +13256,17 @@ type PerfectionistSortUnionTypes = {
12465
13256
  pattern: string;
12466
13257
  flags?: string;
12467
13258
  } | string));
12468
- }[];
13259
+ selector?: ("intersection" | "conditional" | "function" | "operator" | "keyword" | "literal" | "nullish" | "import" | "object" | "named" | "tuple" | "union");
13260
+ })[]];
12469
13261
  } | {
12470
- newlinesInside?: (("always" | "never") | number);
12471
13262
  fallbackSort?: {
13263
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12472
13264
  order?: ("asc" | "desc");
12473
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12474
13265
  };
13266
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12475
13267
  groupName: string;
13268
+ newlinesInside?: ("ignore" | number);
12476
13269
  order?: ("asc" | "desc");
12477
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12478
- selector?: ("intersection" | "conditional" | "function" | "operator" | "keyword" | "literal" | "nullish" | "import" | "object" | "named" | "tuple" | "union");
12479
13270
  elementNamePattern?: (({
12480
13271
  pattern: string;
12481
13272
  flags?: string;
@@ -12483,7 +13274,23 @@ type PerfectionistSortUnionTypes = {
12483
13274
  pattern: string;
12484
13275
  flags?: string;
12485
13276
  } | string));
13277
+ selector?: ("intersection" | "conditional" | "function" | "operator" | "keyword" | "literal" | "nullish" | "import" | "object" | "named" | "tuple" | "union");
13278
+ })[];
13279
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
13280
+ groups?: (string | [string, ...(string)[]] | {
13281
+ newlinesBetween: ("ignore" | number);
13282
+ } | {
13283
+ group: (string | [string, ...(string)[]]);
13284
+ fallbackSort?: {
13285
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
13286
+ order?: ("asc" | "desc");
13287
+ };
13288
+ commentAbove?: string;
13289
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
13290
+ newlinesInside?: ("ignore" | number);
13291
+ order?: ("asc" | "desc");
12486
13292
  })[];
13293
+ newlinesBetween?: ("ignore" | number);
12487
13294
  partitionByComment?: (boolean | (({
12488
13295
  pattern: string;
12489
13296
  flags?: string;
@@ -12507,35 +13314,38 @@ type PerfectionistSortUnionTypes = {
12507
13314
  } | string)));
12508
13315
  });
12509
13316
  partitionByNewLine?: boolean;
12510
- newlinesBetween?: (("ignore" | "always" | "never") | number);
12511
- groups?: (string | string[] | {
12512
- newlinesBetween?: (("ignore" | "always" | "never") | number);
12513
- commentAbove?: string;
12514
- })[];
12515
13317
  }[];
12516
13318
  // ----- perfectionist/sort-variable-declarations -----
12517
13319
  type PerfectionistSortVariableDeclarations = [] | [{
12518
13320
  fallbackSort?: {
13321
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12519
13322
  order?: ("asc" | "desc");
12520
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12521
13323
  };
13324
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12522
13325
  specialCharacters?: ("remove" | "trim" | "keep");
12523
13326
  ignoreCase?: boolean;
12524
13327
  alphabet?: string;
12525
13328
  locales?: (string | string[]);
12526
13329
  order?: ("asc" | "desc");
12527
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12528
13330
  customGroups?: ({
12529
- newlinesInside?: (("always" | "never") | number);
12530
13331
  fallbackSort?: {
13332
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12531
13333
  order?: ("asc" | "desc");
12532
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12533
13334
  };
13335
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12534
13336
  groupName: string;
13337
+ newlinesInside?: ("ignore" | number);
12535
13338
  order?: ("asc" | "desc");
12536
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12537
- anyOf?: {
13339
+ anyOf: [{
13340
+ elementNamePattern?: (({
13341
+ pattern: string;
13342
+ flags?: string;
13343
+ } | string)[] | ({
13344
+ pattern: string;
13345
+ flags?: string;
13346
+ } | string));
12538
13347
  selector?: ("initialized" | "uninitialized");
13348
+ }, ...({
12539
13349
  elementNamePattern?: (({
12540
13350
  pattern: string;
12541
13351
  flags?: string;
@@ -12543,17 +13353,17 @@ type PerfectionistSortVariableDeclarations = [] | [{
12543
13353
  pattern: string;
12544
13354
  flags?: string;
12545
13355
  } | string));
12546
- }[];
13356
+ selector?: ("initialized" | "uninitialized");
13357
+ })[]];
12547
13358
  } | {
12548
- newlinesInside?: (("always" | "never") | number);
12549
13359
  fallbackSort?: {
13360
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12550
13361
  order?: ("asc" | "desc");
12551
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12552
13362
  };
13363
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12553
13364
  groupName: string;
13365
+ newlinesInside?: ("ignore" | number);
12554
13366
  order?: ("asc" | "desc");
12555
- type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted");
12556
- selector?: ("initialized" | "uninitialized");
12557
13367
  elementNamePattern?: (({
12558
13368
  pattern: string;
12559
13369
  flags?: string;
@@ -12561,7 +13371,23 @@ type PerfectionistSortVariableDeclarations = [] | [{
12561
13371
  pattern: string;
12562
13372
  flags?: string;
12563
13373
  } | string));
13374
+ selector?: ("initialized" | "uninitialized");
13375
+ })[];
13376
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
13377
+ groups?: (string | [string, ...(string)[]] | {
13378
+ newlinesBetween: ("ignore" | number);
13379
+ } | {
13380
+ group: (string | [string, ...(string)[]]);
13381
+ fallbackSort?: {
13382
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
13383
+ order?: ("asc" | "desc");
13384
+ };
13385
+ commentAbove?: string;
13386
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
13387
+ newlinesInside?: ("ignore" | number);
13388
+ order?: ("asc" | "desc");
12564
13389
  })[];
13390
+ newlinesBetween?: ("ignore" | number);
12565
13391
  partitionByComment?: (boolean | (({
12566
13392
  pattern: string;
12567
13393
  flags?: string;
@@ -12585,11 +13411,6 @@ type PerfectionistSortVariableDeclarations = [] | [{
12585
13411
  } | string)));
12586
13412
  });
12587
13413
  partitionByNewLine?: boolean;
12588
- newlinesBetween?: (("ignore" | "always" | "never") | number);
12589
- groups?: (string | string[] | {
12590
- newlinesBetween?: (("ignore" | "always" | "never") | number);
12591
- commentAbove?: string;
12592
- })[];
12593
13414
  }];
12594
13415
  // ----- pnpm/json-enforce-catalog -----
12595
13416
  type PnpmJsonEnforceCatalog = [] | [{
@@ -12613,6 +13434,15 @@ type PnpmJsonValidCatalog = [] | [{
12613
13434
  enforceNoConflict?: boolean;
12614
13435
  fields?: unknown[];
12615
13436
  }];
13437
+ // ----- pnpm/yaml-enforce-settings -----
13438
+ type PnpmYamlEnforceSettings = [] | [{
13439
+ autofix?: boolean;
13440
+ settings?: {
13441
+ [k: string]: unknown | undefined;
13442
+ };
13443
+ requiredFields?: string[];
13444
+ forbiddenFields?: string[];
13445
+ }];
12616
13446
  // ----- pnpm/yaml-no-duplicate-catalog-item -----
12617
13447
  type PnpmYamlNoDuplicateCatalogItem = [] | [{
12618
13448
  allow?: string[];
@@ -12827,6 +13657,11 @@ type ReactNamingConventionFilenameExtension = [] | [(("always" | "as-needed") |
12827
13657
  extensions?: string[];
12828
13658
  ignoreFilesWithoutCode?: boolean;
12829
13659
  })];
13660
+ // ----- react-naming-convention/use-state -----
13661
+ type ReactNamingConventionUseState = [] | [{
13662
+ enforceAssignment?: boolean;
13663
+ enforceSetterName?: boolean;
13664
+ }];
12830
13665
  // ----- react-refresh/only-export-components -----
12831
13666
  type ReactRefreshOnlyExportComponents = [] | [{
12832
13667
  allowExportNames?: string[];
@@ -12848,8 +13683,13 @@ type ReactNoForbiddenProps = [] | [{
12848
13683
  prop: string;
12849
13684
  })[];
12850
13685
  }];
13686
+ // ----- react/no-unstable-default-props -----
13687
+ type ReactNoUnstableDefaultProps = [] | [{
13688
+ safeDefaultProps?: string[];
13689
+ }];
12851
13690
  // ----- react/no-useless-fragment -----
12852
13691
  type ReactNoUselessFragment = [] | [{
13692
+ allowEmptyFragment?: boolean;
12853
13693
  allowExpressions?: boolean;
12854
13694
  }];
12855
13695
  // ----- regexp/hexadecimal-escape -----
@@ -14283,7 +15123,7 @@ type StyleTypeAnnotationSpacing = [] | [{
14283
15123
  after?: boolean;
14284
15124
  overrides?: {
14285
15125
  colon?: _StyleTypeAnnotationSpacing_SpacingConfig;
14286
- arrow?: _StyleTypeAnnotationSpacing_SpacingConfig;
15126
+ arrow?: ("ignore" | _StyleTypeAnnotationSpacing_SpacingConfig);
14287
15127
  variable?: _StyleTypeAnnotationSpacing_SpacingConfig;
14288
15128
  parameter?: _StyleTypeAnnotationSpacing_SpacingConfig;
14289
15129
  property?: _StyleTypeAnnotationSpacing_SpacingConfig;
@@ -14308,94 +15148,17 @@ type SwitchColonSpacing = [] | [{
14308
15148
  before?: boolean;
14309
15149
  after?: boolean;
14310
15150
  }];
14311
- // ----- tailwindcss/classnames-order -----
14312
- type TailwindcssClassnamesOrder = [] | [{
14313
- callees?: string[];
14314
- ignoredKeys?: string[];
14315
- config?: (string | {
14316
- [k: string]: unknown | undefined;
14317
- });
14318
- removeDuplicates?: boolean;
14319
- tags?: string[];
14320
- [k: string]: unknown | undefined;
14321
- }];
14322
- // ----- tailwindcss/enforces-negative-arbitrary-values -----
14323
- type TailwindcssEnforcesNegativeArbitraryValues = [] | [{
14324
- callees?: string[];
14325
- ignoredKeys?: string[];
14326
- config?: (string | {
14327
- [k: string]: unknown | undefined;
14328
- });
14329
- tags?: string[];
14330
- [k: string]: unknown | undefined;
14331
- }];
14332
- // ----- tailwindcss/enforces-shorthand -----
14333
- type TailwindcssEnforcesShorthand = [] | [{
14334
- callees?: string[];
14335
- ignoredKeys?: string[];
14336
- config?: (string | {
14337
- [k: string]: unknown | undefined;
14338
- });
14339
- tags?: string[];
14340
- [k: string]: unknown | undefined;
14341
- }];
14342
- // ----- tailwindcss/migration-from-tailwind-2 -----
14343
- type TailwindcssMigrationFromTailwind2 = [] | [{
14344
- callees?: string[];
14345
- ignoredKeys?: string[];
14346
- config?: (string | {
14347
- [k: string]: unknown | undefined;
14348
- });
14349
- tags?: string[];
14350
- [k: string]: unknown | undefined;
14351
- }];
14352
- // ----- tailwindcss/no-arbitrary-value -----
14353
- type TailwindcssNoArbitraryValue = [] | [{
14354
- callees?: string[];
14355
- ignoredKeys?: string[];
14356
- config?: (string | {
14357
- [k: string]: unknown | undefined;
14358
- });
14359
- tags?: string[];
14360
- [k: string]: unknown | undefined;
14361
- }];
14362
- // ----- tailwindcss/no-contradicting-classname -----
14363
- type TailwindcssNoContradictingClassname = [] | [{
14364
- callees?: string[];
14365
- ignoredKeys?: string[];
14366
- config?: (string | {
14367
- [k: string]: unknown | undefined;
14368
- });
14369
- tags?: string[];
14370
- [k: string]: unknown | undefined;
14371
- }];
14372
- // ----- tailwindcss/no-custom-classname -----
14373
- type TailwindcssNoCustomClassname = [] | [{
14374
- callees?: string[];
14375
- ignoredKeys?: string[];
14376
- config?: (string | {
14377
- [k: string]: unknown | undefined;
14378
- });
14379
- cssFiles?: string[];
14380
- cssFilesRefreshRate?: number;
14381
- tags?: string[];
14382
- whitelist?: string[];
14383
- [k: string]: unknown | undefined;
14384
- }];
14385
- // ----- tailwindcss/no-unnecessary-arbitrary-value -----
14386
- type TailwindcssNoUnnecessaryArbitraryValue = [] | [{
14387
- callees?: string[];
14388
- ignoredKeys?: string[];
14389
- config?: (string | {
14390
- [k: string]: unknown | undefined;
14391
- });
14392
- tags?: string[];
14393
- [k: string]: unknown | undefined;
14394
- }];
14395
15151
  // ----- template-curly-spacing -----
14396
15152
  type TemplateCurlySpacing = [] | [("always" | "never")];
14397
15153
  // ----- template-tag-spacing -----
14398
15154
  type TemplateTagSpacing = [] | [("always" | "never")];
15155
+ // ----- test/consistent-each-for -----
15156
+ type TestConsistentEachFor = [] | [{
15157
+ test?: ("each" | "for");
15158
+ it?: ("each" | "for");
15159
+ describe?: ("each" | "for");
15160
+ suite?: ("each" | "for");
15161
+ }];
14399
15162
  // ----- test/consistent-test-filename -----
14400
15163
  type TestConsistentTestFilename = [] | [{
14401
15164
  pattern?: string;
@@ -14423,13 +15186,17 @@ type TestMaxExpects = [] | [{
14423
15186
  type TestMaxNestedDescribe = [] | [{
14424
15187
  max?: number;
14425
15188
  }];
15189
+ // ----- test/no-conditional-expect -----
15190
+ type TestNoConditionalExpect = [] | [{
15191
+ expectAssertions?: boolean;
15192
+ }];
14426
15193
  // ----- test/no-focused-tests -----
14427
15194
  type TestNoFocusedTests = [] | [{
14428
15195
  fixable?: boolean;
14429
15196
  }];
14430
15197
  // ----- test/no-hooks -----
14431
15198
  type TestNoHooks = [] | [{
14432
- allow?: unknown[];
15199
+ allow?: ("beforeAll" | "beforeEach" | "afterAll" | "afterEach")[];
14433
15200
  }];
14434
15201
  // ----- test/no-large-snapshots -----
14435
15202
  type TestNoLargeSnapshots = [] | [{
@@ -14457,6 +15224,10 @@ type TestPreferExpectAssertions = [] | [{
14457
15224
  onlyFunctionsWithExpectInLoop?: boolean;
14458
15225
  onlyFunctionsWithExpectInCallback?: boolean;
14459
15226
  }];
15227
+ // ----- test/prefer-import-in-mock -----
15228
+ type TestPreferImportInMock = [] | [{
15229
+ fixable?: boolean;
15230
+ }];
14460
15231
  // ----- test/prefer-lowercase-title -----
14461
15232
  type TestPreferLowercaseTitle = [] | [{
14462
15233
  ignore?: ("describe" | "test" | "it")[];
@@ -15334,6 +16105,9 @@ type TsNoUnusedVars = [] | [(("all" | "local") | {
15334
16105
  caughtErrors?: ("all" | "none");
15335
16106
  caughtErrorsIgnorePattern?: string;
15336
16107
  destructuredArrayIgnorePattern?: string;
16108
+ enableAutofixRemoval?: {
16109
+ imports?: boolean;
16110
+ };
15337
16111
  ignoreClassWithStaticInitBlock?: boolean;
15338
16112
  ignoreRestSiblings?: boolean;
15339
16113
  ignoreUsingDeclarations?: boolean;
@@ -15534,6 +16308,10 @@ type TsStrictBooleanExpressions = [] | [{
15534
16308
  allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean;
15535
16309
  allowString?: boolean;
15536
16310
  }];
16311
+ // ----- ts/strict-void-return -----
16312
+ type TsStrictVoidReturn = [] | [{
16313
+ allowReturnAny?: boolean;
16314
+ }];
15537
16315
  // ----- ts/switch-exhaustiveness-check -----
15538
16316
  type TsSwitchExhaustivenessCheck = [] | [{
15539
16317
  allowDefaultCaseForExhaustiveSwitch?: boolean;
@@ -15808,6 +16586,9 @@ type UnusedImportsNoUnusedImports = [] | [(("all" | "local") | {
15808
16586
  caughtErrors?: ("all" | "none");
15809
16587
  caughtErrorsIgnorePattern?: string;
15810
16588
  destructuredArrayIgnorePattern?: string;
16589
+ enableAutofixRemoval?: {
16590
+ imports?: boolean;
16591
+ };
15811
16592
  ignoreClassWithStaticInitBlock?: boolean;
15812
16593
  ignoreRestSiblings?: boolean;
15813
16594
  ignoreUsingDeclarations?: boolean;
@@ -15822,6 +16603,9 @@ type UnusedImportsNoUnusedVars = [] | [(("all" | "local") | {
15822
16603
  caughtErrors?: ("all" | "none");
15823
16604
  caughtErrorsIgnorePattern?: string;
15824
16605
  destructuredArrayIgnorePattern?: string;
16606
+ enableAutofixRemoval?: {
16607
+ imports?: boolean;
16608
+ };
15825
16609
  ignoreClassWithStaticInitBlock?: boolean;
15826
16610
  ignoreRestSiblings?: boolean;
15827
16611
  ignoreUsingDeclarations?: boolean;
@@ -16616,6 +17400,7 @@ type VueNoLoneTemplate = [] | [{
16616
17400
  // ----- vue/no-multi-spaces -----
16617
17401
  type VueNoMultiSpaces = [] | [{
16618
17402
  ignoreProperties?: boolean;
17403
+ ignoreEOLComments?: boolean;
16619
17404
  }];
16620
17405
  // ----- vue/no-multiple-template-root -----
16621
17406
  type VueNoMultipleTemplateRoot = [] | [{
@@ -16773,6 +17558,10 @@ type VueNoTemplateTargetBlank = [] | [{
16773
17558
  type VueNoUndefComponents = [] | [{
16774
17559
  ignorePatterns?: unknown[];
16775
17560
  }];
17561
+ // ----- vue/no-undef-directives -----
17562
+ type VueNoUndefDirectives = [] | [{
17563
+ ignore?: string[];
17564
+ }];
16776
17565
  // ----- vue/no-undef-properties -----
16777
17566
  type VueNoUndefProperties = [] | [{
16778
17567
  ignores?: string[];
@@ -17247,7 +18036,7 @@ type Yoda = [] | [("always" | "never")] | [("always" | "never"), {
17247
18036
  onlyEquality?: boolean;
17248
18037
  }];
17249
18038
  // Names of all the configs
17250
- type ConfigNames = 'luxass/astro/setup' | 'luxass/astro/rules' | 'command' | 'luxass/eslint-comments' | 'luxass/disables/scripts' | 'luxass/disables/cli' | 'luxass/disables/bin' | 'luxass/disables/dts' | 'luxass/disables/cjs' | 'luxass/disables/github-actions' | 'luxass/disables/config-files' | 'luxass/formatter/setup' | 'luxass/ignores' | 'luxass/imports' | 'luxass/javascript/setup' | 'luxass/javascript/rules' | 'luxass/disables/cli' | 'luxass/jsdoc/rules' | 'luxass/jsonc/setup' | 'luxass/jsonc/rules' | 'luxass/jsx/setup' | 'luxass/markdown/setup' | 'luxass/markdown/processor' | 'luxass/markdown/parser' | 'luxass/markdown/disables' | 'luxass/node' | 'luxass/perfectionist/setup' | 'luxass/pnpm/package-json' | 'luxass/pnpm/pnpm-workspace-yaml' | 'luxass/react/setup' | 'luxass/react/rules' | 'luxass/regexp/rules' | 'luxass/sort/package-json' | 'luxass/sort/tsconfig' | 'luxass/stylistic' | 'luxass/tailwindcss' | 'luxass/test/setup' | 'luxass/test/rules' | 'luxass/toml/setup' | 'luxass/toml/rules' | 'luxass/typescript/setup' | 'luxass/typescript/parser' | 'luxass/typescript/rules' | 'luxass/unicorn/rules' | 'luxass/unocss' | 'luxass/vue/setup' | 'luxass/vue/rules' | 'luxass/yaml/setup' | 'luxass/yaml/rules' | 'luxass/yaml/pnpm-workspace';
18039
+ type ConfigNames = 'luxass/gitignore' | 'luxass/ignores' | 'luxass/javascript/setup' | 'luxass/javascript/rules' | 'luxass/disables/cli' | 'luxass/eslint-comments' | 'command' | 'luxass/perfectionist/setup' | 'luxass/node' | 'luxass/jsdoc/rules' | 'luxass/imports' | 'luxass/unicorn/rules' | 'luxass/jsx/setup' | 'luxass/typescript/setup' | 'luxass/typescript/type-aware-parser' | 'luxass/typescript/parser' | 'luxass/typescript/rules' | 'luxass/typescript/rules-type-aware' | 'luxas/typescript/erasable-syntax-only' | 'luxass/stylistic' | 'luxass/regexp/rules' | 'luxass/test/setup' | 'luxass/test/rules' | 'luxass/react/setup' | 'luxass/react/rules' | 'luxass/react/type-aware-rules' | 'luxass/vue/setup' | 'luxass/vue/rules' | 'luxass/astro/setup' | 'luxass/astro/rules' | 'luxass/unocss' | 'luxass/jsonc/setup' | 'luxass/jsonc/rules' | 'luxass/sort/package-json' | 'luxass/sort/tsconfig' | 'luxass/pnpm/package-json' | 'luxass/pnpm/pnpm-workspace-yaml' | 'luxass/pnpm/pnpm-workspace-yaml-sort' | 'luxass/yaml/setup' | 'luxass/yaml/rules' | 'luxass/yaml/pnpm-workspace' | 'luxass/toml/setup' | 'luxass/toml/rules' | 'luxass/markdown/setup' | 'luxass/markdown/processor' | 'luxass/markdown/parser' | 'luxass/markdown/disables' | 'luxass/formatter/setup' | 'luxass/formatter/css' | 'luxass/formatter/scss' | 'luxass/formatter/less' | 'luxass/formatter/html' | 'luxass/formatter/markdown' | 'luxass/formatter/graphql' | 'luxass/disables/scripts' | 'luxass/disables/cli' | 'luxass/disables/bin' | 'luxass/disables/dts' | 'luxass/disables/cjs' | 'luxass/disables/github-actions' | 'luxass/disables/config-files';
17251
18040
  //#endregion
17252
18041
  //#region src/types.d.ts
17253
18042
  type Awaitable<T> = T | Promise<T>;
@@ -17307,6 +18096,12 @@ interface ConfigOptions {
17307
18096
  * NOTE: Can't be disabled.
17308
18097
  */
17309
18098
  javascript?: JavaScriptOptions;
18099
+ /**
18100
+ * Enable Node.js rules
18101
+ *
18102
+ * @default true
18103
+ */
18104
+ node?: boolean;
17310
18105
  /**
17311
18106
  * Enable JSONC support.
17312
18107
  *
@@ -17449,7 +18244,13 @@ interface ConfigOptions {
17449
18244
  * @experimental
17450
18245
  * @default false
17451
18246
  */
17452
- pnpm?: boolean;
18247
+ pnpm?: boolean | PnpmOptions;
18248
+ /**
18249
+ * Enable JSDoc rules
18250
+ *
18251
+ * @default true
18252
+ */
18253
+ jsdoc?: boolean;
17453
18254
  }
17454
18255
  //#endregion
17455
18256
  //#region src/factory.d.ts
@@ -17660,4 +18461,4 @@ declare function isPackageInScope(name: string): boolean;
17660
18461
  declare function isInEditorEnv(): boolean;
17661
18462
  declare function isInGitHooksOrLintStaged(): boolean;
17662
18463
  //#endregion
17663
- export { type AstroOptions, Awaitable, type ConfigNames, ConfigOptions, type FormattersOptions, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_NEXTJS_OG, GLOB_NEXTJS_ROUTES, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, type ImportsOptions, type JSDOCOptions, type JSONOptions, type JavaScriptOptions, type MarkdownOptions, ProjectType, type ReactOptions, type RegExpOptions, ResolvedOptions, Rules, type StylisticConfig, type StylisticOptions, type TOMLOptions, type TailwindCSSOptions, type TestOptions, type TypeScriptOptions, TypedFlatConfigItem, type UnicornOptions, type UnoCSSOptions, UserConfigItem, type VueOptions, type YAMLOptions, astro, combine, command, comments, luxass as default, luxass, disables, ensure, formatters, getOverrides, ignores, imports, interop, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, node, parserPlain, perfectionist, pnpm, react, regexp, renamePluginInConfigs, renameRules, resolveSubOptions, sortPackageJson, sortTsconfig, stylistic, tailwindcss, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
18464
+ export { type AstroOptions, Awaitable, type ConfigNames, ConfigOptions, type FormattersOptions, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_NEXTJS_OG, GLOB_NEXTJS_ROUTES, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, type ImportsOptions, type JSDOCOptions, type JSONOptions, type JavaScriptOptions, type MarkdownOptions, type PnpmOptions, ProjectType, type ReactOptions, type RegExpOptions, ResolvedOptions, Rules, type StylisticConfig, type StylisticOptions, type TOMLOptions, type TailwindCSSOptions, type TestOptions, type TypeScriptOptions, TypedFlatConfigItem, type UnicornOptions, type UnoCSSOptions, UserConfigItem, type VueOptions, type YAMLOptions, astro, combine, command, comments, luxass as default, luxass, disables, ensure, formatters, getOverrides, ignores, imports, interop, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, node, parserPlain, perfectionist, pnpm, react, regexp, renamePluginInConfigs, renameRules, resolveSubOptions, sortPackageJson, sortTsconfig, stylistic, tailwindcss, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };