UNPKG

salesforcedx-templates

Version:

Salesforce CLI scaffolding commands for different types of Force.com metadata

71 lines 3.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); /* * Copyright (c) 2019, salesforce.com, inc. * All rights reserved. * Licensed under the BSD 3-Clause license. * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ const command_1 = require("@salesforce/command"); const path = require("path"); const lightningInterfaceGenerator_1 = require("../../../../generators/lightningInterfaceGenerator"); const utils_1 = require("../../../../utils"); const lightningInterfaceFileSuffix = /.intf$/; const BUNDLE_TYPE = utils_1.MessageUtil.get('Interface'); class LightningInterface extends utils_1.TemplateCommand { run() { return tslib_1.__awaiter(this, void 0, void 0, function* () { utils_1.CreateUtil.checkInputs(this.flags.interfacename); utils_1.CreateUtil.checkInputs(this.flags.template); const fileparts = path.resolve(this.flags.outputdir).split(path.sep); // tslint:disable-next-line:no-unused-expression if (!this.flags.internal && !fileparts.includes('aura')) { throw new Error(utils_1.MessageUtil.get('MissingAuraDir')); } return this.runGenerator(lightningInterfaceGenerator_1.default); }); } } LightningInterface.description = utils_1.MessageUtil.buildDescription('LightningDescription', true, [BUNDLE_TYPE]); LightningInterface.examples = [ '$ sfdx force:lightning:interface:create -n myinterface', '$ sfdx force:lightning:interface:create -n myinterface -d aura' ]; LightningInterface.help = utils_1.MessageUtil.buildHelpText(LightningInterface.examples, true); LightningInterface.longDescription = utils_1.MessageUtil.get('LightningLongDescription', [ BUNDLE_TYPE ]); LightningInterface.flagsConfig = { interfacename: command_1.flags.string({ char: 'n', description: utils_1.MessageUtil.get('LightningNameFlagDescription', [ BUNDLE_TYPE ]), longDescription: utils_1.MessageUtil.get('LightningNameFlagLongDescription', [ BUNDLE_TYPE ]), required: true }), template: command_1.flags.string({ char: 't', description: utils_1.MessageUtil.get('TemplateFlagDescription'), longDescription: utils_1.MessageUtil.get('TemplateFlagLongDescription'), default: 'DefaultLightningIntf', options: utils_1.CreateUtil.getCommandTemplatesForFiletype(lightningInterfaceFileSuffix, 'lightninginterface') }), outputdir: command_1.flags.string({ char: 'd', description: utils_1.MessageUtil.get('OutputDirFlagDescription'), longDescription: utils_1.MessageUtil.get('OutputDirFlagLongDescription'), default: process.cwd() }), apiversion: command_1.flags.builtin(), internal: command_1.flags.boolean({ char: 'i', description: utils_1.MessageUtil.get('LightningInternalFlagDescription'), hidden: true }) }; exports.default = LightningInterface; //# sourceMappingURL=create.js.map