PackOptions
tcmts.cli.pack.PackOptions · #prmv4uuv · type
import type { Sibling } from "#codebase/tcmts/cli/pack";
import type { NameRow } from "#codebase/tcmts/store";
export interface PackOptions {
name: string;
version: string;
description?: string;
/** `subpath` (`.` for the package itself) → a namespace (everything beneath it) or a definition */
entries: { subpath: string; target: string }[];
/** command → the definition it runs */
bins: { command: string; target: string }[];
/** packages the code looks up at runtime by name (not imports, so tcm can't see them) */
with: string[];
/** files and directories to copy in, relative to the codebase root: kept at that path, or by name if outside it */
files: string[];
out: string;
/** the names to pack from (a release's), instead of the current branch's */
names?: NameRow[];
/** CHANGELOG.md's contents, for a release */
changelog?: string;
/** fields package.json starts from: tcm's own (version, module type, entries, dependencies) are written over them */
packageJson?: Record<string, unknown>;
/** other packages of the codebase: what of theirs this one uses comes from their releases, not copied in */
siblings?: Sibling[];
}
uses
used by