UNPKG

balena-cli

Version:

The official balena Command Line Interface

90 lines 3.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.unsupportedFlag = void 0; exports.preparseArgs = preparseArgs; exports.checkDeletedCommand = checkDeletedCommand; exports.isSubcommand = isSubcommand; exports.unsupportedFlag = false; async function preparseArgs(argv) { if (process.env.DEBUG) { console.log(`[debug] original argv0="${process.argv0}" argv=[${argv}] length=${argv.length}`); } const cmdSlice = argv.slice(2); if (cmdSlice.length > 0) { if (['--version', '-v'].includes(cmdSlice[0])) { cmdSlice[0] = 'version'; } else if ('--help' === cmdSlice[0]) { cmdSlice[0] = 'help'; } if (cmdSlice.length > 1 && cmdSlice[0] === 'help' && cmdSlice[1][0] !== '-') { cmdSlice.shift(); cmdSlice.push('--help'); } if (extractBooleanFlag(cmdSlice, '--debug')) { process.env.DEBUG = '1'; } exports.unsupportedFlag = extractBooleanFlag(cmdSlice, '--unsupported'); } if (process.env.DEBUG) { process.env.BLUEBIRD_LONG_STACK_TRACES = '1'; } const Logger = await Promise.resolve().then(() => require('./utils/logger')); Logger.command = cmdSlice[0]; let args = cmdSlice; if (await isSubcommand(cmdSlice)) { args = [cmdSlice[0] + ':' + cmdSlice[1], ...cmdSlice.slice(2)]; Logger.command = `${cmdSlice[0]} ${cmdSlice[1]}`; } if (process.env.DEBUG) { console.log(`[debug] new argv=[${[argv[0], argv[1], ...args]}] length=${args.length + 2}`); } return args; } function extractBooleanFlag(argv, flag) { const index = argv.indexOf(flag); if (index >= 0) { argv.splice(index, 1); return true; } return false; } function checkDeletedCommand(argvSlice) { const { ExpectedError } = require('./errors'); if (argvSlice[0] === 'help') { argvSlice = argvSlice.slice(1); } function replaced(oldCmd, alternative, version) { throw new ExpectedError(`\ Note: the command "balena ${oldCmd}" was replaced in CLI version ${version}. Please use "balena ${alternative}" instead.`); } function removed(oldCmd, alternative, version) { let msg = `Note: the command "balena ${oldCmd}" was removed in CLI version ${version}.`; if (alternative) { msg = [msg, alternative].join('\n'); } throw new ExpectedError(msg); } const cmds = {}; let cmd; if (argvSlice.length > 1) { cmd = [argvSlice[0], argvSlice[1]].join(' '); } else if (argvSlice.length > 0) { cmd = argvSlice[0]; } if (cmd && Object.getOwnPropertyNames(cmds).includes(cmd)) { const changeType = cmds[cmd][0]; const changeTypeFn = changeType === 'replaced' ? replaced : removed; changeTypeFn(cmd, cmds[cmd][1], cmds[cmd][2]); } } async function isSubcommand(args) { const { getCommandIdsFromManifest } = await Promise.resolve().then(() => require('./utils/oclif-utils')); const commandIds = await getCommandIdsFromManifest(); return commandIds.includes(`${args[0] || ''}:${args[1] || ''}`); } //# sourceMappingURL=preparser.js.map