compareVersions
Order versions: negative when a comes first. Prereleases come before their release.
import { parse } from "#codebase/tcmts/core/semver"; export function compareVersions(a: string, b: string): number { const x = parse(a); const y = parse(b); if (!x || !y) return a < b ? -1 : a > b ? 1 : 0; const d = x.major - y.major || x.minor - y.minor || x.patch - y.patch; if (d) return d; if (x.pre === y.pre) return 0; if (!x.pre) return 1; if (!y.pre) return -1; return x.pre < y.pre ? -1 : 1; }
uses
used by
- tcmts.cli.announce.resolveAnnounced
- tcmts.cli.codebase.Codebase
- tcmts.cli.lint.toolRange
- tcmts.cli.package_pages.packageList
- tcmts.cli.provided.newestRangeFirst
- tcmts.cli.releases.planRelease
- tcmts.cli.upgrade.upgradeWithin
- tcmts.core.analyze.externalModule
- tcmts.core.semver.meetsComparator
- tcmts.loader.packages.candidates
- tcmts.loader.packages.ensureExternals
- tcmts.loader.packages.linkPeers
- tcmts.loader.packages.lockAtLeast
- tcmts.loader.packages.shippedPackage
- tcmts.registry.libraries
- tcmts.registry.mirror
- tcmts.registry.pages.LibraryPage