recordRelease
uses node:path
Add a release to the mirror's records (for git: commit them with the next change).
import { git, RECORDS, releaseRecords } from "#codebase/tcmts/cli/mirror"; import type { Mirror, ReleaseRecord } from "#codebase/tcmts/cli/mirror"; import fs from "node:fs"; import path from "node:path"; export function recordRelease(m: Mirror, r: Omit<ReleaseRecord, "dir">) { const top = git(m.dir, "rev-parse", "--show-toplevel") ?? m.dir; const records = [...releaseRecords(m.dir).filter((x) => !(x.package === r.package && x.version === r.version)), { ...r, dir: path.relative(top, m.dir) || "." }]; fs.writeFileSync(path.join(m.dir, RECORDS), JSON.stringify(records, null, 2) + "\n"); }
uses
- tcmts.cli.mirror.Mirror
- tcmts.cli.mirror.RECORDS
- tcmts.cli.mirror.ReleaseRecord
- tcmts.cli.mirror.git
- tcmts.cli.mirror.releaseRecords