From f595034e1ad00a2621c1b57b04bfcb0adafee83b Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sun, 13 Mar 2016 14:01:09 -0400 Subject: [PATCH] Allow npmRequire to load dev bundle and built-in modules. --- tools/static-assets/server/npm-require.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tools/static-assets/server/npm-require.js b/tools/static-assets/server/npm-require.js index 86045ee96a..936b4ee8d5 100644 --- a/tools/static-assets/server/npm-require.js +++ b/tools/static-assets/server/npm-require.js @@ -1,4 +1,5 @@ var assert = require("assert"); +var topLevelIdPattern = /^[^./]/; function getRelID(id) { assert.strictEqual(id.charAt(0), "/"); @@ -6,7 +7,15 @@ function getRelID(id) { } function npmRequire(id) { - return require(getRelID(id)); + try { + var absId = resolve(id); + } finally { + if (absId) return require(absId); + if (topLevelIdPattern.test(id)) { + // Fall back to dev_bundle/lib/node_modules and built-in modules. + return require(id); + } + } } function resolve(id) {