esm: fix hook name in error message

PR-URL: https://github.com/nodejs/node/pull/50466
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
Reviewed-By: Jacob Smith <jacob@frende.me>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
This commit is contained in:
Bruce MacNaughton 2023-12-05 10:54:01 -08:00 committed by GitHub
parent c59fe11038
commit ab857e138f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 16 additions and 3 deletions

View file

@ -1475,11 +1475,11 @@ E('ERR_INVALID_REPL_EVAL_CONFIG',
E('ERR_INVALID_REPL_INPUT', '%s', TypeError);
E('ERR_INVALID_RETURN_PROPERTY', (input, name, prop, value) => {
return `Expected a valid ${input} to be returned for the "${prop}" from the` +
` "${name}" function but got ${determineSpecificType(value)}.`;
` "${name}" hook but got ${determineSpecificType(value)}.`;
}, TypeError);
E('ERR_INVALID_RETURN_PROPERTY_VALUE', (input, name, prop, value) => {
return `Expected ${input} to be returned for the "${prop}" from the` +
` "${name}" function but got ${determineSpecificType(value)}.`;
` "${name}" hook but got ${determineSpecificType(value)}.`;
}, TypeError);
E('ERR_INVALID_RETURN_VALUE', (input, name, value) => {
const type = determineSpecificType(value);

View file

@ -128,7 +128,7 @@ function assertBufferSource(body, allowString, hookName) {
*/
function stringify(body) {
if (typeof body === 'string') { return body; }
assertBufferSource(body, false, 'transformSource');
assertBufferSource(body, false, 'load');
const { TextDecoder } = require('internal/encoding');
DECODER = DECODER === null ? new TextDecoder() : DECODER;
return DECODER.decode(body);

View file

@ -43,6 +43,11 @@ await assert.rejects(
{ code: 'ERR_INVALID_RETURN_PROPERTY_VALUE' },
);
await assert.rejects(import('esmHook/commonJsNullSource.mjs'), {
code: 'ERR_INVALID_RETURN_PROPERTY_VALUE',
message: /"source".*'load'.*got type bigint/,
});
await import('../fixtures/es-module-loaders/js-as-esm.js')
.then((parsedModule) => {
assert.strictEqual(typeof parsedModule, 'object');

View file

@ -97,5 +97,13 @@ export function load(url, context, next) {
};
}
if (url.endsWith('esmHook/commonJsNullSource.mjs')) {
return {
format: 'commonjs',
shortCircuit: true,
source: 1n,
};
}
return next(url);
}