manifestsIn

tcmts.cli.roles.manifestsIn · #bf7qmkq6 · term · runs on the server

uses tcmts.cli.config.configValue, which uses node:path

Every package manifest a branch's names hold, its libraries' included (packagesIn leaves those out: they aren't this codebase's to release): the namespace each is of, and what it says.

import { configValue } from "#codebase/tcmts/cli/config";
import type { Evaluating } from "#codebase/tcmts/cli/config";
import { isManifestPath, nsOf, validate } from "#codebase/tcmts/cli/manifests";
import type { Manifest } from "#codebase/tcmts/cli/manifests";
import type { NameRow } from "#codebase/tcmts/store";

export function manifestsIn(
  cb: Evaluating,
  rows: NameRow[] = cb.store.names(),
): { namespace: string; manifest: Manifest }[] {
  return rows
    .filter((r) => isManifestPath(r.path) && r.kind !== "type")
    .map((r) => ({
      namespace: nsOf(r.path),
      manifest: validate(r.path, configValue(cb, r.hash, r.path), cb.store.getDef(r.hash)?.doc),
    }));
}

uses

used by