UNPKG

@flxbl-io/sfp

Version:

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

96 lines 8.47 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const SfpCommand_1 = __importDefault(require("../../SfpCommand")); const core_1 = require("@salesforce/core"); const PromoteUnlockedPackageImpl_1 = __importDefault(require("../../core/package/promote/PromoteUnlockedPackageImpl")); const ArtifactFetcher_1 = __importDefault(require("../../core/artifacts/ArtifactFetcher")); const sfp_logger_1 = require("@flxbl-io/sfp-logger"); const SfpPackageBuilder_1 = __importDefault(require("../../core/package/SfpPackageBuilder")); const SfpPackage_1 = require("../../core/package/SfpPackage"); const core_2 = require("@oclif/core"); const sfdxflags_1 = require("../../flags/sfdxflags"); const sfp_logger_2 = require("@flxbl-io/sfp-logger"); const sfp_logger_3 = require("@flxbl-io/sfp-logger"); const sfp_logger_4 = __importDefault(require("@flxbl-io/sfp-logger")); core_1.Messages.importMessagesDirectory(__dirname); const messages = core_1.Messages.loadMessages('@flxbl-io/sfp', 'promote'); class Promote extends SfpCommand_1.default { async execute() { sfp_logger_4.default.log((0, sfp_logger_3.COLOR_HEADER)('command: promote')); sfp_logger_4.default.log((0, sfp_logger_3.COLOR_HEADER)(`Artifact Directory: ${this.flags.artifactdir}`)); sfp_logger_4.default.printHeaderLine('', sfp_logger_3.COLOR_HEADER, sfp_logger_2.LoggerLevel.INFO); //Refresh HubOrg Authentication await this.hubOrg.refreshAuth(); let unpromotedPackages = []; try { let artifacts = ArtifactFetcher_1.default.fetchArtifacts(this.flags.artifactdir); if (artifacts.length === 0) { throw new Error(`No artifacts found at ${this.flags.artifactdir}`); } let result = true; let promotedPackages = []; for (let artifact of artifacts) { let sfpPackage = await SfpPackageBuilder_1.default.buildPackageFromArtifact(artifact, new sfp_logger_1.ConsoleLogger()); try { if (sfpPackage.package_type === SfpPackage_1.PackageType.Unlocked) { let promoteUnlockedPackageImpl = new PromoteUnlockedPackageImpl_1.default(artifact.sourceDirectoryPath, sfpPackage.package_version_id, this.hubOrg.getUsername()); await promoteUnlockedPackageImpl.promote(); } promotedPackages.push(sfpPackage.packageName); } catch (err) { result = false; unpromotedPackages.push({ name: sfpPackage.packageName, error: err.message, }); } } console.log(`Promoted packages:`, promotedPackages); // Overall exit status is 1 if a package failed to promote if (!result) { throw new Error(); } } catch (err) { console.log(err.message); // Print unpromoted packages with reason for failure if (unpromotedPackages.length > 0) { core_2.ux.table(unpromotedPackages, { name: {}, error: {} }); } // Fail the task when an error occurs process.exitCode = 1; } } substituteBuildNumberWithPreRelease(packageVersionNumber) { let segments = packageVersionNumber.split('.'); if (segments.length === 4) { packageVersionNumber = segments.reduce((version, segment, segmentsIdx) => { if (segmentsIdx === 3) return version + '-' + segment; else return version + '.' + segment; }); } return packageVersionNumber; } } Promote.description = messages.getMessage('commandDescription'); Promote.aliases = ['orchestrator:promote']; Promote.examples = [`$ sfp promote -d path/to/artifacts -v <org>`]; Promote.requiresDevhubUsername = true; Promote.flags = { targetdevhubusername: sfdxflags_1.targetdevhubusername, artifactdir: core_2.Flags.directory({ required: true, char: 'd', description: messages.getMessage('artifactDirectoryFlagDescription'), default: 'artifacts', }), loglevel: sfdxflags_1.loglevel }; exports.default = Promote; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbW90ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9hcnRpZmFjdHMvcHJvbW90ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtFQUEwQztBQUMxQywyQ0FBNEM7QUFDNUMsdUhBQThGO0FBQzlGLDJGQUFtRTtBQUNuRSxxREFBcUQ7QUFDckQsNkZBQXFFO0FBQ3JFLDhEQUE0RDtBQUM1RCxzQ0FBd0M7QUFDeEMscURBQXVFO0FBQ3ZFLHFEQUFtRDtBQUNuRCxxREFBb0Q7QUFDcEQsc0VBQTZDO0FBRTdDLGVBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM1QyxNQUFNLFFBQVEsR0FBRyxlQUFRLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUVuRSxNQUFxQixPQUFRLFNBQVEsb0JBQVU7SUFvQnBDLEtBQUssQ0FBQyxPQUFPO1FBQ2hCLG9CQUFTLENBQUMsR0FBRyxDQUFDLElBQUEseUJBQVksRUFBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDaEQsb0JBQVMsQ0FBQyxHQUFHLENBQUMsSUFBQSx5QkFBWSxFQUFDLHVCQUF1QixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3RSxvQkFBUyxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUMseUJBQVksRUFBQyx3QkFBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVELCtCQUErQjtRQUMvQixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFaEMsSUFBSSxrQkFBa0IsR0FBc0MsRUFBRSxDQUFDO1FBQy9ELElBQUksQ0FBQztZQUNELElBQUksU0FBUyxHQUFHLHlCQUFlLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFdkUsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENB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