UNPKG

sfdx

Version:

Performs Salesforce DX operations with ease! Life is good.

50 lines (40 loc) 1.66 kB
const config = require('../config/config') const yargsBuilder = require('../lib/yargsBuilder') const getResults = require('../helpers/compileResults') const err = require('../helpers/errorOutput') const shell = require('shelljs') module.exports = { desc: 'Convert local DX code into metadata format.', command: ['convert [outputdirectory] [outputdir|dir|d]'], aliases: [], builder: yargs => { yargs = yargsBuilder.builder(yargs) yargs .positional('outputdirectory', { describe: 'Directory in which to place converted code into' }) .option('outputdir', { alias: ['dir', 'd'], describe: 'Directory in which to place converted code into' }) .example("$0 convert 'outputdir'", "- Converts local Salesforce DX code into the directory named 'outputdir/'") }, handler: async argv => { argv = yargsBuilder.handler(argv) const outputdir = argv.outputdir || argv.outputdirectory || config.mdApiDir if (!outputdir) { let errorMsg = err('No output directory specified.') if (!argv.quiet) console.error(errorMsg) return { stderr: errorMsg } } if (!argv.quiet) console.log('Converting local DX code into Metatdata API format...') let numResults = 0 const results = [] results[numResults++] = await shell.exec('rm -r -f "' + outputdir + '"') results[numResults++] = await shell.exec('mkdir "' + outputdir + '"') let convertCommand = 'sfdx force:source:convert --outputdir "' + outputdir + '"' if (argv.json) convertCommand += ' --json' results[numResults++] = await shell.exec(convertCommand) return getResults(results) } }