UNPKG

@flxbl-io/sfp

Version:

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

91 lines 8.08 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 TransitiveDependencyResolver_1 = __importDefault(require("../../core/package/dependencies/TransitiveDependencyResolver")); const core_1 = require("@salesforce/core"); const SfpCommand_1 = __importDefault(require("../../SfpCommand")); const ProjectConfig_1 = __importDefault(require("../../core/project/ProjectConfig")); const sfp_logger_1 = __importStar(require("@flxbl-io/sfp-logger")); const fs = __importStar(require("fs-extra")); const path = require("path"); const UserDefinedExternalDependency_1 = __importDefault(require("../../core/project/UserDefinedExternalDependency")); 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_expand'); class Expand 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 transitiveDependencyResolver = new TransitiveDependencyResolver_1.default(projectConfig); let resolvedDependencyMap = await transitiveDependencyResolver.resolveTransitiveDependencies(); projectConfig = await ProjectConfig_1.default.updateProjectConfigWithDependencies(projectConfig, resolvedDependencyMap); projectConfig = await (new UserDefinedExternalDependency_1.default()).addDependencyEntries(projectConfig, this.hubOrg.getConnection()); //Clean up temp directory if (!fs.existsSync(defaultProjectConfigPath)) fs.mkdirpSync(defaultProjectConfigPath); if (this.flags.overwrite) { sfp_logger_1.default.log(`Overwriting sfdx-project.json with expanded 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.exp.json`); fs.writeFileSync(projectConfigFilePath, JSON.stringify(projectConfig, null, 4)); sfp_logger_1.default.log(`Generated project config file has been saved to ${projectConfigFilePath}`, sfp_logger_1.LoggerLevel.INFO); } } catch (error) { throw new Error('Unable to generate project config file:' + error); } } } Expand.description = messages.getMessage('commandDescription'); Expand.requiresDevhubUsername = true; Expand.requiresProject = true; Expand.flags = { targetdevhubusername: sfdxflags_1.targetdevhubusername, overwrite: core_2.Flags.boolean({ char: 'o', description: messages.getMessage('overWriteProjectConfigFlagDescription'), default: false, }), loglevel: sfdxflags_1.loglevel }; exports.default = Expand; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2RlcGVuZGVuY3kvZXhwYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnSUFBd0c7QUFDeEcsMkNBQTRDO0FBQzVDLGtFQUEwQztBQUMxQyxxRkFBNkQ7QUFDN0QsbUVBQXNFO0FBQ3RFLDZDQUErQjtBQUMvQiw2QkFBOEI7QUFDOUIscUhBQTZGO0FBQzdGLHNDQUFvQztBQUNwQyxxREFBdUU7QUFFdkUsd0RBQXdEO0FBQ3hELGVBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUU1QyxpR0FBaUc7QUFDakcsbUZBQW1GO0FBQ25GLE1BQU0sUUFBUSxHQUFHLGVBQVEsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLG1CQUFtQixDQUFDLENBQUM7QUFFN0UsTUFBcUIsTUFBTyxTQUFRLG9CQUFVO0lBaUJuQyxLQUFLLENBQUMsT0FBTztRQUNoQixJQUFJLHdCQUF3QixHQUFHLGtCQUFrQixDQUFDO1FBQ2xELElBQUkscUJBQTZCLENBQUM7UUFDbEMsSUFBSSxDQUFDO1lBQ0QsNkRBQTZEO1lBQzdELElBQUksYUFBYSxHQUFHLHVCQUFhLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDdEUsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLHNDQUE0QixDQUNqRSxhQUFhLENBQ2hCLENBQUM7WUFHRixJQUFJLHFCQUFxQixHQUFJLE1BQU0sNEJBQTRCLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztZQUNoRyxhQUFhLEdBQUcsTUFBTSx1QkFBYSxDQUFDLG1DQUFtQyxDQUFDLGFBQWEsRUFBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQzdHLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSx1Q0FBNkIsRUFBRSxDQUFDLENBQUMsb0JBQW9CLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztZQUU3SCx5QkFBeUI7WUFDekIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsd0JBQXdCLENBQUM7Z0JBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1lBRXRGLElBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUMsQ0FBQztnQkFDckIsb0JBQVMsQ0FBQyxHQUFHLENBQUMsaUVBQWlFLEVBQUMsd0JBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDakcscUJBQXFCLEdBQUcsbUJBQW1CLENBQUM7Z0JBRTVDLElBQUksY0FBYyxHQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztnQkFDMUYsb0JBQVMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLGNBQWMsRUFBRSxFQUFDLHdCQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQ3RFLEVBQUUsQ0FBQyxRQUFRLENBQUMscUJBQXFCLEVBQUUsY0FBYyxDQUFDLENBQUM7Z0JBRW5ELEVBQUUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hGLG9CQUFTLENBQUMsR0FBRyxDQUFDLHFDQUFxQyxFQUFDLHdCQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDekUsQ0FBQztpQkFBSSxDQUFDO2dCQUNGLHFCQUFxQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztnQkFDckYsRUFBRSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDaEYsb0JBQVMsQ0FBQyxHQUFHLENBQUMsbURBQW1ELHFCQUFxQixFQUFFLEVBQUMsd0JBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUM5RyxDQUFDO1FBRUwsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7SUFDTCxDQUFDOztBQXJEYSxrQkFBVyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUdyRCw2QkFBc0IsR0FBRyxJQUFJLENBQUM7QUFDOUIsc0JBQWUsR0FBRyxJQUFJLENBQUM7QUFFMUIsWUFBSyxHQUFHO0lBQ2xCLG9CQUFvQixFQUFwQixnQ0FBb0I7SUFDcEIsU0FBUyxFQUFFLFlBQUssQ0FBQyxPQUFPLENBQUM7UUFDckIsSUFBSSxFQUFFLEdBQUc7UUFDVCxXQUFXLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyx1Q0FBdUMsQ0FBQztRQUN6RSxPQUFPLEVBQUUsS0FBSztLQUNqQixDQUFDO0lBQ0YsUUFBUSxFQUFSLG9CQUFRO0NBQ1gsQ0FBQztrQkFmZSxNQUFNIn0=