Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorForrest L Norvell <forrest@npmjs.com>2015-04-24 03:30:29 +0300
committerForrest L Norvell <forrest@npmjs.com>2015-04-24 03:30:29 +0300
commitf2fe82887a8ee8764dff5dab70e9e744849fd264 (patch)
treea619996a3b193544230da06c368b458098561a9b /lib/install.js
parent9ad210042242e51d52b2a8b633d8e59248f5faa4 (diff)
install: less closure for devDependencies
Diffstat (limited to 'lib/install.js')
-rw-r--r--lib/install.js14
1 files changed, 5 insertions, 9 deletions
diff --git a/lib/install.js b/lib/install.js
index 7d9cf63eb..d95cc1571 100644
--- a/lib/install.js
+++ b/lib/install.js
@@ -687,8 +687,6 @@ function installMany (what, where, context, cb) {
var parent = data
- var d = data.dependencies || {}
-
// if we're explicitly installing "what" into "where", then the shrinkwrap
// for "where" doesn't apply. This would be the case if someone were adding
// a new package to a shrinkwrapped package. (data.dependencies will not be
@@ -696,15 +694,13 @@ function installMany (what, where, context, cb) {
// there's no harm in using that.)
if (context.explicit) wrap = null
- var getVersion = function (name) {
- return d[name] || (data.devDependencies && data.devDependencies[name]) || "*"
- }
-
+ var deps = data.dependencies || {}
+ var devDeps = data.devDependencies || {}
// what is a list of things.
// resolve each one.
asyncMap( what
- , targetResolver(where, context, d, getVersion)
+ , targetResolver(where, context, deps, devDeps)
, function (er, targets) {
if (er) return cb(er)
@@ -779,7 +775,7 @@ function installMany (what, where, context, cb) {
})
}
-function targetResolver (where, context, deps, getVersion) {
+function targetResolver (where, context, deps, devDeps) {
var alreadyInstalledManually = []
, resolveLeft = 0
, nm = path.resolve(where, "node_modules")
@@ -812,7 +808,7 @@ function targetResolver (where, context, deps, getVersion) {
// otherwise, make sure that it's a semver match with what we want.
var bd = parent.bundleDependencies
var isBundled = bd && bd.indexOf(d.name) !== -1
- var expectedVersion = getVersion(d.name)
+ var expectedVersion = deps[d.name] || (devDeps && devDeps[d.name]) || "*"
var currentIsSatisfactory = semver.satisfies(d.version, expectedVersion, true)
if (isBundled || currentIsSatisfactory || deps[d.name] === d._resolved) {
return cb(null, d.name)