@ntnyq/eslint-config 6.1.5 → 7.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/README.md +159 -213
  2. package/dist/index.d.mts +1385 -276
  3. package/dist/index.mjs +145 -58
  4. package/package.json +52 -49
package/dist/index.d.mts CHANGED
@@ -515,6 +515,10 @@ declare const configImportX: (options?: ConfigImportXOptions) => TypedConfigItem
515
515
  * Built-in presets of `eslint-plugin-unicorn`
516
516
  */
517
517
  declare const PLUGIN_UNICORN_PRESET: readonly ['all', 'recommended', 'unopinionated'];
518
+ /**
519
+ * Type of built-in presets of `eslint-plugin-unicorn`
520
+ */
521
+ type UnicornPreset = (typeof PLUGIN_UNICORN_PRESET)[number];
518
522
  /**
519
523
  * Options type of {@link configUnicorn}
520
524
  */
@@ -522,7 +526,7 @@ type ConfigUnicornOptions = OptionsOverrides & {
522
526
  /**
523
527
  * Use a built-in preset
524
528
  */
525
- preset?: (typeof PLUGIN_UNICORN_PRESET)[number];
529
+ preset?: UnicornPreset;
526
530
  };
527
531
  /**
528
532
  * Config for powerful rules
@@ -2609,6 +2613,11 @@ interface RuleOptions {
2609
2613
  * @see https://github.com/eslint-community/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/require-test-case-name.md
2610
2614
  */
2611
2615
  'eslint-plugin/require-test-case-name'?: Linter.RuleEntry<EslintPluginRequireTestCaseName>;
2616
+ /**
2617
+ * requires the position of errors to be explicitly stated for all expected errors
2618
+ * @see https://github.com/eslint-community/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/require-test-error-positions.md
2619
+ */
2620
+ 'eslint-plugin/require-test-error-positions'?: Linter.RuleEntry<[]>;
2612
2621
  /**
2613
2622
  * require the properties of a test case to be placed in a consistent order
2614
2623
  * @see https://github.com/eslint-community/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/test-case-property-ordering.md
@@ -2708,6 +2717,16 @@ interface RuleOptions {
2708
2717
  * @see https://eslint-plugin-github-action.ntnyq.com/rules/no-top-level-permissions.html
2709
2718
  */
2710
2719
  'github-action/no-top-level-permissions'?: Linter.RuleEntry<[]>;
2720
+ /**
2721
+ * disallow unpinned uses references.
2722
+ * @see https://eslint-plugin-github-action.ntnyq.com/rules/no-unpinned-uses.html
2723
+ */
2724
+ 'github-action/no-unpinned-uses'?: Linter.RuleEntry<[]>;
2725
+ /**
2726
+ * enforce setting concurrency cancel-in-progress to true.
2727
+ * @see https://eslint-plugin-github-action.ntnyq.com/rules/prefer-cancel-in-progress.html
2728
+ */
2729
+ 'github-action/prefer-cancel-in-progress'?: Linter.RuleEntry<[]>;
2711
2730
  /**
2712
2731
  * enforce workflow file extension.
2713
2732
  * @see https://eslint-plugin-github-action.ntnyq.com/rules/prefer-file-extension.html
@@ -2728,6 +2747,11 @@ interface RuleOptions {
2728
2747
  * @see https://eslint-plugin-github-action.ntnyq.com/rules/require-action-run-name.html
2729
2748
  */
2730
2749
  'github-action/require-action-run-name'?: Linter.RuleEntry<[]>;
2750
+ /**
2751
+ * require a workflow-level concurrency group.
2752
+ * @see https://eslint-plugin-github-action.ntnyq.com/rules/require-concurrency-group.html
2753
+ */
2754
+ 'github-action/require-concurrency-group'?: Linter.RuleEntry<[]>;
2731
2755
  /**
2732
2756
  * require a string job name.
2733
2757
  * @see https://eslint-plugin-github-action.ntnyq.com/rules/require-job-name.html
@@ -2799,238 +2823,238 @@ interface RuleOptions {
2799
2823
  'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>;
2800
2824
  /**
2801
2825
  * Enforce or ban the use of inline type-only markers for named imports.
2802
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/consistent-type-specifier-style.md
2826
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/consistent-type-specifier-style.md
2803
2827
  */
2804
2828
  'import-x/consistent-type-specifier-style'?: Linter.RuleEntry<ImportXConsistentTypeSpecifierStyle>;
2805
2829
  /**
2806
2830
  * Ensure a default export is present, given a default import.
2807
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/default.md
2831
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/default.md
2808
2832
  */
2809
2833
  'import-x/default'?: Linter.RuleEntry<[]>;
2810
2834
  /**
2811
2835
  * Enforce a leading comment with the webpackChunkName for dynamic imports.
2812
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/dynamic-import-chunkname.md
2836
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/dynamic-import-chunkname.md
2813
2837
  */
2814
2838
  'import-x/dynamic-import-chunkname'?: Linter.RuleEntry<ImportXDynamicImportChunkname>;
2815
2839
  /**
2816
2840
  * Forbid any invalid exports, i.e. re-export of the same name.
2817
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/export.md
2841
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/export.md
2818
2842
  */
2819
2843
  'import-x/export'?: Linter.RuleEntry<[]>;
2820
2844
  /**
2821
2845
  * Ensure all exports appear after other statements.
2822
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/exports-last.md
2846
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/exports-last.md
2823
2847
  */
2824
2848
  'import-x/exports-last'?: Linter.RuleEntry<[]>;
2825
2849
  /**
2826
2850
  * Ensure consistent use of file extension within the import path.
2827
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/extensions.md
2851
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/extensions.md
2828
2852
  */
2829
2853
  'import-x/extensions'?: Linter.RuleEntry<ImportXExtensions>;
2830
2854
  /**
2831
2855
  * Ensure all imports appear before other statements.
2832
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/first.md
2856
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/first.md
2833
2857
  */
2834
2858
  'import-x/first'?: Linter.RuleEntry<ImportXFirst>;
2835
2859
  /**
2836
2860
  * Prefer named exports to be grouped together in a single export declaration.
2837
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/group-exports.md
2861
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/group-exports.md
2838
2862
  */
2839
2863
  'import-x/group-exports'?: Linter.RuleEntry<[]>;
2840
2864
  /**
2841
2865
  * Replaced by `import-x/first`.
2842
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/imports-first.md
2866
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/imports-first.md
2843
2867
  * @deprecated
2844
2868
  */
2845
2869
  'import-x/imports-first'?: Linter.RuleEntry<ImportXImportsFirst>;
2846
2870
  /**
2847
2871
  * Enforce the maximum number of dependencies a module can have.
2848
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/max-dependencies.md
2872
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/max-dependencies.md
2849
2873
  */
2850
2874
  'import-x/max-dependencies'?: Linter.RuleEntry<ImportXMaxDependencies>;
2851
2875
  /**
2852
2876
  * Ensure named imports correspond to a named export in the remote file.
2853
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/named.md
2877
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/named.md
2854
2878
  */
2855
2879
  'import-x/named'?: Linter.RuleEntry<ImportXNamed>;
2856
2880
  /**
2857
2881
  * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
2858
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/namespace.md
2882
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/namespace.md
2859
2883
  */
2860
2884
  'import-x/namespace'?: Linter.RuleEntry<ImportXNamespace>;
2861
2885
  /**
2862
2886
  * Enforce a newline after import statements.
2863
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/newline-after-import.md
2887
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/newline-after-import.md
2864
2888
  */
2865
2889
  'import-x/newline-after-import'?: Linter.RuleEntry<ImportXNewlineAfterImport>;
2866
2890
  /**
2867
2891
  * Forbid import of modules using absolute paths.
2868
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-absolute-path.md
2892
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-absolute-path.md
2869
2893
  */
2870
2894
  'import-x/no-absolute-path'?: Linter.RuleEntry<ImportXNoAbsolutePath>;
2871
2895
  /**
2872
2896
  * Forbid AMD `require` and `define` calls.
2873
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-amd.md
2897
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-amd.md
2874
2898
  */
2875
2899
  'import-x/no-amd'?: Linter.RuleEntry<[]>;
2876
2900
  /**
2877
2901
  * Forbid anonymous values as default exports.
2878
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-anonymous-default-export.md
2902
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-anonymous-default-export.md
2879
2903
  */
2880
2904
  'import-x/no-anonymous-default-export'?: Linter.RuleEntry<ImportXNoAnonymousDefaultExport>;
2881
2905
  /**
2882
2906
  * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
2883
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-commonjs.md
2907
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-commonjs.md
2884
2908
  */
2885
2909
  'import-x/no-commonjs'?: Linter.RuleEntry<ImportXNoCommonjs>;
2886
2910
  /**
2887
2911
  * Forbid a module from importing a module with a dependency path back to itself.
2888
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-cycle.md
2912
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-cycle.md
2889
2913
  */
2890
2914
  'import-x/no-cycle'?: Linter.RuleEntry<ImportXNoCycle>;
2891
2915
  /**
2892
2916
  * Forbid default exports.
2893
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-default-export.md
2917
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-default-export.md
2894
2918
  */
2895
2919
  'import-x/no-default-export'?: Linter.RuleEntry<[]>;
2896
2920
  /**
2897
2921
  * Forbid imported names marked with `@deprecated` documentation tag.
2898
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-deprecated.md
2922
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-deprecated.md
2899
2923
  */
2900
2924
  'import-x/no-deprecated'?: Linter.RuleEntry<[]>;
2901
2925
  /**
2902
2926
  * Forbid repeated import of the same module in multiple places.
2903
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-duplicates.md
2927
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-duplicates.md
2904
2928
  */
2905
2929
  'import-x/no-duplicates'?: Linter.RuleEntry<ImportXNoDuplicates>;
2906
2930
  /**
2907
2931
  * Forbid `require()` calls with expressions.
2908
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-dynamic-require.md
2932
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-dynamic-require.md
2909
2933
  */
2910
2934
  'import-x/no-dynamic-require'?: Linter.RuleEntry<ImportXNoDynamicRequire>;
2911
2935
  /**
2912
2936
  * Forbid empty named import blocks.
2913
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-empty-named-blocks.md
2937
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-empty-named-blocks.md
2914
2938
  */
2915
2939
  'import-x/no-empty-named-blocks'?: Linter.RuleEntry<[]>;
2916
2940
  /**
2917
2941
  * Forbid the use of extraneous packages.
2918
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-extraneous-dependencies.md
2942
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-extraneous-dependencies.md
2919
2943
  */
2920
2944
  'import-x/no-extraneous-dependencies'?: Linter.RuleEntry<ImportXNoExtraneousDependencies>;
2921
2945
  /**
2922
2946
  * Forbid import statements with CommonJS module.exports.
2923
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-import-module-exports.md
2947
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-import-module-exports.md
2924
2948
  */
2925
2949
  'import-x/no-import-module-exports'?: Linter.RuleEntry<ImportXNoImportModuleExports>;
2926
2950
  /**
2927
2951
  * Forbid importing the submodules of other modules.
2928
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-internal-modules.md
2952
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-internal-modules.md
2929
2953
  */
2930
2954
  'import-x/no-internal-modules'?: Linter.RuleEntry<ImportXNoInternalModules>;
2931
2955
  /**
2932
2956
  * Forbid the use of mutable exports with `var` or `let`.
2933
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-mutable-exports.md
2957
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-mutable-exports.md
2934
2958
  */
2935
2959
  'import-x/no-mutable-exports'?: Linter.RuleEntry<[]>;
2936
2960
  /**
2937
2961
  * Forbid use of exported name as identifier of default export.
2938
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-named-as-default.md
2962
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-named-as-default.md
2939
2963
  */
2940
2964
  'import-x/no-named-as-default'?: Linter.RuleEntry<[]>;
2941
2965
  /**
2942
2966
  * Forbid use of exported name as property of default export.
2943
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-named-as-default-member.md
2967
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-named-as-default-member.md
2944
2968
  */
2945
2969
  'import-x/no-named-as-default-member'?: Linter.RuleEntry<[]>;
2946
2970
  /**
2947
2971
  * Forbid named default exports.
2948
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-named-default.md
2972
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-named-default.md
2949
2973
  */
2950
2974
  'import-x/no-named-default'?: Linter.RuleEntry<[]>;
2951
2975
  /**
2952
2976
  * Forbid named exports.
2953
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-named-export.md
2977
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-named-export.md
2954
2978
  */
2955
2979
  'import-x/no-named-export'?: Linter.RuleEntry<[]>;
2956
2980
  /**
2957
2981
  * Forbid namespace (a.k.a. "wildcard" `*`) imports.
2958
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-namespace.md
2982
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-namespace.md
2959
2983
  */
2960
2984
  'import-x/no-namespace'?: Linter.RuleEntry<ImportXNoNamespace>;
2961
2985
  /**
2962
2986
  * Forbid Node.js builtin modules.
2963
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-nodejs-modules.md
2987
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-nodejs-modules.md
2964
2988
  */
2965
2989
  'import-x/no-nodejs-modules'?: Linter.RuleEntry<ImportXNoNodejsModules>;
2966
2990
  /**
2967
2991
  * Forbid importing packages through relative paths.
2968
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-relative-packages.md
2992
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-relative-packages.md
2969
2993
  */
2970
2994
  'import-x/no-relative-packages'?: Linter.RuleEntry<ImportXNoRelativePackages>;
2971
2995
  /**
2972
2996
  * Forbid importing modules from parent directories.
2973
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-relative-parent-imports.md
2997
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-relative-parent-imports.md
2974
2998
  */
2975
2999
  'import-x/no-relative-parent-imports'?: Linter.RuleEntry<ImportXNoRelativeParentImports>;
2976
3000
  /**
2977
3001
  * Forbid importing a default export by a different name.
2978
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-rename-default.md
3002
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-rename-default.md
2979
3003
  */
2980
3004
  'import-x/no-rename-default'?: Linter.RuleEntry<ImportXNoRenameDefault>;
2981
3005
  /**
2982
3006
  * Enforce which files can be imported in a given folder.
2983
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-restricted-paths.md
3007
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-restricted-paths.md
2984
3008
  */
2985
3009
  'import-x/no-restricted-paths'?: Linter.RuleEntry<ImportXNoRestrictedPaths>;
2986
3010
  /**
2987
3011
  * Forbid a module from importing itself.
2988
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-self-import.md
3012
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-self-import.md
2989
3013
  */
2990
3014
  'import-x/no-self-import'?: Linter.RuleEntry<[]>;
2991
3015
  /**
2992
3016
  * Forbid unassigned imports.
2993
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-unassigned-import.md
3017
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-unassigned-import.md
2994
3018
  */
2995
3019
  'import-x/no-unassigned-import'?: Linter.RuleEntry<ImportXNoUnassignedImport>;
2996
3020
  /**
2997
3021
  * Ensure imports point to a file/module that can be resolved.
2998
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-unresolved.md
3022
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-unresolved.md
2999
3023
  */
3000
3024
  'import-x/no-unresolved'?: Linter.RuleEntry<ImportXNoUnresolved>;
3001
3025
  /**
3002
3026
  * Forbid modules without exports, or exports without matching import in another module.
3003
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-unused-modules.md
3027
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-unused-modules.md
3004
3028
  */
3005
3029
  'import-x/no-unused-modules'?: Linter.RuleEntry<ImportXNoUnusedModules>;
3006
3030
  /**
3007
3031
  * Forbid unnecessary path segments in import and require statements.
3008
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-useless-path-segments.md
3032
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-useless-path-segments.md
3009
3033
  */
3010
3034
  'import-x/no-useless-path-segments'?: Linter.RuleEntry<ImportXNoUselessPathSegments>;
3011
3035
  /**
3012
3036
  * Forbid webpack loader syntax in imports.
3013
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-webpack-loader-syntax.md
3037
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/no-webpack-loader-syntax.md
3014
3038
  */
3015
3039
  'import-x/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>;
3016
3040
  /**
3017
3041
  * Enforce a convention in module import order.
3018
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/order.md
3042
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/order.md
3019
3043
  */
3020
3044
  'import-x/order'?: Linter.RuleEntry<ImportXOrder>;
3021
3045
  /**
3022
3046
  * Prefer a default export if module exports a single name or multiple names.
3023
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/prefer-default-export.md
3047
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/prefer-default-export.md
3024
3048
  */
3025
3049
  'import-x/prefer-default-export'?: Linter.RuleEntry<ImportXPreferDefaultExport>;
3026
3050
  /**
3027
3051
  * Enforce using namespace imports for specific modules, like `react`/`react-dom`, etc.
3028
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/prefer-namespace-import.md
3052
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/prefer-namespace-import.md
3029
3053
  */
3030
3054
  'import-x/prefer-namespace-import'?: Linter.RuleEntry<ImportXPreferNamespaceImport>;
3031
3055
  /**
3032
3056
  * Forbid potentially ambiguous parse goal (`script` vs. `module`).
3033
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/unambiguous.md
3057
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.17.1/docs/rules/unambiguous.md
3034
3058
  */
3035
3059
  'import-x/unambiguous'?: Linter.RuleEntry<[]>;
3036
3060
  /**
@@ -3973,7 +3997,7 @@ interface RuleOptions {
3973
3997
  * Disallow expressions where the operation doesn't affect the value
3974
3998
  * @see https://eslint.org/docs/latest/rules/no-constant-binary-expression
3975
3999
  */
3976
- 'no-constant-binary-expression'?: Linter.RuleEntry<[]>;
4000
+ 'no-constant-binary-expression'?: Linter.RuleEntry<NoConstantBinaryExpression>;
3977
4001
  /**
3978
4002
  * Disallow constant expressions in conditions
3979
4003
  * @see https://eslint.org/docs/latest/rules/no-constant-condition
@@ -5890,6 +5914,11 @@ interface RuleOptions {
5890
5914
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-add-event-listener/
5891
5915
  */
5892
5916
  'svelte/no-add-event-listener'?: Linter.RuleEntry<[]>;
5917
+ /**
5918
+ * disallow the use of `{@const}` in favor of `{const ...}` declaration tags
5919
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-at-const-tags/
5920
+ */
5921
+ 'svelte/no-at-const-tags'?: Linter.RuleEntry<[]>;
5893
5922
  /**
5894
5923
  * disallow the use of `{@debug}`
5895
5924
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-at-debug-tags/
@@ -5983,6 +6012,11 @@ interface RuleOptions {
5983
6012
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-navigation-without-resolve/
5984
6013
  */
5985
6014
  'svelte/no-navigation-without-resolve'?: Linter.RuleEntry<SvelteNoNavigationWithoutResolve>;
6015
+ /**
6016
+ * disallow `<style>` elements nested inside other elements or blocks
6017
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-nested-style-tag/
6018
+ */
6019
+ 'svelte/no-nested-style-tag'?: Linter.RuleEntry<[]>;
5986
6020
  /**
5987
6021
  * disallow use of not function in event handler
5988
6022
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-not-function-handler/
@@ -6098,6 +6132,11 @@ interface RuleOptions {
6098
6132
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-const/
6099
6133
  */
6100
6134
  'svelte/prefer-const'?: Linter.RuleEntry<SveltePreferConst>;
6135
+ /**
6136
+ * disallow unnecessary `$derived.by()` when `$derived()` is sufficient
6137
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-derived-over-derived-by/
6138
+ */
6139
+ 'svelte/prefer-derived-over-derived-by'?: Linter.RuleEntry<[]>;
6101
6140
  /**
6102
6141
  * destructure values from object stores for better change tracking & fewer redraws
6103
6142
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-destructured-store-props/
@@ -6189,7 +6228,7 @@ interface RuleOptions {
6189
6228
  */
6190
6229
  'svelte/valid-each-key'?: Linter.RuleEntry<[]>;
6191
6230
  /**
6192
- * disallow props other than data or errors in SvelteKit page components.
6231
+ * disallow invalid props in SvelteKit route components.
6193
6232
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/valid-prop-names-in-kit-pages/
6194
6233
  */
6195
6234
  'svelte/valid-prop-names-in-kit-pages'?: Linter.RuleEntry<[]>;
@@ -6353,753 +6392,1673 @@ interface RuleOptions {
6353
6392
  */
6354
6393
  'unicode-bom'?: Linter.RuleEntry<UnicodeBom>;
6355
6394
  /**
6356
- * Improve regexes by making them shorter, consistent, and safer.
6357
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/better-regex.md
6395
+ * Prefer better DOM traversal APIs.
6396
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/better-dom-traversing.md
6397
+ */
6398
+ 'unicorn/better-dom-traversing'?: Linter.RuleEntry<[]>;
6399
+ /**
6400
+ * Removed. Prefer `eslint-plugin-regexp`
6401
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/deleted-and-deprecated-rules.md#better-regex
6402
+ * @deprecated
6358
6403
  */
6359
- 'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>;
6404
+ 'unicorn/better-regex'?: Linter.RuleEntry<[]>;
6360
6405
  /**
6361
6406
  * Enforce a specific parameter name in catch clauses.
6362
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/catch-error-name.md
6407
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/catch-error-name.md
6363
6408
  */
6364
6409
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>;
6410
+ /**
6411
+ * Enforce consistent class references in static methods.
6412
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/class-reference-in-static-methods.md
6413
+ */
6414
+ 'unicorn/class-reference-in-static-methods'?: Linter.RuleEntry<UnicornClassReferenceInStaticMethods>;
6415
+ /**
6416
+ * Enforce better comment content.
6417
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/comment-content.md
6418
+ */
6419
+ 'unicorn/comment-content'?: Linter.RuleEntry<UnicornCommentContent>;
6365
6420
  /**
6366
6421
  * Enforce consistent assertion style with `node:assert`.
6367
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-assert.md
6422
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/consistent-assert.md
6368
6423
  */
6369
6424
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>;
6425
+ /**
6426
+ * Enforce consistent naming for boolean names.
6427
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/consistent-boolean-name.md
6428
+ */
6429
+ 'unicorn/consistent-boolean-name'?: Linter.RuleEntry<UnicornConsistentBooleanName>;
6430
+ /**
6431
+ * Enforce consistent class member order.
6432
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/consistent-class-member-order.md
6433
+ */
6434
+ 'unicorn/consistent-class-member-order'?: Linter.RuleEntry<UnicornConsistentClassMemberOrder>;
6435
+ /**
6436
+ * Enforce consistent spelling of compound words in identifiers.
6437
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/consistent-compound-words.md
6438
+ */
6439
+ 'unicorn/consistent-compound-words'?: Linter.RuleEntry<UnicornConsistentCompoundWords>;
6440
+ /**
6441
+ * Enforce consistent conditional object spread style.
6442
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/consistent-conditional-object-spread.md
6443
+ */
6444
+ 'unicorn/consistent-conditional-object-spread'?: Linter.RuleEntry<UnicornConsistentConditionalObjectSpread>;
6370
6445
  /**
6371
6446
  * Prefer passing `Date` directly to the constructor when cloning.
6372
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-date-clone.md
6447
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/consistent-date-clone.md
6373
6448
  */
6374
6449
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>;
6375
6450
  /**
6376
6451
  * Use destructured variables over properties.
6377
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-destructuring.md
6452
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/consistent-destructuring.md
6378
6453
  */
6379
6454
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>;
6380
6455
  /**
6381
6456
  * Prefer consistent types when spreading a ternary in an array literal.
6382
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-empty-array-spread.md
6457
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/consistent-empty-array-spread.md
6383
6458
  */
6384
6459
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>;
6385
6460
  /**
6386
6461
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
6387
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-existence-index-check.md
6462
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/consistent-existence-index-check.md
6388
6463
  */
6389
6464
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>;
6465
+ /**
6466
+ * Enforce consistent decorator position on exported classes.
6467
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/consistent-export-decorator-position.md
6468
+ */
6469
+ 'unicorn/consistent-export-decorator-position'?: Linter.RuleEntry<UnicornConsistentExportDecoratorPosition>;
6390
6470
  /**
6391
6471
  * Move function definitions to the highest possible scope.
6392
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-function-scoping.md
6472
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/consistent-function-scoping.md
6393
6473
  */
6394
6474
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>;
6475
+ /**
6476
+ * Enforce function syntax by role.
6477
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/consistent-function-style.md
6478
+ */
6479
+ 'unicorn/consistent-function-style'?: Linter.RuleEntry<UnicornConsistentFunctionStyle>;
6480
+ /**
6481
+ * Enforce consistent JSON file reads before `JSON.parse()`.
6482
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/consistent-json-file-read.md
6483
+ */
6484
+ 'unicorn/consistent-json-file-read'?: Linter.RuleEntry<UnicornConsistentJsonFileRead>;
6485
+ /**
6486
+ * Enforce consistent optional chaining for same-base member access.
6487
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/consistent-optional-chaining.md
6488
+ */
6489
+ 'unicorn/consistent-optional-chaining'?: Linter.RuleEntry<[]>;
6395
6490
  /**
6396
6491
  * Enforce consistent style for escaping `${` in template literals.
6397
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-template-literal-escape.md
6492
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/consistent-template-literal-escape.md
6398
6493
  */
6399
6494
  'unicorn/consistent-template-literal-escape'?: Linter.RuleEntry<[]>;
6495
+ /**
6496
+ * Enforce consistent labels on tuple type elements.
6497
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/consistent-tuple-labels.md
6498
+ */
6499
+ 'unicorn/consistent-tuple-labels'?: Linter.RuleEntry<[]>;
6400
6500
  /**
6401
6501
  * Enforce correct `Error` subclassing.
6402
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/custom-error-definition.md
6502
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/custom-error-definition.md
6403
6503
  */
6404
6504
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>;
6505
+ /**
6506
+ * Enforce consistent default export declarations.
6507
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/default-export-style.md
6508
+ */
6509
+ 'unicorn/default-export-style'?: Linter.RuleEntry<UnicornDefaultExportStyle>;
6510
+ /**
6511
+ * Enforce consistent style for DOM element dataset access.
6512
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/dom-node-dataset.md
6513
+ */
6514
+ 'unicorn/dom-node-dataset'?: Linter.RuleEntry<UnicornDomNodeDataset>;
6405
6515
  /**
6406
6516
  * Enforce no spaces between braces.
6407
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/empty-brace-spaces.md
6517
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/empty-brace-spaces.md
6408
6518
  */
6409
6519
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>;
6410
6520
  /**
6411
6521
  * Enforce passing a `message` value when creating a built-in error.
6412
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/error-message.md
6522
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/error-message.md
6413
6523
  */
6414
6524
  'unicorn/error-message'?: Linter.RuleEntry<[]>;
6415
6525
  /**
6416
6526
  * Require escape sequences to use uppercase or lowercase values.
6417
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/escape-case.md
6527
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/escape-case.md
6418
6528
  */
6419
6529
  'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>;
6420
6530
  /**
6421
6531
  * Add expiration conditions to TODO comments.
6422
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/expiring-todo-comments.md
6532
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/expiring-todo-comments.md
6423
6533
  */
6424
6534
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>;
6425
6535
  /**
6426
6536
  * Enforce explicitly comparing the `length` or `size` property of a value.
6427
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/explicit-length-check.md
6537
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/explicit-length-check.md
6428
6538
  */
6429
6539
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>;
6430
6540
  /**
6431
- * Enforce a case style for filenames.
6432
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/filename-case.md
6541
+ * Enforce or disallow explicit `delay` argument for `setTimeout()` and `setInterval()`.
6542
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/explicit-timer-delay.md
6543
+ */
6544
+ 'unicorn/explicit-timer-delay'?: Linter.RuleEntry<UnicornExplicitTimerDelay>;
6545
+ /**
6546
+ * Enforce a case style for filenames and directory names.
6547
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/filename-case.md
6433
6548
  */
6434
6549
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>;
6550
+ /**
6551
+ * Require identifiers to match a specified regular expression.
6552
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/id-match.md
6553
+ */
6554
+ 'unicorn/id-match'?: Linter.RuleEntry<UnicornIdMatch>;
6435
6555
  /**
6436
6556
  * Enforce specific import styles per module.
6437
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/import-style.md
6557
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/import-style.md
6438
6558
  */
6439
6559
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>;
6440
6560
  /**
6441
6561
  * Prevent usage of variables from outside the scope of isolated functions.
6442
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/isolated-functions.md
6562
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/isolated-functions.md
6443
6563
  */
6444
6564
  'unicorn/isolated-functions'?: Linter.RuleEntry<UnicornIsolatedFunctions>;
6445
6565
  /**
6446
- * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
6447
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/new-for-builtins.md
6566
+ * Require or disallow logical assignment operator shorthand
6567
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/logical-assignment-operators.md
6568
+ */
6569
+ 'unicorn/logical-assignment-operators'?: Linter.RuleEntry<UnicornLogicalAssignmentOperators>;
6570
+ /**
6571
+ * Limit the depth of nested calls.
6572
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/max-nested-calls.md
6573
+ */
6574
+ 'unicorn/max-nested-calls'?: Linter.RuleEntry<UnicornMaxNestedCalls>;
6575
+ /**
6576
+ * Enforce replacements for variable, property, and filenames.
6577
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/name-replacements.md
6578
+ */
6579
+ 'unicorn/name-replacements'?: Linter.RuleEntry<UnicornNameReplacements>;
6580
+ /**
6581
+ * Enforce correct use of `new` for builtin constructors.
6582
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/new-for-builtins.md
6448
6583
  */
6449
6584
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>;
6450
6585
  /**
6451
6586
  * Enforce specifying rules to disable in `eslint-disable` comments.
6452
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-abusive-eslint-disable.md
6587
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-abusive-eslint-disable.md
6453
6588
  */
6454
6589
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>;
6455
6590
  /**
6456
6591
  * Disallow recursive access to `this` within getters and setters.
6457
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-accessor-recursion.md
6592
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-accessor-recursion.md
6458
6593
  */
6459
6594
  'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>;
6595
+ /**
6596
+ * Disallow bitwise operators where a logical operator was likely intended.
6597
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-accidental-bitwise-operator.md
6598
+ */
6599
+ 'unicorn/no-accidental-bitwise-operator'?: Linter.RuleEntry<[]>;
6460
6600
  /**
6461
6601
  * Disallow anonymous functions and classes as the default export.
6462
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-anonymous-default-export.md
6602
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-anonymous-default-export.md
6463
6603
  */
6464
6604
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>;
6465
6605
  /**
6466
6606
  * Prevent passing a function reference directly to iterator methods.
6467
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-callback-reference.md
6607
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-array-callback-reference.md
6468
6608
  */
6469
- 'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>;
6609
+ 'unicorn/no-array-callback-reference'?: Linter.RuleEntry<UnicornNoArrayCallbackReference>;
6470
6610
  /**
6471
- * Prefer `for…of` over the `forEach` method.
6472
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-for-each.md
6611
+ * Disallow array accumulation with `Array#concat()` in loops.
6612
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-array-concat-in-loop.md
6613
+ */
6614
+ 'unicorn/no-array-concat-in-loop'?: Linter.RuleEntry<[]>;
6615
+ /**
6616
+ * Disallow using reference values as `Array#fill()` values.
6617
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-array-fill-with-reference-type.md
6618
+ */
6619
+ 'unicorn/no-array-fill-with-reference-type'?: Linter.RuleEntry<[]>;
6620
+ /**
6621
+ * Disallow `.fill()` after `Array.from({length: …})`.
6622
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-array-from-fill.md
6623
+ */
6624
+ 'unicorn/no-array-from-fill'?: Linter.RuleEntry<[]>;
6625
+ /**
6626
+ * Disallow front-of-array mutation.
6627
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-array-front-mutation.md
6473
6628
  */
6474
- 'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>;
6629
+ 'unicorn/no-array-front-mutation'?: Linter.RuleEntry<[]>;
6475
6630
  /**
6476
6631
  * Disallow using the `this` argument in array methods.
6477
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-method-this-argument.md
6632
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-array-method-this-argument.md
6478
6633
  */
6479
6634
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>;
6480
6635
  /**
6481
6636
  * Replaced by `unicorn/prefer-single-call` which covers more cases.
6482
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-array-push-push
6637
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/deleted-and-deprecated-rules.md#no-array-push-push
6483
6638
  * @deprecated
6484
6639
  */
6485
6640
  'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>;
6486
6641
  /**
6487
6642
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
6488
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-reduce.md
6643
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-array-reduce.md
6489
6644
  */
6490
6645
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>;
6491
6646
  /**
6492
6647
  * Prefer `Array#toReversed()` over `Array#reverse()`.
6493
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-reverse.md
6648
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-array-reverse.md
6494
6649
  */
6495
6650
  'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>;
6496
6651
  /**
6497
6652
  * Prefer `Array#toSorted()` over `Array#sort()`.
6498
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-sort.md
6653
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-array-sort.md
6499
6654
  */
6500
6655
  'unicorn/no-array-sort'?: Linter.RuleEntry<UnicornNoArraySort>;
6656
+ /**
6657
+ * Disallow sorting arrays to get the minimum or maximum value.
6658
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-array-sort-for-min-max.md
6659
+ */
6660
+ 'unicorn/no-array-sort-for-min-max'?: Linter.RuleEntry<[]>;
6661
+ /**
6662
+ * Prefer `Array#toSpliced()` over `Array#splice()`.
6663
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-array-splice.md
6664
+ */
6665
+ 'unicorn/no-array-splice'?: Linter.RuleEntry<[]>;
6666
+ /**
6667
+ * Disallow asterisk prefixes in documentation comments.
6668
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-asterisk-prefix-in-documentation-comments.md
6669
+ */
6670
+ 'unicorn/no-asterisk-prefix-in-documentation-comments'?: Linter.RuleEntry<[]>;
6671
+ /**
6672
+ * Disallow async functions as `Promise#finally()` callbacks.
6673
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-async-promise-finally.md
6674
+ */
6675
+ 'unicorn/no-async-promise-finally'?: Linter.RuleEntry<[]>;
6501
6676
  /**
6502
6677
  * Disallow member access from await expression.
6503
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-await-expression-member.md
6678
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-await-expression-member.md
6504
6679
  */
6505
6680
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>;
6506
6681
  /**
6507
6682
  * Disallow using `await` in `Promise` method parameters.
6508
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-await-in-promise-methods.md
6683
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-await-in-promise-methods.md
6509
6684
  */
6510
6685
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>;
6686
+ /**
6687
+ * Disallow unnecessary `Blob` to `File` conversion.
6688
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-blob-to-file.md
6689
+ */
6690
+ 'unicorn/no-blob-to-file'?: Linter.RuleEntry<[]>;
6691
+ /**
6692
+ * Disallow boolean-returning sort comparators.
6693
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-boolean-sort-comparator.md
6694
+ */
6695
+ 'unicorn/no-boolean-sort-comparator'?: Linter.RuleEntry<[]>;
6696
+ /**
6697
+ * Disallow `break` and `continue` in nested loops and switches inside loops.
6698
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-break-in-nested-loop.md
6699
+ */
6700
+ 'unicorn/no-break-in-nested-loop'?: Linter.RuleEntry<[]>;
6701
+ /**
6702
+ * Prefer drawing canvases directly instead of converting them to images.
6703
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-canvas-to-image.md
6704
+ */
6705
+ 'unicorn/no-canvas-to-image'?: Linter.RuleEntry<[]>;
6706
+ /**
6707
+ * Disallow chained comparisons such as `a < b < c`.
6708
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-chained-comparison.md
6709
+ */
6710
+ 'unicorn/no-chained-comparison'?: Linter.RuleEntry<[]>;
6711
+ /**
6712
+ * Disallow accessing `Map`, `Set`, `WeakMap`, and `WeakSet` entries with bracket notation.
6713
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-collection-bracket-access.md
6714
+ */
6715
+ 'unicorn/no-collection-bracket-access'?: Linter.RuleEntry<[]>;
6716
+ /**
6717
+ * Disallow dynamic object property existence checks.
6718
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-computed-property-existence-check.md
6719
+ */
6720
+ 'unicorn/no-computed-property-existence-check'?: Linter.RuleEntry<[]>;
6721
+ /**
6722
+ * Disallow confusing uses of `Array#{splice,toSpliced}()`.
6723
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-confusing-array-splice.md
6724
+ */
6725
+ 'unicorn/no-confusing-array-splice'?: Linter.RuleEntry<[]>;
6726
+ /**
6727
+ * Disallow confusing uses of `Array#with()`.
6728
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-confusing-array-with.md
6729
+ */
6730
+ 'unicorn/no-confusing-array-with'?: Linter.RuleEntry<[]>;
6511
6731
  /**
6512
6732
  * Do not use leading/trailing space between `console.log` parameters.
6513
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-console-spaces.md
6733
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-console-spaces.md
6514
6734
  */
6515
6735
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>;
6736
+ /**
6737
+ * Disallow arithmetic and bitwise operations that always evaluate to `0`.
6738
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-constant-zero-expression.md
6739
+ */
6740
+ 'unicorn/no-constant-zero-expression'?: Linter.RuleEntry<[]>;
6741
+ /**
6742
+ * Disallow declarations before conditional early exits when they are only used after the exit.
6743
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-declarations-before-early-exit.md
6744
+ */
6745
+ 'unicorn/no-declarations-before-early-exit'?: Linter.RuleEntry<[]>;
6516
6746
  /**
6517
6747
  * Do not use `document.cookie` directly.
6518
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-document-cookie.md
6748
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-document-cookie.md
6519
6749
  */
6520
6750
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>;
6751
+ /**
6752
+ * Disallow two comparisons of the same operands that can be combined into one.
6753
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-double-comparison.md
6754
+ */
6755
+ 'unicorn/no-double-comparison'?: Linter.RuleEntry<[]>;
6756
+ /**
6757
+ * Disallow duplicate adjacent branches in if chains.
6758
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-duplicate-if-branches.md
6759
+ */
6760
+ 'unicorn/no-duplicate-if-branches'?: Linter.RuleEntry<[]>;
6761
+ /**
6762
+ * Disallow adjacent duplicate operands in logical expressions.
6763
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-duplicate-logical-operands.md
6764
+ */
6765
+ 'unicorn/no-duplicate-logical-operands'?: Linter.RuleEntry<[]>;
6766
+ /**
6767
+ * Disallow `.map()` and `.filter()` in `for…of` and `for await…of` loop headers.
6768
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-duplicate-loops.md
6769
+ */
6770
+ 'unicorn/no-duplicate-loops'?: Linter.RuleEntry<[]>;
6771
+ /**
6772
+ * Disallow duplicate values in `Set` constructor array literals.
6773
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-duplicate-set-values.md
6774
+ */
6775
+ 'unicorn/no-duplicate-set-values'?: Linter.RuleEntry<[]>;
6521
6776
  /**
6522
6777
  * Disallow empty files.
6523
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-empty-file.md
6778
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-empty-file.md
6779
+ */
6780
+ 'unicorn/no-empty-file'?: Linter.RuleEntry<UnicornNoEmptyFile>;
6781
+ /**
6782
+ * Disallow assigning to built-in error properties.
6783
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-error-property-assignment.md
6784
+ */
6785
+ 'unicorn/no-error-property-assignment'?: Linter.RuleEntry<[]>;
6786
+ /**
6787
+ * Disallow exports in scripts.
6788
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-exports-in-scripts.md
6524
6789
  */
6525
- 'unicorn/no-empty-file'?: Linter.RuleEntry<[]>;
6790
+ 'unicorn/no-exports-in-scripts'?: Linter.RuleEntry<[]>;
6791
+ /**
6792
+ * Prefer `for…of` over the `forEach` method.
6793
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-for-each.md
6794
+ */
6795
+ 'unicorn/no-for-each'?: Linter.RuleEntry<[]>;
6526
6796
  /**
6527
6797
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
6528
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-for-loop.md
6798
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-for-loop.md
6529
6799
  */
6530
6800
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>;
6531
6801
  /**
6532
- * Enforce the use of Unicode escapes instead of hexadecimal escapes.
6533
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-hex-escape.md
6802
+ * Disallow assigning properties on the global object.
6803
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-global-object-property-assignment.md
6804
+ */
6805
+ 'unicorn/no-global-object-property-assignment'?: Linter.RuleEntry<[]>;
6806
+ /**
6807
+ * Replaced by `unicorn/prefer-unicode-code-point-escapes` which covers more cases.
6808
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/deleted-and-deprecated-rules.md#no-hex-escape
6809
+ * @deprecated
6534
6810
  */
6535
6811
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>;
6536
6812
  /**
6537
6813
  * Disallow immediate mutation after variable assignment.
6538
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-immediate-mutation.md
6814
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-immediate-mutation.md
6539
6815
  */
6540
6816
  'unicorn/no-immediate-mutation'?: Linter.RuleEntry<[]>;
6817
+ /**
6818
+ * Disallow impossible comparisons against `.length` or `.size`.
6819
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-impossible-length-comparison.md
6820
+ */
6821
+ 'unicorn/no-impossible-length-comparison'?: Linter.RuleEntry<[]>;
6822
+ /**
6823
+ * Disallow incorrect `querySelector()` and `querySelectorAll()` usage.
6824
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-incorrect-query-selector.md
6825
+ */
6826
+ 'unicorn/no-incorrect-query-selector'?: Linter.RuleEntry<[]>;
6827
+ /**
6828
+ * Disallow incorrect template literal interpolation syntax.
6829
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-incorrect-template-string-interpolation.md
6830
+ */
6831
+ 'unicorn/no-incorrect-template-string-interpolation'?: Linter.RuleEntry<[]>;
6541
6832
  /**
6542
6833
  * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
6543
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-instanceof-array
6834
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/deleted-and-deprecated-rules.md#no-instanceof-array
6544
6835
  * @deprecated
6545
6836
  */
6546
6837
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>;
6547
6838
  /**
6548
6839
  * Disallow `instanceof` with built-in objects
6549
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-instanceof-builtins.md
6840
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-instanceof-builtins.md
6550
6841
  */
6551
6842
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>;
6843
+ /**
6844
+ * Disallow calling functions and constructors with an invalid number of arguments.
6845
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-invalid-argument-count.md
6846
+ */
6847
+ 'unicorn/no-invalid-argument-count'?: Linter.RuleEntry<UnicornNoInvalidArgumentCount>;
6848
+ /**
6849
+ * Disallow comparing a single character from a string to a multi-character string.
6850
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-invalid-character-comparison.md
6851
+ */
6852
+ 'unicorn/no-invalid-character-comparison'?: Linter.RuleEntry<[]>;
6552
6853
  /**
6553
6854
  * Disallow invalid options in `fetch()` and `new Request()`.
6554
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-invalid-fetch-options.md
6855
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-invalid-fetch-options.md
6555
6856
  */
6556
6857
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>;
6858
+ /**
6859
+ * Disallow invalid `accept` values on file inputs.
6860
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-invalid-file-input-accept.md
6861
+ */
6862
+ 'unicorn/no-invalid-file-input-accept'?: Linter.RuleEntry<[]>;
6557
6863
  /**
6558
6864
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
6559
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-invalid-remove-event-listener.md
6865
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-invalid-remove-event-listener.md
6560
6866
  */
6561
6867
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>;
6868
+ /**
6869
+ * Disallow invalid implementations of well-known symbol methods.
6870
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-invalid-well-known-symbol-methods.md
6871
+ */
6872
+ 'unicorn/no-invalid-well-known-symbol-methods'?: Linter.RuleEntry<[]>;
6562
6873
  /**
6563
6874
  * Disallow identifiers starting with `new` or `class`.
6564
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-keyword-prefix.md
6875
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-keyword-prefix.md
6565
6876
  */
6566
6877
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>;
6878
+ /**
6879
+ * Disallow accessing `event.currentTarget` after the synchronous event dispatch has finished.
6880
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-late-current-target-access.md
6881
+ */
6882
+ 'unicorn/no-late-current-target-access'?: Linter.RuleEntry<[]>;
6883
+ /**
6884
+ * Disallow event-control method calls after the synchronous event dispatch has finished.
6885
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-late-event-control.md
6886
+ */
6887
+ 'unicorn/no-late-event-control'?: Linter.RuleEntry<[]>;
6567
6888
  /**
6568
6889
  * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
6569
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
6890
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
6570
6891
  * @deprecated
6571
6892
  */
6572
6893
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>;
6573
6894
  /**
6574
6895
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
6575
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-lonely-if.md
6896
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-lonely-if.md
6576
6897
  */
6577
6898
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>;
6899
+ /**
6900
+ * Disallow mutating a loop iterable during iteration.
6901
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-loop-iterable-mutation.md
6902
+ */
6903
+ 'unicorn/no-loop-iterable-mutation'?: Linter.RuleEntry<[]>;
6578
6904
  /**
6579
6905
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
6580
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-magic-array-flat-depth.md
6906
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-magic-array-flat-depth.md
6581
6907
  */
6582
6908
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>;
6909
+ /**
6910
+ * Disallow manually wrapped comments.
6911
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-manually-wrapped-comments.md
6912
+ */
6913
+ 'unicorn/no-manually-wrapped-comments'?: Linter.RuleEntry<[]>;
6914
+ /**
6915
+ * Disallow checking a Map key before accessing a different key.
6916
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-mismatched-map-key.md
6917
+ */
6918
+ 'unicorn/no-mismatched-map-key'?: Linter.RuleEntry<[]>;
6919
+ /**
6920
+ * Disallow misrefactored compound assignments where the target is duplicated in the right-hand side.
6921
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-misrefactored-assignment.md
6922
+ */
6923
+ 'unicorn/no-misrefactored-assignment'?: Linter.RuleEntry<[]>;
6583
6924
  /**
6584
6925
  * Disallow named usage of default import and export.
6585
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-named-default.md
6926
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-named-default.md
6586
6927
  */
6587
6928
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>;
6929
+ /**
6930
+ * Disallow negated array predicate calls.
6931
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-negated-array-predicate.md
6932
+ */
6933
+ 'unicorn/no-negated-array-predicate'?: Linter.RuleEntry<[]>;
6934
+ /**
6935
+ * Disallow negated comparisons.
6936
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-negated-comparison.md
6937
+ */
6938
+ 'unicorn/no-negated-comparison'?: Linter.RuleEntry<UnicornNoNegatedComparison>;
6588
6939
  /**
6589
6940
  * Disallow negated conditions.
6590
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-negated-condition.md
6941
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-negated-condition.md
6591
6942
  */
6592
6943
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>;
6593
6944
  /**
6594
6945
  * Disallow negated expression in equality check.
6595
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-negation-in-equality-check.md
6946
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-negation-in-equality-check.md
6596
6947
  */
6597
6948
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>;
6598
6949
  /**
6599
6950
  * Disallow nested ternary expressions.
6600
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-nested-ternary.md
6951
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-nested-ternary.md
6601
6952
  */
6602
6953
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>;
6603
6954
  /**
6604
6955
  * Disallow `new Array()`.
6605
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-new-array.md
6956
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-new-array.md
6606
6957
  */
6607
6958
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>;
6608
6959
  /**
6609
6960
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
6610
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-new-buffer.md
6961
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-new-buffer.md
6611
6962
  */
6612
6963
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>;
6964
+ /**
6965
+ * Disallow non-function values with function-style verb prefixes.
6966
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-non-function-verb-prefix.md
6967
+ */
6968
+ 'unicorn/no-non-function-verb-prefix'?: Linter.RuleEntry<UnicornNoNonFunctionVerbPrefix>;
6969
+ /**
6970
+ * Disallow non-standard properties on built-in objects.
6971
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-nonstandard-builtin-properties.md
6972
+ */
6973
+ 'unicorn/no-nonstandard-builtin-properties'?: Linter.RuleEntry<[]>;
6613
6974
  /**
6614
6975
  * Disallow the use of the `null` literal.
6615
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-null.md
6976
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-null.md
6616
6977
  */
6617
6978
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>;
6618
6979
  /**
6619
6980
  * Disallow the use of objects as default parameters.
6620
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-object-as-default-parameter.md
6981
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-object-as-default-parameter.md
6621
6982
  */
6622
6983
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>;
6984
+ /**
6985
+ * Disallow `Object` methods with `Map` or `Set`.
6986
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-object-methods-with-collections.md
6987
+ */
6988
+ 'unicorn/no-object-methods-with-collections'?: Linter.RuleEntry<[]>;
6989
+ /**
6990
+ * Disallow optional chaining on undeclared variables.
6991
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-optional-chaining-on-undeclared-variable.md
6992
+ */
6993
+ 'unicorn/no-optional-chaining-on-undeclared-variable'?: Linter.RuleEntry<[]>;
6623
6994
  /**
6624
6995
  * Disallow `process.exit()`.
6625
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-process-exit.md
6996
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-process-exit.md
6626
6997
  */
6627
6998
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>;
6999
+ /**
7000
+ * Disallow comparisons made redundant by an equality check in the same logical AND.
7001
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-redundant-comparison.md
7002
+ */
7003
+ 'unicorn/no-redundant-comparison'?: Linter.RuleEntry<[]>;
7004
+ /**
7005
+ * Disallow using the return value of `Array#push()` and `Array#unshift()`.
7006
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-return-array-push.md
7007
+ */
7008
+ 'unicorn/no-return-array-push'?: Linter.RuleEntry<[]>;
7009
+ /**
7010
+ * Disallow selector syntax in DOM names.
7011
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-selector-as-dom-name.md
7012
+ */
7013
+ 'unicorn/no-selector-as-dom-name'?: Linter.RuleEntry<[]>;
6628
7014
  /**
6629
7015
  * Disallow passing single-element arrays to `Promise` methods.
6630
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-single-promise-in-promise-methods.md
7016
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-single-promise-in-promise-methods.md
6631
7017
  */
6632
7018
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>;
6633
7019
  /**
6634
7020
  * Disallow classes that only have static members.
6635
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-static-only-class.md
7021
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-static-only-class.md
6636
7022
  */
6637
7023
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>;
7024
+ /**
7025
+ * Prefer comparing values directly over subtracting and comparing to `0`.
7026
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-subtraction-comparison.md
7027
+ */
7028
+ 'unicorn/no-subtraction-comparison'?: Linter.RuleEntry<[]>;
6638
7029
  /**
6639
7030
  * Disallow `then` property.
6640
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-thenable.md
7031
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-thenable.md
6641
7032
  */
6642
7033
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>;
6643
7034
  /**
6644
7035
  * Disallow assigning `this` to a variable.
6645
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-this-assignment.md
7036
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-this-assignment.md
6646
7037
  */
6647
7038
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>;
7039
+ /**
7040
+ * Disallow `this` outside of classes.
7041
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-this-outside-of-class.md
7042
+ */
7043
+ 'unicorn/no-this-outside-of-class'?: Linter.RuleEntry<[]>;
7044
+ /**
7045
+ * Disallow assigning to top-level variables from inside functions.
7046
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-top-level-assignment-in-function.md
7047
+ */
7048
+ 'unicorn/no-top-level-assignment-in-function'?: Linter.RuleEntry<[]>;
7049
+ /**
7050
+ * Disallow top-level side effects in exported modules.
7051
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-top-level-side-effects.md
7052
+ */
7053
+ 'unicorn/no-top-level-side-effects'?: Linter.RuleEntry<[]>;
6648
7054
  /**
6649
7055
  * Disallow comparing `undefined` using `typeof`.
6650
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-typeof-undefined.md
7056
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-typeof-undefined.md
6651
7057
  */
6652
7058
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>;
7059
+ /**
7060
+ * Disallow referencing methods without calling them.
7061
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-uncalled-method.md
7062
+ */
7063
+ 'unicorn/no-uncalled-method'?: Linter.RuleEntry<[]>;
7064
+ /**
7065
+ * Require class members to be declared.
7066
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-undeclared-class-members.md
7067
+ */
7068
+ 'unicorn/no-undeclared-class-members'?: Linter.RuleEntry<[]>;
6653
7069
  /**
6654
7070
  * Disallow using `1` as the `depth` argument of `Array#flat()`.
6655
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-array-flat-depth.md
7071
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-unnecessary-array-flat-depth.md
6656
7072
  */
6657
7073
  'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>;
7074
+ /**
7075
+ * Disallow `Array#flatMap()` callbacks that only wrap a single item.
7076
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-unnecessary-array-flat-map.md
7077
+ */
7078
+ 'unicorn/no-unnecessary-array-flat-map'?: Linter.RuleEntry<[]>;
6658
7079
  /**
6659
7080
  * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
6660
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-array-splice-count.md
7081
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-unnecessary-array-splice-count.md
6661
7082
  */
6662
7083
  'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>;
6663
7084
  /**
6664
7085
  * Disallow awaiting non-promise values.
6665
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-await.md
7086
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-unnecessary-await.md
6666
7087
  */
6667
7088
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>;
7089
+ /**
7090
+ * Disallow unnecessary comparisons against boolean literals.
7091
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-unnecessary-boolean-comparison.md
7092
+ */
7093
+ 'unicorn/no-unnecessary-boolean-comparison'?: Linter.RuleEntry<[]>;
7094
+ /**
7095
+ * Disallow unnecessary options in `fetch()` and `new Request()`.
7096
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-unnecessary-fetch-options.md
7097
+ */
7098
+ 'unicorn/no-unnecessary-fetch-options'?: Linter.RuleEntry<[]>;
7099
+ /**
7100
+ * Disallow unnecessary `globalThis` references.
7101
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-unnecessary-global-this.md
7102
+ */
7103
+ 'unicorn/no-unnecessary-global-this'?: Linter.RuleEntry<[]>;
7104
+ /**
7105
+ * Disallow unnecessary nested ternary expressions.
7106
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-unnecessary-nested-ternary.md
7107
+ */
7108
+ 'unicorn/no-unnecessary-nested-ternary'?: Linter.RuleEntry<[]>;
6668
7109
  /**
6669
7110
  * Enforce the use of built-in methods instead of unnecessary polyfills.
6670
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-polyfills.md
7111
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-unnecessary-polyfills.md
6671
7112
  */
6672
7113
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>;
6673
7114
  /**
6674
7115
  * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
6675
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-slice-end.md
7116
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-unnecessary-slice-end.md
6676
7117
  */
6677
7118
  'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>;
7119
+ /**
7120
+ * Disallow `Array#splice()` when simpler alternatives exist.
7121
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-unnecessary-splice.md
7122
+ */
7123
+ 'unicorn/no-unnecessary-splice'?: Linter.RuleEntry<[]>;
6678
7124
  /**
6679
7125
  * Disallow unreadable array destructuring.
6680
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-array-destructuring.md
7126
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-unreadable-array-destructuring.md
7127
+ */
7128
+ 'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<UnicornNoUnreadableArrayDestructuring>;
7129
+ /**
7130
+ * Disallow unreadable iterable expressions in `for…of` and `for await…of` loop headers.
7131
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-unreadable-for-of-expression.md
6681
7132
  */
6682
- 'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>;
7133
+ 'unicorn/no-unreadable-for-of-expression'?: Linter.RuleEntry<[]>;
6683
7134
  /**
6684
7135
  * Disallow unreadable IIFEs.
6685
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-iife.md
7136
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-unreadable-iife.md
6686
7137
  */
6687
7138
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>;
7139
+ /**
7140
+ * Disallow unreadable `new` expressions.
7141
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-unreadable-new-expression.md
7142
+ */
7143
+ 'unicorn/no-unreadable-new-expression'?: Linter.RuleEntry<[]>;
7144
+ /**
7145
+ * Disallow unreadable object destructuring.
7146
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-unreadable-object-destructuring.md
7147
+ */
7148
+ 'unicorn/no-unreadable-object-destructuring'?: Linter.RuleEntry<[]>;
7149
+ /**
7150
+ * Prevent unsafe use of ArrayBuffer view `.buffer`.
7151
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-unsafe-buffer-conversion.md
7152
+ */
7153
+ 'unicorn/no-unsafe-buffer-conversion'?: Linter.RuleEntry<[]>;
7154
+ /**
7155
+ * Disallow unsafe DOM HTML APIs.
7156
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-unsafe-dom-html.md
7157
+ */
7158
+ 'unicorn/no-unsafe-dom-html'?: Linter.RuleEntry<[]>;
7159
+ /**
7160
+ * Disallow reading `.value` from `Promise.allSettled()` results without a fulfilled status guard.
7161
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-unsafe-promise-all-settled-values.md
7162
+ */
7163
+ 'unicorn/no-unsafe-promise-all-settled-values'?: Linter.RuleEntry<[]>;
7164
+ /**
7165
+ * Disallow unsafe values as property keys.
7166
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-unsafe-property-key.md
7167
+ */
7168
+ 'unicorn/no-unsafe-property-key'?: Linter.RuleEntry<[]>;
7169
+ /**
7170
+ * Disallow non-literal replacement values in `String#replace()` and `String#replaceAll()`.
7171
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-unsafe-string-replacement.md
7172
+ */
7173
+ 'unicorn/no-unsafe-string-replacement'?: Linter.RuleEntry<[]>;
7174
+ /**
7175
+ * Disallow ignoring the return value of selected array methods.
7176
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-unused-array-method-return.md
7177
+ */
7178
+ 'unicorn/no-unused-array-method-return'?: Linter.RuleEntry<[]>;
6688
7179
  /**
6689
7180
  * Disallow unused object properties.
6690
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unused-properties.md
7181
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-unused-properties.md
6691
7182
  */
6692
7183
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>;
7184
+ /**
7185
+ * Disallow unnecessary `Boolean()` casts in array predicate callbacks.
7186
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-useless-boolean-cast.md
7187
+ */
7188
+ 'unicorn/no-useless-boolean-cast'?: Linter.RuleEntry<[]>;
7189
+ /**
7190
+ * Disallow useless type coercions of values that are already of the target type.
7191
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-useless-coercion.md
7192
+ */
7193
+ 'unicorn/no-useless-coercion'?: Linter.RuleEntry<[]>;
6693
7194
  /**
6694
7195
  * Disallow useless values or fallbacks in `Set`, `Map`, `WeakSet`, or `WeakMap`.
6695
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-collection-argument.md
7196
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-useless-collection-argument.md
6696
7197
  */
6697
7198
  'unicorn/no-useless-collection-argument'?: Linter.RuleEntry<[]>;
7199
+ /**
7200
+ * Disallow useless compound assignments such as `x += 0`.
7201
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-useless-compound-assignment.md
7202
+ */
7203
+ 'unicorn/no-useless-compound-assignment'?: Linter.RuleEntry<[]>;
7204
+ /**
7205
+ * Disallow useless concatenation of literals.
7206
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-useless-concat.md
7207
+ */
7208
+ 'unicorn/no-useless-concat'?: Linter.RuleEntry<[]>;
7209
+ /**
7210
+ * Disallow useless `continue` statements.
7211
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-useless-continue.md
7212
+ */
7213
+ 'unicorn/no-useless-continue'?: Linter.RuleEntry<[]>;
7214
+ /**
7215
+ * Disallow unnecessary existence checks before deletion.
7216
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-useless-delete-check.md
7217
+ */
7218
+ 'unicorn/no-useless-delete-check'?: Linter.RuleEntry<[]>;
7219
+ /**
7220
+ * Disallow `else` after a statement that exits.
7221
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-useless-else.md
7222
+ */
7223
+ 'unicorn/no-useless-else'?: Linter.RuleEntry<[]>;
6698
7224
  /**
6699
7225
  * Disallow unnecessary `Error.captureStackTrace(…)`.
6700
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-error-capture-stack-trace.md
7226
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-useless-error-capture-stack-trace.md
6701
7227
  */
6702
7228
  'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>;
6703
7229
  /**
6704
7230
  * Disallow useless fallback when spreading in object literals.
6705
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-fallback-in-spread.md
7231
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-useless-fallback-in-spread.md
6706
7232
  */
6707
7233
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>;
6708
7234
  /**
6709
7235
  * Disallow unnecessary `.toArray()` on iterators.
6710
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-iterator-to-array.md
7236
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-useless-iterator-to-array.md
6711
7237
  */
6712
7238
  'unicorn/no-useless-iterator-to-array'?: Linter.RuleEntry<[]>;
6713
7239
  /**
6714
7240
  * Disallow useless array length check.
6715
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-length-check.md
7241
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-useless-length-check.md
6716
7242
  */
6717
7243
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>;
7244
+ /**
7245
+ * Disallow unnecessary operands in logical expressions involving boolean literals.
7246
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-useless-logical-operand.md
7247
+ */
7248
+ 'unicorn/no-useless-logical-operand'?: Linter.RuleEntry<[]>;
7249
+ /**
7250
+ * Disallow useless overrides of class methods.
7251
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-useless-override.md
7252
+ */
7253
+ 'unicorn/no-useless-override'?: Linter.RuleEntry<[]>;
6718
7254
  /**
6719
7255
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
6720
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-promise-resolve-reject.md
7256
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-useless-promise-resolve-reject.md
6721
7257
  */
6722
7258
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>;
7259
+ /**
7260
+ * Disallow simple recursive function calls that can be replaced with a loop.
7261
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-useless-recursion.md
7262
+ */
7263
+ 'unicorn/no-useless-recursion'?: Linter.RuleEntry<[]>;
6723
7264
  /**
6724
7265
  * Disallow unnecessary spread.
6725
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-spread.md
7266
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-useless-spread.md
6726
7267
  */
6727
7268
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>;
6728
7269
  /**
6729
7270
  * Disallow useless case in switch statements.
6730
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-switch-case.md
7271
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-useless-switch-case.md
6731
7272
  */
6732
7273
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>;
7274
+ /**
7275
+ * Disallow useless template literal expressions.
7276
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-useless-template-literals.md
7277
+ */
7278
+ 'unicorn/no-useless-template-literals'?: Linter.RuleEntry<[]>;
6733
7279
  /**
6734
7280
  * Disallow useless `undefined`.
6735
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-undefined.md
7281
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-useless-undefined.md
6736
7282
  */
6737
7283
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>;
7284
+ /**
7285
+ * Disallow the bitwise XOR operator where exponentiation was likely intended.
7286
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-xor-as-exponentiation.md
7287
+ */
7288
+ 'unicorn/no-xor-as-exponentiation'?: Linter.RuleEntry<[]>;
6738
7289
  /**
6739
7290
  * Disallow number literals with zero fractions or dangling dots.
6740
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-zero-fractions.md
7291
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/no-zero-fractions.md
6741
7292
  */
6742
7293
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>;
6743
7294
  /**
6744
7295
  * Enforce proper case for numeric literals.
6745
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/number-literal-case.md
7296
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/number-literal-case.md
6746
7297
  */
6747
7298
  'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>;
6748
7299
  /**
6749
7300
  * Enforce the style of numeric separators by correctly grouping digits.
6750
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/numeric-separators-style.md
7301
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/numeric-separators-style.md
6751
7302
  */
6752
7303
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>;
7304
+ /**
7305
+ * Require assignment operator shorthand where possible.
7306
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/operator-assignment.md
7307
+ */
7308
+ 'unicorn/operator-assignment'?: Linter.RuleEntry<UnicornOperatorAssignment>;
7309
+ /**
7310
+ * Prefer `AbortSignal.any()` over manually forwarding abort events between signals.
7311
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-abort-signal-any.md
7312
+ */
7313
+ 'unicorn/prefer-abort-signal-any'?: Linter.RuleEntry<[]>;
7314
+ /**
7315
+ * Prefer `AbortSignal.timeout()` over manually aborting an `AbortController` with `setTimeout()`.
7316
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-abort-signal-timeout.md
7317
+ */
7318
+ 'unicorn/prefer-abort-signal-timeout'?: Linter.RuleEntry<[]>;
6753
7319
  /**
6754
7320
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
6755
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-add-event-listener.md
7321
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-add-event-listener.md
6756
7322
  */
6757
7323
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>;
7324
+ /**
7325
+ * Prefer an options object over a boolean in `.addEventListener()`.
7326
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-add-event-listener-options.md
7327
+ */
7328
+ 'unicorn/prefer-add-event-listener-options'?: Linter.RuleEntry<[]>;
7329
+ /**
7330
+ * Prefer `AggregateError` when throwing collected errors.
7331
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-aggregate-error.md
7332
+ */
7333
+ 'unicorn/prefer-aggregate-error'?: Linter.RuleEntry<[]>;
6758
7334
  /**
6759
7335
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
6760
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-find.md
7336
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-array-find.md
6761
7337
  */
6762
7338
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>;
6763
7339
  /**
6764
7340
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
6765
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-flat.md
7341
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-array-flat.md
6766
7342
  */
6767
7343
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>;
6768
7344
  /**
6769
- * Prefer `.flatMap(…)` over `.map(…).flat()`.
6770
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-flat-map.md
7345
+ * Prefer `.flatMap(…)` over `.map(…).flat()` and `.filter(…).flatMap(…)`.
7346
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-array-flat-map.md
6771
7347
  */
6772
7348
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>;
7349
+ /**
7350
+ * Prefer `Array.fromAsync()` over `for await…of` array accumulation.
7351
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-array-from-async.md
7352
+ */
7353
+ 'unicorn/prefer-array-from-async'?: Linter.RuleEntry<[]>;
7354
+ /**
7355
+ * Prefer using the `Array.from()` mapping function argument.
7356
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-array-from-map.md
7357
+ */
7358
+ 'unicorn/prefer-array-from-map'?: Linter.RuleEntry<[]>;
7359
+ /**
7360
+ * Prefer `Array.from({length}, …)` when creating range arrays.
7361
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-array-from-range.md
7362
+ */
7363
+ 'unicorn/prefer-array-from-range'?: Linter.RuleEntry<[]>;
6773
7364
  /**
6774
7365
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
6775
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-index-of.md
7366
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-array-index-of.md
6776
7367
  */
6777
7368
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>;
7369
+ /**
7370
+ * Prefer iterating an array directly or with `Array#keys()` over `Array#entries()` when the index or value is unused.
7371
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-array-iterable-methods.md
7372
+ */
7373
+ 'unicorn/prefer-array-iterable-methods'?: Linter.RuleEntry<[]>;
7374
+ /**
7375
+ * Prefer last-oriented array methods over `Array#reverse()` or `Array#toReversed()` followed by a method.
7376
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-array-last-methods.md
7377
+ */
7378
+ 'unicorn/prefer-array-last-methods'?: Linter.RuleEntry<[]>;
7379
+ /**
7380
+ * Prefer `Array#slice()` over `Array#splice()` when reading from the returned array.
7381
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-array-slice.md
7382
+ */
7383
+ 'unicorn/prefer-array-slice'?: Linter.RuleEntry<[]>;
6778
7384
  /**
6779
7385
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
6780
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-some.md
7386
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-array-some.md
6781
7387
  */
6782
7388
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>;
6783
7389
  /**
6784
7390
  * Prefer `.at()` method for index access and `String#charAt()`.
6785
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-at.md
7391
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-at.md
6786
7392
  */
6787
7393
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>;
7394
+ /**
7395
+ * Prefer `await` over promise chaining.
7396
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-await.md
7397
+ */
7398
+ 'unicorn/prefer-await'?: Linter.RuleEntry<[]>;
6788
7399
  /**
6789
7400
  * Prefer `BigInt` literals over the constructor.
6790
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-bigint-literals.md
7401
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-bigint-literals.md
6791
7402
  */
6792
7403
  'unicorn/prefer-bigint-literals'?: Linter.RuleEntry<[]>;
6793
7404
  /**
6794
7405
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
6795
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-blob-reading-methods.md
7406
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-blob-reading-methods.md
6796
7407
  */
6797
7408
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>;
7409
+ /**
7410
+ * Prefer block statements over IIFEs used only for scoping.
7411
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-block-statement-over-iife.md
7412
+ */
7413
+ 'unicorn/prefer-block-statement-over-iife'?: Linter.RuleEntry<[]>;
7414
+ /**
7415
+ * Prefer directly returning boolean expressions over `if` statements.
7416
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-boolean-return.md
7417
+ */
7418
+ 'unicorn/prefer-boolean-return'?: Linter.RuleEntry<[]>;
6798
7419
  /**
6799
7420
  * Prefer class field declarations over `this` assignments in constructors.
6800
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-class-fields.md
7421
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-class-fields.md
6801
7422
  */
6802
7423
  'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>;
6803
7424
  /**
6804
7425
  * Prefer using `Element#classList.toggle()` to toggle class names.
6805
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-classlist-toggle.md
7426
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-classlist-toggle.md
6806
7427
  */
6807
7428
  'unicorn/prefer-classlist-toggle'?: Linter.RuleEntry<[]>;
6808
7429
  /**
6809
7430
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
6810
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-code-point.md
7431
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-code-point.md
6811
7432
  */
6812
7433
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>;
7434
+ /**
7435
+ * Prefer early continues over whole-loop conditional wrapping.
7436
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-continue.md
7437
+ */
7438
+ 'unicorn/prefer-continue'?: Linter.RuleEntry<UnicornPreferContinue>;
6813
7439
  /**
6814
7440
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
6815
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-date-now.md
7441
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-date-now.md
6816
7442
  */
6817
7443
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>;
6818
7444
  /**
6819
7445
  * Prefer default parameters over reassignment.
6820
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-default-parameters.md
7446
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-default-parameters.md
6821
7447
  */
6822
7448
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>;
6823
7449
  /**
6824
- * Prefer `Node#append()` over `Node#appendChild()`.
6825
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-append.md
7450
+ * Prefer direct iteration over default iterator method calls.
7451
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-direct-iteration.md
7452
+ */
7453
+ 'unicorn/prefer-direct-iteration'?: Linter.RuleEntry<[]>;
7454
+ /**
7455
+ * Prefer using `using`/`await using` over manual `try`/`finally` resource disposal.
7456
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-dispose.md
7457
+ */
7458
+ 'unicorn/prefer-dispose'?: Linter.RuleEntry<[]>;
7459
+ /**
7460
+ * Prefer `Element#append()` over `Node#appendChild()`.
7461
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-dom-node-append.md
6826
7462
  */
6827
7463
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>;
6828
7464
  /**
6829
- * Prefer using `.dataset` on DOM elements over calling attribute methods.
6830
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-dataset.md
7465
+ * Renamed to `unicorn/dom-node-dataset`.
7466
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/deleted-and-deprecated-rules.md#prefer-dom-node-dataset
7467
+ * @deprecated
6831
7468
  */
6832
7469
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>;
7470
+ /**
7471
+ * Prefer `.getHTML()` and `.setHTML()` over `.innerHTML`.
7472
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-dom-node-html-methods.md
7473
+ */
7474
+ 'unicorn/prefer-dom-node-html-methods'?: Linter.RuleEntry<[]>;
6833
7475
  /**
6834
7476
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
6835
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-remove.md
7477
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-dom-node-remove.md
6836
7478
  */
6837
7479
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>;
7480
+ /**
7481
+ * Prefer `.replaceChildren()` when emptying DOM children.
7482
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-dom-node-replace-children.md
7483
+ */
7484
+ 'unicorn/prefer-dom-node-replace-children'?: Linter.RuleEntry<[]>;
6838
7485
  /**
6839
7486
  * Prefer `.textContent` over `.innerText`.
6840
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-text-content.md
7487
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-dom-node-text-content.md
6841
7488
  */
6842
7489
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>;
7490
+ /**
7491
+ * Prefer early returns over full-function conditional wrapping.
7492
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-early-return.md
7493
+ */
7494
+ 'unicorn/prefer-early-return'?: Linter.RuleEntry<UnicornPreferEarlyReturn>;
7495
+ /**
7496
+ * Prefer `else if` over adjacent `if` statements with related conditions.
7497
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-else-if.md
7498
+ */
7499
+ 'unicorn/prefer-else-if'?: Linter.RuleEntry<[]>;
7500
+ /**
7501
+ * Prefer `Error.isError()` when checking for errors.
7502
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-error-is-error.md
7503
+ */
7504
+ 'unicorn/prefer-error-is-error'?: Linter.RuleEntry<[]>;
6843
7505
  /**
6844
7506
  * Prefer `EventTarget` over `EventEmitter`.
6845
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-event-target.md
7507
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-event-target.md
6846
7508
  */
6847
7509
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>;
6848
7510
  /**
6849
7511
  * Prefer `export…from` when re-exporting.
6850
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-export-from.md
7512
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-export-from.md
6851
7513
  */
6852
7514
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>;
7515
+ /**
7516
+ * Prefer flat `Math.min()` and `Math.max()` calls over nested calls.
7517
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-flat-math-min-max.md
7518
+ */
7519
+ 'unicorn/prefer-flat-math-min-max'?: Linter.RuleEntry<[]>;
7520
+ /**
7521
+ * Prefer `.getOrInsertComputed()` when the default value has side effects.
7522
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-get-or-insert-computed.md
7523
+ */
7524
+ 'unicorn/prefer-get-or-insert-computed'?: Linter.RuleEntry<[]>;
7525
+ /**
7526
+ * Prefer global numeric constants over `Number` static properties.
7527
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-global-number-constants.md
7528
+ */
7529
+ 'unicorn/prefer-global-number-constants'?: Linter.RuleEntry<[]>;
6853
7530
  /**
6854
7531
  * Prefer `globalThis` over `window`, `self`, and `global`.
6855
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-global-this.md
7532
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-global-this.md
6856
7533
  */
6857
7534
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>;
7535
+ /**
7536
+ * Prefer `Object.groupBy()` or `Map.groupBy()` over reduce-based grouping.
7537
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-group-by.md
7538
+ */
7539
+ 'unicorn/prefer-group-by'?: Linter.RuleEntry<[]>;
7540
+ /**
7541
+ * Prefer `.has()` when checking existence.
7542
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-has-check.md
7543
+ */
7544
+ 'unicorn/prefer-has-check'?: Linter.RuleEntry<[]>;
7545
+ /**
7546
+ * Prefer moving code shared by all branches of an `if` statement out of the branches.
7547
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-hoisting-branch-code.md
7548
+ */
7549
+ 'unicorn/prefer-hoisting-branch-code'?: Linter.RuleEntry<[]>;
7550
+ /**
7551
+ * Prefer HTTPS over HTTP.
7552
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-https.md
7553
+ */
7554
+ 'unicorn/prefer-https'?: Linter.RuleEntry<[]>;
7555
+ /**
7556
+ * Prefer identifiers over string literals in import and export specifiers.
7557
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-identifier-import-export-specifiers.md
7558
+ */
7559
+ 'unicorn/prefer-identifier-import-export-specifiers'?: Linter.RuleEntry<[]>;
6858
7560
  /**
6859
7561
  * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
6860
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-import-meta-properties.md
7562
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-import-meta-properties.md
6861
7563
  */
6862
7564
  'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>;
6863
7565
  /**
6864
7566
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
6865
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-includes.md
7567
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-includes.md
6866
7568
  */
6867
7569
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>;
6868
7570
  /**
6869
- * Prefer reading a JSON file as a buffer.
6870
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-json-parse-buffer.md
7571
+ * Prefer `.includes()` over repeated equality comparisons.
7572
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-includes-over-repeated-comparisons.md
7573
+ */
7574
+ 'unicorn/prefer-includes-over-repeated-comparisons'?: Linter.RuleEntry<UnicornPreferIncludesOverRepeatedComparisons>;
7575
+ /**
7576
+ * Prefer passing iterables directly to constructors instead of filling empty collections.
7577
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-iterable-in-constructor.md
7578
+ */
7579
+ 'unicorn/prefer-iterable-in-constructor'?: Linter.RuleEntry<[]>;
7580
+ /**
7581
+ * Prefer `Iterator.concat(…)` over temporary spread arrays.
7582
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-iterator-concat.md
7583
+ */
7584
+ 'unicorn/prefer-iterator-concat'?: Linter.RuleEntry<[]>;
7585
+ /**
7586
+ * Prefer iterator helpers over temporary arrays from iterators.
7587
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-iterator-helpers.md
7588
+ */
7589
+ 'unicorn/prefer-iterator-helpers'?: Linter.RuleEntry<[]>;
7590
+ /**
7591
+ * Prefer `Iterator#toArray()` over temporary arrays from iterator spreads.
7592
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-iterator-to-array.md
7593
+ */
7594
+ 'unicorn/prefer-iterator-to-array'?: Linter.RuleEntry<[]>;
7595
+ /**
7596
+ * Prefer moving `.toArray()` to the end of iterator helper chains.
7597
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-iterator-to-array-at-end.md
7598
+ */
7599
+ 'unicorn/prefer-iterator-to-array-at-end'?: Linter.RuleEntry<[]>;
7600
+ /**
7601
+ * Renamed to `unicorn/consistent-json-file-read`.
7602
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/deleted-and-deprecated-rules.md#prefer-json-parse-buffer
7603
+ * @deprecated
6871
7604
  */
6872
7605
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>;
6873
7606
  /**
6874
- * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
6875
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-keyboard-event-key.md
7607
+ * Prefer `KeyboardEvent#key` over deprecated keyboard event properties.
7608
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-keyboard-event-key.md
6876
7609
  */
6877
7610
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>;
7611
+ /**
7612
+ * Prefer `location.assign()` over assigning to `location.href`.
7613
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-location-assign.md
7614
+ */
7615
+ 'unicorn/prefer-location-assign'?: Linter.RuleEntry<[]>;
6878
7616
  /**
6879
7617
  * Prefer using a logical operator over a ternary.
6880
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-logical-operator-over-ternary.md
7618
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-logical-operator-over-ternary.md
6881
7619
  */
6882
7620
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>;
7621
+ /**
7622
+ * Prefer `new Map()` over `Object.fromEntries()` when using the result as a map.
7623
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-map-from-entries.md
7624
+ */
7625
+ 'unicorn/prefer-map-from-entries'?: Linter.RuleEntry<[]>;
7626
+ /**
7627
+ * Prefer `Math.abs()` over manual absolute value expressions and symmetric range checks.
7628
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-math-abs.md
7629
+ */
7630
+ 'unicorn/prefer-math-abs'?: Linter.RuleEntry<[]>;
7631
+ /**
7632
+ * Prefer `Math` constants over their approximate numeric values.
7633
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-math-constants.md
7634
+ */
7635
+ 'unicorn/prefer-math-constants'?: Linter.RuleEntry<[]>;
6883
7636
  /**
6884
7637
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
6885
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-math-min-max.md
7638
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-math-min-max.md
6886
7639
  */
6887
7640
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>;
6888
7641
  /**
6889
- * Enforce the use of `Math.trunc` instead of bitwise operators.
6890
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-math-trunc.md
7642
+ * Prefer `Math.trunc()` for truncating numbers.
7643
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-math-trunc.md
6891
7644
  */
6892
7645
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>;
6893
7646
  /**
6894
- * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
6895
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-modern-dom-apis.md
7647
+ * Prefer moving ternaries into the minimal varying part of an expression.
7648
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-minimal-ternary.md
7649
+ */
7650
+ 'unicorn/prefer-minimal-ternary'?: Linter.RuleEntry<UnicornPreferMinimalTernary>;
7651
+ /**
7652
+ * Prefer modern DOM APIs.
7653
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-modern-dom-apis.md
6896
7654
  */
6897
7655
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>;
6898
7656
  /**
6899
7657
  * Prefer modern `Math` APIs over legacy patterns.
6900
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-modern-math-apis.md
7658
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-modern-math-apis.md
6901
7659
  */
6902
7660
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>;
6903
7661
  /**
6904
7662
  * Prefer JavaScript modules (ESM) over CommonJS.
6905
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-module.md
7663
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-module.md
6906
7664
  */
6907
7665
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>;
6908
7666
  /**
6909
7667
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
6910
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-native-coercion-functions.md
7668
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-native-coercion-functions.md
6911
7669
  */
6912
7670
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>;
6913
7671
  /**
6914
7672
  * Prefer negative index over `.length - index` when possible.
6915
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-negative-index.md
7673
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-negative-index.md
6916
7674
  */
6917
7675
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>;
6918
7676
  /**
6919
7677
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
6920
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-node-protocol.md
7678
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-node-protocol.md
6921
7679
  */
6922
7680
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>;
6923
7681
  /**
6924
- * Prefer `Number` static properties over global ones.
6925
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-number-properties.md
7682
+ * Prefer `Number()` over `parseFloat()` and base-10 `parseInt()`.
7683
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-number-coercion.md
7684
+ */
7685
+ 'unicorn/prefer-number-coercion'?: Linter.RuleEntry<[]>;
7686
+ /**
7687
+ * Prefer `Number.isSafeInteger()` over integer checks.
7688
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-number-is-safe-integer.md
7689
+ */
7690
+ 'unicorn/prefer-number-is-safe-integer'?: Linter.RuleEntry<[]>;
7691
+ /**
7692
+ * Prefer `Number` static methods over global functions and optionally static properties over global constants.
7693
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-number-properties.md
6926
7694
  */
6927
7695
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>;
7696
+ /**
7697
+ * Prefer `Object.defineProperties()` over multiple `Object.defineProperty()` calls.
7698
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-object-define-properties.md
7699
+ */
7700
+ 'unicorn/prefer-object-define-properties'?: Linter.RuleEntry<[]>;
7701
+ /**
7702
+ * Prefer object destructuring defaults over default object literals with spread.
7703
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-object-destructuring-defaults.md
7704
+ */
7705
+ 'unicorn/prefer-object-destructuring-defaults'?: Linter.RuleEntry<[]>;
6928
7706
  /**
6929
7707
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
6930
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-object-from-entries.md
7708
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-object-from-entries.md
6931
7709
  */
6932
7710
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>;
7711
+ /**
7712
+ * Prefer the most specific `Object` iterable method.
7713
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-object-iterable-methods.md
7714
+ */
7715
+ 'unicorn/prefer-object-iterable-methods'?: Linter.RuleEntry<[]>;
7716
+ /**
7717
+ * Prefer observer APIs over resize and scroll listeners with layout reads.
7718
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-observer-apis.md
7719
+ */
7720
+ 'unicorn/prefer-observer-apis'?: Linter.RuleEntry<[]>;
6933
7721
  /**
6934
7722
  * Prefer omitting the `catch` binding parameter.
6935
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-optional-catch-binding.md
7723
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-optional-catch-binding.md
6936
7724
  */
6937
7725
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>;
7726
+ /**
7727
+ * Prefer `Path2D` for repeatedly drawn canvas paths.
7728
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-path2d.md
7729
+ */
7730
+ 'unicorn/prefer-path2d'?: Linter.RuleEntry<[]>;
7731
+ /**
7732
+ * Prefer private class fields over the underscore-prefix convention.
7733
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-private-class-fields.md
7734
+ */
7735
+ 'unicorn/prefer-private-class-fields'?: Linter.RuleEntry<[]>;
7736
+ /**
7737
+ * Prefer `Promise.try()` over promise-wrapping boilerplate.
7738
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-promise-try.md
7739
+ */
7740
+ 'unicorn/prefer-promise-try'?: Linter.RuleEntry<[]>;
7741
+ /**
7742
+ * Prefer `Promise.withResolvers()` when extracting resolver functions from `new Promise()`.
7743
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-promise-with-resolvers.md
7744
+ */
7745
+ 'unicorn/prefer-promise-with-resolvers'?: Linter.RuleEntry<[]>;
6938
7746
  /**
6939
7747
  * Prefer borrowing methods from the prototype instead of the instance.
6940
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-prototype-methods.md
7748
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-prototype-methods.md
6941
7749
  */
6942
7750
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>;
6943
7751
  /**
6944
- * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
6945
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-query-selector.md
7752
+ * Prefer `.querySelector()` and `.querySelectorAll()` over older DOM query methods.
7753
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-query-selector.md
6946
7754
  */
6947
- 'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>;
7755
+ 'unicorn/prefer-query-selector'?: Linter.RuleEntry<UnicornPreferQuerySelector>;
7756
+ /**
7757
+ * Prefer `queueMicrotask()` over `process.nextTick()`, `setImmediate()`, and `setTimeout(…, 0)`.
7758
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-queue-microtask.md
7759
+ */
7760
+ 'unicorn/prefer-queue-microtask'?: Linter.RuleEntry<UnicornPreferQueueMicrotask>;
6948
7761
  /**
6949
7762
  * Prefer `Reflect.apply()` over `Function#apply()`.
6950
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-reflect-apply.md
7763
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-reflect-apply.md
6951
7764
  */
6952
7765
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>;
6953
7766
  /**
6954
- * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
6955
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-regexp-test.md
7767
+ * Prefer `RegExp.escape()` for escaping strings to use in regular expressions.
7768
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-regexp-escape.md
7769
+ */
7770
+ 'unicorn/prefer-regexp-escape'?: Linter.RuleEntry<[]>;
7771
+ /**
7772
+ * Prefer `RegExp#test()` over `String#match()`, `String#search()`, and `RegExp#exec()`.
7773
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-regexp-test.md
6956
7774
  */
6957
7775
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>;
6958
7776
  /**
6959
7777
  * Prefer `Response.json()` over `new Response(JSON.stringify())`.
6960
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-response-static-json.md
7778
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-response-static-json.md
6961
7779
  */
6962
7780
  'unicorn/prefer-response-static-json'?: Linter.RuleEntry<[]>;
7781
+ /**
7782
+ * Prefer `:scope` when using element query selector methods.
7783
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-scoped-selector.md
7784
+ */
7785
+ 'unicorn/prefer-scoped-selector'?: Linter.RuleEntry<[]>;
6963
7786
  /**
6964
7787
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
6965
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-set-has.md
7788
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-set-has.md
6966
7789
  */
6967
- 'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>;
7790
+ 'unicorn/prefer-set-has'?: Linter.RuleEntry<UnicornPreferSetHas>;
7791
+ /**
7792
+ * Prefer `Set` methods for Set operations.
7793
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-set-methods.md
7794
+ */
7795
+ 'unicorn/prefer-set-methods'?: Linter.RuleEntry<[]>;
6968
7796
  /**
6969
7797
  * Prefer using `Set#size` instead of `Array#length`.
6970
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-set-size.md
7798
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-set-size.md
6971
7799
  */
6972
7800
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>;
7801
+ /**
7802
+ * Prefer arrow function properties over methods with a single return.
7803
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-short-arrow-method.md
7804
+ */
7805
+ 'unicorn/prefer-short-arrow-method'?: Linter.RuleEntry<[]>;
6973
7806
  /**
6974
7807
  * Prefer simple conditions first in logical expressions.
6975
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-simple-condition-first.md
7808
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-simple-condition-first.md
6976
7809
  */
6977
7810
  'unicorn/prefer-simple-condition-first'?: Linter.RuleEntry<[]>;
6978
7811
  /**
6979
- * Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
6980
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-single-call.md
7812
+ * Prefer a simple comparison function for `Array#sort()`.
7813
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-simple-sort-comparator.md
7814
+ */
7815
+ 'unicorn/prefer-simple-sort-comparator'?: Linter.RuleEntry<[]>;
7816
+ /**
7817
+ * Prefer simplified conditions.
7818
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-simplified-conditions.md
7819
+ */
7820
+ 'unicorn/prefer-simplified-conditions'?: Linter.RuleEntry<[]>;
7821
+ /**
7822
+ * Prefer a single `Array#some()` or `Array#every()` with a combined predicate.
7823
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-single-array-predicate.md
7824
+ */
7825
+ 'unicorn/prefer-single-array-predicate'?: Linter.RuleEntry<[]>;
7826
+ /**
7827
+ * Enforce combining multiple `Array#{push,unshift}()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
7828
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-single-call.md
6981
7829
  */
6982
7830
  'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>;
6983
7831
  /**
6984
- * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
6985
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-spread.md
7832
+ * Prefer a single object destructuring declaration per local const source.
7833
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-single-object-destructuring.md
7834
+ */
7835
+ 'unicorn/prefer-single-object-destructuring'?: Linter.RuleEntry<[]>;
7836
+ /**
7837
+ * Enforce combining multiple single-character replacements into a single `String#replaceAll()` with a regular expression.
7838
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-single-replace.md
7839
+ */
7840
+ 'unicorn/prefer-single-replace'?: Linter.RuleEntry<[]>;
7841
+ /**
7842
+ * Prefer declaring variables in the smallest possible scope.
7843
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-smaller-scope.md
7844
+ */
7845
+ 'unicorn/prefer-smaller-scope'?: Linter.RuleEntry<[]>;
7846
+ /**
7847
+ * Prefer `String#split()` with a limit.
7848
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-split-limit.md
7849
+ */
7850
+ 'unicorn/prefer-split-limit'?: Linter.RuleEntry<[]>;
7851
+ /**
7852
+ * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()`, and trivial `for…of` copies.
7853
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-spread.md
6986
7854
  */
6987
7855
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>;
7856
+ /**
7857
+ * Prefer `String#matchAll()` over `RegExp#exec()` loops.
7858
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-string-match-all.md
7859
+ */
7860
+ 'unicorn/prefer-string-match-all'?: Linter.RuleEntry<[]>;
7861
+ /**
7862
+ * Prefer `String#padStart()` and `String#padEnd()` over manual string padding.
7863
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-string-pad-start-end.md
7864
+ */
7865
+ 'unicorn/prefer-string-pad-start-end'?: Linter.RuleEntry<[]>;
6988
7866
  /**
6989
7867
  * Prefer using the `String.raw` tag to avoid escaping `\`.
6990
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-raw.md
7868
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-string-raw.md
6991
7869
  */
6992
7870
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>;
6993
7871
  /**
6994
- * Prefer `String#replaceAll()` over regex searches with the global flag.
6995
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-replace-all.md
7872
+ * Prefer `String#repeat()` for repeated whitespace.
7873
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-string-repeat.md
7874
+ */
7875
+ 'unicorn/prefer-string-repeat'?: Linter.RuleEntry<UnicornPreferStringRepeat>;
7876
+ /**
7877
+ * Prefer `String#replaceAll()` over regex searches with the global flag and `String#split().join()`.
7878
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-string-replace-all.md
6996
7879
  */
6997
7880
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>;
6998
7881
  /**
6999
7882
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
7000
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-slice.md
7883
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-string-slice.md
7001
7884
  */
7002
7885
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>;
7003
7886
  /**
7004
- * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
7005
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-starts-ends-with.md
7887
+ * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()` and `String#indexOf() === 0`.
7888
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-string-starts-ends-with.md
7006
7889
  */
7007
7890
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>;
7008
7891
  /**
7009
7892
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
7010
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-trim-start-end.md
7893
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-string-trim-start-end.md
7011
7894
  */
7012
7895
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>;
7013
7896
  /**
7014
7897
  * Prefer using `structuredClone` to create a deep clone.
7015
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-structured-clone.md
7898
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-structured-clone.md
7016
7899
  */
7017
7900
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>;
7018
7901
  /**
7019
7902
  * Prefer `switch` over multiple `else-if`.
7020
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-switch.md
7903
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-switch.md
7021
7904
  */
7022
7905
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>;
7023
7906
  /**
7024
- * Prefer ternary expressions over simple `if-else` statements.
7025
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-ternary.md
7907
+ * Prefer `Temporal` over `Date`.
7908
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-temporal.md
7909
+ */
7910
+ 'unicorn/prefer-temporal'?: Linter.RuleEntry<UnicornPreferTemporal>;
7911
+ /**
7912
+ * Prefer ternary expressions over simple `if` statements that return or assign values.
7913
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-ternary.md
7026
7914
  */
7027
7915
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>;
7916
+ /**
7917
+ * Prefer using `Element#toggleAttribute()` to toggle attributes.
7918
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-toggle-attribute.md
7919
+ */
7920
+ 'unicorn/prefer-toggle-attribute'?: Linter.RuleEntry<[]>;
7028
7921
  /**
7029
7922
  * Prefer top-level await over top-level promises and async function calls.
7030
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-top-level-await.md
7923
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-top-level-await.md
7031
7924
  */
7032
7925
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>;
7033
7926
  /**
7034
7927
  * Enforce throwing `TypeError` in type checking conditions.
7035
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-type-error.md
7928
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-type-error.md
7036
7929
  */
7037
7930
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>;
7038
7931
  /**
7039
- * Prevent abbreviations.
7040
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prevent-abbreviations.md
7932
+ * Require type literals to be last in union types.
7933
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-type-literal-last.md
7934
+ */
7935
+ 'unicorn/prefer-type-literal-last'?: Linter.RuleEntry<[]>;
7936
+ /**
7937
+ * Prefer `Uint8Array#toBase64()` and `Uint8Array.fromBase64()` over `atob()`, `btoa()`, and `Buffer` base64 conversions.
7938
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-uint8array-base64.md
7041
7939
  */
7042
- 'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>;
7940
+ 'unicorn/prefer-uint8array-base64'?: Linter.RuleEntry<[]>;
7941
+ /**
7942
+ * Prefer the unary minus operator over multiplying or dividing by `-1`.
7943
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-unary-minus.md
7944
+ */
7945
+ 'unicorn/prefer-unary-minus'?: Linter.RuleEntry<[]>;
7946
+ /**
7947
+ * Prefer Unicode code point escapes over legacy escape sequences.
7948
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-unicode-code-point-escapes.md
7949
+ */
7950
+ 'unicorn/prefer-unicode-code-point-escapes'?: Linter.RuleEntry<[]>;
7951
+ /**
7952
+ * Prefer `URL.canParse()` over constructing a `URL` in a try/catch for validation.
7953
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-url-can-parse.md
7954
+ */
7955
+ 'unicorn/prefer-url-can-parse'?: Linter.RuleEntry<[]>;
7956
+ /**
7957
+ * Prefer `URL#href` over stringifying a `URL`.
7958
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-url-href.md
7959
+ */
7960
+ 'unicorn/prefer-url-href'?: Linter.RuleEntry<[]>;
7961
+ /**
7962
+ * Prefer `URLSearchParams` over manually splitting query strings.
7963
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-url-search-parameters.md
7964
+ */
7965
+ 'unicorn/prefer-url-search-parameters'?: Linter.RuleEntry<[]>;
7966
+ /**
7967
+ * Prefer putting the condition in the while statement.
7968
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/prefer-while-loop-condition.md
7969
+ */
7970
+ 'unicorn/prefer-while-loop-condition'?: Linter.RuleEntry<[]>;
7971
+ /**
7972
+ * Renamed to `unicorn/name-replacements`.
7973
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/deleted-and-deprecated-rules.md#prevent-abbreviations
7974
+ * @deprecated
7975
+ */
7976
+ 'unicorn/prevent-abbreviations'?: Linter.RuleEntry<[]>;
7043
7977
  /**
7044
7978
  * Enforce consistent relative URL style.
7045
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/relative-url-style.md
7979
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/relative-url-style.md
7046
7980
  */
7047
7981
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>;
7048
7982
  /**
7049
7983
  * Enforce using the separator argument with `Array#join()`.
7050
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-array-join-separator.md
7984
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/require-array-join-separator.md
7051
7985
  */
7052
7986
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>;
7987
+ /**
7988
+ * Require a compare function when calling `Array#sort()` or `Array#toSorted()`.
7989
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/require-array-sort-compare.md
7990
+ */
7991
+ 'unicorn/require-array-sort-compare'?: Linter.RuleEntry<[]>;
7992
+ /**
7993
+ * Require `CSS.escape()` for interpolated values in CSS selectors.
7994
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/require-css-escape.md
7995
+ */
7996
+ 'unicorn/require-css-escape'?: Linter.RuleEntry<UnicornRequireCssEscape>;
7053
7997
  /**
7054
7998
  * Require non-empty module attributes for imports and exports
7055
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-module-attributes.md
7999
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/require-module-attributes.md
7056
8000
  */
7057
8001
  'unicorn/require-module-attributes'?: Linter.RuleEntry<[]>;
7058
8002
  /**
7059
8003
  * Require non-empty specifier list in import and export statements.
7060
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-module-specifiers.md
8004
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/require-module-specifiers.md
7061
8005
  */
7062
8006
  'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>;
7063
8007
  /**
7064
8008
  * Enforce using the digits argument with `Number#toFixed()`.
7065
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-number-to-fixed-digits-argument.md
8009
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/require-number-to-fixed-digits-argument.md
7066
8010
  */
7067
8011
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>;
8012
+ /**
8013
+ * Require passive event listeners for high-frequency events.
8014
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/require-passive-events.md
8015
+ */
8016
+ 'unicorn/require-passive-events'?: Linter.RuleEntry<[]>;
7068
8017
  /**
7069
8018
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
7070
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-post-message-target-origin.md
8019
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/require-post-message-target-origin.md
7071
8020
  */
7072
8021
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>;
8022
+ /**
8023
+ * Require boolean-returning Proxy traps to return booleans.
8024
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/require-proxy-trap-boolean-return.md
8025
+ */
8026
+ 'unicorn/require-proxy-trap-boolean-return'?: Linter.RuleEntry<[]>;
7073
8027
  /**
7074
8028
  * Enforce better string content.
7075
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/string-content.md
8029
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/string-content.md
7076
8030
  */
7077
8031
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>;
7078
8032
  /**
7079
8033
  * Enforce consistent brace style for `case` clauses.
7080
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/switch-case-braces.md
8034
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/switch-case-braces.md
7081
8035
  */
7082
8036
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>;
7083
8037
  /**
7084
8038
  * Enforce consistent `break`/`return`/`continue`/`throw` position in `case` clauses.
7085
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/switch-case-break-position.md
8039
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/switch-case-break-position.md
7086
8040
  */
7087
8041
  'unicorn/switch-case-break-position'?: Linter.RuleEntry<[]>;
7088
8042
  /**
7089
8043
  * Fix whitespace-insensitive template indentation.
7090
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/template-indent.md
8044
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/template-indent.md
7091
8045
  */
7092
8046
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>;
7093
8047
  /**
7094
8048
  * Enforce consistent case for text encoding identifiers.
7095
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/text-encoding-identifier-case.md
8049
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/text-encoding-identifier-case.md
7096
8050
  */
7097
8051
  'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<UnicornTextEncodingIdentifierCase>;
7098
8052
  /**
7099
8053
  * Require `new` when creating an error.
7100
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/throw-new-error.md
8054
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/throw-new-error.md
7101
8055
  */
7102
8056
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>;
8057
+ /**
8058
+ * Limit the complexity of `try` blocks.
8059
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v71.0.0/docs/rules/try-complexity.md
8060
+ */
8061
+ 'unicorn/try-complexity'?: Linter.RuleEntry<UnicornTryComplexity>;
7103
8062
  /**
7104
8063
  * Utilities in UnoCSS blocklist
7105
8064
  * @see https://unocss.dev/integrations/eslint#rules
@@ -8928,6 +9887,11 @@ interface RuleOptions {
8928
9887
  * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-tab-indent.html
8929
9888
  */
8930
9889
  'yml/no-tab-indent'?: Linter.RuleEntry<[]>;
9890
+ /**
9891
+ * disallow trailing whitespace at the end of lines
9892
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-trailing-spaces.html
9893
+ */
9894
+ 'yml/no-trailing-spaces'?: Linter.RuleEntry<YmlNoTrailingSpaces>;
8931
9895
  /**
8932
9896
  * disallow trailing zeros for floats
8933
9897
  * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-trailing-zeros.html
@@ -8989,6 +9953,7 @@ type EslintCommunityEslintCommentsRequireDescription = [] | [{
8989
9953
  type HtmlEslintAttrsNewline = [] | [{
8990
9954
  closeStyle?: ("newline" | "sameline");
8991
9955
  ifAttrsMoreThan?: number;
9956
+ maxLen?: number;
8992
9957
  skip?: string[];
8993
9958
  inline?: string[];
8994
9959
  }]; // ----- @html-eslint/element-newline -----
@@ -9084,6 +10049,7 @@ type HtmlEslintRequireOpenGraphProtocol = [] | [string[]]; // ----- @html-eslint
9084
10049
  type HtmlEslintSortAttrs = [] | [{
9085
10050
  priority?: (string | {
9086
10051
  pattern: string;
10052
+ order?: ("preserve" | "alphabetically");
9087
10053
  })[];
9088
10054
  }]; // ----- @html-eslint/use-baseline -----
9089
10055
  type HtmlEslintUseBaseline = [] | [{
@@ -10352,7 +11318,7 @@ type ImportXNoAbsolutePath = [] | [{
10352
11318
  commonjs?: boolean;
10353
11319
  amd?: boolean;
10354
11320
  esmodule?: boolean;
10355
- ignore?: [string, ...(string)[]];
11321
+ ignore?: [unknown, ...(unknown)[]];
10356
11322
  }]; // ----- import-x/no-anonymous-default-export -----
10357
11323
  type ImportXNoAnonymousDefaultExport = [] | [{
10358
11324
  allowArray?: boolean;
@@ -10373,7 +11339,7 @@ type ImportXNoCycle = [] | [{
10373
11339
  commonjs?: boolean;
10374
11340
  amd?: boolean;
10375
11341
  esmodule?: boolean;
10376
- ignore?: [string, ...(string)[]];
11342
+ ignore?: [unknown, ...(unknown)[]];
10377
11343
  maxDepth?: (number | "∞");
10378
11344
  ignoreExternal?: boolean;
10379
11345
  allowUnsafeDynamicCyclicDependency?: boolean;
@@ -10414,13 +11380,13 @@ type ImportXNoRelativePackages = [] | [{
10414
11380
  commonjs?: boolean;
10415
11381
  amd?: boolean;
10416
11382
  esmodule?: boolean;
10417
- ignore?: [string, ...(string)[]];
11383
+ ignore?: [unknown, ...(unknown)[]];
10418
11384
  }]; // ----- import-x/no-relative-parent-imports -----
10419
11385
  type ImportXNoRelativeParentImports = [] | [{
10420
11386
  commonjs?: boolean;
10421
11387
  amd?: boolean;
10422
11388
  esmodule?: boolean;
10423
- ignore?: [string, ...(string)[]];
11389
+ ignore?: [unknown, ...(unknown)[]];
10424
11390
  }]; // ----- import-x/no-rename-default -----
10425
11391
  type ImportXNoRenameDefault = [] | [{
10426
11392
  commonjs?: boolean;
@@ -10450,7 +11416,7 @@ type ImportXNoUnresolved = [] | [{
10450
11416
  commonjs?: boolean;
10451
11417
  amd?: boolean;
10452
11418
  esmodule?: boolean;
10453
- ignore?: [string, ...(string)[]];
11419
+ ignore?: [unknown, ...(unknown)[]];
10454
11420
  caseSensitive?: boolean;
10455
11421
  caseSensitiveStrict?: boolean;
10456
11422
  }]; // ----- import-x/no-unused-modules -----
@@ -11869,6 +12835,9 @@ type NoConfusingArrow = [] | [{
11869
12835
  }]; // ----- no-console -----
11870
12836
  type NoConsole = [] | [{
11871
12837
  allow?: [string, ...(string)[]];
12838
+ }]; // ----- no-constant-binary-expression -----
12839
+ type NoConstantBinaryExpression = [] | [{
12840
+ checkRelationalComparisons?: boolean;
11872
12841
  }]; // ----- no-constant-condition -----
11873
12842
  type NoConstantCondition = [] | [{
11874
12843
  checkLoops?: ("all" | "allExceptWhileTrue" | "none" | true | false);
@@ -12581,7 +13550,6 @@ type OxfmtOxfmt = [] | [{
12581
13550
  embeddedLanguageFormatting?: ("auto" | "off");
12582
13551
  endOfLine?: ("lf" | "crlf" | "cr");
12583
13552
  htmlWhitespaceSensitivity?: ("css" | "ignore" | "strict");
12584
- ignorePatterns?: string[];
12585
13553
  insertFinalNewline?: boolean;
12586
13554
  jsdoc?: (boolean | {
12587
13555
  addDefaultToDescription?: boolean;
@@ -16327,43 +17295,110 @@ type TomlSpacedComment = [] | [("always" | "never")] | [("always" | "never"), {
16327
17295
  markers?: string[];
16328
17296
  }]; // ----- toml/table-bracket-spacing -----
16329
17297
  type TomlTableBracketSpacing = [] | [("always" | "never")]; // ----- unicode-bom -----
16330
- type UnicodeBom = [] | [("always" | "never")]; // ----- unicorn/better-regex -----
16331
- type UnicornBetterRegex = [] | [{
16332
- sortCharacterClasses?: boolean;
16333
- }]; // ----- unicorn/catch-error-name -----
17298
+ type UnicodeBom = [] | [("always" | "never")]; // ----- unicorn/catch-error-name -----
16334
17299
  type UnicornCatchErrorName = [] | [{
16335
17300
  name?: string;
16336
17301
  ignore?: unknown[];
16337
- }]; // ----- unicorn/consistent-function-scoping -----
17302
+ }]; // ----- unicorn/class-reference-in-static-methods -----
17303
+ type UnicornClassReferenceInStaticMethods = [] | [{
17304
+ preferThis?: boolean;
17305
+ preferSuper?: boolean;
17306
+ }]; // ----- unicorn/comment-content -----
17307
+ type UnicornCommentContent = [] | [{
17308
+ checkUniformCase?: boolean;
17309
+ extendDefaultReplacements?: boolean;
17310
+ replacements?: {
17311
+ [k: string]: (false | string | {
17312
+ replacement: string;
17313
+ caseSensitive?: boolean;
17314
+ }) | undefined;
17315
+ };
17316
+ }]; // ----- unicorn/consistent-boolean-name -----
17317
+ type UnicornConsistentBooleanName = [] | [{
17318
+ checkProperties?: boolean;
17319
+ prefixes?: {
17320
+ [k: string]: boolean | undefined;
17321
+ };
17322
+ ignore?: unknown[];
17323
+ }]; // ----- unicorn/consistent-class-member-order -----
17324
+ type UnicornConsistentClassMemberOrder = [] | [{
17325
+ order?: [("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method")];
17326
+ }]; // ----- unicorn/consistent-compound-words -----
17327
+ type UnicornConsistentCompoundWords = [] | [{
17328
+ checkProperties?: boolean;
17329
+ checkVariables?: boolean;
17330
+ checkDefaultAndNamespaceImports?: (boolean | "internal");
17331
+ checkShorthandImports?: (boolean | "internal");
17332
+ checkShorthandProperties?: boolean;
17333
+ extendDefaultReplacements?: boolean;
17334
+ replacements?: _UnicornConsistentCompoundWords_Replacements;
17335
+ allowList?: _UnicornConsistentCompoundWords_TrueObject;
17336
+ }];
17337
+ interface _UnicornConsistentCompoundWords_Replacements {
17338
+ [k: string]: (false | string) | undefined;
17339
+ }
17340
+ interface _UnicornConsistentCompoundWords_TrueObject {
17341
+ [k: string]: true | undefined;
17342
+ } // ----- unicorn/consistent-conditional-object-spread -----
17343
+ type UnicornConsistentConditionalObjectSpread = [] | [("logical" | "ternary")]; // ----- unicorn/consistent-export-decorator-position -----
17344
+ type UnicornConsistentExportDecoratorPosition = [] | [("above" | "before" | "after")]; // ----- unicorn/consistent-function-scoping -----
16338
17345
  type UnicornConsistentFunctionScoping = [] | [{
16339
17346
  checkArrowFunctions?: boolean;
17347
+ }]; // ----- unicorn/consistent-function-style -----
17348
+ type UnicornConsistentFunctionStyle = [] | [{
17349
+ default?: ("declaration" | "function-expression" | "arrow-function" | "ignore");
17350
+ namedFunctions?: ("declaration" | "function-expression" | "arrow-function" | "ignore");
17351
+ namedExports?: ("declaration" | "function-expression" | "arrow-function" | "ignore");
17352
+ callbacks?: ("function-expression" | "arrow-function" | "ignore");
17353
+ objectProperties?: ("method" | "function-expression" | "arrow-function" | "ignore");
17354
+ reassignedVariables?: ("function-expression" | "arrow-function" | "ignore");
17355
+ typedVariables?: ("function-expression" | "arrow-function" | "ignore");
17356
+ }]; // ----- unicorn/consistent-json-file-read -----
17357
+ type UnicornConsistentJsonFileRead = [] | [("string" | "buffer")]; // ----- unicorn/default-export-style -----
17358
+ type UnicornDefaultExportStyle = [] | [{
17359
+ functions?: ("inline" | "separate" | "ignore");
17360
+ classes?: ("inline" | "separate" | "ignore");
17361
+ }]; // ----- unicorn/dom-node-dataset -----
17362
+ type UnicornDomNodeDataset = [] | [{
17363
+ preferAttributes?: boolean;
16340
17364
  }]; // ----- unicorn/escape-case -----
16341
17365
  type UnicornEscapeCase = [] | [("uppercase" | "lowercase")]; // ----- unicorn/expiring-todo-comments -----
16342
17366
  type UnicornExpiringTodoComments = [] | [{
16343
17367
  terms?: string[];
16344
17368
  ignore?: unknown[];
16345
- ignoreDates?: boolean;
16346
- ignoreDatesOnPullRequests?: boolean;
17369
+ checkDates?: boolean;
17370
+ checkDatesOnPullRequests?: boolean;
16347
17371
  allowWarningComments?: boolean;
16348
17372
  date?: string;
16349
17373
  }]; // ----- unicorn/explicit-length-check -----
16350
17374
  type UnicornExplicitLengthCheck = [] | [{
16351
17375
  "non-zero"?: ("greater-than" | "not-equal");
16352
- }]; // ----- unicorn/filename-case -----
17376
+ }]; // ----- unicorn/explicit-timer-delay -----
17377
+ type UnicornExplicitTimerDelay = [] | [("always" | "never")]; // ----- unicorn/filename-case -----
16353
17378
  type UnicornFilenameCase = [] | [({
16354
- case?: ("camelCase" | "snakeCase" | "kebabCase" | "pascalCase");
17379
+ case?: ("camelCase" | "camelCaseWithAcronyms" | "snakeCase" | "kebabCase" | "pascalCase");
16355
17380
  ignore?: unknown[];
16356
17381
  multipleFileExtensions?: boolean;
17382
+ checkDirectories?: boolean;
16357
17383
  } | {
16358
17384
  cases?: {
16359
17385
  camelCase?: boolean;
17386
+ camelCaseWithAcronyms?: boolean;
16360
17387
  snakeCase?: boolean;
16361
17388
  kebabCase?: boolean;
16362
17389
  pascalCase?: boolean;
16363
17390
  };
16364
17391
  ignore?: unknown[];
16365
17392
  multipleFileExtensions?: boolean;
16366
- })]; // ----- unicorn/import-style -----
17393
+ checkDirectories?: boolean;
17394
+ })]; // ----- unicorn/id-match -----
17395
+ type UnicornIdMatch = [] | [string] | [string, {
17396
+ properties?: boolean;
17397
+ classFields?: boolean;
17398
+ onlyDeclarations?: boolean;
17399
+ ignoreDestructuring?: boolean;
17400
+ checkNamedSpecifiers?: boolean;
17401
+ }]; // ----- unicorn/import-style -----
16367
17402
  type UnicornImportStyle = [] | [{
16368
17403
  checkImport?: boolean;
16369
17404
  checkDynamicImport?: boolean;
@@ -16386,6 +17421,38 @@ type UnicornIsolatedFunctions = [] | [{
16386
17421
  functions?: string[];
16387
17422
  selectors?: string[];
16388
17423
  comments?: string[];
17424
+ }]; // ----- unicorn/logical-assignment-operators -----
17425
+ type UnicornLogicalAssignmentOperators = (([] | ["always"] | ["always", {
17426
+ enforceForIfStatements?: boolean;
17427
+ }] | ["never"]) & unknown[]); // ----- unicorn/max-nested-calls -----
17428
+ type UnicornMaxNestedCalls = [] | [{
17429
+ max?: number;
17430
+ }]; // ----- unicorn/name-replacements -----
17431
+ type UnicornNameReplacements = [] | [{
17432
+ checkProperties?: boolean;
17433
+ checkVariables?: boolean;
17434
+ checkDefaultAndNamespaceImports?: (boolean | string);
17435
+ checkShorthandImports?: (boolean | string);
17436
+ checkShorthandProperties?: boolean;
17437
+ checkFilenames?: boolean;
17438
+ extendDefaultReplacements?: boolean;
17439
+ replacements?: _UnicornNameReplacements_NameReplacements;
17440
+ extendDefaultAllowList?: boolean;
17441
+ allowList?: _UnicornNameReplacements_BooleanObject1;
17442
+ ignore?: unknown[];
17443
+ }];
17444
+ type _UnicornNameReplacementsReplacements = (false | _UnicornNameReplacements_BooleanObject) | undefined;
17445
+ interface _UnicornNameReplacements_NameReplacements {
17446
+ [k: string]: _UnicornNameReplacementsReplacements | undefined;
17447
+ }
17448
+ interface _UnicornNameReplacements_BooleanObject {
17449
+ [k: string]: boolean | undefined;
17450
+ }
17451
+ interface _UnicornNameReplacements_BooleanObject1 {
17452
+ [k: string]: boolean | undefined;
17453
+ } // ----- unicorn/no-array-callback-reference -----
17454
+ type UnicornNoArrayCallbackReference = [] | [{
17455
+ ignore?: string[];
16389
17456
  }]; // ----- unicorn/no-array-reduce -----
16390
17457
  type UnicornNoArrayReduce = [] | [{
16391
17458
  allowSimpleOperations?: boolean;
@@ -16395,28 +17462,48 @@ type UnicornNoArrayReverse = [] | [{
16395
17462
  }]; // ----- unicorn/no-array-sort -----
16396
17463
  type UnicornNoArraySort = [] | [{
16397
17464
  allowExpressionStatement?: boolean;
17465
+ }]; // ----- unicorn/no-empty-file -----
17466
+ type UnicornNoEmptyFile = [] | [{
17467
+ allowComments?: boolean;
16398
17468
  }]; // ----- unicorn/no-instanceof-builtins -----
16399
17469
  type UnicornNoInstanceofBuiltins = [] | [{
16400
17470
  useErrorIsError?: boolean;
16401
17471
  strategy?: ("loose" | "strict");
16402
17472
  include?: string[];
16403
17473
  exclude?: string[];
17474
+ }]; // ----- unicorn/no-invalid-argument-count -----
17475
+ type UnicornNoInvalidArgumentCount = [] | [{
17476
+ [k: string]: (number | [number, ...(number)[]] | {
17477
+ min?: number;
17478
+ max?: number;
17479
+ }) | undefined;
16404
17480
  }]; // ----- unicorn/no-keyword-prefix -----
16405
17481
  type UnicornNoKeywordPrefix = [] | [{
16406
17482
  disallowedPrefixes?: [] | [string];
16407
17483
  checkProperties?: boolean;
16408
17484
  onlyCamelCase?: boolean;
17485
+ }]; // ----- unicorn/no-negated-comparison -----
17486
+ type UnicornNoNegatedComparison = [] | [{
17487
+ checkLogicalExpressions?: boolean;
17488
+ }]; // ----- unicorn/no-non-function-verb-prefix -----
17489
+ type UnicornNoNonFunctionVerbPrefix = [] | [{
17490
+ verbs?: string[];
17491
+ ignore?: unknown[];
16409
17492
  }]; // ----- unicorn/no-null -----
16410
17493
  type UnicornNoNull = [] | [{
17494
+ checkArguments?: boolean;
16411
17495
  checkStrictEquality?: boolean;
16412
17496
  }]; // ----- unicorn/no-typeof-undefined -----
16413
17497
  type UnicornNoTypeofUndefined = [] | [{
16414
17498
  checkGlobalVariables?: boolean;
16415
17499
  }]; // ----- unicorn/no-unnecessary-polyfills -----
16416
17500
  type UnicornNoUnnecessaryPolyfills = [] | [{
16417
- targets: (string | unknown[] | {
17501
+ targets?: (string | unknown[] | {
16418
17502
  [k: string]: unknown | undefined;
16419
17503
  });
17504
+ }]; // ----- unicorn/no-unreadable-array-destructuring -----
17505
+ type UnicornNoUnreadableArrayDestructuring = [] | [{
17506
+ maximumIgnoredElements?: number;
16420
17507
  }]; // ----- unicorn/no-useless-undefined -----
16421
17508
  type UnicornNoUselessUndefined = [] | [{
16422
17509
  checkArguments?: boolean;
@@ -16445,9 +17532,11 @@ type UnicornNumericSeparatorsStyle = [] | [{
16445
17532
  onlyIfContainsSeparator?: boolean;
16446
17533
  minimumDigits?: number;
16447
17534
  groupLength?: number;
17535
+ fractionGroupLength?: number;
16448
17536
  };
16449
17537
  onlyIfContainsSeparator?: boolean;
16450
- }]; // ----- unicorn/prefer-add-event-listener -----
17538
+ }]; // ----- unicorn/operator-assignment -----
17539
+ type UnicornOperatorAssignment = [] | [("always" | "never")]; // ----- unicorn/prefer-add-event-listener -----
16451
17540
  type UnicornPreferAddEventListener = [] | [{
16452
17541
  excludedPackages?: string[];
16453
17542
  }]; // ----- unicorn/prefer-array-find -----
@@ -16460,9 +17549,22 @@ type UnicornPreferArrayFlat = [] | [{
16460
17549
  type UnicornPreferAt = [] | [{
16461
17550
  getLastElementFunctions?: unknown[];
16462
17551
  checkAllIndexAccess?: boolean;
17552
+ }]; // ----- unicorn/prefer-continue -----
17553
+ type UnicornPreferContinue = [] | [{
17554
+ maximumStatements?: number;
17555
+ }]; // ----- unicorn/prefer-early-return -----
17556
+ type UnicornPreferEarlyReturn = [] | [{
17557
+ maximumStatements?: number;
16463
17558
  }]; // ----- unicorn/prefer-export-from -----
16464
17559
  type UnicornPreferExportFrom = [] | [{
16465
- ignoreUsedVariables?: boolean;
17560
+ checkUsedVariables?: boolean;
17561
+ }]; // ----- unicorn/prefer-includes-over-repeated-comparisons -----
17562
+ type UnicornPreferIncludesOverRepeatedComparisons = [] | [{
17563
+ minimumComparisons?: number;
17564
+ }]; // ----- unicorn/prefer-minimal-ternary -----
17565
+ type UnicornPreferMinimalTernary = [] | [{
17566
+ checkVaryingCallee?: boolean;
17567
+ checkComputedMemberAccess?: boolean;
16466
17568
  }]; // ----- unicorn/prefer-number-properties -----
16467
17569
  type UnicornPreferNumberProperties = [] | [{
16468
17570
  checkInfinity?: boolean;
@@ -16470,9 +17572,22 @@ type UnicornPreferNumberProperties = [] | [{
16470
17572
  }]; // ----- unicorn/prefer-object-from-entries -----
16471
17573
  type UnicornPreferObjectFromEntries = [] | [{
16472
17574
  functions?: unknown[];
17575
+ }]; // ----- unicorn/prefer-query-selector -----
17576
+ type UnicornPreferQuerySelector = [] | [{
17577
+ allowWithVariables?: boolean;
17578
+ }]; // ----- unicorn/prefer-queue-microtask -----
17579
+ type UnicornPreferQueueMicrotask = [] | [{
17580
+ checkSetImmediate?: boolean;
17581
+ checkSetTimeout?: boolean;
17582
+ }]; // ----- unicorn/prefer-set-has -----
17583
+ type UnicornPreferSetHas = [] | [{
17584
+ minimumItems?: number;
16473
17585
  }]; // ----- unicorn/prefer-single-call -----
16474
17586
  type UnicornPreferSingleCall = [] | [{
16475
17587
  ignore?: unknown[];
17588
+ }]; // ----- unicorn/prefer-string-repeat -----
17589
+ type UnicornPreferStringRepeat = [] | [{
17590
+ minimumRepetitions?: number;
16476
17591
  }]; // ----- unicorn/prefer-structured-clone -----
16477
17592
  type UnicornPreferStructuredClone = [] | [{
16478
17593
  functions?: unknown[];
@@ -16480,42 +17595,29 @@ type UnicornPreferStructuredClone = [] | [{
16480
17595
  type UnicornPreferSwitch = [] | [{
16481
17596
  minimumCases?: number;
16482
17597
  emptyDefaultCase?: ("no-default-comment" | "do-nothing-comment" | "no-default-case");
17598
+ }]; // ----- unicorn/prefer-temporal -----
17599
+ type UnicornPreferTemporal = [] | [{
17600
+ checkDateNow?: boolean;
17601
+ checkReferences?: boolean;
17602
+ checkMethods?: boolean;
16483
17603
  }]; // ----- unicorn/prefer-ternary -----
16484
- type UnicornPreferTernary = [] | [("always" | "only-single-line")]; // ----- unicorn/prevent-abbreviations -----
16485
- type UnicornPreventAbbreviations = [] | [{
16486
- checkProperties?: boolean;
16487
- checkVariables?: boolean;
16488
- checkDefaultAndNamespaceImports?: (boolean | string);
16489
- checkShorthandImports?: (boolean | string);
16490
- checkShorthandProperties?: boolean;
16491
- checkFilenames?: boolean;
16492
- extendDefaultReplacements?: boolean;
16493
- replacements?: _UnicornPreventAbbreviations_Abbreviations;
16494
- extendDefaultAllowList?: boolean;
16495
- allowList?: _UnicornPreventAbbreviations_BooleanObject;
16496
- ignore?: unknown[];
16497
- }];
16498
- type _UnicornPreventAbbreviationsReplacements = (false | _UnicornPreventAbbreviations_BooleanObject) | undefined;
16499
- interface _UnicornPreventAbbreviations_Abbreviations {
16500
- [k: string]: _UnicornPreventAbbreviationsReplacements | undefined;
16501
- }
16502
- interface _UnicornPreventAbbreviations_BooleanObject {
16503
- [k: string]: boolean | undefined;
16504
- }
16505
- interface _UnicornPreventAbbreviations_BooleanObject {
16506
- [k: string]: boolean | undefined;
16507
- } // ----- unicorn/relative-url-style -----
16508
- type UnicornRelativeUrlStyle = [] | [("never" | "always")]; // ----- unicorn/string-content -----
17604
+ type UnicornPreferTernary = [] | [("always" | "only-single-line")]; // ----- unicorn/relative-url-style -----
17605
+ type UnicornRelativeUrlStyle = [] | [("never" | "always")]; // ----- unicorn/require-css-escape -----
17606
+ type UnicornRequireCssEscape = [] | [{
17607
+ checkAllSelectors?: boolean;
17608
+ }]; // ----- unicorn/string-content -----
16509
17609
  type UnicornStringContent = [] | [{
16510
17610
  patterns?: {
16511
17611
  [k: string]: (string | {
16512
17612
  suggest: string;
16513
17613
  fix?: boolean;
17614
+ caseSensitive?: boolean;
16514
17615
  message?: string;
16515
17616
  }) | undefined;
16516
17617
  };
17618
+ selectors?: string[];
16517
17619
  }]; // ----- unicorn/switch-case-braces -----
16518
- type UnicornSwitchCaseBraces = [] | [("always" | "avoid")]; // ----- unicorn/template-indent -----
17620
+ type UnicornSwitchCaseBraces = [] | [("always" | "avoid" | "single-statement")]; // ----- unicorn/template-indent -----
16519
17621
  type UnicornTemplateIndent = [] | [{
16520
17622
  indent?: (string | number);
16521
17623
  tags?: string[];
@@ -16525,6 +17627,9 @@ type UnicornTemplateIndent = [] | [{
16525
17627
  }]; // ----- unicorn/text-encoding-identifier-case -----
16526
17628
  type UnicornTextEncodingIdentifierCase = [] | [{
16527
17629
  withDash?: boolean;
17630
+ }]; // ----- unicorn/try-complexity -----
17631
+ type UnicornTryComplexity = [] | [{
17632
+ max?: number;
16528
17633
  }]; // ----- unocss/enforce-class-compile -----
16529
17634
  type UnocssEnforceClassCompile = [] | [{
16530
17635
  prefix?: string;
@@ -16575,7 +17680,7 @@ type VitestNoFocusedTests = [] | [{
16575
17680
  fixable?: boolean;
16576
17681
  }]; // ----- vitest/no-hooks -----
16577
17682
  type VitestNoHooks = [] | [{
16578
- allow?: ("beforeAll" | "beforeEach" | "afterAll" | "afterEach")[];
17683
+ allow?: ("beforeAll" | "beforeEach" | "afterAll" | "afterEach" | "aroundAll" | "aroundEach")[];
16579
17684
  }]; // ----- vitest/no-large-snapshots -----
16580
17685
  type VitestNoLargeSnapshots = [] | [{
16581
17686
  maxSize?: number;
@@ -16632,7 +17737,7 @@ type VitestValidTitle = [] | [{
16632
17737
  disallowedWords?: string[];
16633
17738
  [k: string]: (string | [string] | [string, string] | {
16634
17739
  [k: string]: (string | [string] | [string, string]) | undefined;
16635
- });
17740
+ } | boolean | boolean | string[] | undefined);
16636
17741
  }]; // ----- vue/array-bracket-newline -----
16637
17742
  type VueArrayBracketNewline = [] | [(("always" | "never" | "consistent") | {
16638
17743
  multiline?: boolean;
@@ -17799,6 +18904,10 @@ type YmlNoMultipleEmptyLines = [] | [{
17799
18904
  max: number;
17800
18905
  maxEOF?: number;
17801
18906
  maxBOF?: number;
18907
+ }]; // ----- yml/no-trailing-spaces -----
18908
+ type YmlNoTrailingSpaces = [] | [{
18909
+ skipBlankLines?: boolean;
18910
+ ignoreComments?: boolean;
17802
18911
  }]; // ----- yml/plain-scalar -----
17803
18912
  type YmlPlainScalar = [] | [("always" | "never")] | [("always" | "never"), {
17804
18913
  ignorePatterns?: string[];
@@ -17889,7 +18998,7 @@ type Yoda = [] | [("always" | "never")] | [("always" | "never"), {
17889
18998
  exceptRange?: boolean;
17890
18999
  onlyEquality?: boolean;
17891
19000
  }]; // Names of all the configs
17892
- type ConfigNames = 'ntnyq/gitignore' | 'ntnyq/ignores' | 'ntnyq/jsx' | 'ntnyq/node' | 'ntnyq/command' | 'ntnyq/eslint-comments' | 'ntnyq/js/recommended' | 'ntnyq/js/core' | 'ntnyq/import-x' | 'ntnyq/jsdoc/base' | 'ntnyq/jsdoc/js-rules' | 'ntnyq/jsdoc/ts-rules' | 'ntnyq/perfectionist/common' | 'ntnyq/perfectionist/enums' | 'ntnyq/perfectionist/types' | 'ntnyq/perfectionist/constants' | 'ntnyq/unicorn' | 'ntnyq/pinia' | 'ntnyq/de-morgan' | 'ntnyq/regexp' | 'ntnyq/ts/setup' | 'ntnyq/ts/parser' | 'ntnyq/ts/parser-type-aware' | 'ntnyq/ts/rules' | 'ntnyq/ts/rules/type-aware' | 'ntnyq/ts/types' | 'ntnyq/vue/setup' | 'ntnyq/vue/rules' | 'ntnyq/yml' | 'ntnyq/toml' | 'ntnyq/jsonc' | 'ntnyq/astro' | 'ntnyq/svelte' | 'ntnyq/sort/tsconfig' | 'ntnyq/sort/package-json' | 'ntnyq/sort/i18n-locale/json' | 'ntnyq/sort/i18n-locale/yaml' | 'ntnyq/sort/json-schema' | 'ntnyq/sort/pnpm-workspace' | 'ntnyq/test/setup' | 'ntnyq/test/base' | 'ntnyq/test/vitest' | 'ntnyq/unocss' | 'ntnyq/markdown/recommended/plugin' | 'ntnyq/markdown/recommended/processor' | 'ntnyq/markdown/recommended/code-blocks' | 'ntnyq/markdown/processor' | 'ntnyq/markdown/parser' | 'ntnyq/markdown/disabled' | 'ntnyq/antfu' | 'ntnyq/depend' | 'ntnyq/depend/package-json' | 'ntnyq/ntnyq' | 'ntnyq/github-action' | 'ntnyq/eslint-plugin' | 'ntnyq/pnpm/package-json' | 'ntnyq/pnpm/pnpm-workspace-yaml' | 'ntnyq/svgo' | 'ntnyq/html' | 'ntnyq/specials/scripts' | 'ntnyq/specials/cli' | 'ntnyq/specials/bin' | 'ntnyq/specials/userscript' | 'ntnyq/specials/config-file' | 'ntnyq/specials/shadcn-vue' | 'ntnyq/prettier' | 'ntnyq/prettier/disabled' | 'ntnyq/oxfmt/without-parser' | 'ntnyq/oxfmt/with-parser';
19001
+ type ConfigNames = 'ntnyq/gitignore' | 'ntnyq/ignores' | 'ntnyq/jsx' | 'ntnyq/node' | 'ntnyq/command' | 'ntnyq/eslint-comments' | 'ntnyq/javascript/recommended' | 'ntnyq/javascript/core' | 'ntnyq/import-x' | 'ntnyq/jsdoc/base' | 'ntnyq/jsdoc/javascript' | 'ntnyq/jsdoc/typescript' | 'ntnyq/perfectionist/common' | 'ntnyq/perfectionist/enums' | 'ntnyq/perfectionist/types' | 'ntnyq/perfectionist/constants' | 'ntnyq/unicorn' | 'ntnyq/pinia' | 'ntnyq/de-morgan' | 'ntnyq/regexp' | 'ntnyq/typescript/setup' | 'ntnyq/typescript/parser' | 'ntnyq/typescript/parser-type-aware' | 'ntnyq/typescript/rules' | 'ntnyq/typescript/rules/type-aware' | 'ntnyq/typescript/types' | 'ntnyq/vue/setup' | 'ntnyq/vue/rules' | 'ntnyq/yml' | 'ntnyq/toml' | 'ntnyq/jsonc' | 'ntnyq/astro' | 'ntnyq/svelte' | 'ntnyq/sort/tsconfig' | 'ntnyq/sort/package-json' | 'ntnyq/sort/i18n-locale/json' | 'ntnyq/sort/i18n-locale/yaml' | 'ntnyq/sort/json-schema' | 'ntnyq/sort/pnpm-workspace' | 'ntnyq/test/setup' | 'ntnyq/test/base' | 'ntnyq/test/vitest' | 'ntnyq/unocss' | 'ntnyq/markdown/recommended/plugin' | 'ntnyq/markdown/recommended/processor' | 'ntnyq/markdown/recommended/code-blocks' | 'ntnyq/markdown/processor' | 'ntnyq/markdown/parser' | 'ntnyq/markdown/code-blocks' | 'ntnyq/antfu' | 'ntnyq/depend' | 'ntnyq/depend/package-json' | 'ntnyq/ntnyq' | 'ntnyq/github-action' | 'ntnyq/eslint-plugin' | 'ntnyq/pnpm/package-json' | 'ntnyq/pnpm/pnpm-workspace-yaml' | 'ntnyq/svgo' | 'ntnyq/html' | 'ntnyq/specials/scripts' | 'ntnyq/specials/cli' | 'ntnyq/specials/bin' | 'ntnyq/specials/userscript' | 'ntnyq/specials/config-file' | 'ntnyq/specials/shadcn-vue' | 'ntnyq/prettier' | 'ntnyq/prettier/disabled' | 'ntnyq/oxfmt/native-files' | 'ntnyq/oxfmt/plain-parser-files';
17893
19002
  //#endregion
17894
19003
  //#region src/types/eslint.d.ts
17895
19004
  /**