@flxbl-io/sfp
Version:
sfp is a CLI tool to help you manage your Salesforce projects in an artifact centric model
134 lines • 11.7 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 SFPStatsSender_1 = __importDefault(require("./core/stats/SFPStatsSender"));
const rimraf = __importStar(require("rimraf"));
const ProjectValidation_1 = __importDefault(require("./ProjectValidation"));
const sfp_logger_1 = __importStar(require("@flxbl-io/sfp-logger"));
const GroupConsoleLogs_1 = __importDefault(require("./ui/GroupConsoleLogs"));
const core_1 = require("@oclif/core");
const core_2 = require("@salesforce/core");
/**
* A base class that provides common funtionality for sfp commands
*
* @extends SfdxCommand
*/
class SfpCommand extends core_1.Command {
/**
* Entry point of all commands
*/
async run() {
//Always enable color by default
if (process.env.SFPOWERSCRIPTS_NOCOLOR)
sfp_logger_1.default.disableColor();
else
sfp_logger_1.default.enableColor();
this.flags = (await this.parse()).flags;
if (this.statics.flags.targetusername && this.statics.requiresUsername) {
this.org = await core_2.Org.create({ aliasOrUsername: this.flags.targetusername });
}
if (this.statics.flags.targetdevhubusername && this.statics.requiresDevhubUsername) {
this.hubOrg = await core_2.Org.create({ aliasOrUsername: this.flags.targetdevhubusername });
}
this.setLogLevel(this.flags);
if (this.statics.flags.logsgroupsymbol) {
GroupConsoleLogs_1.default.setLogGroupsSymbol(this.flags.logsgroupsymbol);
}
// Setting the environment variable for disabling sfpowerkit header
if (sfp_logger_1.default.logLevel > sfp_logger_1.LoggerLevel.DEBUG)
process.env.SFPOWERKIT_NOHEADER = 'true';
//Set Query Limit to max
process.env.SF_ORG_MAX_QUERY_LIMIT = '50000';
this.validateFlags();
//Clear temp directory before every run
rimraf.sync('.sfp');
//Initialise StatsD
this.initializeStatsD();
if (!this.jsonEnabled()) {
sfp_logger_1.default.printHeaderLine('', sfp_logger_1.COLOR_HEADER, sfp_logger_1.LoggerLevel.INFO);
sfp_logger_1.default.log((0, sfp_logger_1.COLOR_HEADER)(`sfp (community edition) -- ❤️ by flxbl.io ❤️ -Version:${this.config.version} -Release:${this.config.pjson.release}`));
sfp_logger_1.default.printHeaderLine('', sfp_logger_1.COLOR_HEADER, sfp_logger_1.LoggerLevel.INFO);
}
else {
//Disable pretty printing in json mode
const chalk = require('chalk');
chalk.level = 0;
}
if (this.statics.requiresProject) {
let projectValidation = new ProjectValidation_1.default();
projectValidation.validateSFDXProjectJSON();
projectValidation.validatePackageNames();
}
// Execute command run code
return await this.execute();
}
/**
* Optional method for programmatically validating flags.
* Useful for complex flag behaviours that cannot be adequately defined using flag props
* e.g. making a flag required only if another flag that it depends on is passed
*/
validateFlags() { }
initializeStatsD() {
if (process.env.SFPOWERSCRIPTS_STATSD) {
SFPStatsSender_1.default.initialize(process.env.SFPOWERSCRIPTS_STATSD_PORT, process.env.SFPOWERSCRIPTS_STATSD_HOST, process.env.SFPOWERSCRIPTS_STATSD_PROTOCOL);
}
if (process.env.SFPOWERSCRIPTS_DATADOG) {
SFPStatsSender_1.default.initializeNativeMetrics('DataDog', process.env.SFPOWERSCRIPTS_DATADOG_HOST, process.env.SFPOWERSCRIPTS_DATADOG_API_KEY, new sfp_logger_1.ConsoleLogger());
}
else if (process.env.SFPOWERSCRIPTS_NEWRELIC) {
SFPStatsSender_1.default.initializeNativeMetrics('NewRelic', null, process.env.SFPOWERSCRIPTS_NEWRELIC_API_KEY, new sfp_logger_1.ConsoleLogger());
}
else if (process.env.SFPOWERSCRIPTS_SPLUNK) {
SFPStatsSender_1.default.initializeNativeMetrics('Splunk', process.env.SFPOWERSCRIPTS_SPLUNK_HOST, process.env.SFPOWERSCRIPTS_SPLUNK_API_KEY, new sfp_logger_1.ConsoleLogger());
}
SFPStatsSender_1.default.initializeLogBasedMetrics();
}
setLogLevel(flags) {
if (flags.loglevel === 'trace' || flags.loglevel === 'TRACE')
sfp_logger_1.default.logLevel = sfp_logger_1.LoggerLevel.TRACE;
else if (flags.loglevel === 'debug' || flags.loglevel === 'DEBUG')
sfp_logger_1.default.logLevel = sfp_logger_1.LoggerLevel.DEBUG;
else if (flags.loglevel === 'info' || flags.loglevel === 'INFO')
sfp_logger_1.default.logLevel = sfp_logger_1.LoggerLevel.INFO;
else if (flags.loglevel === 'warn' || flags.loglevel === 'WARN')
sfp_logger_1.default.logLevel = sfp_logger_1.LoggerLevel.WARN;
else if (flags.loglevel === 'error' || flags.loglevel === 'ERROR')
sfp_logger_1.default.logLevel = sfp_logger_1.LoggerLevel.ERROR;
else if (flags.loglevel === 'fatal' || flags.loglevel === 'FATAL')
sfp_logger_1.default.logLevel = sfp_logger_1.LoggerLevel.FATAL;
else
sfp_logger_1.default.logLevel = sfp_logger_1.LoggerLevel.INFO;
}
get statics() {
return this.constructor;
}
}
SfpCommand.requiresUsername = false;
SfpCommand.requiresDevhubUsername = false;
exports.default = SfpCommand;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2ZwQ29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TZnBDb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpRkFBeUQ7QUFDekQsK0NBQWlDO0FBQ2pDLDRFQUFvRDtBQUNwRCxtRUFBMkY7QUFDM0YsNkVBQXFEO0FBQ3JELHNDQUFpRDtBQUVqRCwyQ0FBdUM7QUFHdkM7Ozs7R0FJRztBQUNILE1BQThCLFVBQVcsU0FBUSxjQUFPO0lBcUJwRDs7T0FFRztJQUNILEtBQUssQ0FBQyxHQUFHO1FBQ0wsZ0NBQWdDO1FBQ2hDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0I7WUFBRSxvQkFBUyxDQUFDLFlBQVksRUFBRSxDQUFDOztZQUM1RCxvQkFBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBSTdCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUV4QyxJQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUNyRSxDQUFDO1lBQ0csSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLFVBQUcsQ0FBQyxNQUFNLENBQUMsRUFBQyxlQUFlLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUMsQ0FBQyxDQUFDO1FBQzdFLENBQUM7UUFHRCxJQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLEVBQ2pGLENBQUM7WUFDRyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sVUFBRyxDQUFDLE1BQU0sQ0FBQyxFQUFDLGVBQWUsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFDLENBQUMsQ0FBQztRQUN0RixD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