Skip to content

Commit 809371a

Browse files
fossamagnaBethGriggs
authored andcommittedMar 27, 2023
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 efe1be4 commit 809371a

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
@@ -737,8 +737,13 @@ if (isWindows) {
737737
}
738738

739739
Module._resolveLookupPaths = function(request, parent) {
740-
if (BuiltinModule.canBeRequiredByUsers(request) &&
741-
BuiltinModule.canBeRequiredWithoutScheme(request)) {
740+
if ((
741+
StringPrototypeStartsWith(request, 'node:') &&
742+
BuiltinModule.canBeRequiredByUsers(StringPrototypeSlice(request, 5))
743+
) || (
744+
BuiltinModule.canBeRequiredByUsers(request) &&
745+
BuiltinModule.canBeRequiredWithoutScheme(request)
746+
)) {
742747
debug('looking for %j in []', request);
743748
return null;
744749
}

‎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)
Please sign in to comment.