pub fn program(name: &str) -> StringExpand description
Resolve a tool name to a full path for spawning.
Command::new("npm") cannot execute npm.cmd: Rust does no PATHEXT
resolution, so on Windows every bare-name spawn fails with “program not
found” and the hook reports the tool as broken rather than absent. Found by
the Windows job on its first FULL-suite run — the smoke never spawned a
tool, so it could not have surfaced this.
Falls back to the name unchanged, so a caller still gets a sensible error.