code: function transformStream(fileStream, jsxhintOpts, jshintOpts, cb){
    // JSHint now supports a '--filename' option for stdin, allowing overrides to work properly.
    var fileName = jshintOpts && jshintOpts.filename.replace(process.cwd(), '') || 'stdin';
  
    return transformJSX(fileStream, fileName, jsxhintOpts)
    .then(function(contents){
      var tempFileName = utils.createTempFile(path.join(process.cwd(), fileName), contents);
      var out = {};
      out[tempFileName] = fileName;
      return out;
    })
    .nodeify(cb);
  }
docs: Given a stream (stdin), transform and save to a temporary file so it can be piped
  into JSHint.
  JSHint in stream mode attempts to read from process.stdin.
  Since we can't reload process.stdin with the new transformed data (without forking),
  we instead just write to a temp file and load it into JSHint.
  
  @param  {ReadableStream}   fileStream Readable stream containing data to transform.
  @param  {Object}   jsxhintOpts        Options for JSXHint.
  @param  {Object}   jshintOpts         Options for JSHint.
  @param  {Function} cb                 Callback.