From 17f79c66ce76bf5dd132dcaff3fd9688549db2ff Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 9 Sep 2016 13:24:39 -0400 Subject: [PATCH] Search packages/non-core/*/packages for local packages. Currently this finds only Blaze-related packages, but it does so without hard-coding "blaze" in tools code. --- tools/project-context.js | 8 +++++++- tools/tool-env/isopackets.js | 6 +++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/tools/project-context.js b/tools/project-context.js index 9dfde085d6..ee954a0a31 100644 --- a/tools/project-context.js +++ b/tools/project-context.js @@ -607,7 +607,13 @@ _.extend(ProjectContext.prototype, { if (! self._ignoreCheckoutPackages && files.inCheckout()) { // Running from a checkout, so use the Meteor core packages from the // checkout. - searchDirs.push(files.pathJoin(files.getCurrentToolsDir(), 'packages')); + const packagesDir = + files.pathJoin(files.getCurrentToolsDir(), 'packages'); + + searchDirs.push( + packagesDir, + files.pathJoin(packagesDir, "non-core", "*", "packages"), + ); } return searchDirs; }, diff --git a/tools/tool-env/isopackets.js b/tools/tool-env/isopackets.js index f2e7ff2bd1..2e491a999d 100644 --- a/tools/tool-env/isopackets.js +++ b/tools/tool-env/isopackets.js @@ -221,6 +221,9 @@ var newIsopacketBuildingCatalog = function () { var messages = buildmessage.capture( { title: "scanning local core packages" }, function () { + const packagesDir = + files.pathJoin(files.getCurrentToolsDir(), 'packages'); + // When running from a checkout, isopacket building does use local // packages, but *ONLY THOSE FROM THE CHECKOUT*: not app packages or // $PACKAGE_DIRS packages. One side effect of this: we really really @@ -228,7 +231,8 @@ var newIsopacketBuildingCatalog = function () { // (there's no worries about needing to springboard). isopacketCatalog.initialize({ localPackageSearchDirs: [ - files.pathJoin(files.getCurrentToolsDir(), 'packages'), + packagesDir, + files.pathJoin(packagesDir, "non-core", "*", "packages"), ], buildingIsopackets: true });