From 190da3d9119c9bd2dee3a4346f3ece8d4a39fafc Mon Sep 17 00:00:00 2001 From: Shinigami92 Date: Wed, 26 Apr 2023 18:52:35 +0200 Subject: [PATCH] add extends and settings --- .../eslint-plugin-testing-library.d.ts | 11 +++++++++ src/config/extends/index.d.ts | 2 ++ src/config/plugin.d.ts | 1 + src/config/settings/testing-library.d.ts | 24 +++++++++++++++++++ src/rules/index.d.ts | 2 ++ 5 files changed, 40 insertions(+) create mode 100644 src/config/extends/eslint-plugin-testing-library.d.ts create mode 100644 src/config/settings/testing-library.d.ts diff --git a/src/config/extends/eslint-plugin-testing-library.d.ts b/src/config/extends/eslint-plugin-testing-library.d.ts new file mode 100644 index 00000000..9adda0ca --- /dev/null +++ b/src/config/extends/eslint-plugin-testing-library.d.ts @@ -0,0 +1,11 @@ +/** + * Eslint TestingLibrary extensions. + * + * @see [Eslint TestingLibrary extensions](https://github.com/testing-library/eslint-plugin-testing-library) + */ +export type TestingLibraryExtensions = + | 'plugin:testing-library/angular' + | 'plugin:testing-library/dom' + | 'plugin:testing-library/marko' + | 'plugin:testing-library/react' + | 'plugin:testing-library/vue'; diff --git a/src/config/extends/index.d.ts b/src/config/extends/index.d.ts index 0b4d6c63..3d29c8af 100644 --- a/src/config/extends/index.d.ts +++ b/src/config/extends/index.d.ts @@ -13,6 +13,7 @@ import type { PromiseExtensions } from './eslint-plugin-promise'; import type { ReactExtensions } from './eslint-plugin-react'; import type { ReactHooksExtensions } from './eslint-plugin-react-hooks'; import type { SonarjsExtensions } from './eslint-plugin-sonarjs'; +import type { TestingLibraryExtensions } from './eslint-plugin-testing-library'; import type { UnicornExtensions } from './eslint-plugin-unicorn'; import type { VitestExtensions } from './eslint-plugin-vitest'; import type { VueExtensions } from './eslint-plugin-vue'; @@ -39,6 +40,7 @@ export type KnownExtensions = LiteralUnion< | ReactExtensions | ReactHooksExtensions | SonarjsExtensions + | TestingLibraryExtensions | TypescriptEslintExtensions | UnicornExtensions | VitestExtensions diff --git a/src/config/plugin.d.ts b/src/config/plugin.d.ts index 68997d53..0b277ac0 100644 --- a/src/config/plugin.d.ts +++ b/src/config/plugin.d.ts @@ -16,6 +16,7 @@ export type Plugin = LiteralUnion< | 'react' | 'sonarjs' | 'spellcheck' + | 'testing-library' | 'unicorn' | 'vitest' | 'vue' diff --git a/src/config/settings/testing-library.d.ts b/src/config/settings/testing-library.d.ts new file mode 100644 index 00000000..01c5461d --- /dev/null +++ b/src/config/settings/testing-library.d.ts @@ -0,0 +1,24 @@ +import type { LiteralUnion } from '../../utility-types'; + +/** + * Testing Library settings. + * + * @see [Testing Library settings](https://github.com/testing-library/eslint-plugin-testing-library) + */ +export interface TestingLibrarySettings + extends Partial> { + /** + * @see [testing-library/custom-queries](https://github.com/testing-library/eslint-plugin-testing-library#testing-librarycustom-queries) + */ + 'testing-library/custom-queries'?: 'off' | string[]; + + /** + * @see [testing-library/custom-renders](https://github.com/testing-library/eslint-plugin-testing-library#testing-librarycustom-renders) + */ + 'testing-library/custom-renders'?: 'off' | string[]; + + /** + * @see [testing-library/utils-module](https://github.com/testing-library/eslint-plugin-testing-library#testing-libraryutils-module) + */ + 'testing-library/utils-module'?: LiteralUnion<'off'>; +} diff --git a/src/rules/index.d.ts b/src/rules/index.d.ts index 24157cc9..70323bac 100644 --- a/src/rules/index.d.ts +++ b/src/rules/index.d.ts @@ -14,6 +14,7 @@ import type { ReactHooksRules } from './react-hooks'; import type { RuleConfig } from './rule-config'; import type { SonarJSRules } from './sonarjs'; import type { SpellcheckRules } from './spellcheck'; +import type { TestingLibraryRules } from './testing-library'; import type { TypeScriptRules } from './typescript-eslint'; import type { UnicornRules } from './unicorn'; import type { VitestRules } from './vitest'; @@ -42,6 +43,7 @@ export type Rules = Partial< ReactRules & SonarJSRules & SpellcheckRules & + TestingLibraryRules & TypeScriptRules & UnicornRules & VitestRules &