123456789101112131415161718192021222324252627 |
- 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
|