Skip to content

ralphtheninja/github-archive-stream

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

npm Node version build status JavaScript Style Guide

Install

$ npm i github-archive-stream -S

Usage

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

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

API

const 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