From dc3842998775d3c79b1251e5756bdc1f89608200 Mon Sep 17 00:00:00 2001 From: Brad Zacher Date: Thu, 6 Feb 2020 14:40:53 -0800 Subject: [PATCH 1/2] fix(typescript-estree): typescript returning wrong file with project references --- .../src/create-program/createProjectProgram.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/packages/typescript-estree/src/create-program/createProjectProgram.ts b/packages/typescript-estree/src/create-program/createProjectProgram.ts index b81409e647e..c1f04a02aa0 100644 --- a/packages/typescript-estree/src/create-program/createProjectProgram.ts +++ b/packages/typescript-estree/src/create-program/createProjectProgram.ts @@ -9,6 +9,13 @@ const log = debug('typescript-eslint:typescript-estree:createProjectProgram'); const DEFAULT_EXTRA_FILE_EXTENSIONS = ['.ts', '.tsx', '.js', '.jsx']; +function getExtension(fileName: string | undefined): string | null { + if (!fileName) { + return null; + } + return fileName.endsWith('.d.ts') ? '.d.ts' : path.extname(fileName) +} + /** * @param code The code of the file being linted * @param createDefaultProgram True if the default program should be created @@ -26,6 +33,14 @@ function createProjectProgram( getProgramsForProjects(code, extra.filePath, extra), currentProgram => { const ast = currentProgram.getSourceFile(extra.filePath); + + // working around https://github.com/typescript-eslint/typescript-eslint/issues/1573 + const expectedExt = getExtension(extra.filePath); + const returnedExt = getExtension(ast?.fileName); + if (expectedExt !== returnedExt) { + return; + } + return ast && { ast, program: currentProgram }; }, ); From 4c4d2692afe78a1d0c4d996fbb19897ad7f6286a Mon Sep 17 00:00:00 2001 From: Brad Zacher Date: Thu, 6 Feb 2020 16:46:06 -0800 Subject: [PATCH 2/2] fix: format --- .../src/create-program/createProjectProgram.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/typescript-estree/src/create-program/createProjectProgram.ts b/packages/typescript-estree/src/create-program/createProjectProgram.ts index c1f04a02aa0..c7949b02811 100644 --- a/packages/typescript-estree/src/create-program/createProjectProgram.ts +++ b/packages/typescript-estree/src/create-program/createProjectProgram.ts @@ -13,7 +13,7 @@ function getExtension(fileName: string | undefined): string | null { if (!fileName) { return null; } - return fileName.endsWith('.d.ts') ? '.d.ts' : path.extname(fileName) + return fileName.endsWith('.d.ts') ? '.d.ts' : path.extname(fileName); } /**