From b8f8f35b6fed3a546d56f1df23d2e0270601463d Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Sat, 18 May 2019 12:28:57 -0700 Subject: [PATCH 1/2] Fix type reference directive resolution --- src/servicesHost.ts | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/servicesHost.ts b/src/servicesHost.ts index 53e41063e..f54e9d71c 100644 --- a/src/servicesHost.ts +++ b/src/servicesHost.ts @@ -69,7 +69,9 @@ export function makeServicesHost( fileExists, readFile: readFileWithFallback, realpath: compiler.sys.realpath, - directoryExists: compiler.sys.directoryExists + directoryExists: compiler.sys.directoryExists, + getCurrentDirectory: compiler.sys.getCurrentDirectory, + getDirectories: compiler.sys.getDirectories }; const clearCache = enableFileCaching ? addCache(moduleResolutionHost) : null; @@ -187,8 +189,11 @@ function makeResolvers( ): (typescript.ResolvedTypeReferenceDirective | undefined)[] => typeDirectiveNames.map( directive => - resolveTypeReferenceDirective(directive, containingFile) - .resolvedTypeReferenceDirective + resolveTypeReferenceDirective( + directive, + containingFile, + _redirectedReference + ).resolvedTypeReferenceDirective ); const resolveModuleName = makeResolveModuleName( @@ -500,7 +505,8 @@ export function makeWatchHost( type ResolveTypeReferenceDirective = ( directive: string, - containingFile: string + containingFile: string, + redirectedReference?: typescript.ResolvedProjectReference ) => typescript.ResolvedTypeReferenceDirectiveWithFailedLookupLocations; function makeResolveTypeReferenceDirective( @@ -512,16 +518,17 @@ function makeResolveTypeReferenceDirective( | undefined ): ResolveTypeReferenceDirective { if (customResolveTypeReferenceDirective === undefined) { - return (directive: string, containingFile: string) => + return (directive, containingFile, redirectedReference) => compiler.resolveTypeReferenceDirective( directive, containingFile, compilerOptions, - moduleResolutionHost + moduleResolutionHost, + redirectedReference ); } - return (directive: string, containingFile: string) => + return (directive, containingFile) => customResolveTypeReferenceDirective( directive, containingFile, From 658d474bd1c77b6c02236f43b649000d69aad74e Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Sat, 18 May 2019 14:51:29 -0700 Subject: [PATCH 2/2] Bump package.json and CHANGELOG --- CHANGELOG.md | 4 ++++ package.json | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 23f222fbf..955c31481 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## v6.0.1 + +* [Fix issue with `resolveTypeReferenceDirective` causing errors like `Cannot find name 'it'` with Jest](https://github.com/TypeStrong/ts-loader/pull/936) (#934) (#919) - thanks @andrewbranch! + ## v6.0.0 * [Drop support for node < 8.6 related to micromatch upgrade to 4](https://github.com/TypeStrong/ts-loader/pull/930); see: https://github.com/TypeStrong/ts-loader/issues/929 diff --git a/package.json b/package.json index e266da418..95fd69457 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ts-loader", - "version": "6.0.0", + "version": "6.0.1", "description": "TypeScript loader for webpack", "main": "index.js", "types": "dist/types/index.d.ts",