Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vladfrangu/async-dl-github-repo
Asynchronously download a GitHub Repo
https://github.com/vladfrangu/async-dl-github-repo
download download-github download-github-repo github hacktoberfest
Last synced: about 23 hours ago
JSON representation
Asynchronously download a GitHub Repo
- Host: GitHub
- URL: https://github.com/vladfrangu/async-dl-github-repo
- Owner: vladfrangu
- License: gpl-3.0
- Created: 2017-11-21T17:42:05.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2020-10-03T09:55:11.000Z (over 4 years ago)
- Last Synced: 2024-12-30T15:49:09.764Z (6 days ago)
- Topics: download, download-github, download-github-repo, github, hacktoberfest
- Language: JavaScript
- Homepage:
- Size: 36.1 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# async-dl-github-repo
Asynchronously download a GitHub Repo
## Installation
**Node.js 8.0 or newer is required**
To install this module, just run:
```
npm i async-dl-github-repo
```## Usage and Examples
This module has one function, that is exported by default.
### download(repo, destination, downloadOnly = false)
Download a GitHub repo, `repo` should be in the format: `Username/ProjectName[#branch-name]`, where `#branch-name` is optional. (Don't include the brackets). By default, the branch is set to `master`.
`path` should be relative to the [process cwd](https://nodejs.org/api/process.html#process_process_cwd)
`downloadOnly` is optional, but you can make it just save the archive
Returns a Promise that resolves with the zip and final paths if the download was successful, or rejects if there were any errors.
Example:
```js
const dlRepo = require("async-dl-github-repo");dlRepo("vladfrangu/async-dl-github-repo", "./temp").then(results => {
console.log(`Downloaded successfuly at ${results.finalPath}`);
}).catch(err => {
console.error(`Download errored: ${err}`);
});
```Downloading just the archive:
```js
const dlRepo = require("async-dl-github-repo");dlRepo("vladfrangu/async-dl-github-repo", "./temp", true).then(results => {
console.log(`Downloaded at ${results.zipPath}`);
}).catch(err => {
console.error(`Download errored: ${err}`);
});
```