All files / src/scripts fetchContributors.ts

0% Statements 0/14
0% Branches 0/1
0% Functions 0/3
0% Lines 0/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40                                                                               
/* eslint-disable camelcase */
import Octokit from "@octokit/rest";
import { writeJSON } from "fs-extra";
 
console.log("Fetching Github Contributors");
 
Iif (!process.env.CREDITS_GITHUB_ACCESS_TOKEN) {
  console.log("Env variable CREDITS_GITHUB_ACCESS_TOKEN is not set");
  process.exit();
}
 
const ACCESS_TOKEN = process.env.CREDITS_GITHUB_ACCESS_TOKEN;
 
const octokit = new Octokit({});
 
const main = async () => {
  const contributors = (
    await octokit.paginate("GET /repos/chrismaltby/gb-studio/contributors", {
      owner: "octocat",
      repo: "gb-studio",
      per_page: 100,
      headers: {
        "X-GitHub-Api-Version": "2022-11-28",
        Authorization: `Bearer ${ACCESS_TOKEN}`,
      },
    })
  ).filter((contributor) => {
    // Filter out bots
    return !contributor.login.includes("[bot]");
  });
 
  await writeJSON("./contributors.json", contributors, {
    spaces: 2,
  });
};
 
main().then(() => console.log("Fetched Github Contributors!"));
 
export {};