Skip to content

Quickstart

Install

bash
npm install github-extractor

Usage

Initialize

typescript
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

typescript
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

typescript
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.

typescript
// 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.

Released under the MIT License.