@hexadrop/eslint-config 0.0.1-beta.0 → 0.0.1-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.
package/dist/index.d.cts CHANGED
@@ -2,226 +2,6 @@ import { ResolvableFlatConfig, FlatConfigComposer } from 'eslint-flat-config-uti
2
2
  import { FlatGitignoreOptions } from 'eslint-config-flat-gitignore';
3
3
  import { Linter } from 'eslint';
4
4
 
5
- interface HexadropEslintIgnoreOptions extends Omit<FlatGitignoreOptions, 'name'> {
6
- /**
7
- * Additional ignore patterns.
8
- */
9
- globs?: string[];
10
- }
11
-
12
- interface HexadropEslintModulesOptions {
13
- amd: boolean;
14
- commonjs: boolean;
15
- ignore: string[];
16
- /**
17
- * Enable use of core node modules.
18
- *
19
- * @default true
20
- */
21
- node: boolean;
22
- /**
23
- * Enable webpack support.
24
- *
25
- * @default false
26
- */
27
- webpack: boolean;
28
- }
29
-
30
- interface HexadropEslintStylisticOptions {
31
- /**
32
- * Include parentheses around a sole arrow function parameter.
33
- *
34
- * @default 'avoid'
35
- */
36
- arrowParens: 'always' | 'avoid';
37
- /**
38
- * Which brace style to use
39
- *
40
- * @default '1tbs'
41
- */
42
- braceStyle: '1tbs' | 'allman' | 'stroustrup';
43
- /**
44
- * Put the > of a multi-line HTML (HTML, JSX, Vue, Angular) element
45
- * at the end of the last line instead of being alone on the next line.
46
- *
47
- * @default true
48
- */
49
- bracketSameLine: boolean;
50
- /**
51
- * Use spaces between brackets in object literals.
52
- *
53
- * @default true
54
- */
55
- bracketSpacing: boolean;
56
- /**
57
- * End of line character.
58
- *
59
- * @default 'lf'
60
- */
61
- endOfLine: 'auto' | 'cr' | 'crlf' | 'lf';
62
- /**
63
- * Enable formatting rules.
64
- *
65
- * @default true
66
- */
67
- format: boolean;
68
- /**
69
- * Enable import rules.
70
- *
71
- * @default true
72
- */
73
- imports: boolean;
74
- /**
75
- * Indentation style.
76
- *
77
- * @default 'tab'
78
- */
79
- indent: 'space' | 'tab';
80
- /**
81
- * Number of spaces to use for indentation.
82
- *
83
- * @default 4
84
- */
85
- indentSize: number;
86
- /**
87
- * Enable perfectionist rules.
88
- *
89
- * @default true
90
- */
91
- perfectionist: boolean;
92
- /**
93
- * Specify the line length that the printer will wrap on.
94
- *
95
- * @default 120
96
- */
97
- printWidth: number;
98
- /**
99
- * Change when properties in objects are quoted.
100
- *
101
- * @default 'as-needed'
102
- */
103
- quoteProps: 'as-needed' | 'consistent' | 'preserve';
104
- /**
105
- * Quote style.
106
- *
107
- * @default 'single'
108
- */
109
- quotes: 'double' | 'single';
110
- /**
111
- * Use semicolons at the end of statements.
112
- *
113
- * @default true
114
- */
115
- semicolons: boolean;
116
- /**
117
- * Use single attribute per line in HTML, Vue and JSX.
118
- *
119
- * @default false
120
- */
121
- singleAttributePerLine: boolean;
122
- /**
123
- * Use trailing commas in multi-line object literals.
124
- *
125
- * @default 'es5'
126
- */
127
- trailingComma: 'all' | 'es5' | 'none';
128
- /**
129
- * Enable unicorn rules.
130
- *
131
- * @default true
132
- */
133
- unicorn: boolean;
134
- }
135
-
136
- interface HexadropEslintOptions {
137
- /**
138
- * Enable astro support.
139
- *
140
- * If `false`, astro support will be disabled.
141
- * If `true`, or empty it will be enabled.
142
- */
143
- astro: boolean;
144
- /**
145
- * Enable ignore support.
146
- *
147
- * Passing an object to configure the options.
148
- *
149
- * @see https://github.com/antfu/eslint-config-flat-gitignore
150
- *
151
- * @default true
152
- */
153
- ignore: HexadropEslintIgnoreOptions | boolean;
154
- /**
155
- * Enable import rules.
156
- *
157
- * @default true
158
- */
159
- imports: boolean;
160
- /**
161
- * Enable json support.
162
- *
163
- * @default true
164
- */
165
- json: boolean;
166
- /**
167
- * Enable markdown support.
168
- *
169
- * @default true
170
- */
171
- markdown: boolean;
172
- /**
173
- * Configure module imports.
174
- *
175
- * @default { amd: false, commonjs: false, node: true, webpack: false }
176
- */
177
- module: HexadropEslintModulesOptions;
178
- /**
179
- * Use node rules.
180
- *
181
- * @default true
182
- */
183
- node: boolean;
184
- /**
185
- * Enable react support.
186
- *
187
- * If `false`, react support will be disabled.
188
- * If `true`, or empty it will be enabled.
189
- */
190
- react: boolean;
191
- /**
192
- * Configure stylistic rules.
193
- *
194
- * @default {
195
- * arrowParens: 'avoid',
196
- * braceStyle: '1tbs',
197
- * bracketSameLine: true,
198
- * bracketSpacing: true,
199
- * endOfLine: 'lf',
200
- * format: true,
201
- * imports: true,
202
- * indent: 'tab',
203
- * indentSize: 4,
204
- * perfectionist: true,
205
- * quoteProps: 'as-needed',
206
- * quotes: 'single',
207
- * semicolons: true,
208
- * singleAttributePerLine: true,
209
- * trailingComma: 'es5',
210
- * unicorn: true,
211
- * }
212
- */
213
- stylistic: HexadropEslintStylisticOptions | false;
214
- /**
215
- * Configure typescript support.
216
- *
217
- * If `false`, typescript support will be disabled.
218
- * If `true`, typescript support will be enabled with default options.
219
- * If you leave empty, automatic detection will be used.
220
- *
221
- */
222
- typescript: boolean | string | string[];
223
- }
224
-
225
5
  type Awaitable<T> = Promise<T> | T;
226
6
 
227
7
  declare const ASTRO_CONFIG_NAME_SETUP: "hexadrop/astro/setup";
@@ -287,6 +67,10 @@ type TypescriptConfigNames = typeof TYPESCRIPT_CONFIG_NAME_RULES | typeof TYPESC
287
67
 
288
68
  type ConfigNames = AstroConfigNames | CoreConfigNames | IgnoreConfigNames | JsonConfigNames | MarkdownConfigNames | ReactConfigNames | StylisticConfigNames | TypescriptConfigNames;
289
69
 
70
+ type RecursivePartial<T> = {
71
+ [P in keyof T]?: RecursivePartial<T[P]>;
72
+ };
73
+
290
74
  /* eslint-disable */
291
75
  /* prettier-ignore */
292
76
 
@@ -840,59 +624,49 @@ interface RuleOptions {
840
624
  * @see https://github.com/sweepline/eslint-plugin-unused-imports/blob/master/docs/rules/no-unused-imports.md
841
625
  */
842
626
  'import-unused/no-unused-imports'?: Linter.RuleEntry<ImportUnusedNoUnusedImports>
843
- /**
844
- * Disallow unused variables
845
- * @see https://github.com/sweepline/eslint-plugin-unused-imports/blob/master/docs/rules/no-unused-imports.md
846
- */
847
- 'import-unused/no-unused-imports-ts'?: Linter.RuleEntry<ImportUnusedNoUnusedImportsTs>
848
627
  /**
849
628
  * Disallow unused variables
850
629
  * @see https://github.com/sweepline/eslint-plugin-unused-imports/blob/master/docs/rules/no-unused-imports.md
851
630
  */
852
631
  'import-unused/no-unused-vars'?: Linter.RuleEntry<ImportUnusedNoUnusedVars>
853
- /**
854
- * Disallow unused variables
855
- * @see https://github.com/sweepline/eslint-plugin-unused-imports/blob/master/docs/rules/no-unused-imports.md
856
- */
857
- 'import-unused/no-unused-vars-ts'?: Linter.RuleEntry<ImportUnusedNoUnusedVarsTs>
858
632
  /**
859
633
  * Enforce or ban the use of inline type-only markers for named imports.
860
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/consistent-type-specifier-style.md
634
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/consistent-type-specifier-style.md
861
635
  */
862
636
  'import/consistent-type-specifier-style'?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>
863
637
  /**
864
638
  * Ensure a default export is present, given a default import.
865
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/default.md
639
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/default.md
866
640
  */
867
641
  'import/default'?: Linter.RuleEntry<[]>
868
642
  /**
869
643
  * Enforce a leading comment with the webpackChunkName for dynamic imports.
870
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/dynamic-import-chunkname.md
644
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/dynamic-import-chunkname.md
871
645
  */
872
646
  'import/dynamic-import-chunkname'?: Linter.RuleEntry<ImportDynamicImportChunkname>
873
647
  /**
874
648
  * Forbid any invalid exports, i.e. re-export of the same name.
875
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/export.md
649
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/export.md
876
650
  */
877
651
  'import/export'?: Linter.RuleEntry<[]>
878
652
  /**
879
653
  * Ensure all exports appear after other statements.
880
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/exports-last.md
654
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/exports-last.md
881
655
  */
882
656
  'import/exports-last'?: Linter.RuleEntry<[]>
883
657
  /**
884
658
  * Ensure consistent use of file extension within the import path.
885
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/extensions.md
659
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/extensions.md
886
660
  */
887
661
  'import/extensions'?: Linter.RuleEntry<ImportExtensions>
888
662
  /**
889
663
  * Ensure all imports appear before other statements.
890
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/first.md
664
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/first.md
891
665
  */
892
666
  'import/first'?: Linter.RuleEntry<ImportFirst>
893
667
  /**
894
668
  * Prefer named exports to be grouped together in a single export declaration.
895
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/group-exports.md
669
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/group-exports.md
896
670
  */
897
671
  'import/group-exports'?: Linter.RuleEntry<[]>
898
672
  /**
@@ -903,182 +677,182 @@ interface RuleOptions {
903
677
  'import/imports-first'?: Linter.RuleEntry<ImportImportsFirst>
904
678
  /**
905
679
  * Enforce the maximum number of dependencies a module can have.
906
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/max-dependencies.md
680
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/max-dependencies.md
907
681
  */
908
682
  'import/max-dependencies'?: Linter.RuleEntry<ImportMaxDependencies>
909
683
  /**
910
684
  * Ensure named imports correspond to a named export in the remote file.
911
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/named.md
685
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/named.md
912
686
  */
913
687
  'import/named'?: Linter.RuleEntry<ImportNamed>
914
688
  /**
915
689
  * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
916
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/namespace.md
690
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/namespace.md
917
691
  */
918
692
  'import/namespace'?: Linter.RuleEntry<ImportNamespace>
919
693
  /**
920
694
  * Enforce a newline after import statements.
921
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/newline-after-import.md
695
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/newline-after-import.md
922
696
  */
923
697
  'import/newline-after-import'?: Linter.RuleEntry<ImportNewlineAfterImport>
924
698
  /**
925
699
  * Forbid import of modules using absolute paths.
926
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-absolute-path.md
700
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-absolute-path.md
927
701
  */
928
702
  'import/no-absolute-path'?: Linter.RuleEntry<ImportNoAbsolutePath>
929
703
  /**
930
704
  * Forbid AMD `require` and `define` calls.
931
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-amd.md
705
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-amd.md
932
706
  */
933
707
  'import/no-amd'?: Linter.RuleEntry<[]>
934
708
  /**
935
709
  * Forbid anonymous values as default exports.
936
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-anonymous-default-export.md
710
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-anonymous-default-export.md
937
711
  */
938
712
  'import/no-anonymous-default-export'?: Linter.RuleEntry<ImportNoAnonymousDefaultExport>
939
713
  /**
940
714
  * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
941
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-commonjs.md
715
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-commonjs.md
942
716
  */
943
717
  'import/no-commonjs'?: Linter.RuleEntry<ImportNoCommonjs>
944
718
  /**
945
719
  * Forbid a module from importing a module with a dependency path back to itself.
946
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-cycle.md
720
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-cycle.md
947
721
  */
948
722
  'import/no-cycle'?: Linter.RuleEntry<ImportNoCycle>
949
723
  /**
950
724
  * Forbid default exports.
951
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-default-export.md
725
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-default-export.md
952
726
  */
953
727
  'import/no-default-export'?: Linter.RuleEntry<[]>
954
728
  /**
955
729
  * Forbid imported names marked with `@deprecated` documentation tag.
956
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-deprecated.md
730
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-deprecated.md
957
731
  */
958
732
  'import/no-deprecated'?: Linter.RuleEntry<[]>
959
733
  /**
960
734
  * Forbid repeated import of the same module in multiple places.
961
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-duplicates.md
735
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-duplicates.md
962
736
  */
963
737
  'import/no-duplicates'?: Linter.RuleEntry<ImportNoDuplicates>
964
738
  /**
965
739
  * Forbid `require()` calls with expressions.
966
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-dynamic-require.md
740
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-dynamic-require.md
967
741
  */
968
742
  'import/no-dynamic-require'?: Linter.RuleEntry<ImportNoDynamicRequire>
969
743
  /**
970
744
  * Forbid empty named import blocks.
971
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-empty-named-blocks.md
745
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-empty-named-blocks.md
972
746
  */
973
747
  'import/no-empty-named-blocks'?: Linter.RuleEntry<[]>
974
748
  /**
975
749
  * Forbid the use of extraneous packages.
976
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-extraneous-dependencies.md
750
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-extraneous-dependencies.md
977
751
  */
978
752
  'import/no-extraneous-dependencies'?: Linter.RuleEntry<ImportNoExtraneousDependencies>
979
753
  /**
980
754
  * Forbid import statements with CommonJS module.exports.
981
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-import-module-exports.md
755
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-import-module-exports.md
982
756
  */
983
757
  'import/no-import-module-exports'?: Linter.RuleEntry<ImportNoImportModuleExports>
984
758
  /**
985
759
  * Forbid importing the submodules of other modules.
986
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-internal-modules.md
760
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-internal-modules.md
987
761
  */
988
762
  'import/no-internal-modules'?: Linter.RuleEntry<ImportNoInternalModules>
989
763
  /**
990
764
  * Forbid the use of mutable exports with `var` or `let`.
991
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-mutable-exports.md
765
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-mutable-exports.md
992
766
  */
993
767
  'import/no-mutable-exports'?: Linter.RuleEntry<[]>
994
768
  /**
995
769
  * Forbid use of exported name as identifier of default export.
996
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-named-as-default.md
770
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-named-as-default.md
997
771
  */
998
772
  'import/no-named-as-default'?: Linter.RuleEntry<[]>
999
773
  /**
1000
774
  * Forbid use of exported name as property of default export.
1001
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-named-as-default-member.md
775
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-named-as-default-member.md
1002
776
  */
1003
777
  'import/no-named-as-default-member'?: Linter.RuleEntry<[]>
1004
778
  /**
1005
779
  * Forbid named default exports.
1006
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-named-default.md
780
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-named-default.md
1007
781
  */
1008
782
  'import/no-named-default'?: Linter.RuleEntry<[]>
1009
783
  /**
1010
784
  * Forbid named exports.
1011
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-named-export.md
785
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-named-export.md
1012
786
  */
1013
787
  'import/no-named-export'?: Linter.RuleEntry<[]>
1014
788
  /**
1015
789
  * Forbid namespace (a.k.a. "wildcard" `*`) imports.
1016
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-namespace.md
790
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-namespace.md
1017
791
  */
1018
792
  'import/no-namespace'?: Linter.RuleEntry<ImportNoNamespace>
1019
793
  /**
1020
794
  * Forbid Node.js builtin modules.
1021
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-nodejs-modules.md
795
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-nodejs-modules.md
1022
796
  */
1023
797
  'import/no-nodejs-modules'?: Linter.RuleEntry<ImportNoNodejsModules>
1024
798
  /**
1025
799
  * Forbid importing packages through relative paths.
1026
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-relative-packages.md
800
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-relative-packages.md
1027
801
  */
1028
802
  'import/no-relative-packages'?: Linter.RuleEntry<ImportNoRelativePackages>
1029
803
  /**
1030
804
  * Forbid importing modules from parent directories.
1031
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-relative-parent-imports.md
805
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-relative-parent-imports.md
1032
806
  */
1033
807
  'import/no-relative-parent-imports'?: Linter.RuleEntry<ImportNoRelativeParentImports>
1034
808
  /**
1035
809
  * Enforce which files can be imported in a given folder.
1036
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-restricted-paths.md
810
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-restricted-paths.md
1037
811
  */
1038
812
  'import/no-restricted-paths'?: Linter.RuleEntry<ImportNoRestrictedPaths>
1039
813
  /**
1040
814
  * Forbid a module from importing itself.
1041
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-self-import.md
815
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-self-import.md
1042
816
  */
1043
817
  'import/no-self-import'?: Linter.RuleEntry<[]>
1044
818
  /**
1045
819
  * Forbid unassigned imports.
1046
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-unassigned-import.md
820
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-unassigned-import.md
1047
821
  */
1048
822
  'import/no-unassigned-import'?: Linter.RuleEntry<ImportNoUnassignedImport>
1049
823
  /**
1050
824
  * Ensure imports point to a file/module that can be resolved.
1051
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-unresolved.md
825
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-unresolved.md
1052
826
  */
1053
827
  'import/no-unresolved'?: Linter.RuleEntry<ImportNoUnresolved>
1054
828
  /**
1055
829
  * Forbid modules without exports, or exports without matching import in another module.
1056
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-unused-modules.md
830
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-unused-modules.md
1057
831
  */
1058
832
  'import/no-unused-modules'?: Linter.RuleEntry<ImportNoUnusedModules>
1059
833
  /**
1060
834
  * Forbid unnecessary path segments in import and require statements.
1061
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-useless-path-segments.md
835
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-useless-path-segments.md
1062
836
  */
1063
837
  'import/no-useless-path-segments'?: Linter.RuleEntry<ImportNoUselessPathSegments>
1064
838
  /**
1065
839
  * Forbid webpack loader syntax in imports.
1066
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/no-webpack-loader-syntax.md
840
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/no-webpack-loader-syntax.md
1067
841
  */
1068
842
  'import/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>
1069
843
  /**
1070
844
  * Enforce a convention in module import order.
1071
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/order.md
845
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/order.md
1072
846
  */
1073
847
  'import/order'?: Linter.RuleEntry<ImportOrder>
1074
848
  /**
1075
849
  * Prefer a default export if module exports a single name or multiple names.
1076
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/prefer-default-export.md
850
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/prefer-default-export.md
1077
851
  */
1078
852
  'import/prefer-default-export'?: Linter.RuleEntry<ImportPreferDefaultExport>
1079
853
  /**
1080
854
  * Forbid potentially ambiguous parse goal (`script` vs. `module`).
1081
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.0/docs/rules/unambiguous.md
855
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v0.5.1/docs/rules/unambiguous.md
1082
856
  */
1083
857
  'import/unambiguous'?: Linter.RuleEntry<[]>
1084
858
  /**
@@ -2883,7 +2657,7 @@ interface RuleOptions {
2883
2657
  * Disallows JSX context provider values from taking values that will cause needless rerenders
2884
2658
  * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-constructed-context-values.md
2885
2659
  */
2886
- 'react/jsx-no-constructed-context-values'?: Linter.RuleEntry<ReactJsxNoConstructedContextValues>
2660
+ 'react/jsx-no-constructed-context-values'?: Linter.RuleEntry<[]>
2887
2661
  /**
2888
2662
  * Disallow duplicate properties in JSX
2889
2663
  * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-duplicate-props.md
@@ -4444,6 +4218,7 @@ interface RuleOptions {
4444
4218
  /**
4445
4219
  * Enforce using `@ts-expect-error` over `@ts-ignore`
4446
4220
  * @see https://typescript-eslint.io/rules/prefer-ts-expect-error
4221
+ * @deprecated
4447
4222
  */
4448
4223
  'typescript/prefer-ts-expect-error'?: Linter.RuleEntry<[]>
4449
4224
  /**
@@ -5527,17 +5302,6 @@ type ImportUnusedNoUnusedImports = []|[(("all" | "local") | {
5527
5302
  caughtErrorsIgnorePattern?: string
5528
5303
  destructuredArrayIgnorePattern?: string
5529
5304
  })]
5530
- // ----- import-unused/no-unused-imports-ts -----
5531
- type ImportUnusedNoUnusedImportsTs = []|[(("all" | "local") | {
5532
- vars?: ("all" | "local")
5533
- varsIgnorePattern?: string
5534
- args?: ("all" | "after-used" | "none")
5535
- ignoreRestSiblings?: boolean
5536
- argsIgnorePattern?: string
5537
- caughtErrors?: ("all" | "none")
5538
- caughtErrorsIgnorePattern?: string
5539
- destructuredArrayIgnorePattern?: string
5540
- })]
5541
5305
  // ----- import-unused/no-unused-vars -----
5542
5306
  type ImportUnusedNoUnusedVars = []|[(("all" | "local") | {
5543
5307
  vars?: ("all" | "local")
@@ -5549,17 +5313,6 @@ type ImportUnusedNoUnusedVars = []|[(("all" | "local") | {
5549
5313
  caughtErrorsIgnorePattern?: string
5550
5314
  destructuredArrayIgnorePattern?: string
5551
5315
  })]
5552
- // ----- import-unused/no-unused-vars-ts -----
5553
- type ImportUnusedNoUnusedVarsTs = []|[(("all" | "local") | {
5554
- vars?: ("all" | "local")
5555
- varsIgnorePattern?: string
5556
- args?: ("all" | "after-used" | "none")
5557
- ignoreRestSiblings?: boolean
5558
- argsIgnorePattern?: string
5559
- caughtErrors?: ("all" | "none")
5560
- caughtErrorsIgnorePattern?: string
5561
- destructuredArrayIgnorePattern?: string
5562
- })]
5563
5316
  // ----- import/consistent-type-specifier-style -----
5564
5317
  type ImportConsistentTypeSpecifierStyle = []|[("prefer-inline" | "prefer-top-level")]
5565
5318
  // ----- import/dynamic-import-chunkname -----
@@ -7802,10 +7555,6 @@ type ReactJsxNoBind = []|[{
7802
7555
  ignoreRefs?: boolean
7803
7556
  ignoreDOMComponents?: boolean
7804
7557
  }]
7805
- // ----- react/jsx-no-constructed-context-values -----
7806
- interface ReactJsxNoConstructedContextValues {
7807
- [k: string]: unknown | undefined
7808
- }
7809
7558
  // ----- react/jsx-no-duplicate-props -----
7810
7559
  type ReactJsxNoDuplicateProps = []|[{
7811
7560
  ignoreCase?: boolean
@@ -10809,7 +10558,227 @@ type TypedFlatConfigItem = {
10809
10558
  rules?: Linter.RulesRecord & Rules;
10810
10559
  } & Linter.FlatConfig;
10811
10560
 
10812
- declare function hexadrop(optionsOrFlatConfigItem?: Partial<HexadropEslintOptions> & TypedFlatConfigItem, ...configs: ResolvableFlatConfig<TypedFlatConfigItem>[]): FlatConfigComposer<TypedFlatConfigItem, ConfigNames>;
10561
+ interface HexadropEslintIgnoreOptions extends Omit<FlatGitignoreOptions, 'name'> {
10562
+ /**
10563
+ * Additional ignore patterns.
10564
+ */
10565
+ globs?: string[];
10566
+ }
10567
+
10568
+ interface HexadropEslintModulesOptions {
10569
+ amd: boolean;
10570
+ commonjs: boolean;
10571
+ ignore: string[];
10572
+ /**
10573
+ * Enable use of core node modules.
10574
+ *
10575
+ * @default true
10576
+ */
10577
+ node: boolean;
10578
+ /**
10579
+ * Enable webpack support.
10580
+ *
10581
+ * @default false
10582
+ */
10583
+ webpack: boolean;
10584
+ }
10585
+
10586
+ interface HexadropEslintStylisticOptions {
10587
+ /**
10588
+ * Include parentheses around a sole arrow function parameter.
10589
+ *
10590
+ * @default 'avoid'
10591
+ */
10592
+ arrowParens: 'always' | 'avoid';
10593
+ /**
10594
+ * Which brace style to use
10595
+ *
10596
+ * @default '1tbs'
10597
+ */
10598
+ braceStyle: '1tbs' | 'allman' | 'stroustrup';
10599
+ /**
10600
+ * Put the > of a multi-line HTML (HTML, JSX, Vue, Angular) element
10601
+ * at the end of the last line instead of being alone on the next line.
10602
+ *
10603
+ * @default true
10604
+ */
10605
+ bracketSameLine: boolean;
10606
+ /**
10607
+ * Use spaces between brackets in object literals.
10608
+ *
10609
+ * @default true
10610
+ */
10611
+ bracketSpacing: boolean;
10612
+ /**
10613
+ * End of line character.
10614
+ *
10615
+ * @default 'lf'
10616
+ */
10617
+ endOfLine: 'auto' | 'cr' | 'crlf' | 'lf';
10618
+ /**
10619
+ * Enable formatting rules.
10620
+ *
10621
+ * @default true
10622
+ */
10623
+ format: boolean;
10624
+ /**
10625
+ * Enable import rules.
10626
+ *
10627
+ * @default true
10628
+ */
10629
+ imports: boolean;
10630
+ /**
10631
+ * Indentation style.
10632
+ *
10633
+ * @default 'tab'
10634
+ */
10635
+ indent: 'space' | 'tab';
10636
+ /**
10637
+ * Number of spaces to use for indentation.
10638
+ *
10639
+ * @default 4
10640
+ */
10641
+ indentSize: number;
10642
+ /**
10643
+ * Enable perfectionist rules.
10644
+ *
10645
+ * @default true
10646
+ */
10647
+ perfectionist: boolean;
10648
+ /**
10649
+ * Specify the line length that the printer will wrap on.
10650
+ *
10651
+ * @default 120
10652
+ */
10653
+ printWidth: number;
10654
+ /**
10655
+ * Change when properties in objects are quoted.
10656
+ *
10657
+ * @default 'as-needed'
10658
+ */
10659
+ quoteProps: 'as-needed' | 'consistent' | 'preserve';
10660
+ /**
10661
+ * Quote style.
10662
+ *
10663
+ * @default 'single'
10664
+ */
10665
+ quotes: 'double' | 'single';
10666
+ /**
10667
+ * Use semicolons at the end of statements.
10668
+ *
10669
+ * @default true
10670
+ */
10671
+ semicolons: boolean;
10672
+ /**
10673
+ * Use single attribute per line in HTML, Vue and JSX.
10674
+ *
10675
+ * @default false
10676
+ */
10677
+ singleAttributePerLine: boolean;
10678
+ /**
10679
+ * Use trailing commas in multi-line object literals.
10680
+ *
10681
+ * @default 'es5'
10682
+ */
10683
+ trailingComma: 'all' | 'es5' | 'none';
10684
+ /**
10685
+ * Enable unicorn rules.
10686
+ *
10687
+ * @default true
10688
+ */
10689
+ unicorn: boolean;
10690
+ }
10691
+
10692
+ interface HexadropEslintOptions {
10693
+ /**
10694
+ * Enable astro support.
10695
+ *
10696
+ * If `false`, astro support will be disabled.
10697
+ * If `true`, or empty it will be enabled.
10698
+ */
10699
+ astro: boolean;
10700
+ /**
10701
+ * Enable ignore support.
10702
+ *
10703
+ * Passing an object to configure the options.
10704
+ *
10705
+ * @see https://github.com/antfu/eslint-config-flat-gitignore
10706
+ *
10707
+ * @default true
10708
+ */
10709
+ ignore: HexadropEslintIgnoreOptions | boolean;
10710
+ /**
10711
+ * Enable import rules.
10712
+ *
10713
+ * @default true
10714
+ */
10715
+ imports: boolean;
10716
+ /**
10717
+ * Enable json support.
10718
+ *
10719
+ * @default true
10720
+ */
10721
+ json: boolean;
10722
+ /**
10723
+ * Enable markdown support.
10724
+ *
10725
+ * @default true
10726
+ */
10727
+ markdown: boolean;
10728
+ /**
10729
+ * Configure module imports.
10730
+ *
10731
+ * @default { amd: false, commonjs: false, node: true, webpack: false }
10732
+ */
10733
+ module: HexadropEslintModulesOptions;
10734
+ /**
10735
+ * Use node rules.
10736
+ *
10737
+ * @default true
10738
+ */
10739
+ node: boolean;
10740
+ /**
10741
+ * Enable react support.
10742
+ *
10743
+ * If `false`, react support will be disabled.
10744
+ * If `true`, or empty it will be enabled.
10745
+ */
10746
+ react: boolean;
10747
+ /**
10748
+ * Configure stylistic rules.
10749
+ *
10750
+ * @default {
10751
+ * arrowParens: 'avoid',
10752
+ * braceStyle: '1tbs',
10753
+ * bracketSameLine: true,
10754
+ * bracketSpacing: true,
10755
+ * endOfLine: 'lf',
10756
+ * format: true,
10757
+ * imports: true,
10758
+ * indent: 'tab',
10759
+ * indentSize: 4,
10760
+ * perfectionist: true,
10761
+ * quoteProps: 'as-needed',
10762
+ * quotes: 'single',
10763
+ * semicolons: true,
10764
+ * singleAttributePerLine: true,
10765
+ * trailingComma: 'es5',
10766
+ * unicorn: true,
10767
+ * }
10768
+ */
10769
+ stylistic: HexadropEslintStylisticOptions | false;
10770
+ /**
10771
+ * Configure typescript support.
10772
+ *
10773
+ * If `false`, typescript support will be disabled.
10774
+ * If `true`, typescript support will be enabled with default options.
10775
+ * If you leave empty, automatic detection will be used.
10776
+ *
10777
+ */
10778
+ typescript: boolean | string | string[];
10779
+ }
10780
+
10781
+ declare function hexadrop(optionsOrFlatConfigItem?: RecursivePartial<HexadropEslintOptions> & TypedFlatConfigItem, ...configs: ResolvableFlatConfig<TypedFlatConfigItem>[]): FlatConfigComposer<TypedFlatConfigItem, ConfigNames>;
10813
10782
 
10814
10783
  /**
10815
10784
  * Combine array and non-array configs into a single array.