Skip to content

Commit 88fc7d6

Browse files
committed
Fix trace loading
1 parent 29a2190 commit 88fc7d6

File tree

6 files changed

+814
-79
lines changed

6 files changed

+814
-79
lines changed

package-lock.json

Lines changed: 22 additions & 41 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
"@changesets/cli": "^2.26.1",
2222
"@types/node": "^18.11.18",
2323
"prettier": "^2.8.3",
24-
"typescript": "^5.0.0-dev.20230207"
24+
"typescript": "^5.1.3"
2525
},
2626
"volta": {
2727
"node": "19.8.1"

packages/core/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,12 @@
5252
"@andrewbranch/untar.js": "^1.0.0",
5353
"fetch-ponyfill": "^7.1.0",
5454
"fflate": "^0.7.4",
55-
"typescript": "^5.0.0-dev.20230207",
55+
"typescript": "^5.1.3",
5656
"validate-npm-package-name": "^5.0.0"
5757
},
5858
"devDependencies": {
5959
"@types/node": "^18.15.11",
60-
"@types/ts-expose-internals": "npm:ts-expose-internals@4.9.4",
60+
"@types/ts-expose-internals": "npm:ts-expose-internals@5.1.3",
6161
"@types/validate-npm-package-name": "^4.0.0"
6262
},
6363
"volta": {

packages/core/src/multiCompilerHost.ts

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ export function createMultiCompilerHost(fs: FS): MultiCompilerHost {
5959
traceResolution: true,
6060
},
6161
bundler: {
62-
// @ts-expect-error
6362
moduleResolution: ts.ModuleResolutionKind.Bundler,
6463
module: ts.ModuleKind.ESNext,
6564
target: ts.ScriptTarget.Latest,
@@ -182,15 +181,22 @@ export function createMultiCompilerHost(fs: FS): MultiCompilerHost {
182181
);
183182
const trace = traceCollector.read();
184183
const moduleKey = `${resolutionMode ?? 1}:${moduleName}`;
185-
(traceCache[moduleResolution][containingFile] ??= {})[moduleKey] = trace;
184+
if (!traceCache[moduleResolution][containingFile]?.[moduleKey]) {
185+
(traceCache[moduleResolution][containingFile] ??= {})[moduleKey] = trace;
186+
}
186187
return {
187188
resolution,
188189
trace,
189190
};
190191
}
191192

192-
function getTrace(moduleResolution: ResolutionOption, fromFileName: string, key: string): string[] | undefined {
193-
return traceCache[moduleResolution][fromFileName]?.[key];
193+
function getTrace(
194+
moduleResolution: ResolutionOption,
195+
fromFileName: string,
196+
moduleSpecifier: string,
197+
resolutionMode: ts.ModuleKind.ESNext | ts.ModuleKind.CommonJS
198+
): string[] | undefined {
199+
return traceCache[moduleResolution][fromFileName]?.[`${resolutionMode ?? 1}:${moduleSpecifier}`];
194200
}
195201

196202
function createProgram(moduleResolution: ResolutionOption, rootNames: string[]): ts.Program {
@@ -231,6 +237,18 @@ export function createMultiCompilerHost(fs: FS): MultiCompilerHost {
231237
useCaseSensitiveFileNames,
232238
getNewLine,
233239
trace: traceCollector.trace,
240+
resolveModuleNameLiterals(moduleLiterals, containingFile, _redirectedReference, options, containingSourceFile) {
241+
return moduleLiterals.map(
242+
(literal) =>
243+
resolveModuleName(
244+
literal.text,
245+
containingFile,
246+
moduleResolution,
247+
ts.getModeForUsageLocation(containingSourceFile, literal),
248+
options.noDtsResolution
249+
).resolution
250+
);
251+
},
234252
};
235253
}
236254

0 commit comments

Comments
 (0)