UNPKG

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