This adds support for releasing scoped packages that are public and and that have an initial version in the registry available. More fixes needed to support yet unpublished/private scoped modules.
29 lines
634 B
JavaScript
29 lines
634 B
JavaScript
'use strict'
|
|
|
|
var request = require('request')
|
|
|
|
var efh = require('./error').efh
|
|
|
|
module.exports = function (pkgName, cb) {
|
|
var encodedPkgName = pkgName.replace(/\//g, '%2F')
|
|
request(process.env.npm_config_registry + encodedPkgName, efh(cb)(function (response, body) {
|
|
var res = {
|
|
version: null,
|
|
gitHead: null,
|
|
pkg: null
|
|
}
|
|
|
|
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)
|
|
}))
|
|
}
|