UNPKG

@yeepay/yeepay-cli

Version:

易宝前端脚手架

35 lines (34 loc) 1.17 kB
import { $ } from 'zx'; import semver from "semver" import Log from './log.js' import ora from 'ora'; import chalk from 'chalk' import View from '../view.js' export default class UpdateCli { async checkVersion(version) { const spinner = ora('开始版本检查').start(); const spinnerUpdate = ora('开始拉取最新版本'); const view = new View() try { const onlineVersion = await $`npm view @yeepay/yeepay-cli version`.quiet(); if (semver.gt(onlineVersion.stdout, version)) { spinner.succeed(`cli当前版本:${chalk.green(version)},发现新版本:${chalk.yellow(onlineVersion)} `); const result = await view.updateCli() if (result) { spinnerUpdate.start() await $`pnpm add -g @yeepay/yeepay-cli`.quiet(); spinnerUpdate.succeed(chalk.green('yeepay-cli已更新至最新版本:' + onlineVersion)); } else { Log.red('您已取消,再见'); process.exit(1); } } else { spinner.succeed(chalk.green('yeepay-cli已是最新版本: ' + onlineVersion)); } process.exit(0); } catch (error) { spinner.fail(`版本更新失败:原因如下`); Log.red(error.message); process.exit(1); } } }