Created
June 25, 2025 05:48
-
-
Save milksense/d3f478470323cc38a5c58f0be65dc4e1 to your computer and use it in GitHub Desktop.
Get stars from GitHub repo
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export async function getStars(): Promise<string> { | |
try { | |
const res = await fetch( | |
"https://api.github.com/repos/milksense/milksense", | |
{ | |
next: { revalidate: 3600 }, | |
} | |
); | |
if (!res.ok) { | |
throw new Error(`GitHub API error: ${res.status} ${res.statusText}`); | |
} | |
const data = await res.json(); | |
const count = data.stargazers_count; | |
if (typeof count !== "number") { | |
throw new Error("Invalid stargazers_count from GitHub API"); | |
} | |
if (count >= 1_000_000) | |
return (count / 1_000_000).toFixed(1).replace(/\.0$/, "") + "M"; | |
if (count >= 1_000) | |
return (count / 1_000).toFixed(1).replace(/\.0$/, "") + "k"; | |
return count.toString(); | |
} catch (error) { | |
console.error("Failed to fetch GitHub stars:", error); | |
return "1.5k"; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment