UNPKG

@kform/scaffolder

Version:

Scaffolding utilities for KForm projects.

17 lines (16 loc) 820 B
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[];