latestRelease

tcmts.registry.latestRelease · #645iev4a · term · runs anywhere

A library's latest version, of its versions (newest first): the newest mirrored one its author didn't yank, else the newest they didn't yank (withdrawn, say), else, every one yanked, the newest mirrored, else the newest.

import type { RegistryRelease } from "#codebase/tcmts/registry";

export function latestRelease(versions: RegistryRelease[], yanks: Map<string, unknown>): RegistryRelease {
  const pick = (vs: RegistryRelease[]) => vs.find((v) => v.state === "mirrored") ?? vs[0];
  return (pick(versions.filter((v) => !yanks.has(v.uri))) ?? pick(versions))!;
}

uses

used by