Skip to content

Commit 382785a

Browse files
author
Andy
authored
Fix logging of module resolution errors (microsoft#17144)
1 parent 9ea2350 commit 382785a

5 files changed

Lines changed: 5 additions & 6 deletions

File tree

src/compiler/moduleNameResolver.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -678,7 +678,7 @@ namespace ts {
678678
const { resolvedModule, failedLookupLocations } =
679679
nodeModuleNameResolverWorker(moduleName, initialDir, { moduleResolution: ts.ModuleResolutionKind.NodeJs, allowJs: true }, host, /*cache*/ undefined, /*jsOnly*/ true);
680680
if (!resolvedModule) {
681-
throw new Error(`Could not resolve JS module ${moduleName} starting at ${initialDir}. Looked in: ${failedLookupLocations.join(", ")}`);
681+
throw new Error(`Could not resolve JS module '${moduleName}' starting at '${initialDir}'. Looked in: ${failedLookupLocations.join(", ")}`);
682682
}
683683
return resolvedModule.resolvedFileName;
684684
}

src/harness/harnessLanguageService.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -795,7 +795,7 @@ namespace Harness.LanguageService {
795795
default:
796796
return {
797797
module: undefined,
798-
error: "Could not resolve module"
798+
error: new Error("Could not resolve module")
799799
};
800800
}
801801

src/server/project.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,8 @@ namespace ts.server {
170170
log(`Loading ${moduleName} from ${initialDir} (resolved to ${resolvedPath})`);
171171
const result = host.require(resolvedPath, moduleName);
172172
if (result.error) {
173-
log(`Failed to load module: ${JSON.stringify(result.error)}`);
173+
const err = result.error.stack || result.error.message || JSON.stringify(result.error);
174+
log(`Failed to load module '${moduleName}': ${err}`);
174175
return undefined;
175176
}
176177
return result.module;

src/server/server.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,6 @@ namespace ts.server {
116116
birthtime: Date;
117117
}
118118

119-
type RequireResult = { module: {}, error: undefined } | { module: undefined, error: {} };
120-
121119
const readline: {
122120
createInterface(options: ReadLineOptions): NodeJS.EventEmitter;
123121
} = require("readline");

src/server/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ declare namespace ts.server {
99
data: any;
1010
}
1111

12-
type RequireResult = { module: {}, error: undefined } | { module: undefined, error: {} };
12+
type RequireResult = { module: {}, error: undefined } | { module: undefined, error: { stack?: string, message?: string } };
1313
export interface ServerHost extends System {
1414
setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): any;
1515
clearTimeout(timeoutId: any): void;

0 commit comments

Comments
 (0)