mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 17:53:39 +00:00
30 lines
885 B
TypeScript
30 lines
885 B
TypeScript
import { spawnSync } from "node:child_process";
|
|
import path from "node:path";
|
|
|
|
export function runBuiltCli(
|
|
tempHome: string,
|
|
args: string[],
|
|
envOverrides: NodeJS.ProcessEnv = {},
|
|
options: { inheritEnvironment?: boolean; execArgv?: string[] } = {},
|
|
) {
|
|
const env: NodeJS.ProcessEnv = {
|
|
...(options.inheritEnvironment === false ? { PATH: process.env.PATH } : process.env),
|
|
HOME: tempHome,
|
|
USERPROFILE: tempHome,
|
|
OPENCLAW_TEST_FAST: "1",
|
|
};
|
|
delete env.OPENCLAW_HOME;
|
|
delete env.OPENCLAW_STATE_DIR;
|
|
delete env.OPENCLAW_CONFIG_PATH;
|
|
delete env.VITEST;
|
|
Object.assign(env, envOverrides);
|
|
|
|
const entry = path.resolve(process.cwd(), "openclaw.mjs");
|
|
return spawnSync(process.execPath, [...(options.execArgv ?? []), entry, ...args], {
|
|
cwd: process.cwd(),
|
|
env,
|
|
encoding: "utf8",
|
|
maxBuffer: 10 * 1024 * 1024,
|
|
timeout: 60_000,
|
|
});
|
|
}
|