newestFitting
uses tcmts.loader.packages.versionsIn, which uses tcmts.loader.packages.candidates, which uses tcmts.loader.packages.registryView, which uses node:child_process
The newest version of name that fits accepts, looking range by range from the newest (asking the registry
for every version's peers at once is more than it answers).
import { compatRange } from "#codebase/tcmts/core/semver"; import { versionsIn } from "#codebase/tcmts/loader/packages"; export function newestFitting(name: string, fits: (c: { version: string; peers: Record<string, string> }) => boolean): string | undefined { const ranges = [...new Set(versionsIn(name, ">=0.0.0").map((c) => compatRange(c.version)))]; for (const range of ranges) { const hit = versionsIn(name, range).find(fits); if (hit) return hit.version; } return undefined; }