From 15401c028b33e14a96509e93f81f7fb1dbd68dd7 Mon Sep 17 00:00:00 2001 From: David Glasser Date: Tue, 17 Jun 2014 15:10:04 -0700 Subject: [PATCH] properly use builder-generated npm path This fix obviates the direct need for bb7710067, but given that we are allowing colons in package names, we might as well allow them in generated file names anyway (and keep bb7710067). --- tools/bundler.js | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/tools/bundler.js b/tools/bundler.js index b693943b0f..def79022ce 100644 --- a/tools/bundler.js +++ b/tools/bundler.js @@ -1152,9 +1152,21 @@ _.extend(JsImage.prototype, { item.targetPath, { data: new Buffer(item.source, 'utf8') }); var loadItem = { - path: loadPath, - node_modules: item.nodeModulesDirectory ? - item.nodeModulesDirectory.preferredBundlePath : undefined + path: loadPath + }; + + if (item.nodeModulesDirectory) { + // We need to make sure to use the directory name we got from + // builder.generateFilename here. + // XXX these two parallel data structures of self.jsToLoad and + // self.nodeModulesDirectories are confusing + var generatedNMD = _.findWhere( + nodeModulesDirectories, + {sourcePath: item.nodeModulesDirectory.sourcePath} + ); + if (generatedNMD) { + loadItem.node_modules = generatedNMD.preferredBundlePath; + } }; if (item.sourceMap) {