Mountain/ProcessManagement/NodeResolver.rs
1#![allow(non_snake_case, dead_code)]
2
3//! Resolve the Node.js binary used to spawn Cocoon.
4//!
5//! Ladder (first hit wins, cached in `OnceLock`):
6//! `Pick` override → shipped (`Resources/Node/bin/node`) →
7//! fnm → volta → asdf → nvm → homebrew → PATH `node`.
8//!
9//! Each step logs its outcome so the resolved source is visible in the log.
10
11pub mod CheckMinMajor;
12
13pub mod ExpandHome;
14
15pub mod NodeExecutableName;
16
17pub mod NodeSource;
18
19pub mod QueryNodeVersion;
20
21pub mod ResolveNodeBinary;
22
23pub mod ResolveUncached;
24
25pub mod ResolvedNode;
26
27pub mod TryAsdf;
28
29pub mod TryFnm;
30
31pub mod TryHomebrew;
32
33pub mod TryNvm;
34
35pub mod TryOverride;
36
37pub mod TryShipped;
38
39pub mod TryVolta;