@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
JavaScript
"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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