Skip to content

Commit

Permalink
Resolve with -lib in TypeScript lib node lookup (#46046)
Browse files Browse the repository at this point in the history
  • Loading branch information
Orta Therox authored Sep 24, 2021
1 parent 27bbdf1 commit 90e83ad
Show file tree
Hide file tree
Showing 9 changed files with 16 additions and 16 deletions.
8 changes: 4 additions & 4 deletions src/compiler/program.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -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" />
Expand Down
Original file line number Diff line number Diff line change
@@ -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))
Expand Down
Original file line number Diff line number Diff line change
@@ -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

Expand Down
Original file line number Diff line number Diff line change
@@ -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" />
Expand Down
Original file line number Diff line number Diff line change
@@ -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))
Expand Down
4 changes: 2 additions & 2 deletions tests/baselines/reference/libTypeScriptSubfileResolving.types
Original file line number Diff line number Diff line change
@@ -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

Expand Down
2 changes: 1 addition & 1 deletion tests/cases/compiler/libTypeScriptOverrideSimple.ts
Original file line number Diff line number Diff line change
@@ -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" />
Expand Down
4 changes: 2 additions & 2 deletions tests/cases/compiler/libTypeScriptSubfileResolving.ts
Original file line number Diff line number Diff line change
@@ -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" />
Expand Down

0 comments on commit 90e83ad

Please sign in to comment.