@yeepay/yeepay-cli
Version:
易宝前端脚手架
35 lines (34 loc) • 1.17 kB
JavaScript
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);
}
}
}