diff options
Diffstat (limited to 'lib/install/deps.js')
-rw-r--r-- | lib/install/deps.js | 37 |
1 files changed, 14 insertions, 23 deletions
diff --git a/lib/install/deps.js b/lib/install/deps.js index 98c094846..20b7eb30f 100644 --- a/lib/install/deps.js +++ b/lib/install/deps.js @@ -1,7 +1,7 @@ 'use strict' var assert = require('assert') -var fs = require('graceful-fs') var path = require('path') +var url = require('url') var semver = require('semver') var asyncMap = require('slide').asyncMap var chain = require('slide').chain @@ -42,23 +42,23 @@ function isDevDep (tree, name) { var devDeps = tree.package.devDependencies || {} var reqVer = devDeps[name] if (reqVer == null) return - return npa(name + "@" + reqVer) + return npa(name + '@' + reqVer) } function isProdDep (tree, name) { var deps = tree.package.dependencies || {} var reqVer = deps[name] if (reqVer == null) return false - return npa(name + "@" + reqVer) + return npa(name + '@' + reqVer) } var registryTypes = { range: true, version: true } -function doesChildVersionMatch(child, requested) { +function doesChildVersionMatch (child, requested) { if (child.fromShrinkwrap) return true var childReq = child.package._requested if (childReq) { - if (childReq.rawSpec == requested.rawSpec) return true + if (childReq.rawSpec === requested.rawSpec) return true if (childReq.type === requested.type && childReq.spec === requested.spec) return true } if (!registryTypes[requested.type]) return requested.rawSpec === child.package._from @@ -86,11 +86,6 @@ var recalculateMetadata = exports.recalculateMetadata = function (tree, log, nex } }) } - function deptospec (deps) { - return function (depname) { - return depname + '@' + deps[depname] - } - } function specs (deps) { return Object.keys(deps).map(function (depname) { return depname + '@' + deps[depname] }) } @@ -105,19 +100,15 @@ var recalculateMetadata = exports.recalculateMetadata = function (tree, log, nex ], function () { next(null, tree) }) } -function addRequiredDep(tree, child) { +function addRequiredDep (tree, child) { if (!isDep(tree, child)) return false - var name = isProdDep(tree, child.package.name) ? flatNameFromTree(tree) : "#DEV:"+flatNameFromTree(tree) + var name = isProdDep(tree, child.package.name) ? flatNameFromTree(tree) : '#DEV:' + flatNameFromTree(tree) child.package._requiredBy = union(child.package._requiredBy || [], [name]) child.requiredBy = union(child.requiredBy || [], [tree]) return true } -function matchingChild(tree, name) { - var matches = tree.children.filter(function (child) { return child.package.name === name }) - return matches[0] -} -function matchingDep(tree, name) { +function matchingDep (tree, name) { if (tree.package.dependencies[name]) return tree.package.dependencies[name] if (tree.package.devDependencies && tree.package.devDependencies[name]) return tree.package.devDependencies[name] return @@ -129,7 +120,7 @@ function packageRelativePath (tree) { return isLocal ? requested.spec : tree.path } -function getShrinkwrap(tree, name) { +function getShrinkwrap (tree, name) { return tree.package._shrinkwrap && tree.package._shrinkwrap.dependencies && tree.package._shrinkwrap.dependencies[name] } @@ -176,7 +167,7 @@ exports.loadRequestedDeps = function (args, tree, saveToDependencies, log, next) // For things the user asked to install, that aren't a dependency (or // won't be when we're done), flag it as "depending" on the user // themselves, so we don't remove it as a dep that no longer exists - if (! addRequiredDep(tree, child)) { + if (!addRequiredDep(tree, child)) { child.package._requiredBy = union(child.package._requiredBy, ['#USER']) child.directlyRequested = true } @@ -250,7 +241,7 @@ var failedDependency = exports.failedDependency = function (tree, name_pkg) { if (!tree.parent) return true - for (var ii=0; ii<tree.requiredBy.length; ++ii) { + for (var ii = 0; ii < tree.requiredBy.length; ++ii) { var requireParent = tree.requiredBy[ii] if (failedDependency(requireParent, tree.package)) { return true @@ -265,7 +256,7 @@ function andHandleOptionalErrors (log, tree, name, done) { validate('EOO', [er, child, childLog]) if (!er) return done(er, child, childLog) var isFatal = failedDependency(tree, name) - if (er && ! isFatal) { + if (er && !isFatal) { tree.children = tree.children.filter(function (child) { return child.package.name !== name }) log.warn('install', "Couldn't install optional dependency:", er.message) log.verbose('install', er.stack) @@ -420,7 +411,7 @@ var validatePeerDeps = exports.validatePeerDeps = function (tree, onInvalid) { if (!tree.package.peerDependencies) return Object.keys(tree.package.peerDependencies).forEach(function (pkgname) { var version = tree.package.peerDependencies[pkgname] - var match = findRequirement(tree, pkgname, npa(pkgname + "@" + version)) + var match = findRequirement(tree, pkgname, npa(pkgname + '@' + version)) if (!match) onInvalid(tree, pkgname, version) }) } @@ -439,7 +430,7 @@ var findRequirement = exports.findRequirement = function (tree, name, requested) return child.package.name === name && child.parent } var versionMatch = function (child) { - return doesChildVersionMatch(child, requested) + return doesChildVersionMatch(child, requested) } if (nameMatch(tree)) { // this *is* the module, but it doesn't match the version, so a |