node package manager

github-archive-stream

github-archive-stream

Streams a .tar.gz (or .zip) archive from GitHub using the archive link api. It makes two http requests since the first is always a 30x redirect response.

build status Greenkeeper badge

Install

$ npm i github-archive-stream -S

Usage

Stream latest master branch of ipfs/go-ipfs to the file 'ipfs.tar.gz'.

var archive = require('github-archive-stream')
archive('ipfs/go-ipfs').pipe(require('fs').createWriteStream('ipfs.tar.gz'))

API

var stream = archive(repo|opts)

Create an archive stream.

Parameter can either be a string or an object. Use the string version to stream an open source archive. For private repositories you need to provide the opts.auth property, see below.

Options takes the following properties:

{
  repo: 'user/repo',      // github repository, required
  auth: {
    user: 'username',     // github user, required if private repo
    token: 'agithubtoken' // github token, required if private repo
  },
  ref: '315ae99',         // git ref, defaults to 'master'
  format: 'zipball'       // archive format, defaults to 'tarball'
}

License

MIT