diff options
Diffstat (limited to 'deps/npm/node_modules/read-installed/read-installed.js')
-rw-r--r-- | deps/npm/node_modules/read-installed/read-installed.js | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/deps/npm/node_modules/read-installed/read-installed.js b/deps/npm/node_modules/read-installed/read-installed.js index 4babfc862..f7e73be26 100644 --- a/deps/npm/node_modules/read-installed/read-installed.js +++ b/deps/npm/node_modules/read-installed/read-installed.js @@ -93,13 +93,6 @@ try { var fs = require("fs") } -try { - var log = require("npmlog") -} catch (_) { - var log = { verbose: noop, info: noop, warn: noop, error: noop } - function noop () {} -} - var path = require("path") var asyncMap = require("slide").asyncMap var semver = require("semver") @@ -108,13 +101,21 @@ var url = require("url") module.exports = readInstalled -function readInstalled (folder, depth, cb) { - if (typeof cb !== "function") cb = depth, depth = Infinity +function readInstalled (folder, depth_, log_, cb_) { + var depth = Infinity, log = function () {}, cb + for (var i = 1; i < arguments.length - 1; i++) { + if (typeof arguments[i] === 'number') + depth = arguments[i] + else if (typeof arguments[i] === 'function') + log = arguments[i] + } + cb = arguments[i] + readInstalled_(folder, null, null, null, 0, depth, function (er, obj) { if (er) return cb(er) // now obj has all the installed things, where they're installed // figure out the inheritance links, now that the object is built. - resolveInheritance(obj) + resolveInheritance(obj, log) cb(null, obj) }) } @@ -178,8 +179,8 @@ function readInstalled_ (folder, parent, name, reqver, depth, maxDepth, cb) { // "foo":"http://blah" is always presumed valid if (reqver - && semver.validRange(reqver) - && !semver.satisfies(obj.version, reqver)) { + && semver.validRange(reqver, true) + && !semver.satisfies(obj.version, reqver, true)) { obj.invalid = true } @@ -236,7 +237,7 @@ function readInstalled_ (folder, parent, name, reqver, depth, maxDepth, cb) { // starting from a root object, call findUnmet on each layer of children var riSeen = [] -function resolveInheritance (obj) { +function resolveInheritance (obj, log) { if (typeof obj !== "object") return if (riSeen.indexOf(obj) !== -1) return riSeen.push(obj) @@ -244,18 +245,18 @@ function resolveInheritance (obj) { obj.dependencies = {} } Object.keys(obj.dependencies).forEach(function (dep) { - findUnmet(obj.dependencies[dep]) + findUnmet(obj.dependencies[dep], log) }) Object.keys(obj.dependencies).forEach(function (dep) { - resolveInheritance(obj.dependencies[dep]) + resolveInheritance(obj.dependencies[dep], log) }) - findUnmet(obj) + findUnmet(obj, log) } // find unmet deps by walking up the tree object. // No I/O var fuSeen = [] -function findUnmet (obj) { +function findUnmet (obj, log) { if (fuSeen.indexOf(obj) !== -1) return fuSeen.push(obj) //console.error("find unmet", obj.name, obj.parent && obj.parent.name) @@ -280,12 +281,12 @@ function findUnmet (obj) { if ( typeof deps[d] === "string" // url deps presumed innocent. && !url.parse(deps[d]).protocol - && !semver.satisfies(found.version, deps[d])) { + && !semver.satisfies(found.version, deps[d], true)) { // the bad thing will happen - log.warn("unmet dependency", obj.path + " requires "+d+"@'"+deps[d] - +"' but will load\n" - +found.path+",\nwhich is version "+found.version - ) + log("unmet dependency", obj.path + " requires "+d+"@'"+deps[d] + +"' but will load\n" + +found.path+",\nwhich is version "+found.version + ) found.invalid = true } else { found.extraneous = false @@ -314,12 +315,11 @@ function findUnmet (obj) { dependency.extraneous = false - if (!semver.satisfies(dependency.version, peerDeps[d])) { + if (!semver.satisfies(dependency.version, peerDeps[d], true)) { dependency.peerInvalid = true } }) - log.verbose("readInstalled", "returning", obj._id) return obj } |