repository-provider
abstract interface to git repository providers like github bitbucket
Example
import { GithubProvider } from 'repository-provider';
const provider = new GithubProvider({ token: 'xxx' });
const repository = await provider.repository('myuser/myrepo');
const branch = await repository.branch('master');
const files = await branch.list();
API
Table of Contents
Provider
Base repository provider acts as a source of repositories
Parameters
Properties
initialize
Provider initialization
will be called once before content addressing method is called
Returns Promise<undefined>
repositoryClass
Returns Class repository class used by the Provider
branchClass
Returns Class branch class used by the Provider
contentClass
Returns Class content class used by the Provider
pullRequestClass
Returns Class pull request class used by the Provider
createRepository
Create a new repository
Parameters
Returns Promise<Repository>
deleteRepository
Delete a repository
Parameters
Returns Promise<undefined>
repository
Lookup a repository
Parameters
Returns Promise<Repository>
branch
Lookup a branch
First lookup repository then the branch
If no branch was specified then the default branch will be delivered.
Parameters
name
string with optional branch name as '#myBranchName'
Returns Promise<Branch>
rateLimitReached
Is our rate limit reached.
By default we have no rate limit
Returns boolean always false
type
Deliver the repository type
Returns string 'git'
defaultOptions
Default configuration options
Returns Object
options
Pepare configuration by mixing together defaultOptions with actual options
Parameters
Returns Object combined options
Branch
Abstract branch
Parameters
Properties
initialize
called one after constructing
Returns Promise
provider
Returns Provider
owner
Branch owner
By default we provide the repository owner
Returns string
project
Branch project
By default we provide the repository project
Returns string
fullName
Deliver repository and branch name combined
Returns string 'repo#branch'
fullCondensedName
Deliver repository and branch name combined.
But skipping the branch name if it is the default branch
Returns string 'repo#branch'
url
Deliver repository and branch url combined
Returns string 'repoUrl#branch'
isDefault
Are we the default branch
Returns boolean name is 'master'
delete
Delete the branch from the Repository.
Returns Promise<undefined>
content
Deliver file content
Parameters
Returns Promise<Content> content of a given file
commit
Commit files
Parameters
Returns Promise
createPullRequest
Create a pull request
Parameters
Returns Promise
list
File list
rateLimitReached
Value delivered from the provider
Returns boolean providers rateLimitReached
rateLimitReached
forward to the Provider
Parameters
Repository
Abstract repository
Parameters
Properties
initialize
Called one after constructing
Returns Promise<undefined>
content
Lookup content form the default branch
Parameters
Returns Content
urls
Deliver urls to access the repo
Returns Array<string>
url
Deliver preffered url to access the repo
Returns string
issuesURL
Deliver the url of issue tracking system.
Returns string
homePageURL
Deliver the url of home page.
Returns string
owner
Repository owner
Default implementation delivers undefined
Returns string undefined
project
Repository project
Default implementation delivers undefined
Returns string undefined
branch
Lookup branch by name
Parameters
Returns Promise<Branch>
defaultBranch
Lookup the default branch
Returns Promise<Branch> 'master' branch
branches
Returns Promise<Map> of all branches
createBranch
Create a new Branch by cloning a given source branch
Parameters
Returns Promise<Branch> newly created branch
deleteBranch
Delete a Branch
Parameters
Returns Promise<undefined>
addBranch
Add a branch
Parameters
Returns Promise<undefined>
delete
Delete the repository from the Provider.
Returns Promise<undefined>
pullRequests
Deliver all @{link PullRequest}s
Returns Promise<Map> of all pull requests
pullRequest
Deliver @{link PullRequest} for a given name
Parameters
Returns Promise<PullRequest>
addPullRequest
Add a pull request
Parameters
Returns Promise
deletePullRequest
Delete a PullRequest
Parameters
Returns Promise
rateLimitReached
Value delivered from the provider
Returns boolean providers rateLimitReached
rateLimitReached
forward to the Provider
Parameters
PullRequest
Abstract pull request
Parameters
repository
Repositoyname
stringoptions
Object (optional, default {}
)
Properties
provider
Returns Provider
delete
Delete the pull request from the Repository.
Returns Promise
Content
Parameters
path
content
(optional, default undefined
)type
(optional, default 'blob'
)mode
(optional, default '100644'
)
Properties
install
With npm do:
npm install repository-provider
license
BSD-2-Clause