@servant/servant
Version:
Servant builder for node modules.
36 lines (35 loc) • 1.51 kB
TypeScript
import { Modules, ServantJson } from "@servant/servant-data";
import { VcsChanges, ChangeBy } from "../vcs";
export interface DependenciesGraph {
modules: DependenciesModules;
sorted: SortedDependencies;
all: Array<string>;
changes: VcsChanges | null;
}
export type SortedDependencies = Array<Array<string>>;
export interface DependenciesModules {
[key: string]: Modules.ModuleDefinition;
}
export declare function dependencies(servantJson: ServantJson.ServantJsonInfo | null, modulesInfo: Array<Modules.ModuleInfo>, only: Array<string>, changed: Array<ChangeBy>, dependencies: boolean): Promise<DependenciesGraph>;
export declare function iterateSorted(deps: SortedDependencies): Array<string>;
export declare function scheduleSorted<T>(deps: SortedDependencies, callbackFn: (name: string) => Promise<T>): Promise<T[]>;
export interface DependenciesValidations {
internal: {
[key: string]: Array<string>;
};
external: {
[key: string]: Array<string>;
};
missing: {
[key: string]: Array<string>;
};
}
export declare function validateDependencies(graph: DependenciesGraph): DependenciesValidations;
export interface DependenciesValidationsResults {
externalInvalidVersions: Array<string>;
internalInvalidVersions: Array<string>;
missing: {
[key: string]: Array<string>;
};
}
export declare function validateVersions(validations: DependenciesValidations): DependenciesValidationsResults;