summaryrefslogtreecommitdiff
path: root/ext/node/02_require.js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/node/02_require.js')
-rw-r--r--ext/node/02_require.js13
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;
},