Skip to content

Commit 6fdd202

Browse files
fossamagnaruyadorno
authored andcommitted
module: require.resolve.paths returns null with node schema
require.resolve.paths should returns null with builtin module. when builtin module without `node:` schema, `paths` returns null. But, it don't return null when builtin module with `node:` schema. Fixes: #45001 PR-URL: #45147 Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
1 parent 0d1b1c5 commit 6fdd202

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

lib/internal/modules/cjs/loader.js

+7-2
Original file line numberDiff line numberDiff line change
@@ -751,8 +751,13 @@ if (isWindows) {
751751
}
752752

753753
Module._resolveLookupPaths = function(request, parent) {
754-
if (BuiltinModule.canBeRequiredByUsers(request) &&
755-
BuiltinModule.canBeRequiredWithoutScheme(request)) {
754+
if ((
755+
StringPrototypeStartsWith(request, 'node:') &&
756+
BuiltinModule.canBeRequiredByUsers(StringPrototypeSlice(request, 5))
757+
) || (
758+
BuiltinModule.canBeRequiredByUsers(request) &&
759+
BuiltinModule.canBeRequiredWithoutScheme(request)
760+
)) {
756761
debug('looking for %j in []', request);
757762
return null;
758763
}

test/parallel/test-require-resolve.js

+4
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,10 @@ require(fixtures.path('resolve-paths', 'default', 'verify-paths.js'));
6363
assert.strictEqual(require.resolve.paths(mod), null);
6464
});
6565

66+
builtinModules.forEach((mod) => {
67+
assert.strictEqual(require.resolve.paths(`node:${mod}`), null);
68+
});
69+
6670
// node_modules.
6771
const resolvedPaths = require.resolve.paths('eslint');
6872
assert.strictEqual(Array.isArray(resolvedPaths), true);

0 commit comments

Comments
 (0)