parent
0930a6e33d
commit
25cb545ea3
@ -1,28 +1,41 @@
|
|||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
|
var async = require('async')
|
||||||
|
var npmconf = require('npmconf')
|
||||||
var request = require('request')
|
var request = require('request')
|
||||||
|
|
||||||
var efh = require('./error').efh
|
|
||||||
|
|
||||||
module.exports = function (pkgName, cb) {
|
module.exports = function (pkgName, cb) {
|
||||||
var encodedPkgName = pkgName.replace(/\//g, '%2F')
|
var registry = process.env.npm_config_registry
|
||||||
request(process.env.npm_config_registry + encodedPkgName, efh(cb)(function (response, body) {
|
async.waterfall([
|
||||||
var res = {
|
npmconf.load,
|
||||||
version: null,
|
function (conf, callback) {
|
||||||
gitHead: null,
|
var cred = conf.getCredentialsByURI(registry)
|
||||||
pkg: null
|
callback(null, {
|
||||||
|
url: registry + pkgName.replace(/\//g, '%2F'),
|
||||||
|
headers: {
|
||||||
|
'Authorization': cred.token ? 'Bearer ' + cred.token : null
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
request,
|
||||||
|
function (response, body, callback) {
|
||||||
|
var res = {
|
||||||
|
version: null,
|
||||||
|
gitHead: null,
|
||||||
|
pkg: null
|
||||||
|
}
|
||||||
|
|
||||||
|
if (response.statusCode === 404 || !body) return callback(null, res)
|
||||||
|
|
||||||
|
var pkg = JSON.parse(body)
|
||||||
|
|
||||||
|
if (pkg.error) return callback(pkg.error)
|
||||||
|
|
||||||
|
res.version = pkg['dist-tags'].latest
|
||||||
|
res.gitHead = pkg.versions[res.version].gitHead
|
||||||
|
res.pkg = pkg
|
||||||
|
|
||||||
|
callback(null, res)
|
||||||
}
|
}
|
||||||
|
], cb)
|
||||||
if (response.statusCode === 404 || !body) return cb(null, res)
|
|
||||||
|
|
||||||
var pkg = JSON.parse(body)
|
|
||||||
|
|
||||||
if (pkg.error) return cb(pkg.error)
|
|
||||||
|
|
||||||
res.version = pkg['dist-tags'].latest
|
|
||||||
res.gitHead = pkg.versions[res.version].gitHead
|
|
||||||
res.pkg = pkg
|
|
||||||
|
|
||||||
cb(null, res)
|
|
||||||
}))
|
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"abbrev": "^1.0.5",
|
"abbrev": "^1.0.5",
|
||||||
|
"async": "^1.0.0",
|
||||||
"conventional-changelog": "0.0.17",
|
"conventional-changelog": "0.0.17",
|
||||||
"error-first-handler": "^1.0.1",
|
"error-first-handler": "^1.0.1",
|
||||||
"git-head": "^1.2.1",
|
"git-head": "^1.2.1",
|
||||||
@ -16,6 +17,7 @@
|
|||||||
"github-url-from-git": "^1.4.0",
|
"github-url-from-git": "^1.4.0",
|
||||||
"ini": "^1.3.2",
|
"ini": "^1.3.2",
|
||||||
"minimist": "^1.1.0",
|
"minimist": "^1.1.0",
|
||||||
|
"npmconf": "^2.1.2",
|
||||||
"parse-github-repo-url": "^1.0.0",
|
"parse-github-repo-url": "^1.0.0",
|
||||||
"request": "^2.53.0",
|
"request": "^2.53.0",
|
||||||
"semver": "^4.3.3"
|
"semver": "^4.3.3"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user