UNPKG

sfdx-experiences-plugin

Version:
59 lines 2.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const command_1 = require("@salesforce/command"); const core_1 = require("@salesforce/core"); const fs_1 = require("fs"); const copy_1 = require("../../../modules/experiences/config/copy"); const core_2 = require("../../../modules/experiences/utils/core"); core_1.Messages.importMessagesDirectory(__dirname); const messages = core_1.Messages.loadMessages('sfdx-experiences-plugin', 'experiences-config-copy'); /** * Command which copies configuration from one ExperienceBundle to another. */ class ExperiencesConfigCopy extends command_1.SfdxCommand { async run() { const config = this.flags.config; const sourceBundlePath = core_2.getAbsolutePath(this.args.source); const targetBundlePath = core_2.getAbsolutePath(this.args.target); if (!config || config.length < 1) { this.log(messages.getMessage('infoNoConfigToCopy')); return {}; } if (!fs_1.existsSync(sourceBundlePath)) { throw new core_1.SfdxError(messages.getMessage('errorMissingSourcePath', [sourceBundlePath])); } if (!fs_1.existsSync(targetBundlePath)) { throw new core_1.SfdxError(messages.getMessage('errorMissingTargetPath', [targetBundlePath])); } try { copy_1.copyConfig(sourceBundlePath, targetBundlePath, config); this.log(messages.getMessage('infoCopyFinished')); return {}; } catch (error) { throw new core_1.SfdxError(messages.getMessage('errorFailedWithError', [error])); } } } exports.default = ExperiencesConfigCopy; ExperiencesConfigCopy.description = messages.getMessage('commandDescription'); ExperiencesConfigCopy.examples = [ `$ sfdx experiences:config:copy -c preferredDomain,headMarkup ./source-app/main/default/experiences/Example1 ./target-app/main/default/experiences/Example2 Copies preferred domain and head markup from Example1 in source-app to Example2 in target-app. ` ]; ExperiencesConfigCopy.args = [ { name: 'source', required: true, description: messages.getMessage('sourceArgDescription') }, { name: 'target', required: true, description: messages.getMessage('targetArgDescription') } ]; ExperiencesConfigCopy.flagsConfig = { config: command_1.flags.array({ char: 'c', description: messages.getMessage('configFlagDescription'), required: true }) }; ExperiencesConfigCopy.requiresUsername = false; ExperiencesConfigCopy.supportsDevhubUsername = false; ExperiencesConfigCopy.requiresProject = false; //# sourceMappingURL=copy.js.map