Skip to content

Commit 0399864

Browse files
authored
Merge pull request #936 from andrewbranch/bug/module-resolution
Fix type reference directive resolution
2 parents cc7b2b1 + 658d474 commit 0399864

File tree

3 files changed

+19
-8
lines changed

3 files changed

+19
-8
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
## v6.0.1
4+
5+
* [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!
6+
37
## v6.0.0
48

59
* [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

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ts-loader",
3-
"version": "6.0.0",
3+
"version": "6.0.1",
44
"description": "TypeScript loader for webpack",
55
"main": "index.js",
66
"types": "dist/types/index.d.ts",

src/servicesHost.ts

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,9 @@ export function makeServicesHost(
6969
fileExists,
7070
readFile: readFileWithFallback,
7171
realpath: compiler.sys.realpath,
72-
directoryExists: compiler.sys.directoryExists
72+
directoryExists: compiler.sys.directoryExists,
73+
getCurrentDirectory: compiler.sys.getCurrentDirectory,
74+
getDirectories: compiler.sys.getDirectories
7375
};
7476

7577
const clearCache = enableFileCaching ? addCache(moduleResolutionHost) : null;
@@ -187,8 +189,11 @@ function makeResolvers(
187189
): (typescript.ResolvedTypeReferenceDirective | undefined)[] =>
188190
typeDirectiveNames.map(
189191
directive =>
190-
resolveTypeReferenceDirective(directive, containingFile)
191-
.resolvedTypeReferenceDirective
192+
resolveTypeReferenceDirective(
193+
directive,
194+
containingFile,
195+
_redirectedReference
196+
).resolvedTypeReferenceDirective
192197
);
193198

194199
const resolveModuleName = makeResolveModuleName(
@@ -500,7 +505,8 @@ export function makeWatchHost(
500505

501506
type ResolveTypeReferenceDirective = (
502507
directive: string,
503-
containingFile: string
508+
containingFile: string,
509+
redirectedReference?: typescript.ResolvedProjectReference
504510
) => typescript.ResolvedTypeReferenceDirectiveWithFailedLookupLocations;
505511

506512
function makeResolveTypeReferenceDirective(
@@ -512,16 +518,17 @@ function makeResolveTypeReferenceDirective(
512518
| undefined
513519
): ResolveTypeReferenceDirective {
514520
if (customResolveTypeReferenceDirective === undefined) {
515-
return (directive: string, containingFile: string) =>
521+
return (directive, containingFile, redirectedReference) =>
516522
compiler.resolveTypeReferenceDirective(
517523
directive,
518524
containingFile,
519525
compilerOptions,
520-
moduleResolutionHost
526+
moduleResolutionHost,
527+
redirectedReference
521528
);
522529
}
523530

524-
return (directive: string, containingFile: string) =>
531+
return (directive, containingFile) =>
525532
customResolveTypeReferenceDirective(
526533
directive,
527534
containingFile,

0 commit comments

Comments
 (0)