UNPKG

995 BJavaScriptView Raw
1const chalk = require('chalk')
2const pkg = require('../package.json')
3const fetch = require('node-fetch')
4const log = logger.withScope('updateNotifier')
5const semver = require('semver')
6
7module.exports = async () => {
8 log.info('Checking for updates...')
9 let res
10 try {
11 res = await fetch('https://api.github.com/repos/miscord/miscord/releases/latest', {
12 headers: { 'User-Agent': 'Miscord v' + pkg.version }
13 })
14 } catch (err) {
15 log.error('Something went wrong', err)
16 return
17 }
18 const release = await res.json()
19
20 log.trace('release', release)
21 if (!release.tag_name) return log.warn('Couldn\'t check updates', release)
22 const latest = release.tag_name.substring(1, release.tag_name.length)
23 log.trace('release tag', release.tag_name)
24 log.debug('release version', latest)
25 log.debug('package version', pkg.version)
26 if (semver.lt(pkg.version, latest)) console.log(chalk.green(`New version ${latest} available!`), chalk.cyan(`\nChangelog:\n${release.body}`))
27}