UNPKG

salesforcedx-templates

Version:

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

82 lines 3.86 kB
"use strict"; /* * 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 */ Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); // tslint:disable:no-unused-expression const command_1 = require("@salesforce/command"); const path = require("path"); const lightningComponentGenerator_1 = require("../../../../generators/lightningComponentGenerator"); const utils_1 = require("../../../../utils"); const lightningComponentFileSuffix = /.cmp$/; const BUNDLE_TYPE = utils_1.MessageUtil.get('Component'); class LightningComponent extends utils_1.TemplateCommand { run() { return tslib_1.__awaiter(this, void 0, void 0, function* () { utils_1.CreateUtil.checkInputs(this.flags.componentname); utils_1.CreateUtil.checkInputs(this.flags.template); const fileparts = path.resolve(this.flags.outputdir).split(path.sep); if (!this.flags.internal) { if (this.flags.type === 'lwc' && !fileparts.includes('lwc')) { throw new Error(utils_1.MessageUtil.get('MissingLWCDir')); } else if (!fileparts.includes('aura') && this.flags.type === 'aura') { throw new Error(utils_1.MessageUtil.get('MissingAuraDir')); } } return this.runGenerator(lightningComponentGenerator_1.default); }); } } LightningComponent.description = utils_1.MessageUtil.buildDescription('LightningCmpDescription', true, undefined, utils_1.MessageUtil.get('LightningCmpHelpExtra')); LightningComponent.examples = [ '$ sfdx force:lightning:component:create -n mycomponent', '$ sfdx force:lightning:component:create -n mycomponent --type lwc', '$ sfdx force:lightning:component:create -n mycomponent -d aura', '$ sfdx force:lightning:component:create -n mycomponent --type lwc -d lwc' ]; LightningComponent.help = utils_1.MessageUtil.buildHelpText(LightningComponent.examples, true, utils_1.MessageUtil.get('LightningCmpHelpExtra')); LightningComponent.longDescription = utils_1.MessageUtil.get('LightningCmpLongDescription'); LightningComponent.flagsConfig = { componentname: 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: 'DefaultLightningCmp', options: utils_1.CreateUtil.getCommandTemplatesForFiletype(lightningComponentFileSuffix, 'lightningcomponent') }), 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(), type: command_1.flags.string({ description: utils_1.MessageUtil.get('LightningCmpTypeFlagDescription'), longDescription: utils_1.MessageUtil.get('LightningCmpTypeFlagLongDescription'), options: ['aura', 'lwc'], default: 'aura' }), internal: command_1.flags.boolean({ char: 'i', description: utils_1.MessageUtil.get('LightningInternalFlagDescription'), hidden: true }) }; exports.default = LightningComponent; //# sourceMappingURL=create.js.map