UNPKG

@flxbl-io/sfp

Version:

sfp is a CLI tool to help you manage your Salesforce projects in an artifact centric model

70 lines (69 loc) 1.98 kB
import ReleaseDefinition from './ReleaseDefinition'; import { DeploymentResult } from '../deploy/DeployImpl'; import { Logger } from '@flxbl-io/sfp-logger'; export interface ReleaseProps { releaseDefinitions: ReleaseDefinition[]; targetOrg: string; fetchArtifactScript: string; isNpm: boolean; scope: string; npmrcPath: string; logsGroupSymbol: string[]; tags: any; isDryRun: boolean; waitTime: number; keys: string; isGenerateChangelog: boolean; devhubUserName: string; branch: string; directory: string; } export default class ReleaseImpl { private props; private logger?; constructor(props: ReleaseProps, logger?: Logger); exec(): Promise<ReleaseResult>; /** * * @param releases * @returns aggregated number of work items in a release */ private getAggregatedNumberOfWorkItemsInRelease; /** * * @param releases * @returns aggregated number of commits in a release */ private getAggregatedNumberOfCommitsInRelease; private getNumberOfWorkItems; private getNumberOfCommits; private deployArtifacts; private getSortedReleaseDefns; private generateSfpPackageFromArtifacts; private installPackageDependencies; /** * Parse keys in string format "packageA:key packageB:key packageC:key" * Returns map of packages to keys * @param keys */ private parseKeys; private displayReleaseInfo; private getArtifactDirectory; } interface InstallDependenciesResult { success: [string, string][]; skipped: [string, string][]; failed: [string, string][]; } export interface ReleaseResult { succeededDeployments: { releaseDefinition: ReleaseDefinition; result: DeploymentResult; }[]; failedDeployments: { releaseDefinition: ReleaseDefinition; result: DeploymentResult; }[]; installDependenciesResult: InstallDependenciesResult; } export {};