let requireDepth = 0;
let isPreloading = false;
let statCache = null;
+let esmResolveExtensions = false;
function internalRequire(module, id) {
validateString(id, 'id');
throw new ERR_INVALID_MODULE_SPECIFIER(
resolved, 'must not include encoded "/" or "\\" characters', parentPath);
const filename = fileURLToPath(resolved);
- const actual = tryFile(filename);
+ let actual = tryFile(filename);
+ if (!actual && esmResolveExtensions) {
+ const exts = ObjectKeys(Module._extensions);
+ actual = tryExtensions(filename, exts, false) ||
+ tryPackage(filename, exts, false, request);
+ }
if (actual)
return actual;
const err = createEsmNotFoundErr(filename,
}
};
+Module.enableEsmResolveExtensions = function(enable) {
+ esmResolveExtensions = enable;
+}
+
Module.isBuiltin = function isBuiltin(moduleName) {
return allBuiltins.has(moduleName);
};