Skip to main content

DevelopmentNodeEnvironment_MicrosoftVSCodeDependency_22NodeVersion_Bundle_Clean_Debug_ElectronProfile_EsbuildCompiler_Mountain/ProcessManagement/NodeResolver/
CheckMinMajor.rs

1//! Warn when the resolved Node's major version is below `Require`. Does NOT
2//! fail the spawn - Cocoon's bundled code mostly degrades gracefully on older
3//! engines and operators should be free to experiment on unreleased Node
4//! without a hard gate.
5
6use crate::dev_log;
7
8pub fn Fn(VersionString:&str) {
9	let Trimmed = VersionString.trim_start_matches('v');
10
11	let MajorToken = Trimmed.split('.').next().unwrap_or("");
12
13	let Major:u32 = match MajorToken.parse() {
14		Ok(Value) => Value,
15
16		Err(_) => return,
17	};
18
19	let Required:u32 = std::env::var("Require").ok().and_then(|Raw| Raw.parse().ok()).unwrap_or(20);
20
21	if Major < Required {
22		dev_log!(
23			"cocoon",
24			"warn: [NodeResolver] Node {} is below Require={}; extension host may fail to boot. Override via Pick or \
25			 upgrade Node.",
26			VersionString,
27			Required
28		);
29	}
30}