writeDraft
uses node:fs
Write the draft: a heading and room for a summary, then the generated part (regenerated when the release is made).
import type { Codebase } from "#codebase/tcmts/cli/codebase"; import { draftFile, notesOf, PLACEHOLDER, writtenPart } from "#codebase/tcmts/cli/releases"; import type { Plan } from "#codebase/tcmts/cli/releases"; import fs from "node:fs"; export function writeDraft(cb: Codebase, plan: Plan, generated: string): string { const file = draftFile(cb, plan.pkg.name); const kept = fs.existsSync(file) ? writtenPart(fs.readFileSync(file, "utf8")) : ""; fs.writeFileSync(file, notesOf(plan.version, Date.now(), kept || PLACEHOLDER, generated)); return file; }
uses
- tcmts.cli.codebase.Codebase
- tcmts.cli.releases.PLACEHOLDER
- tcmts.cli.releases.Plan
- tcmts.cli.releases.draftFile
- tcmts.cli.releases.notesOf
- tcmts.cli.releases.writtenPart