This commit is contained in:
Alex
2024-02-26 03:29:42 -05:00
parent ba2671d760
commit 9ea078f414
6 changed files with 623 additions and 599 deletions

View File

@ -91,18 +91,20 @@ export function defineCustomRule<Options extends readonly unknown[]>(
* By default, it includes `["@typescript-eslint", "import", "prettier"]` configs.
* Additional bundled plugins include:
*
* 1. [react](https://github.com/jsx-eslint/eslint-plugin-react#list-of-supported-rules)
* 2. [react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh)
* 3. [jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y#supported-rules)
* 4. [unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn#rules)
* 5. [n](https://github.com/eslint-community/eslint-plugin-n#-rules) (Node.js specific)
* 6. [jsdoc](https://github.com/gajus/eslint-plugin-jsdoc#rules)
* 1. [`react`](https://github.com/jsx-eslint/eslint-plugin-react#list-of-supported-rules)
* (automatically enables
* [`react-hooks`](https://github.com/facebook/react/tree/main/packages/eslint-plugin-react-hooks))
* 2. [`react-refresh`](https://github.com/ArnaudBarre/eslint-plugin-react-refresh)
* 3. [`jsx-a11y`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y#supported-rules)
* 4. [`unicorn`](https://github.com/sindresorhus/eslint-plugin-unicorn#rules)
* 5. [`n`](https://github.com/eslint-community/eslint-plugin-n#-rules) (Node.js specific)
* 6. [`jsdoc`](https://github.com/gajus/eslint-plugin-jsdoc#rules)
*
* Non bundled:
* 1. [graphql](https://the-guild.dev/graphql/eslint/rules)
* 1. [`graphql`](https://the-guild.dev/graphql/eslint/rules)
*/
export function extendConfig({
plugins,
plugins = [],
settings,
rules,
extends: _extends,
@ -110,11 +112,11 @@ export function extendConfig({
customRules,
...rest
}: Config = {}): ESLintConfig {
const hasReact = plugins?.includes('react');
const hasReactRefresh = plugins?.includes('react-refresh');
const hasUnicorn = plugins?.includes('unicorn');
const hasJsDoc = plugins?.includes('jsdoc');
const hasGraphQL = plugins?.includes('@graphql-eslint');
const hasReact = plugins.includes('react');
const hasReactRefresh = plugins.includes('react-refresh');
const hasUnicorn = plugins.includes('unicorn');
const hasJsDoc = plugins.includes('jsdoc');
const hasGraphQL = plugins.includes('@graphql-eslint');
const hasNext = ensureArray(_extends).some(name => name.includes(':@next/next'));
const ruleDir = false; // ?? findCacheDirectory({ name: '_eslint-rules' });