Some checks failed
build-packages / resolve bundled mosh-client (push) Has been cancelled
build-packages / resolve bundled et-client (push) Has been cancelled
build-packages / build-macos (push) Has been cancelled
build-packages / build-windows (push) Has been cancelled
build-packages / build-linux-x64 (push) Has been cancelled
build-packages / build-linux-arm64 (push) Has been cancelled
build-packages / release (push) Has been cancelled
build-packages / update Nix release metadata (push) Has been cancelled
build-packages / bump homebrew tap (push) Has been cancelled
test / lint-and-test (push) Has been cancelled
AI automation / Route event (push) Has been cancelled
AI automation / Hand reopened issue to maintainers (push) Has been cancelled
AI automation / Clean source issue state (push) Has been cancelled
AI automation / Reconcile handoffs (push) Has been cancelled
AI automation / Classify issue (push) Has been cancelled
AI automation / Claude Code smoke (push) Has been cancelled
AI automation / Review issue follow-up (push) Has been cancelled
AI automation / Publish issue follow-up (push) Has been cancelled
AI automation / Implement with Claude Code (push) Has been cancelled
AI automation / Publish implement PR (push) Has been cancelled
AI automation / Continue queued issue comments (push) Has been cancelled
AI automation / Codex review loop (push) Has been cancelled
AI automation / Publish Codex fix (push) Has been cancelled
AI automation / Clear Codex dispatch marker (push) Has been cancelled
AI automation / Own PR re-request Codex (push) Has been cancelled
AI automation / External PR re-request Codex (push) Has been cancelled
AI automation / Poll Codex reaction / retry (push) Has been cancelled
build-et-binaries / build-linux-x64 (push) Has been cancelled
build-et-binaries / build-linux-arm64 (push) Has been cancelled
build-et-binaries / build-macos-universal (push) Has been cancelled
build-et-binaries / build-windows-x64 (push) Has been cancelled
build-et-binaries / release (push) Has been cancelled
32 lines
988 B
JavaScript
32 lines
988 B
JavaScript
/**
|
|
* Electron rejects certain Node CLI flags in NODE_OPTIONS (exit code 9), notably
|
|
* `--openssl-legacy-provider`. Shell profiles sometimes set that for older Node
|
|
* tooling; strip Electron-incompatible tokens so `npm run dev` can start.
|
|
*/
|
|
function sanitizeNodeOptionsForElectron(nodeOptions) {
|
|
if (nodeOptions == null || nodeOptions === "") return undefined;
|
|
const cleaned = String(nodeOptions)
|
|
.split(/\s+/)
|
|
.filter(Boolean)
|
|
.filter((token) => token !== "--openssl-legacy-provider")
|
|
.join(" ")
|
|
.trim();
|
|
return cleaned || undefined;
|
|
}
|
|
|
|
function applyElectronLaunchEnv(baseEnv = process.env) {
|
|
const env = { ...baseEnv };
|
|
delete env.ELECTRON_RUN_AS_NODE;
|
|
|
|
const sanitizedNodeOptions = sanitizeNodeOptionsForElectron(env.NODE_OPTIONS);
|
|
if (sanitizedNodeOptions === undefined) delete env.NODE_OPTIONS;
|
|
else env.NODE_OPTIONS = sanitizedNodeOptions;
|
|
|
|
return env;
|
|
}
|
|
|
|
module.exports = {
|
|
sanitizeNodeOptionsForElectron,
|
|
applyElectronLaunchEnv,
|
|
};
|