Skip to content

Commit 6e85eef

Browse files
Fix libReplacement condition logic - use !options.libReplacement instead of options.libReplacement
Co-authored-by: DanielRosenwasser <[email protected]>
1 parent 2eb12ed commit 6e85eef

7 files changed

+1156
-1054
lines changed

src/compiler/program.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3867,7 +3867,7 @@ export function createProgram(_rootNamesOrOptions: readonly string[] | CreatePro
38673867
const existing = resolvedLibProcessing?.get(libFileName);
38683868
if (existing) return existing;
38693869

3870-
if (options.libReplacement) {
3870+
if (!options.libReplacement) {
38713871
const result: LibResolution = {
38723872
resolution: {
38733873
resolvedModule: undefined,

tests/baselines/reference/libReplacement(libreplacement=false).trace.json

Lines changed: 1 addition & 1042 deletions
Large diffs are not rendered by default.

tests/baselines/reference/libReplacement(libreplacement=true).trace.json

Lines changed: 1042 additions & 1 deletion
Large diffs are not rendered by default.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
index.ts(6,1): error TS2304: Cannot find name 'window'.
2+
3+
4+
==== /node_modules/@typescript/lib-dom/index.d.ts (0 errors) ====
5+
interface ABC { abc: string }
6+
==== index.ts (1 errors) ====
7+
/// <reference lib="dom" />
8+
const a: ABC = { abc: "Hello" }
9+
10+
// This should fail because libdom has been replaced
11+
// by the module above ^
12+
window.localStorage
13+
~~~~~~
14+
!!! error TS2304: Cannot find name 'window'.
15+

tests/baselines/reference/libTypeScriptOverrideSimple.symbols

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,4 @@ const a: ABC = { abc: "Hello" }
1515
// This should fail because libdom has been replaced
1616
// by the module above ^
1717
window.localStorage
18-
>window.localStorage : Symbol(localStorage, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --))
19-
>window : Symbol(window, Decl(lib.dom.d.ts, --, --))
20-
>localStorage : Symbol(localStorage, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --))
2118

tests/baselines/reference/libTypeScriptOverrideSimple.trace.json

Lines changed: 91 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,95 @@
22
"File '/node_modules/@typescript/lib-dom/package.json' does not exist.",
33
"File '/node_modules/@typescript/package.json' does not exist.",
44
"File '/node_modules/package.json' does not exist.",
5-
"File '/package.json' does not exist."
5+
"File '/package.json' does not exist.",
6+
"======== Resolving module '@typescript/lib-dom' from '/.src/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ========",
7+
"Explicitly specified module resolution kind: 'Node10'.",
8+
"Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration.",
9+
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.",
10+
"Directory '/.src/node_modules' does not exist, skipping all lookups in it.",
11+
"Scoped package detected, looking in 'typescript__lib-dom'",
12+
"File '/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups.",
13+
"File '/node_modules/@typescript/lib-dom.ts' does not exist.",
14+
"File '/node_modules/@typescript/lib-dom.tsx' does not exist.",
15+
"File '/node_modules/@typescript/lib-dom.d.ts' does not exist.",
16+
"File '/node_modules/@typescript/lib-dom/index.ts' does not exist.",
17+
"File '/node_modules/@typescript/lib-dom/index.tsx' does not exist.",
18+
"File '/node_modules/@typescript/lib-dom/index.d.ts' exists - use it as a name resolution result.",
19+
"Resolving real path for '/node_modules/@typescript/lib-dom/index.d.ts', result '/node_modules/@typescript/lib-dom/index.d.ts'.",
20+
"======== Module name '@typescript/lib-dom' was successfully resolved to '/node_modules/@typescript/lib-dom/index.d.ts'. ========",
21+
"======== Resolving module '@typescript/lib-es5' from '/.src/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========",
22+
"Explicitly specified module resolution kind: 'Node10'.",
23+
"Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.",
24+
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.",
25+
"Directory '/.src/node_modules' does not exist, skipping all lookups in it.",
26+
"Scoped package detected, looking in 'typescript__lib-es5'",
27+
"File '/node_modules/@typescript/lib-es5.ts' does not exist.",
28+
"File '/node_modules/@typescript/lib-es5.tsx' does not exist.",
29+
"File '/node_modules/@typescript/lib-es5.d.ts' does not exist.",
30+
"Directory '/node_modules/@types' does not exist, skipping all lookups in it.",
31+
"Scoped package detected, looking in 'typescript__lib-es5'",
32+
"Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: JavaScript.",
33+
"Searching all ancestor node_modules directories for fallback extensions: JavaScript.",
34+
"Directory '/.src/node_modules' does not exist, skipping all lookups in it.",
35+
"File '/node_modules/@typescript/lib-es5.js' does not exist.",
36+
"File '/node_modules/@typescript/lib-es5.jsx' does not exist.",
37+
"======== Module name '@typescript/lib-es5' was not resolved. ========",
38+
"======== Resolving module '@typescript/lib-decorators' from '/.src/__lib_node_modules_lookup_lib.decorators.d.ts__.ts'. ========",
39+
"Explicitly specified module resolution kind: 'Node10'.",
40+
"Loading module '@typescript/lib-decorators' from 'node_modules' folder, target file types: TypeScript, Declaration.",
41+
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.",
42+
"Directory '/.src/node_modules' does not exist, skipping all lookups in it.",
43+
"Scoped package detected, looking in 'typescript__lib-decorators'",
44+
"File '/node_modules/@typescript/lib-decorators.ts' does not exist.",
45+
"File '/node_modules/@typescript/lib-decorators.tsx' does not exist.",
46+
"File '/node_modules/@typescript/lib-decorators.d.ts' does not exist.",
47+
"Directory '/node_modules/@types' does not exist, skipping all lookups in it.",
48+
"Scoped package detected, looking in 'typescript__lib-decorators'",
49+
"Loading module '@typescript/lib-decorators' from 'node_modules' folder, target file types: JavaScript.",
50+
"Searching all ancestor node_modules directories for fallback extensions: JavaScript.",
51+
"Directory '/.src/node_modules' does not exist, skipping all lookups in it.",
52+
"File '/node_modules/@typescript/lib-decorators.js' does not exist.",
53+
"File '/node_modules/@typescript/lib-decorators.jsx' does not exist.",
54+
"======== Module name '@typescript/lib-decorators' was not resolved. ========",
55+
"======== Resolving module '@typescript/lib-decorators/legacy' from '/.src/__lib_node_modules_lookup_lib.decorators.legacy.d.ts__.ts'. ========",
56+
"Explicitly specified module resolution kind: 'Node10'.",
57+
"Loading module '@typescript/lib-decorators/legacy' from 'node_modules' folder, target file types: TypeScript, Declaration.",
58+
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.",
59+
"Directory '/.src/node_modules' does not exist, skipping all lookups in it.",
60+
"Scoped package detected, looking in 'typescript__lib-decorators/legacy'",
61+
"Directory '/node_modules/@types' does not exist, skipping all lookups in it.",
62+
"Scoped package detected, looking in 'typescript__lib-decorators/legacy'",
63+
"Loading module '@typescript/lib-decorators/legacy' from 'node_modules' folder, target file types: JavaScript.",
64+
"Searching all ancestor node_modules directories for fallback extensions: JavaScript.",
65+
"Directory '/.src/node_modules' does not exist, skipping all lookups in it.",
66+
"======== Module name '@typescript/lib-decorators/legacy' was not resolved. ========",
67+
"======== Resolving module '@typescript/lib-webworker/importscripts' from '/.src/__lib_node_modules_lookup_lib.webworker.importscripts.d.ts__.ts'. ========",
68+
"Explicitly specified module resolution kind: 'Node10'.",
69+
"Loading module '@typescript/lib-webworker/importscripts' from 'node_modules' folder, target file types: TypeScript, Declaration.",
70+
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.",
71+
"Directory '/.src/node_modules' does not exist, skipping all lookups in it.",
72+
"Scoped package detected, looking in 'typescript__lib-webworker/importscripts'",
73+
"Directory '/node_modules/@types' does not exist, skipping all lookups in it.",
74+
"Scoped package detected, looking in 'typescript__lib-webworker/importscripts'",
75+
"Loading module '@typescript/lib-webworker/importscripts' from 'node_modules' folder, target file types: JavaScript.",
76+
"Searching all ancestor node_modules directories for fallback extensions: JavaScript.",
77+
"Directory '/.src/node_modules' does not exist, skipping all lookups in it.",
78+
"======== Module name '@typescript/lib-webworker/importscripts' was not resolved. ========",
79+
"======== Resolving module '@typescript/lib-scripthost' from '/.src/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts'. ========",
80+
"Explicitly specified module resolution kind: 'Node10'.",
81+
"Loading module '@typescript/lib-scripthost' from 'node_modules' folder, target file types: TypeScript, Declaration.",
82+
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.",
83+
"Directory '/.src/node_modules' does not exist, skipping all lookups in it.",
84+
"Scoped package detected, looking in 'typescript__lib-scripthost'",
85+
"File '/node_modules/@typescript/lib-scripthost.ts' does not exist.",
86+
"File '/node_modules/@typescript/lib-scripthost.tsx' does not exist.",
87+
"File '/node_modules/@typescript/lib-scripthost.d.ts' does not exist.",
88+
"Directory '/node_modules/@types' does not exist, skipping all lookups in it.",
89+
"Scoped package detected, looking in 'typescript__lib-scripthost'",
90+
"Loading module '@typescript/lib-scripthost' from 'node_modules' folder, target file types: JavaScript.",
91+
"Searching all ancestor node_modules directories for fallback extensions: JavaScript.",
92+
"Directory '/.src/node_modules' does not exist, skipping all lookups in it.",
93+
"File '/node_modules/@typescript/lib-scripthost.js' does not exist.",
94+
"File '/node_modules/@typescript/lib-scripthost.jsx' does not exist.",
95+
"======== Module name '@typescript/lib-scripthost' was not resolved. ========"
696
]

tests/baselines/reference/libTypeScriptOverrideSimple.types

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ const a: ABC = { abc: "Hello" }
2020
// This should fail because libdom has been replaced
2121
// by the module above ^
2222
window.localStorage
23-
>window.localStorage : Storage
24-
> : ^^^^^^^
25-
>window : Window & typeof globalThis
26-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^
27-
>localStorage : Storage
28-
> : ^^^^^^^
23+
>window.localStorage : any
24+
> : ^^^
25+
>window : any
26+
> : ^^^
27+
>localStorage : any
28+
> : ^^^
2929

0 commit comments

Comments
 (0)