bumpVersion
The next version at a level: 1.2.3 → 2.0.0 (major), 1.3.0 (minor), 1.2.4 (patch).
import { parse } from "#codebase/tcmts/core/semver"; export function bumpVersion(version: string, level: "major" | "minor" | "patch"): string { const p = parse(version); if (!p) throw new Error(`'${version}' isn't a version`); if (level === "major") return `${p.major + 1}.0.0`; if (level === "minor") return `${p.major}.${p.minor + 1}.0`; // a prerelease's patch release is the release itself return p.pre ? `${p.major}.${p.minor}.${p.patch}` : `${p.major}.${p.minor}.${p.patch + 1}`; }