UNPKG

1.05 kBJavaScriptView Raw
1/**
2 * @file 检查 cli 版本,提示更新
3 * @author tracy(qiushidev@gmail.com)
4 */
5
6const request = require('request')
7const semver = require('semver')
8const localVersion = require('../../package').version
9const chalk = require('chalk')
10
11module.exports = function checkVersion () {
12 return new Promise((resolve, reject) => {
13 request({
14 url: 'https://registry.npmjs.org/mip2',
15 timeout: 1000
16 }, (err, res, body) => {
17 if (!err && res.statusCode === 200) {
18 const latestVersion = JSON.parse(body)['dist-tags'].latest
19
20 if (semver.lt(localVersion, latestVersion)) {
21 console.log()
22 console.log(chalk.yellow(' *** 检测到有新版本的 mip-cli 可用 ***'))
23 console.log()
24 console.log(' 最新版本: ' + chalk.green(latestVersion))
25 console.log(' 当前版本: ' + chalk.red(localVersion))
26 console.log()
27 console.log(' 您可以使用 npm update -g mip2 进行更新')
28 console.log()
29 }
30 }
31 resolve()
32 })
33 })
34}