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
|
module.exports = async () => {
const spinner = ora("Fetching package lists...").start();
let list = (await axios.get("https://twipkg.cdn.minteck.org/packages.json")).data;
if (fs.existsSync(home + "/repository")) {
fs.rmSync(home + "/repository", { recursive: true });
}
fs.mkdirSync(home + "/repository");
fs.writeFileSync(home + "/repository/list.json", JSON.stringify(list));
let index = 0;
for (let pkg of list) {
spinner.text = "Fetching package lists... " + Math.round((index / list.length) * 100) + "%";
let dir = pkg.substring(0, 1).replace(/[^a-zA-Z0-9]/gm, "#");
let pack = (await axios.get("https://twipkg.cdn.minteck.org/" + dir + "/" + pkg + ".json")).data;
let verdata = (await axios.get(pack.version)).data;
pack.verdata = {
latest: verdata.commit.short_id,
publisher: {
name: verdata.commit.author_name,
email: verdata.commit.author_email
},
date: verdata.commit.created_at
}
let signRaw = { error: "404 Not Found" };
try {
signRaw = (await axios.get(pack.signature.replace("{version}", verdata.commit.id))).data;
} catch (e) {}
pack.sign = {
signed: false,
verified: false,
key: null,
signer: {
name: null,
email: null
}
}
if (signRaw.error !== "404 Not Found") {
pack.sign.signed = true;
if (signRaw.verification_status === "verified") {
pack.sign.verified = true;
} else {
pack.sign.verified = false;
}
if (signRaw.gpg_key_user_name) {
pack.sign.signer.name = signRaw.gpg_key_user_name;
}
if (signRaw.gpg_key_user_email) {
pack.sign.signer.email = signRaw.gpg_key_user_email;
}
if (signRaw.gpg_key_primary_keyid) {
pack.sign.key = signRaw.gpg_key_primary_keyid;
}
}
if (!fs.existsSync(home + "/repository/" + dir)) {
fs.mkdirSync(home + "/repository/" + dir);
}
fs.writeFileSync(home + "/repository/" + dir + "/" + pkg + ".json", JSON.stringify(pack));
index++;
}
spinner.succeed("Fetching package lists... done");
//process.exit();
}
|