@kform/scaffolder
Version:
Scaffolding utilities for KForm projects.
17 lines (16 loc) • 820 B
TypeScript
import { Schematic } from "../Schematic";
import { SchematicKind } from "../SchematicKind";
import { ScaffoldingData } from "./ScaffoldingData";
import { ScaffoldingFile, ScaffoldingFileContent } from "./ScaffoldingFile";
export interface ScaffoldOptions {
schematicKinds: Map<string, SchematicKind>;
basePath?: string;
basePackage?: string;
baseDir?: string;
}
export type Scaffolder<TScaffoldingData extends ScaffoldingData = ScaffoldingData> = (schematic: Schematic, data: TScaffoldingData) => void;
export interface ScaffoldedFile extends Omit<ScaffoldingFile, "getContent"> {
path: string;
content: ScaffoldingFileContent | Promise<ScaffoldingFileContent>;
}
export declare function scaffold(schematic: Schematic, scaffolders: Scaffolder<any>[], options: ScaffoldOptions): ScaffoldedFile[];