diff options
Diffstat (limited to 'ext/node/02_require.js')
-rw-r--r-- | ext/node/02_require.js | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/ext/node/02_require.js b/ext/node/02_require.js index 53921c242..2174ff8a9 100644 --- a/ext/node/02_require.js +++ b/ext/node/02_require.js @@ -71,6 +71,8 @@ let mainModule = null; let hasBrokenOnInspectBrk = false; let hasInspectBrk = false; + // Are we running with --node-modules-dir flag? + let usesLocalNodeModulesDir = false; function stat(filename) { // TODO: required only on windows @@ -359,10 +361,10 @@ const isRelative = ops.op_require_is_request_relative( request, ); - // TODO(bartlomieju): could be a single op - const basePath = (isDenoDirPackage && !isRelative) - ? pathResolve(curPath, packageSpecifierSubPath(request)) - : pathResolve(curPath, request); + const basePath = + (isDenoDirPackage && !isRelative && !usesLocalNodeModulesDir) + ? pathResolve(curPath, packageSpecifierSubPath(request)) + : pathResolve(curPath, request); let filename; const rc = stat(basePath); @@ -915,6 +917,9 @@ window.__bootstrap.internals = { ...window.__bootstrap.internals ?? {}, require: { + setUsesLocalNodeModulesDir() { + usesLocalNodeModulesDir = true; + }, setInspectBrk() { hasInspectBrk = true; }, |