UNPKG

github-repository-provider

Version:
422 lines (266 loc) 14.5 kB
[![npm](https://img.shields.io/npm/v/github-repository-provider.svg)](https://www.npmjs.com/package/github-repository-provider) [![License](https://img.shields.io/badge/License-0BSD-blue.svg)](https://spdx.org/licenses/0BSD.html) [![Typed with TypeScript](https://flat.badgen.net/badge/icon/Typed?icon=typescript\&label\&labelColor=blue\&color=555555)](https://typescriptlang.org) [![bundlejs](https://deno.bundlejs.com/?q=github-repository-provider\&badge=detailed)](https://bundlejs.com/?q=github-repository-provider) [![downloads](http://img.shields.io/npm/dm/github-repository-provider.svg?style=flat-square)](https://npmjs.org/package/github-repository-provider) [![GitHub Issues](https://img.shields.io/github/issues/arlac77/github-repository-provider.svg?style=flat-square)](https://github.com/arlac77/github-repository-provider/issues) [![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Farlac77%2Fgithub-repository-provider%2Fbadge\&style=flat)](https://actions-badge.atrox.dev/arlac77/github-repository-provider/goto) [![Styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier) [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/) [![Known Vulnerabilities](https://snyk.io/test/github/arlac77/github-repository-provider/badge.svg)](https://snyk.io/test/github/arlac77/github-repository-provider) [![Coverage Status](https://coveralls.io/repos/arlac77/github-repository-provider/badge.svg)](https://coveralls.io/github/arlac77/github-repository-provider) # github-repository-provider repository provider for github <!-- skip example --> ```javascript import { GithubProvider } from 'github-repository-provider'; const config = GithubProvider.optionsFromEnvironment(process.env); const provider = new GithubProvider(config); const repository = await provider.repository(`myuser/repo1`); for async (const entry of repository.entries('\*_/_.md')) { console.log(entry.name); console.log(entry.string); } ``` # API <!-- Generated by documentation.js. Update this documentation by updating the source code. --> ### Table of Contents * [GithubBranch](#githubbranch) * [Parameters](#parameters) * [writeEntry](#writeentry) * [Parameters](#parameters-1) * [commit](#commit) * [Parameters](#parameters-2) * [entry](#entry) * [Parameters](#parameters-3) * [entries](#entries) * [Parameters](#parameters-4) * [removeEntries](#removeentries) * [Parameters](#parameters-5) * [GithubOwner](#githubowner) * [createRepository](#createrepository) * [Parameters](#parameters-6) * [deleteRepository](#deleterepository) * [Parameters](#parameters-7) * [attributeMapping](#attributemapping) * [GithubProvider](#githubprovider) * [Examples](#examples) * [initializeRepositories](#initializerepositories) * [repositoryBases](#repositorybases) * [name](#name) * [instanceIdentifier](#instanceidentifier) * [GithubPullRequest](#githubpullrequest) * [\_merge](#_merge) * [Parameters](#parameters-8) * [update](#update) * [validMergeMethods](#validmergemethods) * [list](#list) * [Parameters](#parameters-9) * [open](#open) * [Parameters](#parameters-10) * [GithubRepository](#githubrepository) * [defaultBranchName](#defaultbranchname) * [commits](#commits) * [Parameters](#parameters-11) * [commitForSha](#commitforsha) * [Parameters](#parameters-12) * [tree](#tree) * [Parameters](#parameters-13) * [addTree](#addtree) * [Parameters](#parameters-14) * [initializeBranches](#initializebranches) * [initializeTags](#initializetags) * [url](#url) * [issuesURL](#issuesurl) * [homePageURL](#homepageurl) * [api](#api) * [update](#update-1) * [refId](#refid) * [Parameters](#parameters-15) * [\_setRefId](#_setrefid) * [Parameters](#parameters-16) * [setRefId](#setrefid) * [Parameters](#parameters-17) * [deletePullRequest](#deletepullrequest) * [Parameters](#parameters-18) * [initializeHooks](#initializehooks) ## GithubBranch **Extends Branch** Branch on GitHub. ### Parameters * `owner` &#x20; * `name` &#x20; * `options` &#x20; ### writeEntry Writes content into the branch <https://developer.github.com/v3/git/blobs/#get-a-blob> #### Parameters * `entry` **ContentEntry**&#x20; Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<ContentEntry>** written content with sha values set ### commit <https://developer.github.com/v3/git/trees/#create-a-tree> <https://developer.github.com/v3/git/commits/#create-a-commit> <https://developer.github.com/v3/git/refs/#update-a-reference> #### Parameters * `message` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20; * `entries` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)\<ContentEntry>**&#x20; * `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**&#x20; ### entry <https://developer.github.com/v3/repos/contents/#get-repository-content> #### Parameters * `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20; ### entries #### Parameters * `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))**&#x20; Returns **AsyncGenerator\<ContentEntry>** all matching entries in the branch ### removeEntries <https://developer.github.com/v3/repos/contents/> #### Parameters * `entries` **AsyncIterable\<ContentEntry>**&#x20; ## GithubOwner **Extends RepositoryGroup** Represents github repo owner either * users * organization ### createRepository <https://developer.github.com/v3/repos/#create-a-repository-for-the-authenticated-user> #### Parameters * `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20; * `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** (optional, default `{}`) Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<Repository>** newly created repository ### deleteRepository <https://developer.github.com/v3/repos/#delete-a-repository> #### Parameters * `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20; ### attributeMapping Map attributes between external and internal representation. ## GithubProvider **Extends MultiGroupProvider** <!-- skip-example --> GitHub provider. Lookup a repository. known environment variables * GITHUB\_TOKEN or GH\_TOKEN api token ### Examples ```javascript import GithubProvider from 'github-repository-provider'; const ghp = new GithubProvider(); const r1 = ghp.repository('git@github.com:arlac77/github-repository-provider.git'); const r2 = ghp.repository('git://github.com/arlac77/github-repository-provider.git'); const r3 = ghp.repository('git+ssh://github.com/arlac77/github-repository-provider.git'); const r4 = ghp.repository('https://github.com/arlac77/github-repository-provider.git#master'); const r5 = ghp.repository('git+https://github.com/arlac77/github-repository-provider.git#master'); const r6 = ghp.repository('arlac77/github-repository-provider'); // different ways to address the same repository ``` ### initializeRepositories <https://developer.github.com/v3/repos/#list-repositories-for-the-authenticated-user> ### repositoryBases All possible base urls * github: * <git@github.com> * git://github.com * git+ssh://github.com * <https://github.com> * git+<https://github.com> Returns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** common base urls of all repositories ### name We are called github. Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** github ### instanceIdentifier Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** default environment name prefix for the provider instance ## GithubPullRequest **Extends PullRequest** Github pull request. ### \_merge <https://developer.github.com/v3/pulls/#merge-a-pull-request> #### Parameters * `method` (optional, default `"MERGE"`) ### update ### validMergeMethods All valid merge methods. Returns **[Set](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Set)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** valid merge methods ### list <https://developer.github.com/v3/pulls/#list-pull-requests> #### Parameters * `repository` **Repository**&#x20; * `filter` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** (optional, default `{}`) ### open <https://developer.github.com/v3/pulls/#create-a-pull-request> #### Parameters * `source` **Branch**&#x20; * `destination` **Branch**&#x20; * `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**&#x20; ## GithubRepository **Extends Repository** Repository on GitHub. ### defaultBranchName Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** "main" ### commits <https://docs.github.com/en/rest/reference/commits#list-commits> #### Parameters * `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**&#x20; Returns **AsyncIterable\<Commit>**&#x20; ### commitForSha <https://developer.github.com/v3/git/commits/#get-a-commit> #### Parameters * `sha` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20; Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)>** response ### tree * **See**: <https://developer.github.com/v3/git/trees/> #### Parameters * `sha` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20; Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)>>**&#x20; ### addTree * **See**: <https://developer.github.com/v3/git/trees/> #### Parameters * `updates` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)>**&#x20; * `base` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** base tree sha Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)>** newly created tree ### initializeBranches <https://developer.github.com/v3/repos/branches/#list-branches> ### initializeTags <https://docs.github.com/en/rest/reference/repos#list-repository-tags> ### url Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** github https url ### issuesURL Deliver the url of issue tracking system. Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20; ### homePageURL Deliver the url of the repositories home page. Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20; ### api API endpoint for ourselfs. Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20; ### update <https://docs.github.com/de/rest/repos/repos?apiVersion=2022-11-28#update-a-repository> ### refId Get sha of a ref. <https://developer.github.com/v3/git/refs/> #### Parameters * `ref` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20; Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** sha of the ref ### \_setRefId #### Parameters * `ref` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20; * `sha` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20; ### setRefId <https://docs.github.com/en/github-ae@latest/rest/git/refs#update-a-reference> #### Parameters * `ref` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20; * `sha` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20; * `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**&#x20; Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)>**&#x20; ### deletePullRequest <https://developer.github.com/v3/pulls/#update-a-pull-request> #### Parameters * `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20; ### initializeHooks <https://developer.github.com/v3/repos/hooks/> # install With [npm](http://npmjs.org) do: ```shell npm install github-repository-provider ``` # license BSD-2-Clause