From 165cfda698fcc36b70ff535a35ec0297eccd25a4 Mon Sep 17 00:00:00 2001 From: isaacs Date: Mon, 20 Sep 2010 18:19:32 -0700 Subject: [PATCH] Remove updated packages that don't have dependencies. --- lib/update-dependents.js | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/lib/update-dependents.js b/lib/update-dependents.js index aff56c447cc..d9e6aa0f81f 100644 --- a/lib/update-dependents.js +++ b/lib/update-dependents.js @@ -53,6 +53,7 @@ function updateDependents (args, cb) { lifecycle(arg, "preupdatedependents", function (er) { if (er) return cb(er) updateDepsTo(arg, function (er, rmList) { + log.verbose(rmList.join("\n"), "rmList") if (er) return cb(er) chain ( [lifecycle, arg, "updatedependents"] @@ -86,7 +87,10 @@ function updateOtherVersionDeps (other, pkg, cb) { fs.readdir(depdir, function (er, deps) { // if the package didn't have any deps, then this folder // would not be created. - if (er) return log.verbose("no dependents", "update", cb) + if (er) { + log.verbose("no dependents", "update") + return cb(null, pkg.name+"@"+other) + } // for each of these, update the dependency on // other to pkg if (!deps.length) return cb() @@ -117,17 +121,12 @@ function updateDepToNew (depName, depVer, pkg, other, cb) { dependencies = deps } var dependency = data.dependencies[pkg.name] - if (!dependency) return log.error - ( "Weird, "+depName+"@"+depVer+" doesn't depend on "+pkg.name - , "wtf?" - , cb - ) - if (!semver.satisfies(pkg.version, dependency)) return log + , satis = semver.satisfies(pkg.version, dependency) + if (dependency && !satis) return log ( pkg._id + " doesn't satisfy "+depName+"@"+depVer , "not updating" , cb ) - chain ( [ removeDependencyLinks, data, pkg, other ] , [ createDependencyLinks, data, pkg ]