function fetchContributors()

in scripts/contributor.js [31:66]


function fetchContributors() {
  var promises = repositoryUrls.map(function(url, index) {
    return fetchPagedContributors(url, index, 1, []);
  });

  return Promise.all(promises).then(function(results) {
    // filter duplicate contributors
    var uniqueContributors = [];
    allContributors.forEach(function(contributor) {
      var existingContributor = uniqueContributors.find(function(c) {
        return c.name === contributor.name;
      });
      if (!existingContributor) {
        uniqueContributors.push(contributor);
      }
    });

    // Sort by name field
    uniqueContributors.sort(function(a, b) {
      return a.name.localeCompare(b.name);
    });

    // read existing data from team.json
    var existingData = fs.readFileSync(outputFile, 'utf8');
    var jsonData = JSON.parse(existingData);
    jsonData[2].count = uniqueContributors.length;
    jsonData[2].users = uniqueContributors;

    // save data to team.json
    fs.writeFile(outputFile, JSON.stringify(jsonData, null, 2), function(err) {
      if (err) {
        console.error('write file err:', err);
      }
    });
  });
}