repository-discovery
A TypeScript library enabling git repository discovery across GitHub, GitLab, Azure DevOps, and Bitbucket
A TypeScript library for discovering git repositories across multiple hosting providers. Supports flexible source specification for organizations, users, groups, workspaces, and individual repositories.
Installation
npm install repository-discovery
Features
- Multi-platform support — GitHub, GitLab, Azure DevOps, and Bitbucket
- Flexible filtering — Filter by archival status, exclude forks
- Custom error handling — Specific exceptions for auth, rate limiting, and permissions
- Self-hosted support — Configure custom host URLs for enterprise instances
- AbortSignal support — Cancel operations gracefully
Usage
import { discoverRepositories } from 'repository-discovery';
const { repositories, errors } = await discoverRepositories({
sources: [
{ provider: 'github', org: 'my-org' },
{ provider: 'gitlab', group: 'my-group' }
],
continueOnError: true
});
Token Configuration
Tokens can be provided as strings or async functions for dynamic retrieval:
{
token: async () => await getSecretFromVault('github-token')
}