UNPKG

@knapsack/app

Version:

Build Design Systems with Knapsack

41 lines 1.36 kB
import type { KsAppClientData } from '@knapsack/types'; import type { MissingFileVerbosityOption } from './misc'; /** * There are two main flows in the CLI: * * Deploying: * 1. `knapsack build` * - `init` * - `build` * 2. `knapsack serve` * - `hydrate` * * Running locally: * 1. `knapsack start` * - `init` * - `watch` */ export interface CliLifecycle<HydrateData extends Record<string, unknown> | undefined = undefined> { /** Ran after constructor & before `build` and `watch` methods during `build` & `start` commands */ init?: (opt: { missingFileVerbosity: MissingFileVerbosityOption; }) => Promise<void>; /** Ran after constructor during `serve` command */ hydrate?(opt: HydrateData extends undefined ? { appClientData: KsAppClientData; } : { appClientData: KsAppClientData; hydrateData: HydrateData; }): Promise<void>; /** * Ran after `init` during `build` command */ build?: () => Promise<HydrateData extends undefined ? void : HydrateData>; writeHydrateData?: (data: Record<string, unknown>) => Promise<void>; readHydrateData?: () => Promise<HydrateData extends undefined ? Record<string, unknown> : HydrateData>; /** * Ran after `init` during `start` command */ watch?: () => void; } //# sourceMappingURL=cli-lifecycle.d.ts.map