@wesleytodd, @blakeembrey, @bjohansebas, @UlisesGascon, @Phillip9587, @carpasse, @jonchurch, @ctcpip, @inigomarquinez, @github-actions[bot], @carlosstenzel, @crandmck, @chrisdel101, @dpopp07, @Ayoub-Mabrouk, @jonkoops, @IamLizu, @marco-ippolito, @ipreencekmr, @ShubhamOulkar, @raksbisht, @jeffreybaird, @dougwilson, @mertcanaltin, @dependabot[bot], @GeorgeShvab, @RobinTail, @EvanHahn, @rhodgkins, @cengizcmataraci, @Shantanugupta43, @italojs, @ljharb, @MaoShizhong, @aroyan, @Binilkks, @danielgindi, @papandreou, @jsoref, @bigbigDreamer, @broofa, @CommanderRoot, @andvea, @juanarbol, @agungjati, @alexandercerutti, @pr4j3sh, @hamirmahal, @slagiewka, @Abdel-Monaam-Aouini, @sazk07, @bhavya3024, @joshbuker, @almic, @FDrag0n, @Dmitry-Kondar, @attrid, @kristof-low, @gireeshpunathil, @UzairJ99, @choi2021, @hayden36, @joharkhan99, @peterh-capella, @johnburnett, @nicolasgandrade, @axhuwastaken, @abhijeetpandit7, @peterdanwan, @rehmansheikh222, @corydalis10, @mgsantos177, @wilyJ80, @LuiGeeDev, @juliogarciape, @aelmardhi, @Ahmed1monm, @erensarac, @tomasz13nocon, @tianbuyung, @GreyTearsDev, @aastha-cse, @krzysdz, @Miguelrom, @bnoordhuis, @MehfoozurRehman, @EasonLin0716, @grjan7, @mishrasur7, @gregfenton, @zareefhasan, @Tejas150, @jpricardo, @nikeee, @dotnetCarpenter, @engpetermwangi, @msimerson, @fetsorn, @manoharreddyporeddy, @lancatlin, @mifi, @meowingwhitey, @sheplu, @krsriq, @ravibisht, @wojtekmaj, @aqeelat, @melikhov-dev, @alexstrat, @isnifer, @TorstenDittmann, @Uzlopak, @gurgunday, @kurtextrem, @hdtmccallie, @proudparrot2, @bewinsnw, @jonboulle, @alexander-akait, @alxndrsn, @DimitriPapadopoulos, @greggman, @jkbach, @julien-c, @risu729, @JohnSimumatik, @dhouck, @pedro-php, @aminerol, @robertsky, @ipetrouchtchak-fi, @tinhochu, @Lord-Kamina, @joshkel, @raiandexter0607, @NateEag, @rmhaiderali, @ljeda
Created
March 29, 2025 20:45
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
{ | |
"contributor": "wesleytodd", | |
"url": "https://github.com/wesleytodd", | |
"contributions": 146 | |
}, | |
{ | |
"contributor": "blakeembrey", | |
"url": "https://github.com/blakeembrey", | |
"contributions": 111 | |
}, | |
{ | |
"contributor": "bjohansebas", | |
"url": "https://github.com/bjohansebas", | |
"contributions": 89 | |
}, | |
{ | |
"contributor": "UlisesGascon", | |
"url": "https://github.com/UlisesGascon", | |
"contributions": 77 | |
}, | |
{ | |
"contributor": "Phillip9587", | |
"url": "https://github.com/Phillip9587", | |
"contributions": 73 | |
}, | |
{ | |
"contributor": "carpasse", | |
"url": "https://github.com/carpasse", | |
"contributions": 43 | |
}, | |
{ | |
"contributor": "jonchurch", | |
"url": "https://github.com/jonchurch", | |
"contributions": 37 | |
}, | |
{ | |
"contributor": "ctcpip", | |
"url": "https://github.com/ctcpip", | |
"contributions": 22 | |
}, | |
{ | |
"contributor": "inigomarquinez", | |
"url": "https://github.com/inigomarquinez", | |
"contributions": 21 | |
}, | |
{ | |
"contributor": "github-actions[bot]", | |
"url": "https://github.com/github-actions[bot]", | |
"contributions": 17 | |
}, | |
{ | |
"contributor": "carlosstenzel", | |
"url": "https://github.com/carlosstenzel", | |
"contributions": 11 | |
}, | |
{ | |
"contributor": "crandmck", | |
"url": "https://github.com/crandmck", | |
"contributions": 10 | |
}, | |
{ | |
"contributor": "chrisdel101", | |
"url": "https://github.com/chrisdel101", | |
"contributions": 9 | |
}, | |
{ | |
"contributor": "dpopp07", | |
"url": "https://github.com/dpopp07", | |
"contributions": 8 | |
}, | |
{ | |
"contributor": "Ayoub-Mabrouk", | |
"url": "https://github.com/Ayoub-Mabrouk", | |
"contributions": 7 | |
}, | |
{ | |
"contributor": "jonkoops", | |
"url": "https://github.com/jonkoops", | |
"contributions": 7 | |
}, | |
{ | |
"contributor": "IamLizu", | |
"url": "https://github.com/IamLizu", | |
"contributions": 7 | |
}, | |
{ | |
"contributor": "marco-ippolito", | |
"url": "https://github.com/marco-ippolito", | |
"contributions": 7 | |
}, | |
{ | |
"contributor": "ipreencekmr", | |
"url": "https://github.com/ipreencekmr", | |
"contributions": 6 | |
}, | |
{ | |
"contributor": "ShubhamOulkar", | |
"url": "https://github.com/ShubhamOulkar", | |
"contributions": 5 | |
}, | |
{ | |
"contributor": "raksbisht", | |
"url": "https://github.com/raksbisht", | |
"contributions": 5 | |
}, | |
{ | |
"contributor": "jeffreybaird", | |
"url": "https://github.com/jeffreybaird", | |
"contributions": 5 | |
}, | |
{ | |
"contributor": "dougwilson", | |
"url": "https://github.com/dougwilson", | |
"contributions": 4 | |
}, | |
{ | |
"contributor": "mertcanaltin", | |
"url": "https://github.com/mertcanaltin", | |
"contributions": 3 | |
}, | |
{ | |
"contributor": "dependabot[bot]", | |
"url": "https://github.com/dependabot[bot]", | |
"contributions": 3 | |
}, | |
{ | |
"contributor": "GeorgeShvab", | |
"url": "https://github.com/GeorgeShvab", | |
"contributions": 3 | |
}, | |
{ | |
"contributor": "RobinTail", | |
"url": "https://github.com/RobinTail", | |
"contributions": 2 | |
}, | |
{ | |
"contributor": "EvanHahn", | |
"url": "https://github.com/EvanHahn", | |
"contributions": 2 | |
}, | |
{ | |
"contributor": "rhodgkins", | |
"url": "https://github.com/rhodgkins", | |
"contributions": 2 | |
}, | |
{ | |
"contributor": "cengizcmataraci", | |
"url": "https://github.com/cengizcmataraci", | |
"contributions": 2 | |
}, | |
{ | |
"contributor": "Shantanugupta43", | |
"url": "https://github.com/Shantanugupta43", | |
"contributions": 2 | |
}, | |
{ | |
"contributor": "italojs", | |
"url": "https://github.com/italojs", | |
"contributions": 2 | |
}, | |
{ | |
"contributor": "ljharb", | |
"url": "https://github.com/ljharb", | |
"contributions": 2 | |
}, | |
{ | |
"contributor": "MaoShizhong", | |
"url": "https://github.com/MaoShizhong", | |
"contributions": 2 | |
}, | |
{ | |
"contributor": "aroyan", | |
"url": "https://github.com/aroyan", | |
"contributions": 2 | |
}, | |
{ | |
"contributor": "Binilkks", | |
"url": "https://github.com/Binilkks", | |
"contributions": 2 | |
}, | |
{ | |
"contributor": "danielgindi", | |
"url": "https://github.com/danielgindi", | |
"contributions": 2 | |
}, | |
{ | |
"contributor": "papandreou", | |
"url": "https://github.com/papandreou", | |
"contributions": 2 | |
}, | |
{ | |
"contributor": "jsoref", | |
"url": "https://github.com/jsoref", | |
"contributions": 2 | |
}, | |
{ | |
"contributor": "bigbigDreamer", | |
"url": "https://github.com/bigbigDreamer", | |
"contributions": 2 | |
}, | |
{ | |
"contributor": "broofa", | |
"url": "https://github.com/broofa", | |
"contributions": 2 | |
}, | |
{ | |
"contributor": "CommanderRoot", | |
"url": "https://github.com/CommanderRoot", | |
"contributions": 2 | |
}, | |
{ | |
"contributor": "andvea", | |
"url": "https://github.com/andvea", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "juanarbol", | |
"url": "https://github.com/juanarbol", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "agungjati", | |
"url": "https://github.com/agungjati", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "alexandercerutti", | |
"url": "https://github.com/alexandercerutti", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "pr4j3sh", | |
"url": "https://github.com/pr4j3sh", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "hamirmahal", | |
"url": "https://github.com/hamirmahal", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "slagiewka", | |
"url": "https://github.com/slagiewka", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "Abdel-Monaam-Aouini", | |
"url": "https://github.com/Abdel-Monaam-Aouini", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "sazk07", | |
"url": "https://github.com/sazk07", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "bhavya3024", | |
"url": "https://github.com/bhavya3024", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "joshbuker", | |
"url": "https://github.com/joshbuker", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "almic", | |
"url": "https://github.com/almic", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "FDrag0n", | |
"url": "https://github.com/FDrag0n", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "Dmitry-Kondar", | |
"url": "https://github.com/Dmitry-Kondar", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "attrid", | |
"url": "https://github.com/attrid", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "kristof-low", | |
"url": "https://github.com/kristof-low", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "gireeshpunathil", | |
"url": "https://github.com/gireeshpunathil", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "UzairJ99", | |
"url": "https://github.com/UzairJ99", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "choi2021", | |
"url": "https://github.com/choi2021", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "hayden36", | |
"url": "https://github.com/hayden36", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "joharkhan99", | |
"url": "https://github.com/joharkhan99", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "peterh-capella", | |
"url": "https://github.com/peterh-capella", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "johnburnett", | |
"url": "https://github.com/johnburnett", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "nicolasgandrade", | |
"url": "https://github.com/nicolasgandrade", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "axhuwastaken", | |
"url": "https://github.com/axhuwastaken", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "abhijeetpandit7", | |
"url": "https://github.com/abhijeetpandit7", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "peterdanwan", | |
"url": "https://github.com/peterdanwan", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "rehmansheikh222", | |
"url": "https://github.com/rehmansheikh222", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "corydalis10", | |
"url": "https://github.com/corydalis10", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "mgsantos177", | |
"url": "https://github.com/mgsantos177", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "wilyJ80", | |
"url": "https://github.com/wilyJ80", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "LuiGeeDev", | |
"url": "https://github.com/LuiGeeDev", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "juliogarciape", | |
"url": "https://github.com/juliogarciape", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "aelmardhi", | |
"url": "https://github.com/aelmardhi", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "Ahmed1monm", | |
"url": "https://github.com/Ahmed1monm", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "erensarac", | |
"url": "https://github.com/erensarac", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "tomasz13nocon", | |
"url": "https://github.com/tomasz13nocon", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "tianbuyung", | |
"url": "https://github.com/tianbuyung", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "GreyTearsDev", | |
"url": "https://github.com/GreyTearsDev", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "aastha-cse", | |
"url": "https://github.com/aastha-cse", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "krzysdz", | |
"url": "https://github.com/krzysdz", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "Miguelrom", | |
"url": "https://github.com/Miguelrom", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "bnoordhuis", | |
"url": "https://github.com/bnoordhuis", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "MehfoozurRehman", | |
"url": "https://github.com/MehfoozurRehman", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "EasonLin0716", | |
"url": "https://github.com/EasonLin0716", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "grjan7", | |
"url": "https://github.com/grjan7", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "mishrasur7", | |
"url": "https://github.com/mishrasur7", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "gregfenton", | |
"url": "https://github.com/gregfenton", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "zareefhasan", | |
"url": "https://github.com/zareefhasan", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "Tejas150", | |
"url": "https://github.com/Tejas150", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "jpricardo", | |
"url": "https://github.com/jpricardo", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "nikeee", | |
"url": "https://github.com/nikeee", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "dotnetCarpenter", | |
"url": "https://github.com/dotnetCarpenter", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "engpetermwangi", | |
"url": "https://github.com/engpetermwangi", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "msimerson", | |
"url": "https://github.com/msimerson", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "fetsorn", | |
"url": "https://github.com/fetsorn", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "manoharreddyporeddy", | |
"url": "https://github.com/manoharreddyporeddy", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "lancatlin", | |
"url": "https://github.com/lancatlin", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "mifi", | |
"url": "https://github.com/mifi", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "meowingwhitey", | |
"url": "https://github.com/meowingwhitey", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "sheplu", | |
"url": "https://github.com/sheplu", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "krsriq", | |
"url": "https://github.com/krsriq", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "ravibisht", | |
"url": "https://github.com/ravibisht", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "wojtekmaj", | |
"url": "https://github.com/wojtekmaj", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "aqeelat", | |
"url": "https://github.com/aqeelat", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "melikhov-dev", | |
"url": "https://github.com/melikhov-dev", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "alexstrat", | |
"url": "https://github.com/alexstrat", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "isnifer", | |
"url": "https://github.com/isnifer", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "TorstenDittmann", | |
"url": "https://github.com/TorstenDittmann", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "Uzlopak", | |
"url": "https://github.com/Uzlopak", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "gurgunday", | |
"url": "https://github.com/gurgunday", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "kurtextrem", | |
"url": "https://github.com/kurtextrem", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "hdtmccallie", | |
"url": "https://github.com/hdtmccallie", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "proudparrot2", | |
"url": "https://github.com/proudparrot2", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "bewinsnw", | |
"url": "https://github.com/bewinsnw", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "jonboulle", | |
"url": "https://github.com/jonboulle", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "alexander-akait", | |
"url": "https://github.com/alexander-akait", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "alxndrsn", | |
"url": "https://github.com/alxndrsn", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "DimitriPapadopoulos", | |
"url": "https://github.com/DimitriPapadopoulos", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "greggman", | |
"url": "https://github.com/greggman", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "jkbach", | |
"url": "https://github.com/jkbach", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "julien-c", | |
"url": "https://github.com/julien-c", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "risu729", | |
"url": "https://github.com/risu729", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "JohnSimumatik", | |
"url": "https://github.com/JohnSimumatik", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "dhouck", | |
"url": "https://github.com/dhouck", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "pedro-php", | |
"url": "https://github.com/pedro-php", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "aminerol", | |
"url": "https://github.com/aminerol", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "robertsky", | |
"url": "https://github.com/robertsky", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "ipetrouchtchak-fi", | |
"url": "https://github.com/ipetrouchtchak-fi", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "tinhochu", | |
"url": "https://github.com/tinhochu", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "Lord-Kamina", | |
"url": "https://github.com/Lord-Kamina", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "joshkel", | |
"url": "https://github.com/joshkel", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "raiandexter0607", | |
"url": "https://github.com/raiandexter0607", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "NateEag", | |
"url": "https://github.com/NateEag", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "rmhaiderali", | |
"url": "https://github.com/rmhaiderali", | |
"contributions": 1 | |
}, | |
{ | |
"contributor": "ljeda", | |
"url": "https://github.com/ljeda", | |
"contributions": 1 | |
} | |
] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { Octokit } from "@octokit/rest"; | |
import { writeFileSync } from "fs"; | |
const octokit = new Octokit({ auth: process.env.GITHUB_TOKEN }); | |
const repos = [ | |
"expressjs/express", | |
"expressjs/expressjs.com", | |
"jshttp/accepts", | |
"expressjs/body-parser", | |
"jshttp/content-disposition", | |
"jshttp/content-type", | |
"jshttp/cookie", | |
"pillarjs/encodeurl", | |
"jshttp/etag", | |
"jshttp/forwarded", | |
"pillarjs/finalhandler", | |
"jshttp/fresh", | |
"jshttp/http-errors", | |
"jshttp/media-typer", | |
"jshttp/mime-db", | |
"jshttp/mime-types", | |
"jshttp/negotiator", | |
"jshttp/on-finished", | |
"pillarjs/parseurl", | |
"pillarjs/path-to-regexp", | |
"jshttp/proxy-addr", | |
"jshttp/range-parser", | |
"pillarjs/router", | |
"pillarjs/send", | |
"expressjs/serve-static", | |
"jshttp/statuses", | |
"jshttp/type-is", | |
"jshttp/vary" | |
]; | |
const since = new Date("2024-01-01T00:00:00Z").toISOString(); | |
(async () => { | |
const contribMap = new Map(); | |
for (const repoFullName of repos) { | |
const [org, repo] = repoFullName.split("/"); | |
console.log(`Fetching commits for ${repoFullName} since ${since}`); | |
let page = 1; | |
let hasMore = true; | |
while (hasMore) { | |
const res = await octokit.repos.listCommits({ | |
owner: org, | |
repo, | |
since, | |
per_page: 100, | |
page, | |
}); | |
if (res.data.length === 0) { | |
hasMore = false; | |
break; | |
} | |
for (const commit of res.data) { | |
if (commit.author && commit.author.login) { | |
const login = commit.author.login; | |
contribMap.set(login, (contribMap.get(login) || 0) + 1); | |
} | |
} | |
page++; | |
} | |
} | |
const sorted = [...contribMap.entries()].sort((a, b) => b[1] - a[1]); | |
const formatted = sorted.map(([login, count]) => ({ | |
contributor: login, | |
url: `https://github.com/${login}`, | |
contributions: count, | |
})); | |
writeFileSync("contribs.json", JSON.stringify(formatted, null, 2)); | |
console.log("Contributors written to contribs.json"); | |
console.log("All contributors:"); | |
console.log(formatted.map(({ contributor, url }) => `[@${contributor}](${url})`).join(", ")) | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment