Download any repository or subdirectory on GitHub with support for Node.js and the CLI
npx go-git-it <url> [outputDir]
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)
go-git-it
can also run on a Node.js program.
npm install go-git-it
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)
Type: string
The URL to the path you want to download. If a folder, will download its content as well.
Type: string
Custom path to the outputDir (defaults to the working directory)
Type: string
Adds a custom text message instead of default config. This option overrides the success message as well.
- Progress bar showing download status
- Support for downloading entire repositories
- Support for downloading specific folders
- Support for downloading individual files
- Custom output directory support
- Custom progress messages
MIT (c) Cezar Augusto.