UNPKG

@baseplate-dev/sync

Version:

Library for syncing Baseplate descriptions

74 lines 1.92 kB
import type { TaskPhase } from '#src/phases/types.js'; import type { ProviderExportScope } from '#src/providers/index.js'; import type { GeneratorBundle, GeneratorTask } from './generators.js'; export interface GeneratorInfo { /** * The name of the generator */ name: string; /** * The base directory of the generator */ baseDirectory: string; /** * The instance name of the generator */ instanceName?: string; } /** * A generator task entry is a task that has been set up within a generator entry */ export interface GeneratorTaskEntry { /** * The unique ID of the task entry */ id: string; /** * The name of the task entry */ name: string; /** * The task that the task entry represents */ task: GeneratorTask; /** * The ID of the generator that the task entry belongs to */ generatorId: string; /** * The info of the generator that the task entry belongs to */ generatorInfo: GeneratorInfo; } /** * A generator entry is a representation of a generator and its children, tasks, and scopes */ export interface GeneratorEntry { /** * The unique ID of the entry */ id: string; /** * The scopes of the generator entry */ scopes: ProviderExportScope[]; /** * The children of the generator entry */ children: GeneratorEntry[]; /** * The tasks of the generator entry */ tasks: GeneratorTaskEntry[]; /** * The info of the generator entry */ generatorInfo: GeneratorInfo; /** * The phases of the generator entry that may only contain * dynamic tasks and thus need to be pre-registered */ preRegisteredPhases: TaskPhase[]; } export declare function buildGeneratorEntry(bundle: GeneratorBundle): Promise<GeneratorEntry>; //# sourceMappingURL=build-generator-entry.d.ts.map