UNPKG

forest-cli

Version:

The Lumberjacks' toolbelt is the Forest CLI which makes easy to manage your back office application directly from the terminal.

49 lines 2.56 kB
import type { Config } from '@oclif/core'; import AbstractAuthenticatedCommand from '../../abstract-authenticated-command'; /** * `forest layout apply` — compute the JSON-Patch plan between forest-layout.json * and the live rendering, then PATCH it to the environment. Idempotent: an * unchanged file produces no operation and sends nothing. */ export default class LayoutApplyCommand extends AbstractAuthenticatedCommand { private readonly env; private readonly inquirer; static args: { file: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>; }; static description: string; static flags: { env: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>; team: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>; projectId: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>; force: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>; 'with-workflows': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>; }; constructor(argv: string[], config: Config, plan?: any); protected runAuthenticated(): Promise<void>; /** * Applying a file pulled from ANOTHER environment without `--with-workflows` * would patch its `bpmnAwsS3Identifier` pointers into the target, where the * S3 objects do not exist (the pointer is env-local). The ops are kept — a * same-env restore legitimately rewrites its own pointers, and the header may * be wrong or hand-edited — but the user is warned loudly beforehand. */ private warnOnCrossEnvBpmnRefs; /** * Push the plan: one atomic PATCH per domain (stable order), then the step and * sidecar BPMN uploads. Returns false (and exits 2) on a recoverable API error; * re-running converges since each domain patch is atomic. */ private pushChanges; /** * Resolve the sidecars whose target workflow did not exist before the domain * patches (they were `add`ed by this very apply): re-fetch the workflows * document once and match id-then-name. Still-unmatched sidecars are skipped * with a warning — never uploaded under a nonexistent id. */ private resolveSidecarTargets; /** Print the human-readable plan preview (diff + workflow uploads + sidecar warnings). */ private logPlan; private confirm; } //# sourceMappingURL=apply.d.ts.map