dgh
v0.2.2
Published
Download directory from a GitHub repo
Downloads
12
Maintainers
Readme
download-github
⬇️ Download directory from a GitHub repo.
Usage
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
| Options | Required | Description |
| ----------- | :------: | ------------------------------------ |
| owner
| Y | github username or organization |
| repo
| Y | github repository |
| name
| Y | app name |
| root
| N | app path, default process.cwd()
|
| ref
| N | github branch, default HEAD
|
| subdir
| N | repository subdirectory |
| overwrite
| N | rewrite file content, default true
|
Event
on('overwrite', (files, fs) => void))
- rewrite file content, the optionsoverwrite
must betrue
- files: all file paths
- fs: fs-extra instance
on('end', () => void))
- download complete callback eventon('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
| Args | Required | Description |
| ---------------- | :------: | --------------------------------- |
| -h
or --help
| | dgh command help |
| --owner
| Y | github username or organization |
| --repo
| Y | github repository |
| --name
| Y | app name |
| --root
| N | app path, default process.cwd()
|
| --ref
| N | github branch, default HEAD
|
| --subdir
| N | repository 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
- create-mpl - ⚡️ Create a project in seconds!