UNPKG

@flxbl-io/sfp

Version:

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

76 lines (75 loc) 2.44 kB
import { PackageDiffOptions } from "../../core/package/diff/PackageDiffImpl"; import { Stage } from "../Stage"; import SfpPackage, { PackageType } from "../../core/package/SfpPackage"; export interface BuildProps { overridePackageTypes?: { [key: string]: PackageType; }; configFilePath?: string; projectDirectory?: string; devhubAlias?: string; baselineOrgAlias?: string; repourl?: string; waitTime: number; isQuickBuild: boolean; isDiffCheckEnabled: boolean; buildNumber: number; executorcount: number; isBuildAllAsSourcePackages: boolean; branch?: string; currentStage: Stage; baseBranch?: string; diffOptions?: PackageDiffOptions; includeOnlyPackages?: string[]; impactedPackagesAsPerBranch?: Map<string, string[]>; ref?: string; } export default class BuildImpl { private props; private limiter; private parentsToBeFulfilled; private childs; private packagesToBeBuilt; private packageCreationPromises; private projectConfig; private parents; private packagesInQueue; private packagesBuilt; private failedPackages; private generatedPackages; private sfpOrg; private scratchOrgDefinitions; private isMultiConfigFilesEnabled; private repository_url; private commit_id; private base_branch_commit_id; private logger; private recursiveAll; constructor(props: BuildProps); exec(): Promise<{ generatedPackages: SfpPackage[]; failedPackages: string[]; }>; private createDiffPackageScheduledDisplayedAsATable; private createAllPackageScheduledDisplayedAsATable; private filterPackagesToBeBuiltByChanged; private getPackagesToBeBuilt; private printQueueDetails; private handlePackageError; private queueChildPackages; private resolveDependenciesOnCompletedPackage; private getPriorityandTypeOfAPackage; private printPackageDetails; private createPackage; /** * Get the file path of the forceignore for current stage, from project config. * Returns null if a forceignore path is not defined in the project config for the current stage. * * @param projectConfig * @param currentStage */ private getPathToForceIgnoreForCurrentStage; private getMultiScratchOrgDefinitionFileMap; private resolvePackageDependencies; private extractPackageVersionAndBranch; }