docs: function runRollupTask(entry, filename) {
  
      // CommonJS build.
      // this is used as the "main" field in package.json
      // and used by bundlers like Webpack and Browserify.
      rollup.rollup({
              entry: entry,
              plugins: [
                  babel({
                      loose: 'all'
                  })
              ]
          })
          .then(function(bundle) {
              return write('dist/' + filename + '.common.js', bundle.generate({
                  format: 'cjs',
                  banner: banner
              }).code)
          })
          // Standalone Dev Build
          .then(function() {
              return rollup.rollup({
                      entry: entry,
                      plugins: [
                          replace({
                              'process.env.NODE_ENV': "'development'"
                          }),
                          babel({
                              loose: 'all'
                          })
                      ]
                  })
                  .then(function(bundle) {
                      return write('dist/' + filename + '.js', bundle.generate({
                          format: 'umd',
                          banner: banner,
                          moduleName: 'React'
                      }).code)
                  })
          })
          .then(function() {
              // Standalone Production Build
              return rollup.rollup({
                      entry: entry,
                      plugins: [
                          replace({
                              'process.env.NODE_ENV': "'production'"
                          }),
                          babel({
                              loose: 'all'
                          })
                      ]
                  })
                  .then(function(bundle) {
                      var code = bundle.generate({
                          format: 'umd',
                          moduleName: 'React'
                      }).code
                      var minified = banner + '\n' + uglify.minify(code, {
                          fromString: true
                      }).code
                      return write('dist/' + filename + '.min.js', minified)
                  })
                  .then(zip)
          })
          .catch(logError)
  
      function zip() {
          return new Promise(function(resolve, reject) {
              fs.readFile('dist/' + filename + '.min.js', function(err, buf) {
                  if (err) return reject(err)
                  zlib.gzip(buf, function(err, buf) {
                      if (err) return reject(err)
                      write('dist/' + filename + '.min.js.gz', buf).then(resolve)
                  })
              })
          })
      }
  }