mirror of
https://github.com/nodejs/node.git
synced 2024-11-21 10:59:27 +00:00
2602c4642b
Ensure that `defaultLoad` does not uselessly access the file system to get the source of modules that are known to be in CommonJS format. This allows CommonJS imports to resolve in the current phase of the event loop. Refs: https://github.com/eslint/eslint/pull/17683 PR-URL: https://github.com/nodejs/node/pull/50465 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
22 lines
559 B
JavaScript
22 lines
559 B
JavaScript
export function resolve(specifier, context, next) {
|
|
if (specifier.endsWith('/no-such-file.cjs')) {
|
|
// Shortcut to avoid ERR_MODULE_NOT_FOUND for non-existing file, but keep the url for the load hook.
|
|
return {
|
|
shortCircuit: true,
|
|
url: specifier,
|
|
};
|
|
}
|
|
return next(specifier);
|
|
}
|
|
|
|
export function load(href, context, next) {
|
|
if (href.endsWith('.cjs')) {
|
|
return {
|
|
format: 'commonjs',
|
|
shortCircuit: true,
|
|
source: 'module.exports = "no .cjs file was read to get this source";',
|
|
};
|
|
}
|
|
return next(href);
|
|
}
|