UNPKG

@flxbl-io/sfp

Version:

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

148 lines 13.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 core_1 = require("@salesforce/core"); const PoolFetchImpl_1 = __importDefault(require("../../core/scratchorg/pool/PoolFetchImpl")); const sfp_logger_1 = __importStar(require("@flxbl-io/sfp-logger")); const InstalledArtifactsDisplayer_1 = __importDefault(require("../../core/display/InstalledArtifactsDisplayer")); const InstalledPackagesDisplayer_1 = __importDefault(require("../../core/display/InstalledPackagesDisplayer")); const sfp_logger_2 = require("@flxbl-io/sfp-logger"); const SFPOrg_1 = __importDefault(require("../../core/org/SFPOrg")); const sfp_logger_3 = require("@flxbl-io/sfp-logger"); const sfp_logger_4 = require("@flxbl-io/sfp-logger"); const sfp_logger_5 = require("@flxbl-io/sfp-logger"); const GetFormattedTime_1 = __importDefault(require("../../core/utils/GetFormattedTime")); const SfpCommand_1 = __importDefault(require("../../SfpCommand")); const core_2 = require("@oclif/core"); const sfdxflags_1 = require("../../flags/sfdxflags"); // 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', 'scratchorg_poolFetch'); class Fetch extends SfpCommand_1.default { async execute() { const fetchStartTime = Date.now(); await this.hubOrg.refreshAuth(); const hubConn = this.hubOrg.getConnection(); if (this.flags.json) sfp_logger_1.default.logLevel = sfp_logger_1.LoggerLevel.HIDE; sfp_logger_1.default.log((0, sfp_logger_2.COLOR_KEY_MESSAGE)(`Fetching a scratch org from pool ${this.flags.tag} in Org ${this.hubOrg.getOrgId()}`), sfp_logger_1.LoggerLevel.INFO); this.flags.apiversion = this.flags.apiversion || (await hubConn.retrieveMaxApiVersion()); let fetchImpl = new PoolFetchImpl_1.default(this.hubOrg, this.flags.tag, false, false, this.flags.sendtouser, this.flags.alias, this.flags.setdefaultusername); if (!this.flags.nosourcetracking) { sfp_logger_1.default.log((0, sfp_logger_2.COLOR_KEY_MESSAGE)(`Enabling source tracking, this will take a bit of time, please hang on`)); fetchImpl.setSourceTrackingOnFetch(); } let result = (await fetchImpl.execute()); if (!this.flags.json && !this.flags.sendtouser) { await this.displayOrgContents(result); core_2.ux.log(`======== Scratch org details ========`); let list = []; for (let [key, value] of Object.entries(result)) { if (value) { list.push({ key: key, value: value }); } } //add alias info if (this.flags.alias) list.push({ key: 'alias', value: this.flags.alias }); core_2.ux.table(list, { key: {}, value: {} }); this.printFetchSummary(!this.flags.nosourcetracking, Date.now() - fetchStartTime); } return result; } /** * Display artifacts and managed packages installed in the org * @param soDetail */ async displayOrgContents(soDetail) { try { let scratchOrgAsSFPOrg = await SFPOrg_1.default.create({ aliasOrUsername: soDetail.username }); let installedManagedPackages = await scratchOrgAsSFPOrg.getAllInstalledManagedPackages(); sfp_logger_1.default.log('Installed managed packages:', sfp_logger_1.LoggerLevel.INFO); InstalledPackagesDisplayer_1.default.printInstalledPackages(installedManagedPackages, null); let installedArtifacts = await scratchOrgAsSFPOrg.getInstalledArtifacts(); InstalledArtifactsDisplayer_1.default.printInstalledArtifacts(installedArtifacts, null); } catch (error) { sfp_logger_1.default.log('Failed to query packages/artifacts installed in the org due to \n' + error.message, sfp_logger_1.LoggerLevel.ERROR); } } printFetchSummary(isSourceTrackingEnabled, totalElapsedTime) { sfp_logger_1.default.printHeaderLine('', sfp_logger_3.COLOR_HEADER, sfp_logger_1.LoggerLevel.INFO); if (!isSourceTrackingEnabled) { sfp_logger_1.default.log((0, sfp_logger_4.COLOR_SUCCESS)(`Succesfully fetched a scratch org in ${(0, sfp_logger_5.COLOR_TIME)((0, GetFormattedTime_1.default)(totalElapsedTime))}`)); } else { sfp_logger_1.default.log((0, sfp_logger_4.COLOR_SUCCESS)(`Succesfully fetched a scratch org and enabled source tracking in ${(0, sfp_logger_5.COLOR_TIME)((0, GetFormattedTime_1.default)(totalElapsedTime))}`)); } sfp_logger_1.default.printHeaderLine('', sfp_logger_3.COLOR_HEADER, sfp_logger_1.LoggerLevel.INFO); } } Fetch.description = messages.getMessage('commandDescription'); Fetch.requiresDevhubUsername = true; Fetch.enableJsonFlag = true; Fetch.examples = [ `$ sfp pool:fetch -t core `, `$ sfp pool:fetch -t core -v devhub`, `$ sfp pool:fetch -t core -v devhub -m`, `$ sfp pool:fetch -t core -v devhub -s testuser@test.com`, ]; Fetch.flags = { targetdevhubusername: sfdxflags_1.targetdevhubusername, tag: core_2.Flags.string({ char: 't', description: messages.getMessage('tagDescription'), required: true, }), alias: core_2.Flags.string({ char: 'a', description: messages.getMessage('aliasDescription'), required: false, }), sendtouser: core_2.Flags.string({ char: 's', description: messages.getMessage('sendToUserDescription'), required: false, }), setdefaultusername: core_2.Flags.boolean({ char: 'd', description: messages.getMessage('setdefaultusernameDescription'), required: false, }), nosourcetracking: core_2.Flags.boolean({ default: false, description: messages.getMessage('noSourceTrackingDescription'), required: false, }), 'apiversion': sfdxflags_1.orgApiVersionFlagSfdxStyle, loglevel: sfdxflags_1.loglevel }; exports.default = Fetch; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvcG9vbC9mZXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkNBQTRDO0FBRzVDLDZGQUFxRTtBQUVyRSxtRUFBOEQ7QUFDOUQsaUhBQXlGO0FBQ3pGLCtHQUFzRjtBQUN0RixxREFBeUQ7QUFDekQsbUVBQTJDO0FBQzNDLHFEQUFvRDtBQUNwRCxxREFBcUQ7QUFDckQscURBQWtEO0FBQ2xELHlGQUFpRTtBQUNqRSxrRUFBMEM7QUFDMUMsc0NBQXdDO0FBQ3hDLHFEQUFtRztBQUVuRyx3REFBd0Q7QUFDeEQsZUFBUSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRTVDLGlHQUFpRztBQUNqRyxtRkFBbUY7QUFDbkYsTUFBTSxRQUFRLEdBQUcsZUFBUSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztBQUVoRixNQUFxQixLQUFNLFNBQVEsb0JBQVU7SUE0Q2xDLEtBQUssQ0FBQyxPQUFPO1FBQ2hCLE1BQU0sY0FBYyxHQUFXLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUcxQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUU1QyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSTtZQUFFLG9CQUFTLENBQUMsUUFBUSxHQUFHLHdCQUFXLENBQUMsSUFBSSxDQUFDO1FBRTNELG9CQUFTLENBQUMsR0FBRyxDQUNULElBQUEsOEJBQWlCLEVBQUMsb0NBQW9DLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxXQUFXLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUN4Ryx3QkFBVyxDQUFDLElB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