Skip to content

Commit 730683d

Browse files
authored
fix(npm): do not assume error code is a string (#120)
Fixes #119
1 parent c6846a9 commit 730683d

File tree

3 files changed

+18
-7
lines changed

3 files changed

+18
-7
lines changed

Diff for: dist/main.js

+7-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: dist/main.js.map

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: src/npm/call-npm-cli.ts

+8-2
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,15 @@ export async function callNpmCli<CommandT extends Command>(
7171
if (exitCode === 0) {
7272
successData = parseJson<SuccessData<CommandT>>(stdout);
7373
} else {
74-
const errorPayload = parseJson<{ error?: { code?: string | null } }>(
74+
const errorPayload = parseJson<{ error?: { code?: unknown } }>(
7575
stdout,
7676
stderr
7777
);
7878

79-
errorCode = errorPayload?.error?.code?.toUpperCase();
79+
if (errorPayload?.error?.code) {
80+
errorCode = String(errorPayload.error.code).toUpperCase();
81+
}
82+
8083
error = new errors.NpmCallError(command, exitCode, stderr);
8184
}
8285

@@ -109,6 +112,9 @@ async function execNpm(
109112
npm.stdout.on("data", (data) => (stdout += data));
110113
npm.stderr.on("data", (data) => (stderr += data));
111114
npm.on("close", (code) => {
115+
logger?.debug?.(`Received stdout: ${stdout}`);
116+
logger?.debug?.(`Received stderr: ${stderr}`);
117+
112118
resolve({
113119
stdout: stdout.trim(),
114120
stderr: stderr.trim(),

0 commit comments

Comments
 (0)