github-extractor
v0.0.37
Published
List github repositories and download individual files or whole repos conveniently. Faster than clone depth=1 for an entire repo and much faster if you just need a single file
Downloads
78
Maintainers
Readme
github-extractor
List github repositories and download individual files or whole repos conveniently. Faster than clone depth=1 for an entire repo and much faster if you just need a single file. Also works on the cli.
Quickstart
Install
npm install github-extractor
Usage
Initialize
import githubExtractor from "github-extractor";
const ghe = new githubExtractor({
owner: "octocat",
repo: "Spoon-Knife",
// The default: Readme.md is a different file to README.md
caseInsensitive: false,
})
List
const fullList = await ghe.list();
// List a repo non recursively to only show the top-level items (recursive is true by default):
const topLevel = await ghe.list({ recursive: false });
// Show any conflicts that might arise if downloading to `dest`:
const conflicts = await ghe.list({ dest: "some/path", conflictsOnly: true });
Download
await ghe.downloadTo({ dest: "some/path" });
Using selectedPaths
:
Downloads only the paths in the repo specified. Do not prefix with repo name. It will
stop downloading once it has the file. This can make getting a single file from a large
repo very fast.
// Save just `boo.jpg`:
await ghe.downloadTo({ dest: "some/path", selectedPaths: ["someFolder/boo.jpg"] });
// just the `README.md` file:
await ghe.downloadTo({ dest: "some/path", selectedPaths: ["README.md"] });
There are more options and they're all documented using jsdoc so will appear in intellisense. There is also the api Documentation.