@knapsack/app
Version:
Build Design Systems with Knapsack
41 lines • 1.36 kB
TypeScript
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