Would you like to clone this notebook?

When you clone a notebook you are able to make changes without affecting the original notebook.

Cancel

get all repository contributors logins

node v18.11.0
version: 2.0.0
endpointsharetweet
const { Octokit } = require("octokit") const octokit = new Octokit({ auth: process.env.GITHUB_TOKEN }) const owner = "processing" const repo = "p5.js" const codeContributorLogins = await octokit.paginate('GET /repos/{owner}/{repo}/contributors', { owner, repo }, (response) => response.data.map(user => user.login)) console.log(codeContributorLogins.length + " code contributors found via `GET /repos/{owner}/{repo}/contributors`:") console.log(codeContributorLogins.sort().join(", "))
const { data: allContributorsJSON } = await octokit.request("/repos/{owner}/{repo}/contents/{path}", { owner, repo, path: ".all-contributorsrc", mediaType: { format: "raw" } }) const allContributorsLogins = JSON.parse(allContributorsJSON).contributors.map(user => user.login) console.log(allContributorsLogins.length + " users found in .all-contributorsrc file") console.log(allContributorsLogins.sort().join(", "))
const missingCodeContributorsInAllContributors = codeContributorLogins.filter(login => !allContributorsLogins.includes(login)); console.log(missingCodeContributorsInAllContributors.length + " code contributors missing in .all-contributorsrc file") console.log(missingCodeContributorsInAllContributors.sort().join(", "))
Loading…

no comments

    sign in to comment