@flxbl-io/sfp
Version:
sfp is a CLI tool to help you manage your Salesforce projects in an artifact centric model
32 lines (31 loc) • 1 kB
TypeScript
import { Logger } from '@flxbl-io/sfp-logger';
export interface DependencyDetail {
version: string;
isDirect: boolean;
contributors: string[];
}
export interface DependencyResolutionDetails {
resolvedDependencies: Map<string, {
package: string;
versionNumber?: string;
}[]>;
details: Map<string, {
[dependencyName: string]: DependencyDetail;
}>;
}
export default class TransitiveDependencyResolver {
private sfdxProjectConfig;
private logger?;
constructor(sfdxProjectConfig: any, logger?: Logger);
resolveTransitiveDependencies(): Promise<Map<string, {
package: string;
versionNumber?: string;
}[]>>;
resolveTransitiveDependenciesWithDetails(): Promise<DependencyResolutionDetails>;
private compareVersions;
private fillDepsWithUserDefinedExternalDependencyMap;
private generateDependencyDetails;
private fillDepsTransitively;
private swapAndDropArrayElement;
private topologicalSort;
}