-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.js
More file actions
104 lines (96 loc) · 2.81 KB
/
main.js
File metadata and controls
104 lines (96 loc) · 2.81 KB
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
const fs = require('fs');
const { Octokit } = require("@octokit/core");
const request = require('request');
const DashiumModules = [];
const octokit = new Octokit();
function Get_requires(repo) {
var url = `https://raw.githubusercontent.com/${repo}/main/dashium_module.json`;
request(url, async function (error, response, body) {
if(error != null){
return logger('err', error);
}
if(body != null){
if(body != "404: Not Found"){
var get_content = JSON.parse(body);
var requires = JSON.stringify(get_content.require) || "null";
return requires;
}
else{
return "null";
}
}
});
}
function Get_version(repo) {
var url = `https://raw.githubusercontent.com/${repo}/main/dashium_module.json`;
request(url, function (error, response, body) {
if(error != null){
return logger('err', error);
}
if(body != null){
if(body != "404: Not Found"){
var get_content = JSON.parse(body);
var version = get_content || "null";
return version;
}
else{
return "null";
}
}
});
}
function init(){
octokit.request('GET /orgs/Dashium/repos', {
org: 'org'
}).then((val) => {
if(val != null){
if(val.status == 200){
for(i=0;i<val.data.length;i++){
let current = val.data[i];
module(current);
}
}
}
});
}
init();
function logger(lvl, content){
switch(lvl){
case 'err':
console.log(`ERROR: ${content}`);
break;
case 'info':
console.log(`LOG: ${content}`);
break;
default:
console.log(`LOG: ${content}`);
}
}
async function module(current) {
var version = Get_version(current.full_name) || "null";
var requires = Get_requires(current.full_name) || "null";
var module = {
"name": current.name,
"repo_name": current.full_name,
"repo_url": current.html_url,
"version": version,
"license": current.license.name,
"requires": requires
}
DashiumModules.push(module);
fs.writeFileSync('modules.json', JSON.stringify(DashiumModules));
}
function get_url(url) {
if(url == null){
logger('err', `No argument found on get_url function !`);
return false;
}
request(url, function (error, response, body) {
if(error != null){
return logger('err', error);
}
if(body != null){
return body;
}
});
}