tra-analysis/website/node_modules/npm/lib/doctor/get-latest-nodejs-version.js
2019-01-06 13:14:45 -06:00

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