code: async function _loader(userResolver, moduleId, useSyncResolve) {
    const modulePath = await resolveModulePath(userResolver, moduleId);
    return (useSyncResolve?_loadModuleSyncAsync:_loadModule)(modulePath, userResolver);
  }
docs: Load a module
  
  @private
  @param {Object} userResolver         User-created resolver function.
  @param {string} moduleId             Module name or path, same format as for require().
  @param {boolean} useSyncResolve      Whether to use the native node require function (sychronous) or the require
  function from this module, which is async.
  @returns {Promise.<*|undefined>}     The module or undefined.