1import * as NodeChildProcess from "node:child_process";
2import * as NodePath from "node:path";
3
4import { desktopDir, resolveElectronLaunchCommand } from "./electron-launcher.mjs";
5
6NodeChildProcess.execFileSync(
7 process.execPath,
8 [NodePath.join(desktopDir, "scripts/build-browser-secret.mjs")],
9 { stdio: "inherit" },
10);
11
12const childEnv = { ...process.env };
13delete childEnv.ELECTRON_RUN_AS_NODE;
14
15const electronCommand = resolveElectronLaunchCommand(["dist-electron/main.cjs"]);
16const child = NodeChildProcess.spawn(electronCommand.electronPath, electronCommand.args, {
17 stdio: "inherit",
18 cwd: desktopDir,
19 env: childEnv,
20});
21
22child.on("exit", (code, signal) => {
23 if (signal) {
24 process.kill(process.pid, signal);
25 return;
26 }
27 process.exit(code ?? 0);
28});