1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//! Shelling the resolved `bynkc` — shared by the commands that delegate to it.
//!
//! `bynk test` always delegates (it orchestrates external `tsc`/`node` anyway,
//! and delegating through the driver's resolution is the #487/#486 win); `bynk
//! check`/`fmt` delegate only under a `BYNK_BYNKC` override, so a
//! developer-pinned compiler still governs the result. All three inherit stdio
//! and propagate the child's exit code through [`exit_byte`].
use OsStr;
use Path;
use ;
/// Map a child exit code to a process exit byte. A `None` code means the child
/// was terminated by a signal (e.g. the Ctrl-C the terminal also delivered to
/// us) — treat that as a clean stop rather than a driver failure.
/// Shell `bynkc <args>` at `bynkc`, inheriting stdio, and return its exit code.
/// A spawn failure (a missing or unexecutable binary) is surfaced as a driver
/// error naming the path, so a bad `BYNK_BYNKC` override is diagnosable.