Resolve with -lib in TypeScript lib node lookup (#46046)

This commit is contained in:
Orta Therox 2021-09-24 17:46:29 +01:00 committed by GitHub
parent 27bbdf1fe9
commit 90e83adb44
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 16 additions and 16 deletions

View File

@ -2884,9 +2884,9 @@ namespace ts {
}
function pathForLibFile(libFileName: string): string {
// Support resolving to lib.dom.d.ts -> @typescript/dom, and
// lib.dom.iterable.d.ts -> @typescript/dom/iterable
// lib.es2015.symbol.wellknown.d.ts -> @typescript/es2015/symbol-wellknown
// Support resolving to lib.dom.d.ts -> @typescript/lib-dom, and
// lib.dom.iterable.d.ts -> @typescript/lib-dom/iterable
// lib.es2015.symbol.wellknown.d.ts -> @typescript/lib-es2015/symbol-wellknown
const components = libFileName.split(".");
let path = components[1];
let i = 2;
@ -2895,7 +2895,7 @@ namespace ts {
i++;
}
const resolveFrom = combinePaths(currentDirectory, `__lib_node_modules_lookup_${libFileName}__.ts`);
const localOverrideModuleResult = resolveModuleName("@typescript/" + path, resolveFrom, { moduleResolution: ModuleResolutionKind.NodeJs }, host, moduleResolutionCache);
const localOverrideModuleResult = resolveModuleName("@typescript/lib-" + path, resolveFrom, { moduleResolution: ModuleResolutionKind.NodeJs }, host, moduleResolutionCache);
if (localOverrideModuleResult?.resolvedModule) {
return localOverrideModuleResult.resolvedModule.resolvedFileName;
}

View File

@ -1,7 +1,7 @@
tests/cases/compiler/index.ts(6,1): error TS2304: Cannot find name 'window'.
==== /node_modules/@typescript/dom/index.d.ts (0 errors) ====
==== /node_modules/@typescript/lib-dom/index.d.ts (0 errors) ====
interface ABC { abc: string }
==== tests/cases/compiler/index.ts (1 errors) ====
/// <reference lib="dom" />

View File

@ -1,4 +1,4 @@
=== /node_modules/@typescript/dom/index.d.ts ===
=== /node_modules/@typescript/lib-dom/index.d.ts ===
interface ABC { abc: string }
>ABC : Symbol(ABC, Decl(index.d.ts, 0, 0))
>abc : Symbol(ABC.abc, Decl(index.d.ts, 0, 15))

View File

@ -1,4 +1,4 @@
=== /node_modules/@typescript/dom/index.d.ts ===
=== /node_modules/@typescript/lib-dom/index.d.ts ===
interface ABC { abc: string }
>abc : string

View File

@ -1,9 +1,9 @@
tests/cases/compiler/index.ts(6,1): error TS2304: Cannot find name 'window'.
==== /node_modules/@typescript/dom/index.d.ts (0 errors) ====
==== /node_modules/@typescript/lib-dom/index.d.ts (0 errors) ====
// NOOP
==== /node_modules/@typescript/dom/iterable.d.ts (0 errors) ====
==== /node_modules/@typescript/lib-dom/iterable.d.ts (0 errors) ====
interface DOMIterable { abc: string }
==== tests/cases/compiler/index.ts (1 errors) ====
/// <reference lib="dom.iterable" />

View File

@ -1,6 +1,6 @@
=== /node_modules/@typescript/dom/index.d.ts ===
=== /node_modules/@typescript/lib-dom/index.d.ts ===
// NOOP
No type information for this code.=== /node_modules/@typescript/dom/iterable.d.ts ===
No type information for this code.=== /node_modules/@typescript/lib-dom/iterable.d.ts ===
interface DOMIterable { abc: string }
>DOMIterable : Symbol(DOMIterable, Decl(iterable.d.ts, 0, 0))
>abc : Symbol(DOMIterable.abc, Decl(iterable.d.ts, 0, 23))

View File

@ -1,6 +1,6 @@
=== /node_modules/@typescript/dom/index.d.ts ===
=== /node_modules/@typescript/lib-dom/index.d.ts ===
// NOOP
No type information for this code.=== /node_modules/@typescript/dom/iterable.d.ts ===
No type information for this code.=== /node_modules/@typescript/lib-dom/iterable.d.ts ===
interface DOMIterable { abc: string }
>abc : string

View File

@ -1,4 +1,4 @@
// @Filename: /node_modules/@typescript/dom/index.d.ts
// @Filename: /node_modules/@typescript/lib-dom/index.d.ts
interface ABC { abc: string }
// @Filename: index.ts
/// <reference lib="dom" />

View File

@ -1,6 +1,6 @@
// @Filename: /node_modules/@typescript/dom/index.d.ts
// @Filename: /node_modules/@typescript/lib-dom/index.d.ts
// NOOP
// @Filename: /node_modules/@typescript/dom/iterable.d.ts
// @Filename: /node_modules/@typescript/lib-dom/iterable.d.ts
interface DOMIterable { abc: string }
// @Filename: index.ts
/// <reference lib="dom.iterable" />