scripts/update_github_info.js (40 lines of code) (raw):

const path = require('path'); const fs = require('fs'); function formatStar(star) { return String(star) .split('') .reverse() .reduce((prev, next, index) => { return (index % 3 ? next : next + '.') + prev; }); } async function getGithubStar() { try { const res = await fetch('https://api.github.com/repos/apache/doris'); const data = await res.json(); if (data && data.stargazers_count) { const starStr = (+parseFloat(formatStar(data.stargazers_count)).toFixed(1)).toString(); return starStr; } } catch (err) { console.error(err); } } function updateGithubData(newStar) { const filePath = path.join(__dirname, '../src/constant/github.data.ts'); const content = fs.readFileSync(filePath, 'utf-8'); const newContent = content.replace(/export const STAR_COUNT = '.*';/, `export const STAR_COUNT = '${newStar}';`); fs.writeFileSync(filePath, newContent, 'utf-8'); } async function main() { const star = await getGithubStar(); if (star) { try { updateGithubData(star); console.log('successful,stars:', star); } catch (err) { console.error(err); } } } main();