github-deployed-repos
v1.0.1
Published
An npm package to display deployed URLs of public GitHub repositories
Downloads
133
Readme
GitHub Deployed Repos
GitHub Deployed Repos is an npm package that retrieves all public repositories for a specified GitHub username and lists the URLs for the ones that are deployed (via GitHub Pages, or if the homepage URL is set in the repository).
Features
- 📝 Fetches public repositories for any GitHub user.
- 🚀 Lists deployed URLs for repositories with a homepage set in their
package.json
. - 🌐 Supports GitHub Pages URLs for repositories that are deployed via GitHub Pages.
Installation
You can install this package using npm:
npm install github-deployed-repos
Usage
To use this package, you simply need to require it and pass the GitHub username to fetch the deployed repositories.
Example:
// Import the getDeployedRepos function from the package
const { getDeployedRepos } = require('github-deployed-repos');
// Define the GitHub username
const username = 'your-github-username'; // Replace with the GitHub username you want to query
// Fetch and display deployed repositories
getDeployedRepos(username).then((deployedRepos) => {
console.log('Deployed Repositories:');
deployedRepos.forEach((repo) => {
console.log(`- ${repo.name}: ${repo.url}`);
});
}).catch((error) => {
console.error('Error fetching deployed repositories:', error);
});
Output Example:
Deployed Repositories:
- my-repo-1: https://my-repo-1.github.io
- my-repo-2: https://my-custom-domain.com
How It Works
- The function
getDeployedRepos(username)
makes a request to GitHub's API to fetch all public repositories of the user. - It checks if the
homepage
field in thepackage.json
is set (this usually represents the deployment URL of the repository). - If no
homepage
is found, it attempts to construct the GitHub Pages URL (https://<username>.github.io/<repo-name>
).
API
getDeployedRepos(username)
Fetches deployed repositories for the given GitHub username.
Parameters:
username
: The GitHub username (string) for which you want to fetch public repositories.
Returns: A Promise that resolves to an array of objects, each representing a deployed repository:
[ { "name": "repo-name", "url": "https://deployed-url.com" } ]
Example:
getDeployedRepos('MrSanjayRaj').then((repos) => console.log(repos));
Error Handling
If an error occurs (e.g., invalid username, GitHub API issues), the Promise will be rejected. You can handle it using .catch()
:
getDeployedRepos('invalid-username')
.then((repos) => console.log(repos))
.catch((error) => console.error('Error fetching deployed repositories:', error));
Requirements
- Node.js version 12 or higher.
- GitHub account with public repositories.
Contributing
Contributions are welcome! Please open an issue or a pull request if you would like to contribute.
Steps to Contribute:
- Fork the repository.
- Create a new feature branch (
git checkout -b feature/new-feature
). - Commit your changes (
git commit -am 'Add a new feature'
). - Push to the branch (
git push origin feature/new-feature
). - Open a pull request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Example Output
Here is what you can expect when the function is called:
Deployed Repositories:
- Portfolio: https://MrSanjayRaj.github.io/portfolio
- Blog: https://myblog.com