From 8df8dc0adf15d4c960ce2a68bca3bb9dfc2af0e8 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Tue, 23 May 2023 17:42:32 +0200 Subject: [PATCH] fixup! add some properties to `require` --- lib/internal/modules/esm/translators.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/internal/modules/esm/translators.js b/lib/internal/modules/esm/translators.js index 0fe2963dff81d5a..6e42ae48f38fa3b 100644 --- a/lib/internal/modules/esm/translators.js +++ b/lib/internal/modules/esm/translators.js @@ -173,16 +173,17 @@ function createCJSModuleWrap(url, source) { job.runSync(); return cjsCache.get(job.url).exports; }; - setOwnProperty(require, 'resolve', function resolve(spec) { + setOwnProperty(requireFn, 'resolve', function resolve(spec) { // TODO: add support for absolute paths if (spec[0] === '.') { spec = pathToFileURL(join(__dirname, spec)); } + // TODO: make this work for CJSism (e.g. dir import, extensionless imports, etc.) const { url: resolvedURL } = asyncESM.esmLoader.resolve(spec, url); return StringPrototypeStartsWith(resolvedURL, 'file://') ? fileURLToPath(resolvedURL) : resolvedURL; }); - setOwnProperty(require, 'cache', CJSModule._cache); - setOwnProperty(require, 'main', process.mainModule); + setOwnProperty(requireFn, 'cache', CJSModule._cache); + setOwnProperty(requireFn, 'main', process.mainModule); cjsCache.set(url, module); ReflectApply(compiledWrapper, module.exports,