From 5c0bb53def441fc655cf7e2135a3a0a0bcfad9c0 Mon Sep 17 00:00:00 2001 From: Martin Hochel Date: Wed, 2 Oct 2019 23:48:00 +0200 Subject: [PATCH] [@types/eslint]: add missing extends to override config definition (#38601) * [@types/eslint]: add missing extends to override config definition * fixup! [@types/eslint]: add missing extends to override config definition --- types/eslint/eslint-tests.ts | 29 +++++++++++++++++------------ types/eslint/index.d.ts | 15 +++++++++------ types/eslint/ts3.1/eslint-tests.ts | 29 +++++++++++++++++------------ types/eslint/ts3.1/index.d.ts | 13 ++++++++----- 4 files changed, 51 insertions(+), 35 deletions(-) diff --git a/types/eslint/eslint-tests.ts b/types/eslint/eslint-tests.ts index f6347dc917..fa444d84c7 100644 --- a/types/eslint/eslint-tests.ts +++ b/types/eslint/eslint-tests.ts @@ -389,18 +389,23 @@ linter.verify(SOURCE, { rules: { 'no-unused-vars': [2, { vars: 'all' }] } }, 'te linter.verify(SOURCE, { rules: { 'no-console': 1 } }, 'test.js'); linter.verify(SOURCE, { rules: { 'no-console': 0 } }, 'test.js'); linter.verify(SOURCE, { rules: { 'no-console': 'error' } }, 'test.js'); -linter.verify(SOURCE, { - rules: { 'no-console': 'error' }, - overrides: [ - { - excludedFiles: ['*-test.js', '*.spec.js'], - files: ['*-test.js', '*.spec.js'], - rules: { - 'no-unused-expressions': 'off' - } - } - ] -}, 'test.js'); +linter.verify( + SOURCE, + { + rules: { 'no-console': 'error' }, + overrides: [ + { + extends: ['eslint-config-bad-guy'], + excludedFiles: ['*-test.js', '*.spec.js'], + files: ['*-test.js', '*.spec.js'], + rules: { + 'no-unused-expressions': 'off', + }, + }, + ], + }, + 'test.js', +); linter.verify(SOURCE, { rules: { 'no-console': 'warn' } }, 'test.js'); linter.verify(SOURCE, { rules: { 'no-console': 'off' } }, 'test.js'); diff --git a/types/eslint/index.d.ts b/types/eslint/index.d.ts index 37b8ae43f3..7e547b3ae0 100644 --- a/types/eslint/index.d.ts +++ b/types/eslint/index.d.ts @@ -385,11 +385,12 @@ export namespace Linter { } interface HasRules { rules?: { - [name: string]: RuleLevel | RuleLevelAndOptions + [name: string]: RuleLevel | RuleLevelAndOptions; }; } interface RuleOverride extends HasRules { + extends?: string | string[]; excludedFiles?: string[]; files?: string[]; } @@ -452,11 +453,13 @@ export namespace Linter { messages: LintMessage[]; } - type ParserModule = { - parse(text: string, options?: any): AST.Program; - } | { - parseForESLint(text: string, options?: any): ESLintParseResult; - }; + type ParserModule = + | { + parse(text: string, options?: any): AST.Program; + } + | { + parseForESLint(text: string, options?: any): ESLintParseResult; + }; interface ESLintParseResult { ast: AST.Program; diff --git a/types/eslint/ts3.1/eslint-tests.ts b/types/eslint/ts3.1/eslint-tests.ts index f6347dc917..fa444d84c7 100644 --- a/types/eslint/ts3.1/eslint-tests.ts +++ b/types/eslint/ts3.1/eslint-tests.ts @@ -389,18 +389,23 @@ linter.verify(SOURCE, { rules: { 'no-unused-vars': [2, { vars: 'all' }] } }, 'te linter.verify(SOURCE, { rules: { 'no-console': 1 } }, 'test.js'); linter.verify(SOURCE, { rules: { 'no-console': 0 } }, 'test.js'); linter.verify(SOURCE, { rules: { 'no-console': 'error' } }, 'test.js'); -linter.verify(SOURCE, { - rules: { 'no-console': 'error' }, - overrides: [ - { - excludedFiles: ['*-test.js', '*.spec.js'], - files: ['*-test.js', '*.spec.js'], - rules: { - 'no-unused-expressions': 'off' - } - } - ] -}, 'test.js'); +linter.verify( + SOURCE, + { + rules: { 'no-console': 'error' }, + overrides: [ + { + extends: ['eslint-config-bad-guy'], + excludedFiles: ['*-test.js', '*.spec.js'], + files: ['*-test.js', '*.spec.js'], + rules: { + 'no-unused-expressions': 'off', + }, + }, + ], + }, + 'test.js', +); linter.verify(SOURCE, { rules: { 'no-console': 'warn' } }, 'test.js'); linter.verify(SOURCE, { rules: { 'no-console': 'off' } }, 'test.js'); diff --git a/types/eslint/ts3.1/index.d.ts b/types/eslint/ts3.1/index.d.ts index 686a4c4ebc..a8db6d6cf0 100644 --- a/types/eslint/ts3.1/index.d.ts +++ b/types/eslint/ts3.1/index.d.ts @@ -386,6 +386,7 @@ export namespace Linter { } interface RuleOverride extends HasRules { + extends?: string | string[]; excludedFiles?: string[]; files?: string[]; } @@ -448,11 +449,13 @@ export namespace Linter { messages: LintMessage[]; } - type ParserModule = { - parse(text: string, options?: any): AST.Program; - } | { - parseForESLint(text: string, options?: any): ESLintParseResult; - }; + type ParserModule = + | { + parse(text: string, options?: any): AST.Program; + } + | { + parseForESLint(text: string, options?: any): ESLintParseResult; + }; interface ESLintParseResult { ast: AST.Program;