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