UNPKG

salesforcedx-templates

Version:

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

56 lines 2.33 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-var-requires // tslint:disable:no-unused-expression const command_1 = require("@salesforce/command"); const path = require("path"); const adapter_1 = require("./adapter"); const messageUtil_1 = require("./messageUtil"); const yeoman = require('yeoman-environment'); const yeomanGenerator = require('yeoman-generator'); class TemplateCommand extends command_1.SfdxCommand { static buildJson(adapter, targetDir) { const cleanOutput = adapter.log.getCleanOutput(); const rawOutput = `target dir = ${targetDir}\n${adapter.log.getOutput()}`; const output = { outputDir: targetDir, created: cleanOutput, rawOutput }; return output; } static getDefaultApiVersion() { const versionTrimmed = require('../../package.json').version.trim(); return `${versionTrimmed.split('.')[0]}.0`; } runGenerator(generator) { return tslib_1.__awaiter(this, void 0, void 0, function* () { // Can't specify a default value the normal way for apiversion, so set it here if (!this.flags.apiversion) { this.flags.apiversion = TemplateCommand.getDefaultApiVersion(); } const adapter = new adapter_1.ForceGeneratorAdapter(); const env = yeoman.createEnv(undefined, undefined, adapter); env.registerStub(generator, 'generator'); const result = yield env.run('generator', this.flags); const targetDir = path.resolve(this.flags.outputdir); if (this.flags.json) { return TemplateCommand.buildJson(adapter, targetDir); } else { this.log(messageUtil_1.MessageUtil.get('TargetDirOutput', [targetDir])); this.log(adapter.log.getOutput()); return result; } }); } } exports.TemplateCommand = TemplateCommand; //# sourceMappingURL=templateCommand.js.map