@flxbl-io/sfp
Version:
sfp is a CLI tool to help you manage your Salesforce projects in an artifact centric model
170 lines • 12.8 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 lodash_1 = require("lodash");
const sfpowerkit_1 = require("@flxbl-io/sfprofiles/lib/utils/sfpowerkit");
const sfp_logger_1 = __importStar(require("@flxbl-io/sfp-logger"));
const profileRetriever_1 = __importDefault(require("@flxbl-io/sfprofiles/lib/impl/metadata/retriever/profileRetriever"));
const profileMerge_1 = __importDefault(require("@flxbl-io/sfprofiles/lib/impl/source/profileMerge"));
const SfpCommand_1 = __importDefault(require("../../SfpCommand"));
const cli_table_1 = __importDefault(require("cli-table"));
const TableConstants_1 = require("../../ui/TableConstants");
const sfdxflags_1 = require("../../flags/sfdxflags");
const core_2 = require("@oclif/core");
core_1.Messages.importMessagesDirectory(__dirname);
const messages = core_1.Messages.loadMessages('@flxbl-io/sfp', 'profile_merge');
class Merge extends SfpCommand_1.default {
async execute() {
let argFolder = this.flags.folder;
let argProfileList = this.flags.profilelist;
let argMetadatas = this.flags.metadata;
// argMetadatas = (val: string) => {
// let parts = val.split(':');
// return {
// MetadataType: parts[0].trim(),
// ApiName: parts.length >= 2 ? parts[1].trim() : '*',
// };
// };
sfpowerkit_1.Sfpowerkit.initCache();
let metadatas = undefined;
let invalidArguments = [];
if (argMetadatas !== undefined) {
metadatas = {};
profileRetriever_1.default.supportedMetadataTypes.forEach((val) => {
metadatas[val] = [];
});
for (let i = 0; i < argMetadatas.length; i++) {
if (profileRetriever_1.default.supportedMetadataTypes.includes(argMetadatas[i].MetadataType)) {
metadatas[argMetadatas[i].MetadataType].push(argMetadatas[i].ApiName);
}
else {
invalidArguments.push(argMetadatas[i].MetadataType);
}
}
if (invalidArguments.length > 0) {
throw new Error('Metadata(s) ' + invalidArguments.join(', ') + ' is/are not supported.');
}
}
if (!(0, lodash_1.isNil)(argFolder) && argFolder.length !== 0) {
sfpowerkit_1.Sfpowerkit.setDefaultFolder(argFolder[0]);
}
``;
this.org = await core_1.Org.create({ aliasOrUsername: this.flags.targetorg });
//@ts-ignore
const profileUtils = new profileMerge_1.default(this.org);
let mergedProfiles = await profileUtils.merge(argFolder, argProfileList || [], metadatas, this.flags.delete);
const table = new cli_table_1.default({
head: ['State', 'Full Name', 'Type', 'Path'],
chars: TableConstants_1.ZERO_BORDER_TABLE,
});
if (mergedProfiles.added) {
mergedProfiles.added.forEach((profile) => {
table.push({
state: 'Add',
fullName: profile.name,
type: 'Profile',
path: profile.path,
});
});
}
if (mergedProfiles.updated) {
mergedProfiles.updated.forEach((profile) => {
table.push({
state: 'Merged',
fullName: profile.name,
type: 'Profile',
path: profile.path,
});
});
}
if (this.flags.delete) {
if (mergedProfiles.deleted) {
mergedProfiles.deleted.forEach((profile) => {
table.push({
state: 'Deleted',
fullName: profile.name,
type: 'Profile',
path: profile.path,
});
});
}
}
else {
if (mergedProfiles.deleted) {
mergedProfiles.deleted.forEach((profile) => {
table.push({
state: 'Skipped',
fullName: profile.name,
type: 'Profile',
path: profile.path,
});
});
}
}
sfp_logger_1.default.log(table.toString(), sfp_logger_1.LoggerLevel.INFO);
return mergedProfiles;
}
}
Merge.description = messages.getMessage('commandDescription');
Merge.examples = [
`$ sfp profile:merge -o sandbox`,
`$ sfp profile:merge -f force-app -n "My Profile" -u sandbox`,
`$ sfp profile:merge -f "module1, module2, module3" -n "My Profile1, My profile2" -u sandbox`,
];
Merge.flags = {
folder: (0, sfdxflags_1.arrayFlagSfdxStyle)({
char: 'f',
description: messages.getMessage('folderFlagDescription'),
required: false,
}),
profilelist: (0, sfdxflags_1.arrayFlagSfdxStyle)({
char: 'n',
description: messages.getMessage('profileListFlagDescription'),
required: false,
}),
metadata: (0, sfdxflags_1.arrayFlagSfdxStyle)({
char: 'm',
description: messages.getMessage('metadataFlagDescription'),
required: false,
}),
delete: core_2.Flags.boolean({
char: 'd',
description: messages.getMessage('deleteFlagDescription'),
required: false,
}),
targetorg: sfdxflags_1.requiredUserNameFlag,
'apiversion': sfdxflags_1.orgApiVersionFlagSfdxStyle,
loglevel: sfdxflags_1.loglevel,
};
// Comment this out if your command does not require an org username
Merge.requiresUsername = true;
// Set this to true if your command requires a project workspace; 'requiresProject' is false by default
Merge.requiresProject = true;
exports.default = Merge;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvcHJvZmlsZS9tZXJnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkNBQWtEO0FBQ2xELG1DQUErQjtBQUMvQiwwRUFBdUU7QUFDdkUsbUVBQThEO0FBQzlELHlIQUFpRztBQUNqRyxxR0FBNkU7QUFDN0Usa0VBQTBDO0FBQzFDLDBEQUE4QjtBQUM5Qiw0REFBNEQ7QUFDNUQscURBQXVIO0FBQ3ZILHNDQUFvQztBQUVwQyxlQUFRLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFNUMsTUFBTSxRQUFRLEdBQUcsZUFBUSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDLENBQUM7QUFFekUsTUFBcUIsS0FBTSxTQUFRLG9CQUFVO0lBeUNsQyxLQUFLLENBQUMsT0FBTztRQUNoQixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUNsQyxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUM1QyxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUV2QyxxQ0FBcUM7UUFDckMsc0NBQXNDO1FBQ3RDLG1CQUFtQjtRQUNuQiw2Q0FBNkM7UUFDN0Msa0VBQWtFO1FBQ2xFLGFBQWE7UUFDYixTQUFTO1FBRVQsdUJBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUV2QixJQUFJLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDMUIsSUFBSSxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFFMUIsSUFBSSxZQUFZLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDN0IsU0FBUyxHQUFHLEVBQUUsQ0FBQztZQUNmLDBCQUFnQixDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFB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