You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
node:child_process — execSync/execFileSync do not throw on non-zero exit #1938
Today (perry 0.5.1029) js_child_process_exec_sync returns the stdout string regardless of exit code, and js_child_process_exec_file_sync likewise never throws.
What to do
On non-zero exit, throw an Error carrying status (exit code), signal, pid, output ([null, stdout, stderr]), stdout, stderr, and cmd.
The zero-exit path keeps returning stdout (Buffer by default, string with an encoding option).
Compat note: this changes today's lenient behavior (always returns stdout), so existing Perry programs that call execSync on commands that can fail without try/catch will start throwing — matching Node, but worth flagging at merge. Pairs with the exec error-shape and encoding issues.
Activity
feat(node:child_process): async spawn reactor, fork()+IPC, exec error…
feat(node:child_process): async spawn reactor, fork()+IPC, exec error…