Files
shields/services/node/node-version-color.js
Paul Melnikow 7a664ca3e8 Run prettier (#1866)
Merging this separately so the commit with the tooling change is readable. This is a follow-on to #1167 which turned prettier on.
2018-08-08 17:57:14 -04:00

42 lines
1.0 KiB
JavaScript

'use strict'
const { promisify } = require('util')
const semver = require('semver')
const { regularUpdate } = require('../../lib/regular-update')
function getLatestVersion() {
return promisify(regularUpdate)({
url: 'https://nodejs.org/dist/latest/SHASUMS256.txt',
intervalMillis: 24 * 3600 * 1000,
json: false,
scraper: shasums => {
// tarball index start, tarball index end
const taris = shasums.indexOf('node-v')
const tarie = shasums.indexOf('\n', taris)
const tarball = shasums.slice(taris, tarie)
const version = tarball.split('-')[1]
return version
},
})
}
async function versionColorForRange(range) {
const latestVersion = await getLatestVersion()
try {
if (semver.satisfies(latestVersion, range)) {
return 'brightgreen'
} else if (semver.gtr(latestVersion, range)) {
return 'yellow'
} else {
return 'orange'
}
} catch (e) {
return 'lightgray'
}
}
module.exports = {
getLatestVersion,
versionColorForRange,
}