mirror of
https://github.com/titanscouting/tra-analysis.git
synced 2024-11-14 23:26:18 +00:00
28 lines
800 B
JavaScript
28 lines
800 B
JavaScript
|
var log = require('npmlog')
|
||
|
var request = require('request')
|
||
|
var semver = require('semver')
|
||
|
|
||
|
function getLatestNodejsVersion (url, cb) {
|
||
|
var tracker = log.newItem('getLatestNodejsVersion', 1)
|
||
|
tracker.info('getLatestNodejsVersion', 'Getting Node.js release information')
|
||
|
var version = 'v0.0.0'
|
||
|
url = url || 'https://nodejs.org/dist/index.json'
|
||
|
request(url, function (e, res, index) {
|
||
|
tracker.finish()
|
||
|
if (e) return cb(e)
|
||
|
if (res.statusCode !== 200) {
|
||
|
return cb(new Error('Status not 200, ' + res.statusCode))
|
||
|
}
|
||
|
try {
|
||
|
JSON.parse(index).forEach(function (item) {
|
||
|
if (item.lts && semver.gt(item.version, version)) version = item.version
|
||
|
})
|
||
|
cb(null, version)
|
||
|
} catch (e) {
|
||
|
cb(e)
|
||
|
}
|
||
|
})
|
||
|
}
|
||
|
|
||
|
module.exports = getLatestNodejsVersion
|