@ivanmaxlogiudice/eslint-config 1.0.0-beta.9 → 1.0.6

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.
@@ -0,0 +1,267 @@
1
+ import { RuleConfig, MergeIntersection, RenamePrefix, VitestRules, YmlRules, NRules, Prefix, ImportRules, EslintRules, JsoncRules, VueRules, EslintCommentsRules, FlatESLintConfigItem } from '@antfu/eslint-define-config';
2
+ import { RuleOptions as RuleOptions$1 } from '@eslint-types/jsdoc/types';
3
+ import { RuleOptions } from '@eslint-types/typescript-eslint/types';
4
+ import { RuleOptions as RuleOptions$2 } from '@eslint-types/unicorn/types';
5
+ import { UnprefixedRuleOptions } from '@stylistic/eslint-plugin';
6
+ export { default as pluginStylistic } from '@stylistic/eslint-plugin';
7
+ import { ParserOptions } from '@typescript-eslint/parser';
8
+ import * as parser from '@typescript-eslint/parser';
9
+ export { parser as parserTs };
10
+ import { FlatGitignoreOptions } from 'eslint-config-flat-gitignore';
11
+ import { Rules as Rules$1 } from 'eslint-plugin-antfu';
12
+ export { default as pluginAntfu } from 'eslint-plugin-antfu';
13
+ export { default as pluginTs } from '@typescript-eslint/eslint-plugin';
14
+ export { default as pluginUnocss } from '@unocss/eslint-plugin';
15
+ export { default as pluginComments } from 'eslint-plugin-eslint-comments';
16
+ import * as eslintPluginI from 'eslint-plugin-i';
17
+ export { eslintPluginI as pluginImport };
18
+ export { default as pluginJsdoc } from 'eslint-plugin-jsdoc';
19
+ import * as eslintPluginJsonc from 'eslint-plugin-jsonc';
20
+ export { eslintPluginJsonc as pluginJsonc };
21
+ export { default as pluginMarkdown } from 'eslint-plugin-markdown';
22
+ export { default as pluginNode } from 'eslint-plugin-n';
23
+ export { default as pluginNoOnlyTests } from 'eslint-plugin-no-only-tests';
24
+ export { default as pluginPerfectionist } from 'eslint-plugin-perfectionist';
25
+ export { default as pluginPromise } from 'eslint-plugin-promise';
26
+ export { default as pluginUnicorn } from 'eslint-plugin-unicorn';
27
+ export { default as pluginUnusedImports } from 'eslint-plugin-unused-imports';
28
+ export { default as pluginVitest } from 'eslint-plugin-vitest';
29
+ export { default as pluginVue } from 'eslint-plugin-vue';
30
+ import * as eslintPluginYml from 'eslint-plugin-yml';
31
+ export { eslintPluginYml as pluginYaml };
32
+ export { default as parserJsonc } from 'jsonc-eslint-parser';
33
+ export { default as parserVue } from 'vue-eslint-parser';
34
+ export { default as parserYaml } from 'yaml-eslint-parser';
35
+
36
+ type WrapRuleConfig<T extends {
37
+ [key: string]: any;
38
+ }> = {
39
+ [K in keyof T]: T[K] extends RuleConfig ? T[K] : RuleConfig<T[K]>;
40
+ };
41
+ type Rules = WrapRuleConfig<MergeIntersection<RenamePrefix<RuleOptions, '@typescript-eslint/', 'ts/'> & RenamePrefix<VitestRules, 'vitest/', 'test/'> & RenamePrefix<YmlRules, 'yml/', 'yaml/'> & RenamePrefix<NRules, 'n/', 'node/'> & Prefix<UnprefixedRuleOptions, 'style/'> & Prefix<Rules$1, 'antfu/'> & RuleOptions$1 & ImportRules & EslintRules & JsoncRules & VueRules & RuleOptions$2 & EslintCommentsRules & {
42
+ 'test/no-only-tests': RuleConfig<[]>;
43
+ }>>;
44
+ type ConfigItem = Omit<FlatESLintConfigItem<Rules, false>, 'plugins'> & {
45
+ /**
46
+ * Custom name of each config item
47
+ */
48
+ name?: string;
49
+ /**
50
+ * An object containing a name-value mapping of plugin names to plugin objects. When `files` is specified, these plugins are only available to the matching files.
51
+ *
52
+ * @see [Using plugins in your configuration](https://eslint.org/docs/latest/user-guide/configuring/configuration-files-new#using-plugins-in-your-configuration)
53
+ */
54
+ plugins?: Record<string, any>;
55
+ };
56
+ interface OptionsComponentExts {
57
+ /**
58
+ * Additional extensions for components.
59
+ *
60
+ * @example ['vue']
61
+ * @default []
62
+ */
63
+ componentExts?: string[];
64
+ }
65
+ interface OptionsTypeScriptParserOptions {
66
+ /**
67
+ * Additional parser options for TypeScript.
68
+ */
69
+ parserOptions?: Partial<ParserOptions>;
70
+ }
71
+ interface OptionsTypeScriptWithTypes {
72
+ /**
73
+ * When this options is provided, type aware rules will be enabled.
74
+ * @see https://typescript-eslint.io/linting/typed-linting/
75
+ */
76
+ tsconfigPath?: string | string[];
77
+ }
78
+ interface OptionsHasTypeScript {
79
+ typescript?: boolean;
80
+ }
81
+ interface OptionsStylistic {
82
+ stylistic?: StylisticConfig | boolean;
83
+ }
84
+ interface StylisticConfig {
85
+ indent?: 'tab' | number;
86
+ jsx?: boolean;
87
+ quotes?: 'double' | 'single';
88
+ }
89
+ interface OptionsOverrides {
90
+ overrides?: ConfigItem['rules'];
91
+ }
92
+ interface OptionsIsInEditor {
93
+ isInEditor?: boolean;
94
+ }
95
+ interface OptionsConfig extends OptionsComponentExts {
96
+ /**
97
+ * Enable gitignore support.
98
+ *
99
+ * Passing an object to configure the options.
100
+ *
101
+ * @see https://github.com/antfu/eslint-config-flat-gitignore
102
+ * @default true
103
+ */
104
+ gitignore?: FlatGitignoreOptions | boolean;
105
+ /**
106
+ * Control to disable some rules in editors.
107
+ * @default auto-detect based on the process.env
108
+ */
109
+ isInEditor?: boolean;
110
+ /**
111
+ * Enable JSONC support.
112
+ *
113
+ * @default true
114
+ */
115
+ jsonc?: boolean;
116
+ /**
117
+ * Enable JSX related rules.
118
+ *
119
+ * Currently only stylistic rules are included.
120
+ *
121
+ * @default true
122
+ */
123
+ jsx?: boolean;
124
+ /**
125
+ * Enable Markdown support.
126
+ *
127
+ * @default true
128
+ */
129
+ markdown?: boolean;
130
+ /**
131
+ * Provide overrides for rules for each integration.
132
+ */
133
+ overrides?: {
134
+ javascript?: ConfigItem['rules'];
135
+ jsonc?: ConfigItem['rules'];
136
+ markdown?: ConfigItem['rules'];
137
+ perfectionist?: ConfigItem['rules'];
138
+ test?: ConfigItem['rules'];
139
+ typescript?: ConfigItem['rules'];
140
+ vue?: ConfigItem['rules'];
141
+ yaml?: ConfigItem['rules'];
142
+ };
143
+ /**
144
+ * Enable stylistic rules.
145
+ *
146
+ * @default true
147
+ */
148
+ stylistic?: StylisticConfig | boolean;
149
+ /**
150
+ * Enable test support.
151
+ *
152
+ * @default true
153
+ */
154
+ test?: boolean;
155
+ /**
156
+ * Enable TypeScript support.
157
+ *
158
+ * Passing an object to enable TypeScript Language Server support.
159
+ *
160
+ * @default auto-detect based on the dependencies
161
+ */
162
+ typescript?: OptionsTypeScriptParserOptions | OptionsTypeScriptWithTypes | boolean;
163
+ /**
164
+ * Enable unocss rules.
165
+ *
166
+ * @default auto-detect based on the dependencies
167
+ */
168
+ unocss?: boolean;
169
+ /**
170
+ * Enable Vue support.
171
+ *
172
+ * @default auto-detect based on the dependencies
173
+ */
174
+ vue?: boolean;
175
+ /**
176
+ * Enable YAML support.
177
+ *
178
+ * @default true
179
+ */
180
+ yaml?: boolean;
181
+ }
182
+
183
+ /**
184
+ * Construct an array of ESLint flat config items.
185
+ */
186
+ declare function config(options?: OptionsConfig & ConfigItem, ...userConfigs: (ConfigItem | ConfigItem[])[]): ConfigItem[];
187
+
188
+ declare function comments(): ConfigItem[];
189
+
190
+ declare function ignores(): ConfigItem[];
191
+
192
+ declare function imports(options?: OptionsStylistic): ConfigItem[];
193
+
194
+ declare function javascript(options?: OptionsIsInEditor & OptionsOverrides): ConfigItem[];
195
+
196
+ declare function jsdoc(options?: OptionsStylistic): ConfigItem[];
197
+
198
+ declare function jsonc(options?: OptionsStylistic & OptionsOverrides): ConfigItem[];
199
+
200
+ declare function markdown(options?: OptionsComponentExts & OptionsOverrides): ConfigItem[];
201
+
202
+ declare function node(): ConfigItem[];
203
+
204
+ declare function perfectionist(options?: OptionsOverrides): ConfigItem[];
205
+
206
+ /**
207
+ * Sort package.json
208
+ *
209
+ * Requires `jsonc` config
210
+ */
211
+ declare function sortPackageJson(): ConfigItem[];
212
+ /**
213
+ * Sort tsconfig.json
214
+ *
215
+ * Requires `jsonc` config
216
+ */
217
+ declare function sortTsconfig(): ConfigItem[];
218
+
219
+ declare function stylistic(options: StylisticConfig): ConfigItem[];
220
+
221
+ declare function test(options?: OptionsIsInEditor & OptionsOverrides): ConfigItem[];
222
+
223
+ declare function typescript(options?: OptionsComponentExts & OptionsOverrides & OptionsTypeScriptWithTypes & OptionsTypeScriptParserOptions): ConfigItem[];
224
+
225
+ declare function unicorn(): ConfigItem[];
226
+
227
+ declare function unocss(): ConfigItem[];
228
+
229
+ declare function vue(options?: OptionsHasTypeScript & OptionsOverrides & OptionsStylistic): ConfigItem[];
230
+
231
+ declare function yaml(options?: OptionsOverrides & OptionsStylistic): ConfigItem[];
232
+
233
+ declare const GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
234
+ declare const GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
235
+ declare const GLOB_JS = "**/*.?([cm])js";
236
+ declare const GLOB_JSX = "**/*.?([cm])jsx";
237
+ declare const GLOB_TS = "**/*.?([cm])ts";
238
+ declare const GLOB_TSX = "**/*.?([cm])tsx";
239
+ declare const GLOB_STYLE = "**/*.{c,le,sc}ss";
240
+ declare const GLOB_CSS = "**/*.css";
241
+ declare const GLOB_LESS = "**/*.less";
242
+ declare const GLOB_SCSS = "**/*.scss";
243
+ declare const GLOB_JSON = "**/*.json";
244
+ declare const GLOB_JSON5 = "**/*.json5";
245
+ declare const GLOB_JSONC = "**/*.jsonc";
246
+ declare const GLOB_MARKDOWN = "**/*.md";
247
+ declare const GLOB_VUE = "**/*.vue";
248
+ declare const GLOB_YAML = "**/*.y?(a)ml";
249
+ declare const GLOB_HTML = "**/*.htm?(l)";
250
+ declare const GLOB_MARKDOWN_CODE = "**/*.md/**/*.?([cm])[jt]s?(x)";
251
+ declare const GLOB_TESTS: string[];
252
+ declare const GLOB_ALL_SRC: string[];
253
+ declare const GLOB_NODE_MODULES: "**/node_modules";
254
+ declare const GLOB_DIST: "**/dist";
255
+ declare const GLOB_LOCKFILE: string[];
256
+ declare const GLOB_EXCLUDE: string[];
257
+
258
+ /**
259
+ * Combine array and non-array configs into a single array.
260
+ */
261
+ declare function combine(...configs: (ConfigItem | ConfigItem[])[]): ConfigItem[];
262
+ declare function renameRules(rules: Record<string, any>, from: string, to: string): {
263
+ [k: string]: any;
264
+ };
265
+ declare function toArray<T>(value: T | T[]): T[];
266
+
267
+ export { ConfigItem, GLOB_ALL_SRC, GLOB_CSS, GLOB_DIST, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_LOCKFILE, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_NODE_MODULES, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_TESTS, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, OptionsComponentExts, OptionsConfig, OptionsHasTypeScript, OptionsIsInEditor, OptionsOverrides, OptionsStylistic, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, Rules, StylisticConfig, WrapRuleConfig, combine, comments, config, config as default, ignores, imports, javascript, jsdoc, jsonc, markdown, node, perfectionist, renameRules, sortPackageJson, sortTsconfig, stylistic, test, toArray, typescript, unicorn, unocss, vue, yaml };
@@ -0,0 +1,267 @@
1
+ import { RuleConfig, MergeIntersection, RenamePrefix, VitestRules, YmlRules, NRules, Prefix, ImportRules, EslintRules, JsoncRules, VueRules, EslintCommentsRules, FlatESLintConfigItem } from '@antfu/eslint-define-config';
2
+ import { RuleOptions as RuleOptions$1 } from '@eslint-types/jsdoc/types';
3
+ import { RuleOptions } from '@eslint-types/typescript-eslint/types';
4
+ import { RuleOptions as RuleOptions$2 } from '@eslint-types/unicorn/types';
5
+ import { UnprefixedRuleOptions } from '@stylistic/eslint-plugin';
6
+ export { default as pluginStylistic } from '@stylistic/eslint-plugin';
7
+ import { ParserOptions } from '@typescript-eslint/parser';
8
+ import * as parser from '@typescript-eslint/parser';
9
+ export { parser as parserTs };
10
+ import { FlatGitignoreOptions } from 'eslint-config-flat-gitignore';
11
+ import { Rules as Rules$1 } from 'eslint-plugin-antfu';
12
+ export { default as pluginAntfu } from 'eslint-plugin-antfu';
13
+ export { default as pluginTs } from '@typescript-eslint/eslint-plugin';
14
+ export { default as pluginUnocss } from '@unocss/eslint-plugin';
15
+ export { default as pluginComments } from 'eslint-plugin-eslint-comments';
16
+ import * as eslintPluginI from 'eslint-plugin-i';
17
+ export { eslintPluginI as pluginImport };
18
+ export { default as pluginJsdoc } from 'eslint-plugin-jsdoc';
19
+ import * as eslintPluginJsonc from 'eslint-plugin-jsonc';
20
+ export { eslintPluginJsonc as pluginJsonc };
21
+ export { default as pluginMarkdown } from 'eslint-plugin-markdown';
22
+ export { default as pluginNode } from 'eslint-plugin-n';
23
+ export { default as pluginNoOnlyTests } from 'eslint-plugin-no-only-tests';
24
+ export { default as pluginPerfectionist } from 'eslint-plugin-perfectionist';
25
+ export { default as pluginPromise } from 'eslint-plugin-promise';
26
+ export { default as pluginUnicorn } from 'eslint-plugin-unicorn';
27
+ export { default as pluginUnusedImports } from 'eslint-plugin-unused-imports';
28
+ export { default as pluginVitest } from 'eslint-plugin-vitest';
29
+ export { default as pluginVue } from 'eslint-plugin-vue';
30
+ import * as eslintPluginYml from 'eslint-plugin-yml';
31
+ export { eslintPluginYml as pluginYaml };
32
+ export { default as parserJsonc } from 'jsonc-eslint-parser';
33
+ export { default as parserVue } from 'vue-eslint-parser';
34
+ export { default as parserYaml } from 'yaml-eslint-parser';
35
+
36
+ type WrapRuleConfig<T extends {
37
+ [key: string]: any;
38
+ }> = {
39
+ [K in keyof T]: T[K] extends RuleConfig ? T[K] : RuleConfig<T[K]>;
40
+ };
41
+ type Rules = WrapRuleConfig<MergeIntersection<RenamePrefix<RuleOptions, '@typescript-eslint/', 'ts/'> & RenamePrefix<VitestRules, 'vitest/', 'test/'> & RenamePrefix<YmlRules, 'yml/', 'yaml/'> & RenamePrefix<NRules, 'n/', 'node/'> & Prefix<UnprefixedRuleOptions, 'style/'> & Prefix<Rules$1, 'antfu/'> & RuleOptions$1 & ImportRules & EslintRules & JsoncRules & VueRules & RuleOptions$2 & EslintCommentsRules & {
42
+ 'test/no-only-tests': RuleConfig<[]>;
43
+ }>>;
44
+ type ConfigItem = Omit<FlatESLintConfigItem<Rules, false>, 'plugins'> & {
45
+ /**
46
+ * Custom name of each config item
47
+ */
48
+ name?: string;
49
+ /**
50
+ * An object containing a name-value mapping of plugin names to plugin objects. When `files` is specified, these plugins are only available to the matching files.
51
+ *
52
+ * @see [Using plugins in your configuration](https://eslint.org/docs/latest/user-guide/configuring/configuration-files-new#using-plugins-in-your-configuration)
53
+ */
54
+ plugins?: Record<string, any>;
55
+ };
56
+ interface OptionsComponentExts {
57
+ /**
58
+ * Additional extensions for components.
59
+ *
60
+ * @example ['vue']
61
+ * @default []
62
+ */
63
+ componentExts?: string[];
64
+ }
65
+ interface OptionsTypeScriptParserOptions {
66
+ /**
67
+ * Additional parser options for TypeScript.
68
+ */
69
+ parserOptions?: Partial<ParserOptions>;
70
+ }
71
+ interface OptionsTypeScriptWithTypes {
72
+ /**
73
+ * When this options is provided, type aware rules will be enabled.
74
+ * @see https://typescript-eslint.io/linting/typed-linting/
75
+ */
76
+ tsconfigPath?: string | string[];
77
+ }
78
+ interface OptionsHasTypeScript {
79
+ typescript?: boolean;
80
+ }
81
+ interface OptionsStylistic {
82
+ stylistic?: StylisticConfig | boolean;
83
+ }
84
+ interface StylisticConfig {
85
+ indent?: 'tab' | number;
86
+ jsx?: boolean;
87
+ quotes?: 'double' | 'single';
88
+ }
89
+ interface OptionsOverrides {
90
+ overrides?: ConfigItem['rules'];
91
+ }
92
+ interface OptionsIsInEditor {
93
+ isInEditor?: boolean;
94
+ }
95
+ interface OptionsConfig extends OptionsComponentExts {
96
+ /**
97
+ * Enable gitignore support.
98
+ *
99
+ * Passing an object to configure the options.
100
+ *
101
+ * @see https://github.com/antfu/eslint-config-flat-gitignore
102
+ * @default true
103
+ */
104
+ gitignore?: FlatGitignoreOptions | boolean;
105
+ /**
106
+ * Control to disable some rules in editors.
107
+ * @default auto-detect based on the process.env
108
+ */
109
+ isInEditor?: boolean;
110
+ /**
111
+ * Enable JSONC support.
112
+ *
113
+ * @default true
114
+ */
115
+ jsonc?: boolean;
116
+ /**
117
+ * Enable JSX related rules.
118
+ *
119
+ * Currently only stylistic rules are included.
120
+ *
121
+ * @default true
122
+ */
123
+ jsx?: boolean;
124
+ /**
125
+ * Enable Markdown support.
126
+ *
127
+ * @default true
128
+ */
129
+ markdown?: boolean;
130
+ /**
131
+ * Provide overrides for rules for each integration.
132
+ */
133
+ overrides?: {
134
+ javascript?: ConfigItem['rules'];
135
+ jsonc?: ConfigItem['rules'];
136
+ markdown?: ConfigItem['rules'];
137
+ perfectionist?: ConfigItem['rules'];
138
+ test?: ConfigItem['rules'];
139
+ typescript?: ConfigItem['rules'];
140
+ vue?: ConfigItem['rules'];
141
+ yaml?: ConfigItem['rules'];
142
+ };
143
+ /**
144
+ * Enable stylistic rules.
145
+ *
146
+ * @default true
147
+ */
148
+ stylistic?: StylisticConfig | boolean;
149
+ /**
150
+ * Enable test support.
151
+ *
152
+ * @default true
153
+ */
154
+ test?: boolean;
155
+ /**
156
+ * Enable TypeScript support.
157
+ *
158
+ * Passing an object to enable TypeScript Language Server support.
159
+ *
160
+ * @default auto-detect based on the dependencies
161
+ */
162
+ typescript?: OptionsTypeScriptParserOptions | OptionsTypeScriptWithTypes | boolean;
163
+ /**
164
+ * Enable unocss rules.
165
+ *
166
+ * @default auto-detect based on the dependencies
167
+ */
168
+ unocss?: boolean;
169
+ /**
170
+ * Enable Vue support.
171
+ *
172
+ * @default auto-detect based on the dependencies
173
+ */
174
+ vue?: boolean;
175
+ /**
176
+ * Enable YAML support.
177
+ *
178
+ * @default true
179
+ */
180
+ yaml?: boolean;
181
+ }
182
+
183
+ /**
184
+ * Construct an array of ESLint flat config items.
185
+ */
186
+ declare function config(options?: OptionsConfig & ConfigItem, ...userConfigs: (ConfigItem | ConfigItem[])[]): ConfigItem[];
187
+
188
+ declare function comments(): ConfigItem[];
189
+
190
+ declare function ignores(): ConfigItem[];
191
+
192
+ declare function imports(options?: OptionsStylistic): ConfigItem[];
193
+
194
+ declare function javascript(options?: OptionsIsInEditor & OptionsOverrides): ConfigItem[];
195
+
196
+ declare function jsdoc(options?: OptionsStylistic): ConfigItem[];
197
+
198
+ declare function jsonc(options?: OptionsStylistic & OptionsOverrides): ConfigItem[];
199
+
200
+ declare function markdown(options?: OptionsComponentExts & OptionsOverrides): ConfigItem[];
201
+
202
+ declare function node(): ConfigItem[];
203
+
204
+ declare function perfectionist(options?: OptionsOverrides): ConfigItem[];
205
+
206
+ /**
207
+ * Sort package.json
208
+ *
209
+ * Requires `jsonc` config
210
+ */
211
+ declare function sortPackageJson(): ConfigItem[];
212
+ /**
213
+ * Sort tsconfig.json
214
+ *
215
+ * Requires `jsonc` config
216
+ */
217
+ declare function sortTsconfig(): ConfigItem[];
218
+
219
+ declare function stylistic(options: StylisticConfig): ConfigItem[];
220
+
221
+ declare function test(options?: OptionsIsInEditor & OptionsOverrides): ConfigItem[];
222
+
223
+ declare function typescript(options?: OptionsComponentExts & OptionsOverrides & OptionsTypeScriptWithTypes & OptionsTypeScriptParserOptions): ConfigItem[];
224
+
225
+ declare function unicorn(): ConfigItem[];
226
+
227
+ declare function unocss(): ConfigItem[];
228
+
229
+ declare function vue(options?: OptionsHasTypeScript & OptionsOverrides & OptionsStylistic): ConfigItem[];
230
+
231
+ declare function yaml(options?: OptionsOverrides & OptionsStylistic): ConfigItem[];
232
+
233
+ declare const GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
234
+ declare const GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
235
+ declare const GLOB_JS = "**/*.?([cm])js";
236
+ declare const GLOB_JSX = "**/*.?([cm])jsx";
237
+ declare const GLOB_TS = "**/*.?([cm])ts";
238
+ declare const GLOB_TSX = "**/*.?([cm])tsx";
239
+ declare const GLOB_STYLE = "**/*.{c,le,sc}ss";
240
+ declare const GLOB_CSS = "**/*.css";
241
+ declare const GLOB_LESS = "**/*.less";
242
+ declare const GLOB_SCSS = "**/*.scss";
243
+ declare const GLOB_JSON = "**/*.json";
244
+ declare const GLOB_JSON5 = "**/*.json5";
245
+ declare const GLOB_JSONC = "**/*.jsonc";
246
+ declare const GLOB_MARKDOWN = "**/*.md";
247
+ declare const GLOB_VUE = "**/*.vue";
248
+ declare const GLOB_YAML = "**/*.y?(a)ml";
249
+ declare const GLOB_HTML = "**/*.htm?(l)";
250
+ declare const GLOB_MARKDOWN_CODE = "**/*.md/**/*.?([cm])[jt]s?(x)";
251
+ declare const GLOB_TESTS: string[];
252
+ declare const GLOB_ALL_SRC: string[];
253
+ declare const GLOB_NODE_MODULES: "**/node_modules";
254
+ declare const GLOB_DIST: "**/dist";
255
+ declare const GLOB_LOCKFILE: string[];
256
+ declare const GLOB_EXCLUDE: string[];
257
+
258
+ /**
259
+ * Combine array and non-array configs into a single array.
260
+ */
261
+ declare function combine(...configs: (ConfigItem | ConfigItem[])[]): ConfigItem[];
262
+ declare function renameRules(rules: Record<string, any>, from: string, to: string): {
263
+ [k: string]: any;
264
+ };
265
+ declare function toArray<T>(value: T | T[]): T[];
266
+
267
+ export { ConfigItem, GLOB_ALL_SRC, GLOB_CSS, GLOB_DIST, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_LOCKFILE, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_NODE_MODULES, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_TESTS, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, OptionsComponentExts, OptionsConfig, OptionsHasTypeScript, OptionsIsInEditor, OptionsOverrides, OptionsStylistic, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, Rules, StylisticConfig, WrapRuleConfig, combine, comments, config, config as default, ignores, imports, javascript, jsdoc, jsonc, markdown, node, perfectionist, renameRules, sortPackageJson, sortTsconfig, stylistic, test, toArray, typescript, unicorn, unocss, vue, yaml };