diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2022-11-06 00:58:21 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-06 00:58:21 +0100 |
commit | e7d7da85dff177bbc919cab48643135c68e065bd (patch) | |
tree | ee6ddb2abe715b80ad0334750e262ef7145f7975 /ext/node/02_require.js | |
parent | 384e53308a7d7e5d503e9cbf9950ab428048ac4c (diff) |
fix(npm): fix CJS resolution with local node_modules dir (#16547)
This commit fixes CJS resolution when there's a local "node_modules/"
directory.
Before this commit relative imports from CJS files where resolved
relative to
root directory of the package instead of relative to referrer file.
Diffstat (limited to 'ext/node/02_require.js')
-rw-r--r-- | ext/node/02_require.js | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/ext/node/02_require.js b/ext/node/02_require.js index b699db00b..ac34a5fca 100644 --- a/ext/node/02_require.js +++ b/ext/node/02_require.js @@ -401,6 +401,15 @@ Module._resolveLookupPaths = function (request, parent) { const paths = []; + + if (core.ops.op_require_is_request_relative(request) && parent?.filename) { + ArrayPrototypePush( + paths, + core.ops.op_require_path_dirname(parent.filename), + ); + return paths; + } + if (parent?.filename && parent.filename.length > 0) { const denoDirPath = core.ops.op_require_resolve_deno_dir( request, |