UNPKG

create-zalo-mini-app

Version:

Create zalo mini app project

47 lines (38 loc) 1.27 kB
const axios = require('axios'); const spinner = require('./spinner'); const log = require('./log'); async function checkUpdate(version = '') { spinner.start('Checking for available updates...'); const hasUpdate = await new Promise((resolve, reject) => { axios .get('https://registry.npmjs.org/zmp-cli/latest') .then((res) => { const latestVersion = res.data.version .split('.') .map((n) => parseInt(n, 10)); if (!version) { resolve(true); } const currentVersion = version.split('.').map((n) => parseInt(n, 10)); let hasUpdateVersion = false; let currentIsHigher = false; latestVersion.forEach((n, index) => { if (currentIsHigher) return; if (latestVersion[index] > currentVersion[index]) hasUpdateVersion = true; else if (latestVersion[index] < currentVersion[index]) currentIsHigher = true; }); resolve(hasUpdateVersion); }) .catch((err) => { reject(err); spinner.error('Error checking update'); if (err) log.error(err.stderr || err); process.exit(1); }); }); spinner.done(''); return hasUpdate; } module.exports = checkUpdate;