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