Files
NetMesh/electron/launchEnv.cjs
zhaolei 3c72efcb7f
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
[Init] Initial commit - NetMesh terminal manager
2026-09-13 18:24:01 +08:00

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