writeDraft

tcmts.cli.releases.writeDraft · #tjvjvfc5 · term · runs on the server

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

used by