web/utils/contributors.js

40 lines
1.1 KiB
JavaScript
Raw Normal View History

2023-11-13 03:03:34 +01:00
import "https://deno.land/std@0.206.0/dotenv/load.ts";
const contributorRepos = [
"web3privacy/web3privacy",
"web3privacy/events",
"web3privacy/w3ps1",
"web3privacy/grants",
"web3privacy/website",
2023-12-20 23:14:44 +01:00
"web3privacy/explorer",
"web3privacy/explorer-data",
"web3privacy/explorer-app",
2023-11-13 03:03:34 +01:00
//"web3privacy/w3pn-web",
]
async function getContributors () {
const output = [];
for (const cr of contributorRepos) {
const response = await fetch(`https://api.github.com/repos/${cr}/contributors`, {
2023-11-24 10:56:28 +01:00
//headers: {
// "Authorization": `Token ${Deno.env.get('GITHUB_TOKEN')}`
//}
2023-11-13 03:03:34 +01:00
});
const arr = await response.json();
2023-11-24 10:56:28 +01:00
console.log(arr)
2023-11-13 03:03:34 +01:00
for (const item of arr) {
const found = output.find(i => i.login === item.login)
if (!found) {
output.push(item)
} else {
found.contributions += item.contributions
}
}
}
return output.sort((x, y) => y.contributions > x.contributions ? 1 : -1);
}
const contributors = await getContributors()
await Deno.writeTextFile("./src/contributors.json", JSON.stringify(contributors, null, 2))
console.log(`File ./src/contributors.json saved`)