An open API service indexing awesome lists of open source software.

https://github.com/jonschlinkert/get-file

CLI and API to get a single file from Github repository.
https://github.com/jonschlinkert/get-file

api cli content file github repo

Last synced: 9 months ago
JSON representation

CLI and API to get a single file from Github repository.

Awesome Lists containing this project

README

          

# get-file [![NPM version](https://img.shields.io/npm/v/get-file.svg?style=flat)](https://www.npmjs.com/package/get-file) [![NPM monthly downloads](https://img.shields.io/npm/dm/get-file.svg?style=flat)](https://npmjs.org/package/get-file) [![NPM total downloads](https://img.shields.io/npm/dt/get-file.svg?style=flat)](https://npmjs.org/package/get-file) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/get-file.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/get-file)

> CLI to get a single file from Github repository.

## CLI

### CLI installation

Install globally with [npm](https://www.npmjs.com/)

```sh
$ npm install --global get-file
```

### CLI usage

Specify the repo and filename:

```bash
get-file assemble/assemble README.md
```

**List files**

See a list of files for a repo before downloading one:

```bash
get-file --list assemble/assemble
```

## API

### API installation

Install with [npm](https://www.npmjs.com/):

```sh
$ npm install get-file
```

## API usage

### [get](index.js#L22)

Get an individual file and return a stream in the callback.

**Params**

* `repo` **{String}**: Repository to get file from.
* `filename` **{String}**: file to get.
* `cb` **{Function}**: Callback function that takes `err` and `res` arguments.

**Example**

```js
var get = require('get-file');
get('jonschlinkert/get-file', 'package.json', function(err, res) {
if (err) return console.error(err);
var file = fs.createWriteStream('package.json');
res.pipe(file);
});
```

### [.files](index.js#L49)

List the files in a given repository.

**Params**

* `repo` **{String}**: Repository to get list of files.
* `cb` **{Function}**: Function that takes `err` and `files` arguments

**Example**

```js
var get = require('get-file');
get.files('jonschlinkert/get-file', function(err, files) {
if (err) return console.error(err);
console.log(files);
});
```

## Release history

### v1.0.0 - MAJOR BREAKING CHANGES

* the main export is now a function
* `.listFiles` was renamed to `.files`

## About

### Related projects

* [gists](https://www.npmjs.com/package/gists): Methods for working with the GitHub Gist API. Node.js/JavaScript | [homepage](https://github.com/jonschlinkert/gists "Methods for working with the GitHub Gist API. Node.js/JavaScript")
* [github-base](https://www.npmjs.com/package/github-base): JavaScript wrapper that greatly simplifies working with GitHub's API. | [homepage](https://github.com/jonschlinkert/github-base "JavaScript wrapper that greatly simplifies working with GitHub's API.")
* [github-contributors](https://www.npmjs.com/package/github-contributors): Generate a markdown or JSON list of contributors for a project using the GitHub API. | [homepage](https://github.com/jonschlinkert/github-contributors "Generate a markdown or JSON list of contributors for a project using the GitHub API.")

### Contributing

Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).

### Running tests

Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:

```sh
$ npm install && npm test
```

### Author

**Jon Schlinkert**

* [github/jonschlinkert](https://github.com/jonschlinkert)
* [twitter/jonschlinkert](https://twitter.com/jonschlinkert)

### License

Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert).
Released under the [MIT License](LICENSE).

***

_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on May 31, 2017._