From e7d7da85dff177bbc919cab48643135c68e065bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Sun, 6 Nov 2022 00:58:21 +0100 Subject: 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. --- ext/node/02_require.js | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'ext/node') 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, -- cgit v1.2.3