@flxbl-io/sfp
Version:
sfp is a CLI tool to help you manage your Salesforce projects in an artifact centric model
96 lines • 8.81 kB
JavaScript
;
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 SfpCommand_1 = __importDefault(require("../../SfpCommand"));
const core_1 = require("@salesforce/core");
const ExternalPackage2DependencyResolver_1 = __importDefault(require("../../core/package/dependencies/ExternalPackage2DependencyResolver"));
const ProjectConfig_1 = __importDefault(require("../../core/project/ProjectConfig"));
const sfp_logger_1 = __importStar(require("@flxbl-io/sfp-logger"));
const ExternalDependencyDisplayer_1 = __importDefault(require("../../core/display/ExternalDependencyDisplayer"));
const InstallUnlockedPackageCollection_1 = __importDefault(require("../../core/package/packageInstallers/InstallUnlockedPackageCollection"));
const SFPOrg_1 = __importDefault(require("../../core/org/SFPOrg"));
const core_2 = require("@oclif/core");
const sfdxflags_1 = require("../../flags/sfdxflags");
const ReleaseConfigLoader_1 = __importDefault(require("../../impl/release/ReleaseConfigLoader"));
const CommandHeaderDisplayer_1 = __importDefault(require("../../core/display/CommandHeaderDisplayer"));
// Initialize Messages with the current plugin directory
core_1.Messages.importMessagesDirectory(__dirname);
// Load the specific messages for this file. Messages from @salesforce/command, @salesforce/core,
// or any library that is using the messages framework can also be loaded this way.
const messages = core_1.Messages.loadMessages('@flxbl-io/sfp', 'dependency_install');
class Install extends SfpCommand_1.default {
displayReleaseInfo(releaseConfigPath, hasInstallationKeys, userName) {
const logger = new CommandHeaderDisplayer_1.default()
.headerLine()
.headerAttribute('command', 'dependency install')
.headerAttribute('target-org', `${userName}`)
.headerAttributeIf(releaseConfigPath != null, 'release-config', `${releaseConfigPath}`)
.headerAttributeIf(hasInstallationKeys, 'Has Installation Keys', `${hasInstallationKeys}`)
.headerLine();
}
async execute() {
// this.org is guaranteed because requiresUsername=true, as opposed to supportsUsername
const username = this.org.getUsername();
this.displayReleaseInfo(this.flags.releaseconfig, !!this.flags.installationkeys, username);
//Resolve external package dependencies
let externalPackageResolver = new ExternalPackage2DependencyResolver_1.default(this.hubOrg.getConnection(), ProjectConfig_1.default.getSFDXProjectConfig(null), this.flags.installationkeys);
let packages = null;
if (this.flags.releaseconfig) {
let releaseConfigLoader = new ReleaseConfigLoader_1.default(new sfp_logger_1.ConsoleLogger(), this.flags.releaseconfig);
packages = releaseConfigLoader.getPackagesAsPerReleaseConfig();
}
let externalPackage2s = await externalPackageResolver.resolveExternalPackage2DependenciesToVersions(packages);
//Display resolved dependencies
let externalDependencyDisplayer = new ExternalDependencyDisplayer_1.default(externalPackage2s, new sfp_logger_1.ConsoleLogger());
externalDependencyDisplayer.display();
let packageCollectionInstaller = new InstallUnlockedPackageCollection_1.default(await SFPOrg_1.default.create({ aliasOrUsername: username }), new sfp_logger_1.ConsoleLogger());
await packageCollectionInstaller.install(externalPackage2s, true, true);
sfp_logger_1.default.log((0, sfp_logger_1.COLOR_KEY_MESSAGE)(`Successfully completed external dependencies of this ${username} in ${username}`));
}
}
Install.description = messages.getMessage('commandDescription');
Install.requiresUsername = true;
Install.requiresDevhubUsername = true;
Install.requiresProject = true;
Install.flags = {
'targetusername': sfdxflags_1.requiredUserNameFlag,
targetdevhubusername: sfdxflags_1.targetdevhubusername,
installationkeys: core_2.Flags.string({
char: 'k',
required: false,
description: messages.getMessage('installationkeysFlagDescription'),
}),
releaseconfig: core_2.Flags.string({
char: 'r',
required: false,
description: messages.getMessage('configFileFlagDescription'),
}),
loglevel: sfdxflags_1.loglevel
};
exports.default = Install;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9kZXBlbmRlbmN5L2luc3RhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtFQUEwQztBQUMxQywyQ0FBMEM7QUFDMUMsNElBQW9IO0FBQ3BILHFGQUE2RDtBQUM3RCxtRUFBNkY7QUFDN0YsaUhBQXlGO0FBQ3pGLDZJQUFxSDtBQUNySCxtRUFBMkM7QUFDM0Msc0NBQWtDO0FBQ2xDLHFEQUEyRjtBQUMzRixpR0FBeUU7QUFDekUsdUdBQStFO0FBRS9FLHdEQUF3RDtBQUN4RCxlQUFRLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFNUMsaUdBQWlHO0FBQ2pHLG1GQUFtRjtBQUNuRixNQUFNLFFBQVEsR0FBRyxlQUFRLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0FBRTlFLE1BQXFCLE9BQVEsU0FBUSxvQkFBVTtJQXNCbkMsa0JBQWtCLENBQUMsaUJBQXlCLEVBQUUsbUJBQTRCLEVBQUUsUUFBZ0I7UUFDaEcsTUFBTSxNQUFNLEdBQTJCLElBQUksZ0NBQXNCLEVBQUU7YUFDOUQsVUFBVSxFQUFFO2FBQ1osZUFBZSxDQUFDLFNBQVMsRUFBRSxvQkFBb0IsQ0FBQzthQUNoRCxlQUFlLENBQUMsWUFBWSxFQUFFLEdBQUcsUUFBUSxFQUFFLENBQUM7YUFDNUMsaUJBQWlCLENBQUMsaUJBQWlCLElBQUksSUFBSSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQzthQUN0RixpQkFBaUIsQ0FBQyxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxHQUFHLG1CQUFtQixFQUFFLENBQUM7YUFDekYsVUFBVSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUdNLEtBQUssQ0FBQyxPQUFPO1FBQ2hCLHVGQUF1RjtRQUN2RixNQUFNLFFBQVEsR0FB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