@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
TypeScript
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;
}