refactor: check version info

This commit is contained in:
Xmader 2021-01-20 11:05:56 -05:00
parent 085c6a2d2a
commit 3c72b5a92f
No known key found for this signature in database
GPG Key ID: A20B97FB9EB730E4
2 changed files with 14 additions and 7 deletions

View File

@ -10,7 +10,7 @@ import { loadMscore, INDV_DOWNLOADS, WebMscore } from './mscore'
import { ScoreInfo, ScoreInfoHtml, ScoreInfoObj, getActualId } from './scoreinfo' import { ScoreInfo, ScoreInfoHtml, ScoreInfoObj, getActualId } from './scoreinfo'
import { getLibreScoreLink } from './librescore-link' import { getLibreScoreLink } from './librescore-link'
import { escapeFilename } from './utils' import { escapeFilename } from './utils'
import { isNpx, isLatest, getInstalledVer, getLatestVer } from './npm-data' import { isNpx, getVerInfo } from './npm-data'
import i18n from './i18n' import i18n from './i18n'
const inquirer: typeof import('inquirer') = require('inquirer') const inquirer: typeof import('inquirer') = require('inquirer')
@ -187,10 +187,9 @@ void (async () => {
spinner.succeed('OK') spinner.succeed('OK')
if (!(await isNpx())) { if (!(await isNpx())) {
const installed = getInstalledVer() const { installed, latest, isLatest } = await getVerInfo()
const latest = await getLatestVer() if (!isLatest) {
if (!isLatest(installed, latest)) { console.log(chalk.yellowBright(`\nYour installed version (${installed}) of the musescore-downloader CLI is not the latest one (${latest})!\nRun npm i -g musescore-downloader to update.`))
console.log(chalk.yellowBright(`Your installed version (${installed}) of the musescore-downloader CLI is not the latest one (${latest})!\nRun npm i -g musescore-downloader to update.`))
} }
} }
})() })()

View File

@ -1,3 +1,5 @@
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
import { exec as _exec } from 'child_process' import { exec as _exec } from 'child_process'
import { promisify } from 'util' import { promisify } from 'util'
import { version } from '../package.json' import { version } from '../package.json'
@ -17,6 +19,12 @@ export async function getLatestVer (): Promise<string> {
return (await exec('npm info musescore-downloader version')).stdout.trim() return (await exec('npm info musescore-downloader version')).stdout.trim()
} }
export function isLatest (installed: string, lastest: string): boolean { export async function getVerInfo () {
return installed === lastest const installed = getInstalledVer()
const latest = await getLatestVer()
return {
installed,
latest,
isLatest: installed === latest,
}
} }