|
1 | | -const GitHub = require("github-api"); |
| 1 | +const axios = require("axios"); |
2 | 2 | const packageJson = require("../package.json"); |
3 | 3 | const { compareVersions } = require("compare-versions"); |
4 | 4 | const memoizee = require("memoizee"); |
5 | 5 |
|
| 6 | +const REPO_OWNER = "cyfershepard"; |
| 7 | +const REPO_NAME = "Jellystat"; |
| 8 | + |
6 | 9 | async function checkForUpdates() { |
7 | 10 | const currentVersion = packageJson.version; |
8 | | - const repoOwner = "cyfershepard"; |
9 | | - const repoName = "Jellystat"; |
10 | | - const gh = new GitHub(); |
11 | | - |
12 | | - let result = { current_version: packageJson.version, latest_version: "", message: "", update_available: false }; |
13 | | - |
14 | | - let latestVersion; |
| 11 | + let result = { current_version: currentVersion, latest_version: "", message: "", update_available: false }; |
15 | 12 |
|
16 | 13 | try { |
17 | | - const path = "package.json"; |
18 | | - |
19 | | - const response = await gh.getRepo(repoOwner, repoName).getContents("main", path); |
20 | | - const content = response.data.content; |
21 | | - const decodedContent = Buffer.from(content, "base64").toString(); |
22 | | - latestVersion = JSON.parse(decodedContent).version; |
| 14 | + const response = await axios.get( |
| 15 | + `https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/contents/package.json`, |
| 16 | + { headers: { Accept: "application/vnd.github.raw+json" } } |
| 17 | + ); |
| 18 | + const latestVersion = response.data.version; |
23 | 19 |
|
24 | 20 | if (compareVersions(latestVersion, currentVersion) > 0) { |
25 | | - // console.log(`A new version V.${latestVersion} of ${repoName} is available.`); |
26 | | - result = { |
27 | | - current_version: packageJson.version, |
28 | | - latest_version: latestVersion, |
29 | | - message: `${repoName} has an update ${latestVersion}`, |
30 | | - update_available: true, |
31 | | - }; |
| 21 | + result = { current_version: currentVersion, latest_version: latestVersion, message: `${REPO_NAME} has an update ${latestVersion}`, update_available: true }; |
32 | 22 | } else if (compareVersions(latestVersion, currentVersion) < 0) { |
33 | | - // console.log(`${repoName} is using a beta version.`); |
34 | | - result = { |
35 | | - current_version: packageJson.version, |
36 | | - latest_version: latestVersion, |
37 | | - message: `${repoName} is using a beta version`, |
38 | | - update_available: false, |
39 | | - }; |
| 23 | + result = { current_version: currentVersion, latest_version: latestVersion, message: `${REPO_NAME} is using a beta version`, update_available: false }; |
40 | 24 | } else { |
41 | | - // console.log(`${repoName} is up to date.`); |
42 | | - result = { |
43 | | - current_version: packageJson.version, |
44 | | - latest_version: latestVersion, |
45 | | - message: `${repoName} is up to date`, |
46 | | - update_available: false, |
47 | | - }; |
| 25 | + result = { current_version: currentVersion, latest_version: latestVersion, message: `${REPO_NAME} is up to date`, update_available: false }; |
48 | 26 | } |
49 | 27 | } catch (error) { |
50 | | - console.error(`Failed to fetch releases for ${repoName}: ${error.message}`); |
51 | | - result = { |
52 | | - current_version: packageJson.version, |
53 | | - latest_version: "N/A", |
54 | | - message: `Failed to fetch releases for ${repoName}: ${error.message}`, |
55 | | - update_available: false, |
56 | | - }; |
| 28 | + console.error(`Failed to fetch releases for ${REPO_NAME}: ${error.message}`); |
| 29 | + result = { current_version: currentVersion, latest_version: "N/A", message: `Failed to fetch releases for ${REPO_NAME}: ${error.message}`, update_available: false }; |
57 | 30 | } |
58 | 31 |
|
59 | 32 | return result; |
60 | 33 | } |
61 | 34 |
|
62 | | -const memoizedCheckForUpdates = memoizee(checkForUpdates, { maxAge: 300000, promise: true }); |
63 | | - |
64 | | -module.exports = { checkForUpdates: memoizedCheckForUpdates }; |
| 35 | +module.exports = { checkForUpdates: memoizee(checkForUpdates, { maxAge: 300000, promise: true }) }; |
0 commit comments