UNPKG

@flxbl-io/sfp

Version:

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

88 lines 7.35 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 ShrinkImpl_1 = __importDefault(require("../../impl/dependency/ShrinkImpl")); const core_1 = require("@salesforce/core"); const SfpCommand_1 = __importDefault(require("../../SfpCommand")); const ProjectConfig_1 = __importDefault(require("../../core/project/ProjectConfig")); const fs = __importStar(require("fs-extra")); const path = require("path"); const sfp_logger_1 = __importStar(require("@flxbl-io/sfp-logger")); 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', 'dependency_shrink'); class Shrink extends SfpCommand_1.default { async execute() { let defaultProjectConfigPath = './project-config'; let projectConfigFilePath; try { //Validate dependencies in sfdx-project.json // Read Manifest let projectConfig = ProjectConfig_1.default.getSFDXProjectConfig(process.cwd()); const shrinkImpl = new ShrinkImpl_1.default(this.hubOrg.getConnection()); projectConfig = await shrinkImpl.shrinkDependencies(projectConfig); //Create temp directory if not exist if (!fs.existsSync(defaultProjectConfigPath)) fs.mkdirpSync(defaultProjectConfigPath); if (this.flags.overwrite) { sfp_logger_1.default.log(`Overwriting sfdx-project.json with shrunk project config file`, sfp_logger_1.LoggerLevel.INFO); projectConfigFilePath = `sfdx-project.json`; let backupFilePath = path.join(defaultProjectConfigPath, `sfdx-project.json.bak`); sfp_logger_1.default.log(`Saving a backup to ${backupFilePath}`, sfp_logger_1.LoggerLevel.INFO); fs.copySync(projectConfigFilePath, backupFilePath); fs.writeFileSync(projectConfigFilePath, JSON.stringify(projectConfig, null, 4)); sfp_logger_1.default.log('sfdx-project.json has been updated.', sfp_logger_1.LoggerLevel.INFO); } else { projectConfigFilePath = path.join(defaultProjectConfigPath, `sfdx-project.min.json`); fs.writeFileSync(projectConfigFilePath, JSON.stringify(projectConfig, null, 4)); sfp_logger_1.default.log(`Shrunk project config file has been saved to ${projectConfigFilePath}`, sfp_logger_1.LoggerLevel.INFO); } } catch (error) { throw new Error('Unable to shrink project config file:' + error); } } } Shrink.description = messages.getMessage('commandDescription'); Shrink.requiresDevhubUsername = true; Shrink.requiresProject = true; Shrink.flags = { overwrite: core_2.Flags.boolean({ char: 'o', description: messages.getMessage('overWriteProjectConfigFlagDescription'), default: false, }), targetdevhubusername: sfdxflags_1.targetdevhubusername, loglevel: sfdxflags_1.loglevel }; exports.default = Shrink; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hyaW5rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2RlcGVuZGVuY3kvc2hyaW5rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrRkFBMEQ7QUFDMUQsMkNBQTRDO0FBQzVDLGtFQUEwQztBQUMxQyxxRkFBNkQ7QUFDN0QsNkNBQStCO0FBQy9CLDZCQUE4QjtBQUM5QixtRUFBc0U7QUFDdEUsc0NBQW9DO0FBQ3BDLHFEQUF1RTtBQUd2RSx3REFBd0Q7QUFDeEQsZUFBUSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRTVDLGlHQUFpRztBQUNqRyxtRkFBbUY7QUFDbkYsTUFBTSxRQUFRLEdBQUcsZUFBUSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUU3RSxNQUFxQixNQUFPLFNBQVEsb0JBQVU7SUFnQm5DLEtBQUssQ0FBQyxPQUFPO1FBQ2hCLElBQUksd0JBQXdCLEdBQUcsa0JBQWtCLENBQUM7UUFDbEQsSUFBSSxxQkFBNkIsQ0FBQztRQUNsQyxJQUFJLENBQUM7WUFDRCw2REFBNkQ7WUFDN0QsSUFBSSxhQUFhLEdBQUcsdUJBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUN0RSxNQUFNLFVBQVUsR0FBRyxJQUFJLG9CQUFVLENBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQzlCLENBQUM7WUFDRixhQUFhLEdBQUcsTUFBTSxVQUFVLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUM7WUFFbkUsb0NBQW9DO1lBQ3BDLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDO2dCQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUV0RixJQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFDLENBQUM7Z0JBQ3JCLG9CQUFTLENBQUMsR0FBRyxDQUFDLCtEQUErRCxFQUFDLHdCQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQy9GLHFCQUFxQixHQUFHLG1CQUFtQixDQUFDO2dCQUU1QyxJQUFJLGNBQWMsR0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLHVCQUF1QixDQUFDLENBQUM7Z0JBQzFGLG9CQUFTLENBQUMsR0FBRyxDQUFDLHNCQUFzQixjQUFjLEVBQUUsRUFBQyx3QkFBVyxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUN0RSxFQUFFLENBQUMsUUFBUSxDQUFDLHFCQUFxQixFQUFFLGNBQWMsQ0FBQyxDQUFDO2dCQUVuRCxFQUFFLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoRixvQkFBUyxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsRUFBQyx3QkFBVyxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ3pFLENBQUM7aUJBQUksQ0FBQztnQkFDRixxQkFBcUIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLHVCQUF1QixDQUFDLENBQUM7Z0JBQ3JGLEVBQUUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hGLG9CQUFTLENBQUMsR0FBRyxDQUFDLGdEQUFnRCxxQkFBcUIsRUFBRSxFQUFDLHdCQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDM0csQ0FBQztRQUVMLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUNyRSxDQUFDO0lBQ0wsQ0FBQzs7QUFoRGEsa0JBQVcsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFFckQsNkJBQXNCLEdBQUcsSUFBSSxDQUFDO0FBQzlCLHNCQUFlLEdBQUcsSUFBSSxDQUFDO0FBRTFCLFlBQUssR0FBRztJQUNsQixTQUFTLEVBQUUsWUFBSyxDQUFDLE9BQU8sQ0FBQztRQUNyQixJQUFJLEVBQUUsR0FBRztRQUNULFdBQVcsRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLHVDQUF1QyxDQUFDO1FBQ3pFLE9BQU8sRUFBRSxLQUFLO0tBQ2pCLENBQUM7SUFDRixvQkFBb0IsRUFBcEIsZ0NBQW9CO0lBQ3JCLFFBQVEsRUFBUixvQkFBUTtDQUNWLENBQUM7a0JBZGUsTUFBTSJ9