code: function internalRewire(parentModulePath, targetPath) {
      var targetModule,
          prelude,
          appendix,
          src;
  
      // Checking params
      if (typeof targetPath !== "string") {
          throw new TypeError("Filename must be a string");
      }
  
      // Resolve full filename relative to the parent module
      targetPath = Module._resolveFilename(targetPath, parentModulePath);
  
      // Create testModule as it would be created by require()
      targetModule = new Module(targetPath, parentModulePath);
  
      // We prepend a list of all globals declared with var so they can be overridden (without changing original globals)
      prelude = getImportGlobalsSrc();
  
      // Wrap module src inside IIFE so that function declarations do not clash with global variables
      // @see https://github.com/jhnns/rewire/issues/56
      prelude += "(function () { ";
  
      // We append our special setter and getter.
      appendix = "\n" + getDefinePropertySrc();
  
      // End of IIFE
      appendix += "})();";
  
      // Check if the module uses the strict mode.
      // If so we must ensure that "use strict"; stays at the beginning of the module.
      src = fs.readFileSync(targetPath, "utf8");
      if (detectStrictMode(src) === true) {
          prelude = ' "use strict"; ' + prelude;
      }
  
      moduleEnv.inject(prelude, appendix);
      moduleEnv.load(targetModule);
  
      return targetModule.exports;
  }
docs: Does actual rewiring the module. For further documentation @see index.js