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;