publish

tcmts.cli.releases.publish · #wak6cgcs · term · runs anywhere

Make the release: its notes are what was written (a draft, or a file), then the generated part.

import type { Codebase } from "#codebase/tcmts/cli/codebase";
import { notesOf } from "#codebase/tcmts/cli/releases";
import type { Plan } from "#codebase/tcmts/cli/releases";
import type { Release } from "#codebase/tcmts/store";

export function publish(cb: Codebase, plan: Plan, written: string, generated: string, author: string): Release {
  const ts = Date.now();
  const words = written.replace(/<!--[\s\S]*?-->/g, "").trim();
  const r: Release = { package: plan.pkg.name, version: plan.version, namespace: plan.pkg.namespace, causal: plan.head, notes: notesOf(plan.version, ts, words, generated), author, ts };
  cb.store.putRelease(r);
  return r;
}

uses

used by