schemeless builtins crash CJS loader

Version

22.15.0

Platform

Darwin TK46XHNX04 24.5.0 Darwin Kernel Version 24.5.0: Tue Apr 22 19:54:49 PDT 2025; root:xnu-11417.121.6~2/RELEASE_ARM64_T6000 arm64

Subsystem

No response

What steps will reproduce the bug?

const { registerHooks } = require('node:module')

registerHooks({
  resolve: (specifier, context, nextResolve) => {
    console.log(`Resolving specifier: ${specifier}`);
    return nextResolve(specifier, context);
  },
  load: (url, context, nextLoad) => {
    console.log(`Loading URL: ${url}`);
    debugger
    return nextLoad(url, context);
  }
})
node -r ./loader-hook.js -e "require('node:test')"

How often does it reproduce? Is there a required condition?

This happens for all the schemeless builtins

const schemelessBlockList = new SafeSet([
  'sea',
  'sqlite',
  'quic',
  'test',
  'test/reporters',
]);

What is the expected behavior? Why is that the expected behavior?

The resolve/loader hooks do not crash

What do you see instead?

❯ node -r ./loader-hook.js -e "require('node:sea')"
Resolving specifier: module
Loading URL: node:module
Resolving specifier: node:sea
Loading URL: sea
node:internal/modules/customization_hooks:276
    throw new ERR_INVALID_RETURN_PROPERTY_VALUE(
    ^

TypeError [ERR_INVALID_RETURN_PROPERTY_VALUE]: Expected a string, an ArrayBuffer, or a TypedArray to be returned for the "source" from the "load" hook but got null.
    at validateLoad (node:internal/modules/customization_hooks:276:11)
    at nextStep (node:internal/modules/customization_hooks:190:14)
    at load (/Users/revans/loader-hook.js:14:12)
    at nextStep (node:internal/modules/customization_hooks:185:26)
    at loadWithHooks (node:internal/modules/customization_hooks:348:18)
    at loadBuiltinWithHooks (node:internal/modules/cjs/loader:1164:24)
    at Function._load (node:internal/modules/cjs/loader:1216:20)
    at TracingChannel.traceSync (node:diagnostics_channel:322:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:235:24)
    at Module.require (node:internal/modules/cjs/loader:1487:12) {
  code: 'ERR_INVALID_RETURN_PROPERTY_VALUE'
}

Node.js v22.15.0

Additional information

No response