Public
Back
Version 26
6/8/2023
async function repositoriesFromOrg(
owner: string,
token: string,
type: "all" | "public" | "private" | "forks" | "sources" | "member" = "all",
sort: "created" | "updated" | "pushed" | "full_name" = "created",
direction: "asc" | "desc" = "desc",
): Promise<string[]> {
const { Octokit } = await import("npm:@octokit/core");
const { paginateRest } = await import("npm:@octokit/plugin-paginate-rest");
const PaginatedOctokit = Octokit.plugin(paginateRest);
const gh = new PaginatedOctokit({ auth: token });
const parameters = {
type,
sort,
direction,
per_page: 100,
};
let repositories = [];
try {
const repos = await gh.paginate(`GET /orgs/${owner}/repos`, parameters);
console.log(`${repos.length} repositories found for ${owner}.`);
for (const r of repos) {
repositories.push({
name: r.name,
full_name: r.full_name,
description: r.description,
html_url: r.html_url,
private: r.private,
fork: r.fork,
archived: r.archived,
});
}
return repositories;
}
catch ({ name, message }) {
if (name == "HttpError") {
Updated: October 23, 2023