pub fn resolve_package(
entry: &ModulePackageEntry,
module_name: &str,
platform: &Platform,
managers: &HashMap<String, &dyn PackageManager>,
) -> Result<Option<ResolvedPackage>>Expand description
Resolve a single module package entry to a concrete (manager, name, version).
Algorithm:
0. If platforms is non-empty and current platform doesn’t match → return None (skipped)
- Determine candidate managers:
preferlist, or[platform.native_manager()] - For each candidate:
a. If
"script"— always available, uses thescriptfield as installer b. Otherwise: check available + alias resolve + min-version check - First satisfying candidate wins
- If none satisfies, return error with details