@baseplate-dev/sync
Version:
Library for syncing Baseplate descriptions
35 lines • 1.46 kB
TypeScript
import type { TaskPhase } from '#src/phases/types.js';
import type { GeneratorEntry, GeneratorTaskEntry } from '../generators/index.js';
type GeneratorIdToScopesMap = Partial<Record<string, {
scopes: string[];
providers: Map<string, {
taskId: string;
isOutput: boolean;
}>;
}>>;
export interface EntryDependencyRecord {
id: string;
providerName: string;
isReadOnly: boolean;
isOutput: boolean;
}
export type EntryDependencyMap = Record<string, Record<string, EntryDependencyRecord | null | undefined>>;
/**
* Builds a map of generator ID to scopes with providers map
*
* @param rootEntry Root generator entry
* @returns Generator ID to scopes map
*/
export declare function buildGeneratorIdToScopesMap(rootEntry: GeneratorEntry): GeneratorIdToScopesMap;
/**
* Builds a map of task entry ID to resolved providers for that entry recursively from the generator root entry
* for a specific task phase
*
* @param entry Root generator entry
* @param generatorIdToScopesMap Generator ID to scopes map
* @param phase Task phase to resolve dependencies for
* @param dynamicTaskEntries Dynamic task entries
*/
export declare function resolveTaskDependenciesForPhase(rootEntry: GeneratorEntry, generatorIdToScopesMap: GeneratorIdToScopesMap, phase: TaskPhase | undefined, dynamicTaskEntries: Map<string, GeneratorTaskEntry[]> | undefined): EntryDependencyMap;
export {};
//# sourceMappingURL=dependency-map.d.ts.map