UNPKG

@flxbl-io/sfp

Version:

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

107 lines 10.3 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const sfp_logger_1 = __importStar(require("@flxbl-io/sfp-logger")); const InstallUnlockedPackageImpl_1 = __importDefault(require("./InstallUnlockedPackageImpl")); const InstallPackage_1 = require("./InstallPackage"); const sfp_logger_2 = require("@flxbl-io/sfp-logger"); const os_1 = require("os"); class InstallUnlockedPackageCollection { constructor(sfpOrg, logger, dryRun = false) { this.sfpOrg = sfpOrg; this.logger = logger; this.dryRun = dryRun; } async install(package2s, skipIfInstalled, ignoreErrorIfAHigherVersionPackageIsInstalled = true) { this.installedPackages = await this.sfpOrg.getAllInstalled2GPPackages(); sfp_logger_1.default.log(`${os_1.EOL}`, sfp_logger_1.LoggerLevel.INFO, this.logger); for (const package2 of package2s) { if (package2.subscriberPackageVersionId && this.isPackageToBeInstalled(skipIfInstalled, package2.subscriberPackageVersionId, package2.name)) { sfp_logger_1.default.log(`Installing Package ${package2.name} in ${this.sfpOrg.getUsername()}`, sfp_logger_1.LoggerLevel.INFO, this.logger); let installUnlockedPackageImpl = new InstallUnlockedPackageImpl_1.default(this.logger, this.sfpOrg.getUsername(), package2.subscriberPackageVersionId, new InstallPackage_1.SfpPackageInstallationOptions(), package2.name); if (package2.key) installUnlockedPackageImpl.setInstallationKey(package2.key); try { if (!this.dryRun) await installUnlockedPackageImpl.install(); } catch (error) { let message = error.message; if (message.includes(`A newer version of this package is currently installed`) && ignoreErrorIfAHigherVersionPackageIsInstalled) { sfp_logger_1.default.log(`A higher version of this package is already installed and cant be dowgraded,skipping`, sfp_logger_1.LoggerLevel.WARN, this.logger); continue; } else { sfp_logger_1.default.log(`Unable to install ${package2.name} in ${this.sfpOrg.getUsername()} due to ${message}`, sfp_logger_1.LoggerLevel.ERROR, this.logger); throw error; } } } else { sfp_logger_1.default.log(`Skipping Installing of package ${(0, sfp_logger_2.COLOR_KEY_MESSAGE)(package2.name)} in ${this.sfpOrg.getUsername()}`, sfp_logger_1.LoggerLevel.WARN, this.logger); } } sfp_logger_1.default.log(`${os_1.EOL}`, sfp_logger_1.LoggerLevel.INFO, this.logger); } /** * Checks whether unlocked package version is installed in org. * Overrides base class method. * @param skipIfPackageInstalled * @returns */ isPackageToBeInstalled(skipIfPackageInstalled, packageVersionId, pacakgeName) { try { if (skipIfPackageInstalled) { sfp_logger_1.default.log(`${os_1.EOL}Checking whether package ${(0, sfp_logger_2.COLOR_KEY_MESSAGE)(pacakgeName)} with ID ${(0, sfp_logger_2.COLOR_KEY_MESSAGE)(packageVersionId)} is installed in ${this.sfpOrg.getUsername()}`, sfp_logger_1.LoggerLevel.INFO, this.logger); let packageFound = this.installedPackages.find((installedPackage) => { return installedPackage.subscriberPackageVersionId.substring(0, 15) === packageVersionId.substring(0, 15); }); if (packageFound) { sfp_logger_1.default.log(`Package to be installed was found in the target org ${this.sfpOrg.getUsername()}`, sfp_logger_1.LoggerLevel.INFO, this.logger); return false; } else { sfp_logger_1.default.log(`Package to be installed was not found in the target org ${this.sfpOrg.getUsername()}, Proceeding to install.. `, sfp_logger_1.LoggerLevel.INFO, this.logger); return true; } } else { sfp_logger_1.default.log('Skip if package to be installed is false, Proceeding with installation', sfp_logger_1.LoggerLevel.INFO, this.logger); return true; } } catch (error) { sfp_logger_1.default.log('Unable to check whether this package is installed in the target org', sfp_logger_1.LoggerLevel.INFO, this.logger); return true; } } } exports.default = InstallUnlockedPackageCollection; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5zdGFsbFVubG9ja2VkUGFja2FnZUNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29yZS9wYWNrYWdlL3BhY2thZ2VJbnN0YWxsZXJzL0luc3RhbGxVbmxvY2tlZFBhY2thZ2VDb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtRUFBc0U7QUFFdEUsOEZBQXNFO0FBRXRFLHFEQUFpRTtBQUNqRSxxREFBeUQ7QUFDekQsMkJBQXlCO0FBRXpCLE1BQXFCLGdDQUFnQztJQUVqRCxZQUFvQixNQUFjLEVBQVUsTUFBYyxFQUFTLFNBQWUsS0FBSztRQUFuRSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQWM7SUFBRyxDQUFDO0lBRXBGLEtBQUssQ0FBQyxPQUFPLENBQ2hCLFNBQTJCLEVBQzNCLGVBQXdCLEVBQ3hCLGdEQUF5RCxJQUFJO1FBRTdELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUV4RSxvQkFBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQUcsRUFBRSxFQUFFLHdCQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV2RCxLQUFLLE1BQU0sUUFBUSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQy9CLElBQ0ksUUFBUSxDQUFDLDBCQUEwQjtnQkFDbkMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsMEJBQTBCLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUNsRyxDQUFDO2dCQUNDLG9CQUFTLENBQUMsR0FBRyxDQUNULHNCQUFzQixRQUFRLENBQUMsSUFBSSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxF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