From 2ea86e8ef7bd3ade44ee860c51a29a8d96bd2ae3 Mon Sep 17 00:00:00 2001 From: David Glasser Date: Tue, 24 Jun 2014 17:51:49 -0700 Subject: [PATCH] don't refresh to find local packages! --- tools/catalog-base.js | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/tools/catalog-base.js b/tools/catalog-base.js index 8fa67697d8..bd6822b0f4 100644 --- a/tools/catalog-base.js +++ b/tools/catalog-base.js @@ -206,6 +206,12 @@ _.extend(baseCatalog.BaseCatalog.prototype, { var self = this; self._requireInitialized(); + var lookupVersion = function () { + return _.has(self.versions, name) && + _.has(self.versions[name], version) && + self.versions[name][version]; + }; + // The catalog doesn't understand buildID versions and doesn't know about // them. Depending on when we build them, we can refer to local packages as // 1.0.0+local or 1.0.0+[buildId]. Luckily, we know which packages are @@ -216,13 +222,12 @@ _.extend(baseCatalog.BaseCatalog.prototype, { // which has the official package when running make-bootstrap-tarballs if (self.isLocalPackage(name)) { version = self._getLocalVersion(version); + // No need to refresh here: if we can't find the local version, refreshing + // isn't going to help! + return lookupVersion() || null; } - return self._recordOrRefresh(function () { - return _.has(self.versions, name) && - _.has(self.versions[name], version) && - self.versions[name][version]; - }); + return self._recordOrRefresh(lookupVersion); }, // Overridden by CompleteCatalog.