UNPKG

hdw2

Version:

鸿蒙前端hdc调试工具

57 lines (51 loc) 1.82 kB
/* * @Author: tankunpeng * @Date: 2024-08-29 19:24:53 * @LastEditTime: 2024-08-29 19:28:54 * @LastEditors: tankunpeng * @Description: 安装应用 * Come on, worker! */ const shell = require('shelljs'); const chalk = require('chalk'); const { getHdc } = require('./util'); function printTitle(text = '=====>HAP安装结束<=====') { shell.echo(chalk.italic(chalk.bold(chalk.blue(text)))); } function install(options = {}, command = {}) { const commandName = command._name || ''; const hdc = getHdc(); const args = command.args || []; printTitle('=====>HAP安装开始<====='); const hdcCmd = `${hdc} install ${args.join(' ')}`; const hdcCmdExec = shell.exec(hdcCmd, { silent: true, async: true }); let hdcStdout = ''; hdcCmdExec.stdout.once('data', () => { shell.echo(`${chalk.cyan('命令输出: \n')}`); }); hdcCmdExec.stdout.on('data', (data) => { hdcStdout += data; console.log(`${data}`); }); let hdcStderr = ''; hdcCmdExec.stderr.on('data', (data) => { hdcStderr += data; if (args.includes('-h')) { console.log(`${data}`); } else { console.error(`${data}`); } }); hdcCmdExec.on('error', () => { shell.echo(`${chalk.cyan('命令执行结果: ')}${chalk.red('失败')}`); shell.echo(`${chalk.cyan('处理建议: ')}${chalk.yellow('命令执行失败,请手动执行命令尝试\n命令:' + chalk.green(hdcCmd))}`); printTitle(); shell.exit(1); }); hdcCmdExec.on('close', () => { const isSuccess = hdcStdout.includes('successfully'); shell.echo(`${chalk.cyan('HAP安装结果: ')}${isSuccess ? chalk.green('成功') : chalk.red('失败')}`); printTitle(); }); } exports.install = install;