src/next-update.js
function available (moduleName, options) {
  options = options || {}
  var toCheck = getDependenciesToCheck(options, moduleName)
  la(check.array(toCheck), 'expected object of deps to check, was', toCheck)
  var toCheckHash = _.zipObject(
        _.pluck(toCheck, 'name'),
        _.pluck(toCheck, 'version')
    )

  log('need to check these dependencies')
  log(toCheckHash)

  var nextVersionsPromise = nextVersions(options, toCheck)
  return nextVersionsPromise.then(function (info) {
    return reportAvailable(info, toCheckHash, options)
  }, function (error) {
    console.error('Could not fetch available modules\n', error)
  })
}
function available (moduleName, options) {
  options = options || {}
  var toCheck = getDependenciesToCheck(options, moduleName)
  la(check.array(toCheck), 'expected object of deps to check, was', toCheck)
  var toCheckHash = _.zipObject(
        _.pluck(toCheck, 'name'),
        _.pluck(toCheck, 'version')
    )

  log('need to check these dependencies')
  log(toCheckHash)

  var nextVersionsPromise = nextVersions(options, toCheck)
  return nextVersionsPromise.then(function (info) {
    return reportAvailable(info, toCheckHash, options)
  }, function (error) {
    console.error('Could not fetch available modules\n', error)
  })
}
returns a promise