diff options
author | Kat Marchán <kzm@sykosomatic.org> | 2016-05-27 14:07:59 -0700 |
---|---|---|
committer | Jeremiah Senkpiel <fishrock123@rocketmail.com> | 2016-05-28 10:42:48 -0400 |
commit | bd8b1ddb2007dcc8ec2a0a08e16208aa21b83400 (patch) | |
tree | aab54a7bbc42e1477a8a2b175dfc9f9eb36ca9e2 /deps/npm/lib/fetch-package-metadata.js | |
parent | 16f98e589c69ffe6283aa11493fd417368708557 (diff) | |
download | android-node-v8-bd8b1ddb2007dcc8ec2a0a08e16208aa21b83400.tar.gz android-node-v8-bd8b1ddb2007dcc8ec2a0a08e16208aa21b83400.tar.bz2 android-node-v8-bd8b1ddb2007dcc8ec2a0a08e16208aa21b83400.zip |
deps: upgrade npm to 3.9.3
Contains the following npm releases:
- v3.9.0: https://github.com/npm/npm/releases/tag/v3.9.0
- v3.9.1: https://github.com/npm/npm/releases/tag/v3.9.1
- v3.9.2: https://github.com/npm/npm/releases/tag/v3.9.2
- v3.9.3: https://github.com/npm/npm/releases/tag/v3.9.3
PR-URL: https://github.com/nodejs/node/pull/7030
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.js | 45 |
1 files changed, 29 insertions, 16 deletions
diff --git a/deps/npm/lib/fetch-package-metadata.js b/deps/npm/lib/fetch-package-metadata.js index 8965a561aa..d4f02bb278 100644 --- a/deps/npm/lib/fetch-package-metadata.js +++ b/deps/npm/lib/fetch-package-metadata.js @@ -63,26 +63,29 @@ module.exports = function fetchPackageMetadata (spec, where, tracker, done) { fetchOtherPackageData(spec, dep, where, addRequestedAndFinish) } function addRequestedAndFinish (er, pkg) { - if (pkg) { - pkg._requested = dep - pkg._spec = spec - pkg._where = where - if (!pkg._args) pkg._args = [] - pkg._args.push([pkg._spec, pkg._where]) - // non-npm registries can and will return unnormalized data, plus - // even the npm registry may have package data normalized with older - // normalization rules. This ensures we get package data in a consistent, - // stable format. - try { - normalizePackageData(pkg) - } catch (ex) { - // don't care - } - } + if (pkg) annotateMetadata(pkg, dep, spec, where) logAndFinish(er, pkg) } } +var annotateMetadata = module.exports.annotateMetadata = function (pkg, requested, spec, where) { + validate('OOSS', arguments) + pkg._requested = requested + pkg._spec = spec + pkg._where = where + if (!pkg._args) pkg._args = [] + pkg._args.push([requested, where]) + // non-npm registries can and will return unnormalized data, plus + // even the npm registry may have package data normalized with older + // normalization rules. This ensures we get package data in a consistent, + // stable format. + try { + normalizePackageData(pkg) + } catch (ex) { + // don't care + } +} + function fetchOtherPackageData (spec, dep, where, next) { validate('SOSF', arguments) log.silly('fetchOtherPackageData', spec) @@ -150,6 +153,16 @@ function fetchNamedPackageData (dep, next) { } } + // We didn't manage to find a compatible version + // If this package was requested from cache, force hitting the network + if (pkg._cached) { + log.silly('fetchNamedPackageData', 'No valid target from cache, forcing network') + return npm.registry.get(url, { + auth: auth, + skipCache: true + }, pulseTillDone('fetchMetadata', iferr(next, pickVersionFromRegistryDocument))) + } + // And failing that, we error out var targets = versions.length ? 'Valid install targets:\n' + versions.join(', ') + '\n' |