-
Notifications
You must be signed in to change notification settings - Fork 0
/
repocollection.js
53 lines (48 loc) · 1.43 KB
/
repocollection.js
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
41
42
43
44
45
46
47
48
49
50
51
52
53
const { Octokit } = require("@octokit/rest");
const octokit = new Octokit();
const fs = require('fs');
function updateRepoList() {
repos = [];
octokit.repos.listForUser({
username: "TylerOlson",
type: "owner"
}).then(({data}) => {
data.forEach(repo => {
let neededData = {
name: repo.name,
private: repo.private,
html_url: repo.html_url,
description: repo.description,
fork: repo.fork,
created_at: repo.created_at,
updated_at: repo.updated_at,
size: repo.size,
stargazers_count: repo.stargazers_count,
language: repo.language,
forks: repo.forks,
open_issues_count: repo.open_issues_count
}
repos.push(neededData);
});
fs.writeFile("repos.json", JSON.stringify(repos, null, "\t"), function(err) {
if (err) {
console.log(err);
} else {
console.log("Updated repos at " + new Date().toLocaleString());
}
});
});
return repos;
}
function getRepoList() {
console.log();
if (fs.existsSync('repos.json')) {
let repoFile = fs.readFileSync('repos.json');
let repos = JSON.parse(repoFile);
return repos;
}
}
module.exports = {
updateRepoList,
getRepoList
}