Adapt runPipCommand.js documentation

This commit is contained in:
Reinier Criel 2025-11-03 09:55:39 -08:00
parent 181470d764
commit dadb1a3fba

View file

@ -6,10 +6,13 @@ import { getCombinedCaBundlePath } from "../../registryProxy/certBundle.js";
/**
* @param {string} command
* @param {string[]} args
*
* @returns {Promise<{status: number}>}
*/
export async function runPip(command, args) {
try {
const env = mergeSafeChainProxyEnvironmentVariables(/** @type {Record<string, string>} */ (process.env));
// @ts-expect-error values of process.env can be string | undefined
const env = mergeSafeChainProxyEnvironmentVariables(process.env);
// Always provide Python with a complete CA bundle (Safe Chain CA + Mozilla + Node built-in roots)
// so that any network request made by pip, including those outside explicit CLI args,
@ -23,12 +26,11 @@ export async function runPip(command, args) {
env,
});
return { status: result.status };
} catch (error) {
if (error && typeof error === "object" && "status" in error) {
return { status: /** @type {any} */ (error).status };
} catch (/** @type any */ error) {
if (error.status) {
return { status: error.status };
} else {
const message = error && typeof error === "object" && "message" in error ? /** @type {any} */ (error).message : String(error);
ui.writeError("Error executing command:", message);
ui.writeError("Error executing command:", error.message);
return { status: 1 };
}
}