docs: function requireMe(modulePath, options) {
      options = options || {};
  
      var mocks = options.mocks || {};
      var pristine = options.pristine;
      var deep = options.deep;
  
      var calledFrom = callerPath();
      var fullModulePath = getFullPath(modulePath, calledFrom);
      var mocksArr = Object.keys(mocks).map(function(path) {
          return {
              path: getFullPath(path, calledFrom),
              value: typeof mocks[path] === 'string' ? getFullPath(mocks[path], calledFrom) : mocks[path]
          };
      });
  
      if (pristine) {
          if (deep && !(isExternalModule(fullModulePath) || isSystemModule(fullModulePath))) {
              var moduleCode = fs.readFileSync(fullModulePath);
              var deps = findModuleDeps(moduleCode) || [];
  
              deps.forEach(function(localPath) {
                  var childPath = getFullPath(localPath, fullModulePath);
  
                  requireMe(childPath, {pristine: true, deep: true})
              });
          }
  
          delete require.cache[require.resolve(fullModulePath)];
      }
  
      mocksArr.forEach(function(mock) {
          mockRequire(mock.path, mock.value);
      });
  
      const requiredModule = require(fullModulePath);
  
      mocksArr.forEach(function(mock) {
          mockRequire.stop(mock.path);
      });
  
      return requiredModule;
  }