@baseplate-dev/sync
Version:
Library for syncing Baseplate descriptions
74 lines • 1.92 kB
TypeScript
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