Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

github-extractor

bn-l83MIT0.0.37

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

Github, templates, tar, tarball, gzip, download, extract, extractor, github-extractor, github_extractor, repo, repository, files, folders, list, quick, fast, fastest, quickly, specific, whole, git, clone, depth, shallow

readme

github-extractor

header logo: 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.

Api Documentation

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.