Fix opensource star count shoing NaN

astro
Kamran Ahmed 2 years ago
parent 58315932be
commit 313e584711
  1. 2
      astro.config.mjs
  2. 21
      src/lib/github.ts

@ -30,6 +30,6 @@ export default defineConfig({
filter: shouldIndexPage,
serialize: serializeSitemap,
}),
critters(),
// critters(),
],
});

@ -2,20 +2,33 @@ const formatter = Intl.NumberFormat('en-US', {
notation: 'compact',
});
let starCount: number | undefined = undefined;
export async function countStars(
repo = 'kamranahmedse/developer-roadmap'
): Promise<number> {
const repoData = await fetch(`https://api.github.com/repos/${repo}`);
const json = await repoData.json();
if (starCount) {
return starCount;
}
try {
const repoData = await fetch(`https://api.github.com/repos/${repo}`);
const json = await repoData.json();
starCount = json.stargazers_count * 1;
} catch (e) {
console.log('Failed to fetch stars', e);
starCount = 224000;
}
return json.stargazers_count * 1;
return starCount;
}
export async function getFormattedStars(
repo = 'kamranahmedse/developer-roadmap'
): Promise<string> {
if (import.meta.env.DEV) {
return '223k';
return '224k';
}
const stars = await countStars(repo);

Loading…
Cancel
Save