From 726074689ec8dc243d01436f76cd1d2256cb285e Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 22 Sep 2016 12:23:24 -0400 Subject: [PATCH] Don't prepend node_modules/meteor// for npm/... directories. --- tools/static-assets/server/npm-require.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/tools/static-assets/server/npm-require.js b/tools/static-assets/server/npm-require.js index b354667269..a508254124 100644 --- a/tools/static-assets/server/npm-require.js +++ b/tools/static-assets/server/npm-require.js @@ -76,9 +76,15 @@ function registerNodeModules(name, node_modules) { parts.forEach(function (part, i) { if (part === "npm") { addByParts(parts.slice(i + 1), node_modules); + } else if (part === ".npm") { + if (name) { + parts.unshift("node_modules", "meteor", name); + } + if (parts[i + 1] === "package") { addByParts(parts.slice(i + 2), node_modules); + } else if (parts[i + 1] === "plugin") { assert.strictEqual(parts[i + 2], name); addByParts(parts.slice(i + 3), node_modules); @@ -100,12 +106,10 @@ function registerNodeModules(name, node_modules) { assert.notEqual(parts[0], ""); assert.notEqual(parts[0], ".."); - if (name) { - parts.unshift("node_modules", "meteor", name); - } - // Ensure a leading / character. - parts.unshift(""); + if (parts[0].length > 0) { + parts.unshift(""); + } nodeModulesRegistry[parts.join("/")] = absPath; }