code: function buffer(vinyl, opts, callback) {
    var name = opts.name
    var vfile = convert(vinyl)
    var config = xtend(opts, {
      streamOut: new PassThrough(),
      files: [vfile]
    })
  
    engine(config, oncomplete)
  
    function oncomplete(err, status) {
      var contents
  
      if (err || status) {
        return callback(new PluginError(name, err || 'Unsuccessful running'))
      }
  
      contents = vfile.contents
  
      /* istanbul ignore else - There aren’t any unified compilers
       * that output buffers, but this logic is here to keep allow them
       * (and binary files) to pass through untouched. */
      if (typeof contents === 'string') {
        contents = Buffer.from(contents, 'utf8')
      }
  
      vinyl.contents = contents
  
      callback(null, vinyl)
    }
  }
docs: /* Handle a vinyl entry with buffer contents.