Skip to content
Source
Sign inSign up
Open History to see the last commit

start-electron.mjs

28 lines776 Bytes

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});