summaryrefslogtreecommitdiff
path: root/deps/npm/lib/fetch-package-metadata.js
diff options
context:
space:
mode:
authorKat Marchán <kzm@sykosomatic.org>2016-09-22 07:59:37 -0700
committerJeremiah Senkpiel <fishrock123@rocketmail.com>2016-09-27 16:39:27 -0400
commitd44a9eb11b34900b44a9d135a2c965346fff702e (patch)
treea8d074826fb51641f5a7f24978e5e632b958ca84 /deps/npm/lib/fetch-package-metadata.js
parent33aa953f918f624a44e538baf2a3ee41570ac303 (diff)
downloadandroid-node-v8-d44a9eb11b34900b44a9d135a2c965346fff702e.tar.gz
android-node-v8-d44a9eb11b34900b44a9d135a2c965346fff702e.tar.bz2
android-node-v8-d44a9eb11b34900b44a9d135a2c965346fff702e.zip
deps: upgrade npm to 3.10.8
PR-URL: https://github.com/nodejs/node/pull/8706 Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Diffstat (limited to 'deps/npm/lib/fetch-package-metadata.js')
-rw-r--r--deps/npm/lib/fetch-package-metadata.js11
1 files changed, 10 insertions, 1 deletions
diff --git a/deps/npm/lib/fetch-package-metadata.js b/deps/npm/lib/fetch-package-metadata.js
index d4f02bb278..85322304d5 100644
--- a/deps/npm/lib/fetch-package-metadata.js
+++ b/deps/npm/lib/fetch-package-metadata.js
@@ -122,7 +122,15 @@ function fetchNamedPackageData (dep, next) {
}
function pickVersionFromRegistryDocument (pkg) {
if (!regCache[url]) regCache[url] = pkg
- var versions = Object.keys(pkg.versions).sort(semver.rcompare)
+ var versions = Object.keys(pkg.versions)
+
+ var invalidVersions = versions.filter(function (v) { return !semver.valid(v) })
+ if (invalidVersions.length > 0) {
+ log.warn('pickVersion', 'The package %s has invalid semver-version(s): %s. This usually only happens for unofficial private registries. ' +
+ 'You should delete or re-publish the invalid versions.', pkg.name, invalidVersions.join(', '))
+ }
+
+ versions = versions.filter(function (v) { return semver.valid(v) }).sort(semver.rcompare)
if (dep.type === 'tag') {
var tagVersion = pkg['dist-tags'][dep.spec]
@@ -169,6 +177,7 @@ function fetchNamedPackageData (dep, next) {
: 'No valid targets found.'
var er = new Error('No compatible version found: ' +
dep.raw + '\n' + targets)
+ er.code = 'ETARGET'
return next(er)
}
}))