Skip to content

Download any repository or subdirectory on GitHub with support for Node.js and the CLI.

License

Notifications You must be signed in to change notification settings

cezaraugusto/go-git-it

Repository files navigation

npm downloads workflow

go-git-it

Download any repository or subdirectory on GitHub with support for Node.js and the CLI

npx go-git-it <url> [outputDir]

Command line instructions

Use cases

# cwd is ~/mydevspace/

npx go-git-it https://github.com/extension-js/extension.js
# Creates ~/mydevspace/extension.js/ folder (like git clone)

npx go-git-it https://github.com/extension-js/extension.js/tree/main/templates/react/images
# Creates ~/mydevspace/images/ folder

npx go-git-it https://github.com/extension-js/extension.js/blob/main/templates/react/manifest.json
# Downloads ~/mydevspace/manifest.json

The second command argument is the output directory:

npx go-git-it https://github.com/extension-js/extension.js ./my-browser-extension
# Creates ./my-browser-extension/extension.js/ folder (like git clone)

Node interface

go-git-it can also run on a Node.js program.

Installation

npm install go-git-it

Usage

import goGitIt from 'go-git-it';

// Assume cwd is ~/mydevspace/

await goGitIt('https://github.com/extension-js/extension.js');
// Creates ~/mydevspace/extension.js/ folder (like git clone)

await goGitIt(
  'https://github.com/extension-js/extension.js/tree/main/templates/react/images',
);
// Creates ~/mydevspace/images/ folder

await goGitIt(
  'https://github.com/extension-js/extension.js/blob/main/templates/react/manifest.json',
);
// Downloads ~/mydevspace/manifest.json

The second parameter is the output path:

import goGitIt from 'go-git-it';

// Assume cwd is ~/mydevspace/

await goGitIt(
  'https://github.com/extension-js/extension.js',
  './my-browser-extension',
);
// Creates ./my-browser-extension/extension.js/ folder (like git clone)

API

goGitIt(url, outputDir?, text?)

url

Type: string

The URL to the path you want to download. If a folder, will download its content as well.

outputDir

Type: string

Custom path to the outputDir (defaults to the working directory)

text

Type: string

Adds a custom text message instead of default config. This option overrides the success message as well.

License

MIT (c) Cezar Augusto.

About

Download any repository or subdirectory on GitHub with support for Node.js and the CLI.

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Contributors 2

  •  
  •