diff --git a/read-installed.js b/read-installed.js index 19e77be..500ca8f 100644 --- a/read-installed.js +++ b/read-installed.js @@ -242,7 +242,7 @@ function readInstalled_ (folder, parent, name, reqver, depth, opts, cb) { } readInstalled_( path.resolve(folder, "node_modules/"+pkg) - , obj, pkg, obj.dependencies[pkg], depth + 1, opts + , obj, pkg, rv, depth + 1, opts , cb ) }, function (er, installedData) { diff --git a/test/fixtures/invalid-dev/node_modules/d/package.json b/test/fixtures/invalid-dev/node_modules/d/package.json new file mode 100644 index 0000000..d6a67b9 --- /dev/null +++ b/test/fixtures/invalid-dev/node_modules/d/package.json @@ -0,0 +1,4 @@ +{ + "name": "d", + "version": "1.0.1" +} diff --git a/test/fixtures/invalid-dev/package.json b/test/fixtures/invalid-dev/package.json new file mode 100644 index 0000000..7b7912c --- /dev/null +++ b/test/fixtures/invalid-dev/package.json @@ -0,0 +1,7 @@ +{ + "name": "invalid-dev", + "version": "0.0.0", + "devDependencies": { + "d": "1.0.0" + } +} diff --git a/test/invalid-dev.js b/test/invalid-dev.js new file mode 100644 index 0000000..6c1de0b --- /dev/null +++ b/test/invalid-dev.js @@ -0,0 +1,17 @@ +var readInstalled = require("../read-installed.js") +var test = require("tap").test +var path = require("path") + +test("invalid dev", function(t) { + readInstalled( + path.join(__dirname, "fixtures/invalid-dev"), + { + log: console.error, + dev: true + }, + function (err, map) { + t.ifError(err, "read-installed made it") + t.ok(map.dependencies.d.invalid, "d is invalid, it doesn't match the requested version") + t.end() + }) +})