import { spawn } from 'node:child_process' import { createRequire } from 'node:module' import { prepareBrandedElectron } from './patch-dev-electron-branding.mjs' const require = createRequire(import.meta.url) const binary = process.platform === 'darwin' ? prepareBrandedElectron() : require('electron') const child = spawn(binary, process.argv.slice(2), { stdio: 'inherit' }) for (const signal of ['SIGINT', 'SIGTERM', 'SIGUSR2']) { process.on(signal, () => child.kill(signal)) } child.on('error', error => { console.error('[desktop] Electron launch failed:', error) process.exitCode = 1 }) child.on('close', code => { process.exitCode = code ?? 1 })