(child: ChildProcess | undefined)
| 311 | }; |
| 312 | |
| 313 | const stopProcess = async (child: ChildProcess | undefined): Promise<void> => { |
| 314 | if (!child || child.exitCode !== null || child.signalCode !== null) return; |
| 315 | await new Promise<void>((resolve) => { |
| 316 | const timeout = setTimeout(() => { |
| 317 | child.kill("SIGKILL"); |
| 318 | resolve(); |
| 319 | }, 5_000); |
| 320 | child.once("exit", () => { |
| 321 | clearTimeout(timeout); |
| 322 | resolve(); |
| 323 | }); |
| 324 | child.kill("SIGTERM"); |
| 325 | }); |
| 326 | }; |
| 327 | |
| 328 | const closePackaged = async (app: PackagedApp | undefined): Promise<void> => { |
| 329 | app?.cdp.close(); |
no test coverage detected