@d-kuehn/eslint-config 1.0.3
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/README.md +135 -0
- package/dist/index.d.ts +250 -0
- package/dist/index.js +1216 -0
- package/package.json +70 -0
package/README.md
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# @d-kuehn/eslint-config
|
|
2
|
+
|
|
3
|
+
A comprehensive collection of shareable ESLint configurations for JavaScript and TypeScript development.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pnpm install --save-dev @d-kuehn/eslint-config
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Create an `eslint.config.js` in your project root:
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import {
|
|
15
|
+
combine,
|
|
16
|
+
defaults,
|
|
17
|
+
importX,
|
|
18
|
+
jsdoc,
|
|
19
|
+
jsonc,
|
|
20
|
+
perfectionist,
|
|
21
|
+
playwright,
|
|
22
|
+
regexp,
|
|
23
|
+
storybook,
|
|
24
|
+
stylistic,
|
|
25
|
+
tailwindCss,
|
|
26
|
+
testingLibrary,
|
|
27
|
+
typescript,
|
|
28
|
+
unicorn,
|
|
29
|
+
vitest,
|
|
30
|
+
vue,
|
|
31
|
+
vueAccessibility,
|
|
32
|
+
} from '@d-kuehn/eslint-config';
|
|
33
|
+
|
|
34
|
+
export default combine(
|
|
35
|
+
defaults(),
|
|
36
|
+
typescript(),
|
|
37
|
+
stylistic()
|
|
38
|
+
// Add more configurations as needed
|
|
39
|
+
);
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Available Configurations
|
|
43
|
+
|
|
44
|
+
### Core Configurations
|
|
45
|
+
|
|
46
|
+
| Configuration | Purpose | Targeted Files |
|
|
47
|
+
| ----------------------------------------------------------------------- | ------------------------------------------- | --------------------------------------- |
|
|
48
|
+
| [defaults()](https://github.com/eslint/eslint) | Base ESLint rules for JS/TS projects | All JavaScript/TypeScript files, `.vue` |
|
|
49
|
+
| [typescript()](https://github.com/typescript-eslint/typescript-eslint)] | TypeScript-specific rules and type checking | `.ts`, `.tsx`, `.mts`, `.cts`, `.vue` |
|
|
50
|
+
| [stylistic()](https://github.com/eslint-stylistic/eslint-stylistic) | Code style and formatting rules | All JavaScript/TypeScript files, `.vue` |
|
|
51
|
+
|
|
52
|
+
### Feature-specific Configurations
|
|
53
|
+
|
|
54
|
+
| Configuration | Purpose | Targeted Files |
|
|
55
|
+
| ------------------------------------------------------------------------- | ------------------------------ | --------------------------------------- |
|
|
56
|
+
| [importX()](https://github.com/un-ts/eslint-plugin-import-x) | ES6+ import/export syntax | All JavaScript/TypeScript files, `.vue` |
|
|
57
|
+
| [jsdoc()](https://github.com/gajus/eslint-plugin-jsdoc) | JSDoc comments validation | All JavaScript/TypeScript files |
|
|
58
|
+
| [jsonc()](https://github.com/ota-meshi/eslint-plugin-jsonc) | JSON validation and formatting | `.json`, `.jsonc`, `.json5` |
|
|
59
|
+
| [regexp()](https://github.com/ota-meshi/eslint-plugin-regexp) | Regular expressions validation | All JavaScript/TypeScript files, `.vue` |
|
|
60
|
+
| [unicorn()](https://github.com/sindresorhus/eslint-plugin-unicorn) | Additional JavaScript rules | All JavaScript/TypeScript files, `.vue` |
|
|
61
|
+
| [perfectionist()](https://github.com/azat-io/eslint-plugin-perfectionist) | Consistent code organization | All JavaScript/TypeScript files, `.vue` |
|
|
62
|
+
|
|
63
|
+
### Framework Support
|
|
64
|
+
|
|
65
|
+
| Configuration | Purpose | Targeted Files |
|
|
66
|
+
| ----------------------------------------------------------------------------------- | -------------------- | -------------------------------------- |
|
|
67
|
+
| [vue()](https://github.com/vuejs/eslint-plugin-vue) | Vue.js rules | `.vue` |
|
|
68
|
+
| [vueAccessibility()](https://github.com/vue-a11y/eslint-plugin-vuejs-accessibility) | Vue.js accessibility | `.vue` |
|
|
69
|
+
| [storybook()](https://github.com/storybookjs/eslint-plugin-storybook) | Storybook rules | `**/*.stories.{ts,tsx,js,jsx,mjs,cjs}` |
|
|
70
|
+
| [tailwindCss()](https://github.com/francoismassart/eslint-plugin-tailwindcss) | Tailwind CSS usage | `.vue`, `.js`, `.ts`, `.jsx`, `.tsx` |
|
|
71
|
+
|
|
72
|
+
### Testing Configurations
|
|
73
|
+
|
|
74
|
+
| Configuration | Purpose | Targeted Files |
|
|
75
|
+
|--------------------------------------------------------------------------------------| --------------------------- | --------------------------------------------------- |
|
|
76
|
+
| [vitest()](https://github.com/vitest-dev/eslint-plugin-vitest) | Vitest test rules | `**/*.{spec,test,bench,benchmark}.?([cm])[jt]s?(x)` |
|
|
77
|
+
| [playwright()](https://github.com/playwright-community/eslint-plugin-playwright) | Playwright E2E test rules | `tests/e2e/**`, `**/*.e2e.?([cm])[jt]s?(x)` |
|
|
78
|
+
| [testingLibrary()](https://github.com/testing-library/eslint-plugin-testing-library) | Testing Library with Vue.js | `**/*.{spec,test,bench,benchmark}.?([cm])[jt]s?(x)` |
|
|
79
|
+
|
|
80
|
+
## Configuration Options
|
|
81
|
+
|
|
82
|
+
Each configuration accepts an options object:
|
|
83
|
+
|
|
84
|
+
```ts
|
|
85
|
+
interface Options {
|
|
86
|
+
ignores?: string[]; // Files to ignore
|
|
87
|
+
plugins?: Record<string, TSESLint.FlatConfig.Plugin | TSESLint.FlatConfig.Plugins>; // Additional ESLint plugins
|
|
88
|
+
rules?: Record<string, TSESLint.FlatConfig.RuleEntry>; // Custom rule configurations
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
For detailed information:
|
|
93
|
+
|
|
94
|
+
- `ignores`: See ESLint [ignore](https://eslint.org/docs/latest/use/configure/ignore) patterns documentation
|
|
95
|
+
- `plugins`: See ESLint [plugins](https://eslint.org/docs/latest/use/configure/plugins) configuration
|
|
96
|
+
- `rules`: See ESLint [rules](https://eslint.org/docs/latest/use/configure/configuration-files#configuring-rules) configuration
|
|
97
|
+
|
|
98
|
+
The Typescript plugin further accept setting some
|
|
99
|
+
[languageOptions](https://github.com/typescript-eslint/typescript-eslint/blob/04098513a0307aa5d8b21a50ac82e5680d04a898/packages/utils/src/ts-eslint/Config.ts#L205):
|
|
100
|
+
|
|
101
|
+
```ts
|
|
102
|
+
interface Options {
|
|
103
|
+
ignores?: string[];
|
|
104
|
+
plugins?: Record<string, TSESLint.FlatConfig.Plugin | TSESLint.FlatConfig.Plugins>;
|
|
105
|
+
rules?: Record<string, TSESLint.FlatConfig.RuleEntry>;
|
|
106
|
+
languageOptions?: TSESLint.FlatConfig.LanguageOptions
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Example usage with options:
|
|
111
|
+
|
|
112
|
+
```js
|
|
113
|
+
export default combine(
|
|
114
|
+
{
|
|
115
|
+
languageOptions: {
|
|
116
|
+
globals: {
|
|
117
|
+
...globals.browser,
|
|
118
|
+
__APP_VERSION__: 'readonly',
|
|
119
|
+
MaybeHTMLElement: 'readonly',
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
typescript({
|
|
124
|
+
ignores: ['*.test.ts'],
|
|
125
|
+
rules: {
|
|
126
|
+
'@typescript-eslint/no-explicit-any': 'off'
|
|
127
|
+
}
|
|
128
|
+
}),
|
|
129
|
+
stylistic({
|
|
130
|
+
rules: {
|
|
131
|
+
'@stylistic/indent': ['error', 4]
|
|
132
|
+
}
|
|
133
|
+
})
|
|
134
|
+
);
|
|
135
|
+
```
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import { TSESLint } from '@typescript-eslint/utils';
|
|
2
|
+
|
|
3
|
+
interface Options {
|
|
4
|
+
ignores?: string[];
|
|
5
|
+
plugins?: Record<string, TSESLint.FlatConfig.Plugin | TSESLint.FlatConfig.Plugins>;
|
|
6
|
+
rules?: Record<string, TSESLint.FlatConfig.RuleEntry>;
|
|
7
|
+
}
|
|
8
|
+
interface OptionsTypescript extends Options {
|
|
9
|
+
languageOptions?: TSESLint.FlatConfig.LanguageOptions;
|
|
10
|
+
}
|
|
11
|
+
type Awaitable<T> = Promise<T> | T;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* generates a flat ESLint configuration for
|
|
15
|
+
* {@link https://github.com/eslint/eslint|eslint}
|
|
16
|
+
* allows additional options to be passed in for {@link https://eslint.org/docs/latest/use/configure/ignore|ignores},
|
|
17
|
+
* {@link https://eslint.org/docs/latest/use/configure/plugins|plugins} and
|
|
18
|
+
* {@link https://eslint.org/docs/latest/use/configure/configuration-files#configuring-rules|rules},
|
|
19
|
+
*
|
|
20
|
+
* @param {Options} [options={}] - an optional object that can contain additional ignores, plugins, and rules.
|
|
21
|
+
* @returns {TSESLint.FlatConfig.ConfigPromise} - a promise that resolves to an array of flat ESLint configurations.
|
|
22
|
+
*/
|
|
23
|
+
declare const defaults: (options?: Options) => TSESLint.FlatConfig.ConfigPromise;
|
|
24
|
+
|
|
25
|
+
declare const GLOBS_EXCLUDE: string[];
|
|
26
|
+
declare const GLOB_VUE = "**/*.vue";
|
|
27
|
+
declare const GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
|
|
28
|
+
declare const GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
|
|
29
|
+
declare const GLOB_TS = "**/*.?([cm])ts";
|
|
30
|
+
declare const GLOB_TSX = "**/*.?([cm])tsx";
|
|
31
|
+
declare const GLOB_JS = "**/*.?([cm])js";
|
|
32
|
+
declare const GLOB_JSX = "**/*.?([cm])jsx";
|
|
33
|
+
declare const GLOB_JSON = "**/*.json";
|
|
34
|
+
declare const GLOB_JSON5 = "**/*.json5";
|
|
35
|
+
declare const GLOB_JSONC = "**/*.jsonc";
|
|
36
|
+
declare const GLOB_STYLE = "**/*.{c,le,sc}ss";
|
|
37
|
+
declare const GLOB_CSS = "**/*.css";
|
|
38
|
+
declare const GLOB_POSTCSS = "**/*.{p,post}css";
|
|
39
|
+
declare const GLOB_LESS = "**/*.less";
|
|
40
|
+
declare const GLOB_SCSS = "**/*.scss";
|
|
41
|
+
declare const GLOB_MARKDOWN = "**/*.md";
|
|
42
|
+
declare const GLOB_STORYBOOK = "**/*.stories.{ts,tsx,js,jsx,mjs,cjs}";
|
|
43
|
+
declare const GLOB_HTML = "**/*.htm?(l)";
|
|
44
|
+
declare const GLOBS_TESTS: string[];
|
|
45
|
+
declare const GLOBS_TESTS_E2E: string[];
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* generates a flat ESLint configuration for
|
|
49
|
+
* {@link https://github.com/un-ts/eslint-plugin-import-x|eslint-plugin-import-x}
|
|
50
|
+
* allows additional options to be passed in for {@link https://eslint.org/docs/latest/use/configure/ignore|ignores},
|
|
51
|
+
* {@link https://eslint.org/docs/latest/use/configure/plugins|plugins} and
|
|
52
|
+
* {@link https://eslint.org/docs/latest/use/configure/configuration-files#configuring-rules|rules},
|
|
53
|
+
*
|
|
54
|
+
* @param {Options} [options={}] - an optional object that can contain additional ignores, plugins, and rules.
|
|
55
|
+
* @returns {TSESLint.FlatConfig.ConfigPromise} - a promise that resolves to an array of flat ESLint configurations.
|
|
56
|
+
*/
|
|
57
|
+
declare const importX: (options?: Options) => TSESLint.FlatConfig.ConfigPromise;
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* generates a flat ESLint configuration for {@link https://github.com/gajus/eslint-plugin-jsdoc|eslint-plugin-jsdoc}
|
|
61
|
+
* allows additional options to be passed in for {@link https://eslint.org/docs/latest/use/configure/ignore|ignores},
|
|
62
|
+
* {@link https://eslint.org/docs/latest/use/configure/plugins|plugins} and
|
|
63
|
+
* {@link https://eslint.org/docs/latest/use/configure/configuration-files#configuring-rules|rules},
|
|
64
|
+
*
|
|
65
|
+
* @param {Options} [options={}] - an optional object that can contain additional ignores, plugins, and rules.
|
|
66
|
+
* @returns {TSESLint.FlatConfig.ConfigPromise} - a promise that resolves to an array of flat ESLint configurations.
|
|
67
|
+
*/
|
|
68
|
+
declare const jsdoc: (options?: Options) => TSESLint.FlatConfig.ConfigPromise;
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* generates a flat ESLint configuration for
|
|
72
|
+
* {@link https://github.com/ota-meshi/eslint-plugin-jsonc|eslint-plugin-jsonc}
|
|
73
|
+
* allows additional options to be passed in for {@link https://eslint.org/docs/latest/use/configure/ignore|ignores},
|
|
74
|
+
* {@link https://eslint.org/docs/latest/use/configure/plugins|plugins} and
|
|
75
|
+
* {@link https://eslint.org/docs/latest/use/configure/configuration-files#configuring-rules|rules},
|
|
76
|
+
*
|
|
77
|
+
* @param {Options} [options={}] - an optional object that can contain additional ignores, plugins, and rules.
|
|
78
|
+
* @returns {TSESLint.FlatConfig.ConfigPromise} - a promise that resolves to an array of flat ESLint configurations.
|
|
79
|
+
*/
|
|
80
|
+
declare const jsonc: (options?: Options) => TSESLint.FlatConfig.ConfigPromise;
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* generates a flat ESLint configuration for
|
|
84
|
+
* {@link https://github.com/azat-io/eslint-plugin-perfectionist|eslint-plugin-perfectionist}
|
|
85
|
+
* allows additional options to be passed in for {@link https://eslint.org/docs/latest/use/configure/ignore|ignores},
|
|
86
|
+
* {@link https://eslint.org/docs/latest/use/configure/plugins|plugins} and
|
|
87
|
+
* {@link https://eslint.org/docs/latest/use/configure/configuration-files#configuring-rules|rules},
|
|
88
|
+
*
|
|
89
|
+
* @param {Options} [options={}] - an optional object that can contain additional ignores, plugins, and rules.
|
|
90
|
+
* @returns {TSESLint.FlatConfig.ConfigPromise} - a promise that resolves to an array of flat ESLint configurations.
|
|
91
|
+
*/
|
|
92
|
+
declare const perfectionist: (options?: Options) => TSESLint.FlatConfig.ConfigPromise;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* generates a flat ESLint configuration for
|
|
96
|
+
* {@link https://github.com/playwright-community/eslint-plugin-playwright|eslint-plugin-playwright}
|
|
97
|
+
* allows additional options to be passed in for {@link https://eslint.org/docs/latest/use/configure/ignore|ignores},
|
|
98
|
+
* {@link https://eslint.org/docs/latest/use/configure/plugins|plugins} and
|
|
99
|
+
* {@link https://eslint.org/docs/latest/use/configure/configuration-files#configuring-rules|rules},
|
|
100
|
+
*
|
|
101
|
+
* @param {Options} [options={}] - an optional object that can contain additional ignores, plugins, and rules.
|
|
102
|
+
* @returns {TSESLint.FlatConfig.ConfigPromise} - a promise that resolves to an array of flat ESLint configurations.
|
|
103
|
+
*/
|
|
104
|
+
declare const playwright: (options?: Options) => TSESLint.FlatConfig.ConfigPromise;
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* generates a flat ESLint configuration for
|
|
108
|
+
* {@link https://github.com/ota-meshi/eslint-plugin-regexp|eslint-plugin-regexp}
|
|
109
|
+
* allows additional options to be passed in for {@link https://eslint.org/docs/latest/use/configure/ignore|ignores},
|
|
110
|
+
* {@link https://eslint.org/docs/latest/use/configure/plugins|plugins} and
|
|
111
|
+
* {@link https://eslint.org/docs/latest/use/configure/configuration-files#configuring-rules|rules},
|
|
112
|
+
*
|
|
113
|
+
* @param {Options} [options={}] - an optional object that can contain additional ignores, plugins, and rules.
|
|
114
|
+
* @returns {TSESLint.FlatConfig.ConfigPromise} - a promise that resolves to an array of flat ESLint configurations.
|
|
115
|
+
*/
|
|
116
|
+
declare const regexp: (options?: Options) => TSESLint.FlatConfig.ConfigPromise;
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* generates a flat ESLint configuration for
|
|
120
|
+
* {@link https://github.com/storybookjs/eslint-plugin-storybook|eslint-plugin-storybook}
|
|
121
|
+
* allows additional options to be passed in for {@link https://eslint.org/docs/latest/use/configure/ignore|ignores},
|
|
122
|
+
* {@link https://eslint.org/docs/latest/use/configure/plugins|plugins} and
|
|
123
|
+
* {@link https://eslint.org/docs/latest/use/configure/configuration-files#configuring-rules|rules},
|
|
124
|
+
*
|
|
125
|
+
* @param {Options} [options={}] - an optional object that can contain additional ignores, plugins, and rules.
|
|
126
|
+
* @returns {TSESLint.FlatConfig.ConfigPromise} - a promise that resolves to an array of flat ESLint configurations.
|
|
127
|
+
*/
|
|
128
|
+
declare const storybook: (options?: Options) => TSESLint.FlatConfig.ConfigPromise;
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* generates a flat ESLint configuration for
|
|
132
|
+
* {@link https://github.com/eslint-stylistic/eslint-stylistic|@stylistic/eslint-plugin}
|
|
133
|
+
* allows additional options to be passed in for {@link https://eslint.org/docs/latest/use/configure/ignore|ignores},
|
|
134
|
+
* {@link https://eslint.org/docs/latest/use/configure/plugins|plugins} and
|
|
135
|
+
* {@link https://eslint.org/docs/latest/use/configure/configuration-files#configuring-rules|rules},
|
|
136
|
+
*
|
|
137
|
+
* @param {Options} [options={}] - an optional object that can contain additional ignores, plugins, and rules.
|
|
138
|
+
* @returns {TSESLint.FlatConfig.ConfigPromise} - a promise that resolves to an array of flat ESLint configurations.
|
|
139
|
+
*/
|
|
140
|
+
declare const stylistic: (options?: Options) => TSESLint.FlatConfig.ConfigPromise;
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* generates a flat ESLint configuration for
|
|
144
|
+
* {@link https://github.com/francoismassart/eslint-plugin-tailwindcss|eslint-plugin-tailwindcss}
|
|
145
|
+
* allows additional options to be passed in for {@link https://eslint.org/docs/latest/use/configure/ignore|ignores},
|
|
146
|
+
* {@link https://eslint.org/docs/latest/use/configure/plugins|plugins} and
|
|
147
|
+
* {@link https://eslint.org/docs/latest/use/configure/configuration-files#configuring-rules|rules},
|
|
148
|
+
*
|
|
149
|
+
* @param {Options} [options={}] - an optional object that can contain additional ignores, plugins, and rules.
|
|
150
|
+
* @returns {TSESLint.FlatConfig.ConfigPromise} - a promise that resolves to an array of flat ESLint configurations.
|
|
151
|
+
*/
|
|
152
|
+
declare const tailwindCss: (options?: Options) => TSESLint.FlatConfig.ConfigPromise;
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* generates a flat ESLint configuration for
|
|
156
|
+
* {@link https://github.com/testing-library/eslint-plugin-testing-library|eslint-plugin-testing-library}
|
|
157
|
+
* allows additional options to be passed in for {@link https://eslint.org/docs/latest/use/configure/ignore|ignores},
|
|
158
|
+
* {@link https://eslint.org/docs/latest/use/configure/plugins|plugins} and
|
|
159
|
+
* {@link https://eslint.org/docs/latest/use/configure/configuration-files#configuring-rules|rules},
|
|
160
|
+
*
|
|
161
|
+
* @param {Options} [options={}] - an optional object that can contain additional ignores, plugins, and rules.
|
|
162
|
+
* @returns {TSESLint.FlatConfig.ConfigPromise} - a promise that resolves to an array of flat ESLint configurations.
|
|
163
|
+
*/
|
|
164
|
+
declare const testingLibrary: (options?: Options) => TSESLint.FlatConfig.ConfigPromise;
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* generates a flat ESLint configuration for
|
|
168
|
+
* {@link https://github.com/typescript-eslint/typescript-eslint|typescript-eslint}
|
|
169
|
+
* allows additional options to be passed in for {@link https://eslint.org/docs/latest/use/configure/ignore|ignores},
|
|
170
|
+
* {@link https://eslint.org/docs/latest/use/configure/plugins|plugins} and
|
|
171
|
+
* {@link https://eslint.org/docs/latest/use/configure/configuration-files#configuring-rules|rules},
|
|
172
|
+
*
|
|
173
|
+
* @param {OptionsTypescript} [options={}] - an optional object that can contain additional ignores, plugins, and rules
|
|
174
|
+
* @returns {TSESLint.FlatConfig.ConfigPromise} - a promise that resolves to an array of flat ESLint configurations
|
|
175
|
+
*/
|
|
176
|
+
declare const typescript: (options?: OptionsTypescript) => TSESLint.FlatConfig.ConfigPromise;
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* generates a flat ESLint configuration for
|
|
180
|
+
* {@link https://github.com/sindresorhus/eslint-plugin-unicorn|eslint-plugin-unicorn}
|
|
181
|
+
* allows additional options to be passed in for {@link https://eslint.org/docs/latest/use/configure/ignore|ignores},
|
|
182
|
+
* {@link https://eslint.org/docs/latest/use/configure/plugins|plugins} and
|
|
183
|
+
* {@link https://eslint.org/docs/latest/use/configure/configuration-files#configuring-rules|rules},
|
|
184
|
+
*
|
|
185
|
+
* @param {Options} [options={}] - an optional object that can contain additional ignores, plugins, and rules.
|
|
186
|
+
* @returns {TSESLint.FlatConfig.ConfigPromise} - a promise that resolves to an array of flat ESLint configurations.
|
|
187
|
+
*/
|
|
188
|
+
declare const unicorn: (options?: Options) => TSESLint.FlatConfig.ConfigPromise;
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* generates a flat ESLint configuration for
|
|
192
|
+
* {@link https://github.com/vitest-dev/eslint-plugin-vitest|@vitest/eslint-plugin}
|
|
193
|
+
* allows additional options to be passed in for {@link https://eslint.org/docs/latest/use/configure/ignore|ignores},
|
|
194
|
+
* {@link https://eslint.org/docs/latest/use/configure/plugins|plugins} and
|
|
195
|
+
* {@link https://eslint.org/docs/latest/use/configure/configuration-files#configuring-rules|rules},
|
|
196
|
+
*
|
|
197
|
+
* @param {Options} [options={}] - an optional object that can contain additional ignores, plugins, and rules.
|
|
198
|
+
* @returns {TSESLint.FlatConfig.ConfigPromise} - a promise that resolves to an array of flat ESLint configurations.
|
|
199
|
+
*/
|
|
200
|
+
declare const vitest: (options?: Options) => TSESLint.FlatConfig.ConfigPromise;
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* generates a flat ESLint configuration for
|
|
204
|
+
* {@link https://github.com/vuejs/eslint-plugin-vue|eslint-plugin-vue}
|
|
205
|
+
* allows additional options to be passed in for {@link https://eslint.org/docs/latest/use/configure/ignore|ignores},
|
|
206
|
+
* {@link https://eslint.org/docs/latest/use/configure/plugins|plugins} and
|
|
207
|
+
* {@link https://eslint.org/docs/latest/use/configure/configuration-files#configuring-rules|rules},
|
|
208
|
+
*
|
|
209
|
+
* @param {Options} [options={}] - an optional object that can contain additional ignores, plugins, and rules.
|
|
210
|
+
* @returns {TSESLint.FlatConfig.ConfigPromise} - a promise that resolves to an array of flat ESLint configurations.
|
|
211
|
+
*/
|
|
212
|
+
declare const vue: (options?: Options) => TSESLint.FlatConfig.ConfigPromise;
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* generates a flat ESLint configuration for
|
|
216
|
+
* {@link https://github.com/vue-a11y/eslint-plugin-vuejs-accessibility|eslint-plugin-vuejs-accessibility}
|
|
217
|
+
* allows additional options to be passed in for {@link https://eslint.org/docs/latest/use/configure/ignore|ignores},
|
|
218
|
+
* {@link https://eslint.org/docs/latest/use/configure/plugins|plugins} and
|
|
219
|
+
* {@link https://eslint.org/docs/latest/use/configure/configuration-files#configuring-rules|rules},
|
|
220
|
+
*
|
|
221
|
+
* @param {Options} [options={}] - an optional object that can contain additional ignores, plugins, and rules.
|
|
222
|
+
* @returns {TSESLint.FlatConfig.ConfigPromise} - a promise that resolves to an array of flat ESLint configurations.
|
|
223
|
+
*/
|
|
224
|
+
declare const vueAccessibility: (options?: Options) => TSESLint.FlatConfig.ConfigPromise;
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* combines multiple ESLint flat configurations into a single array.
|
|
228
|
+
* useful for merging different configuration sources that might be provided as individual configs
|
|
229
|
+
* or arrays of configs, handling both synchronous and asynchronous inputs
|
|
230
|
+
*
|
|
231
|
+
* @param {...Awaitable<TSESLint.FlatConfig.Config
|
|
232
|
+
* | TSESLint.FlatConfig.Config[]>} configs - variable number of ESLint configurations
|
|
233
|
+
* each parameter can be:
|
|
234
|
+
* - a single FlatConfig.Config object
|
|
235
|
+
* - an array of FlatConfig.Config objects
|
|
236
|
+
* - a Promise that resolves to either of the above
|
|
237
|
+
*
|
|
238
|
+
* @returns {Promise<TSESLint.FlatConfig.Config[]>} a promise that resolves to a flattened array
|
|
239
|
+
* containing all provided configurations
|
|
240
|
+
*
|
|
241
|
+
* @example
|
|
242
|
+
* const allConfigs = await combine(
|
|
243
|
+
* baseConfig,
|
|
244
|
+
* Promise.resolve(additionalConfig),
|
|
245
|
+
* [customConfig1, customConfig2]
|
|
246
|
+
* );
|
|
247
|
+
*/
|
|
248
|
+
declare const combine: (...configs: Awaitable<TSESLint.FlatConfig.Config | TSESLint.FlatConfig.Config[]>[]) => Promise<TSESLint.FlatConfig.Config[]>;
|
|
249
|
+
|
|
250
|
+
export { GLOBS_EXCLUDE, GLOBS_TESTS, GLOBS_TESTS_E2E, GLOB_CSS, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STORYBOOK, GLOB_STYLE, GLOB_TS, GLOB_TSX, GLOB_VUE, combine, defaults, importX, jsdoc, jsonc, perfectionist, playwright, regexp, storybook, stylistic, tailwindCss, testingLibrary, typescript, unicorn, vitest, vue, vueAccessibility };
|