0.2.2 • Published 2 years ago

dgh v0.2.2

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

download-github

⬇️ Download directory from a GitHub repo.

Usage

asciicast

npm install dgh
import dgh from "dgh";

dgh({
  owner: "lencx",
  repo: "download-github",
  name: "test-dgh",
  ref: "main", // default `HEAD`
  overwrite: true, // default `true`
  root: "./", // default `process.cwd()`
});
/* *** repo subdir & file overwrite *** */

import dgh from "dgh";

dgh({
  owner: "lencx",
  repo: "download-github",
  name: "test-dgh",
  ref: "HEAD", // github branch, default 'HEAD'
  subdir: "src",
})
  .on("info", (msg) => {
    console.log(msg);
  })
  .on("overwrite", (files, fs) => {
    files.forEach((file) => {
      if (/\/utils.ts$/.test(file)) {
        // @see https://github.com/jprichardson/node-fs-extra
        fs.appendFileSync(file, `\nexport const DGH = 'DGH';\n`);
      }
    });
  })
  .on("end", () => {
    console.log("dgh end");
  });

Options

OptionsRequiredDescription
ownerYgithub username or organization
repoYgithub repository
nameYapp name
rootNapp path, default process.cwd()
refNgithub branch, default HEAD
subdirNrepository subdirectory
overwriteNrewrite file content, default true

Event

  • on('overwrite', (files, fs) => void)) - rewrite file content, the options overwrite must be true
    • files: all file paths
    • fs: fs-extra instance
  • on('end', () => void)) - download complete callback event
  • on('info', () => void)) - debug logs

Cli

npx dgh \
  --owner=<github_owner> \
  --repo=<github_repo> \
  --name=<app_name> \
  --subdir=<repo_subdir> \
  --root=<app_path>
npm install -g dgh

Command Args

ArgsRequiredDescription
-h or --helpdgh command help
--ownerYgithub username or organization
--repoYgithub repository
--nameYapp name
--rootNapp path, default process.cwd()
--refNgithub branch, default HEAD
--subdirNrepository subdirectory

Examples

# test command 1
npx dgh \
  --owner=lencx \
  --repo="learn-wasm" \
  --name="dgh-test-download" \
  --root="my/path"
# test command 2
npx dgh \
  --owner=lencx \
  --repo="learn-wasm" \
  --name="dgh-test-download-2" \
  --ref="gh-pages" \
  --root="my/path"
# test command 3
npx dgh \
  --owner=lencx \
  --repo="learn-wasm" \
  --name="dgh-test-download-3" \
  --ref="gh-pages" \
  --subdir="assets" \
  --root="my/path"

Related