manifestsIn
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
- tcmts.cli.config.Evaluating
- tcmts.cli.config.configValue
- tcmts.cli.manifests.Manifest
- tcmts.cli.manifests.isManifestPath
- tcmts.cli.manifests.nsOf
- tcmts.cli.manifests.validate
- tcmts.store.NameRow