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.
- Host: GitHub
- URL: https://github.com/jonschlinkert/get-file
- Owner: jonschlinkert
- License: mit
- Created: 2015-02-05T09:01:10.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2017-05-31T21:04:49.000Z (over 8 years ago)
- Last Synced: 2025-04-26T15:03:09.410Z (9 months ago)
- Topics: api, cli, content, file, github, repo
- Language: JavaScript
- Homepage:
- Size: 23.4 KB
- Stars: 10
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# get-file [](https://www.npmjs.com/package/get-file) [](https://npmjs.org/package/get-file) [](https://npmjs.org/package/get-file) [](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._