diff --git a/apps/web/scripts/changelog.mjs b/apps/web/scripts/changelog.mjs new file mode 100644 index 000000000..8eb223fab --- /dev/null +++ b/apps/web/scripts/changelog.mjs @@ -0,0 +1,31 @@ +import fetch from "node-fetch"; +import fs from "fs/promises"; + +async function getMilestones() { + const url = `https://api.github.com/repos/streetwriters/notesnook/milestones?state=closed`; + const response = await fetch(url); + if (response.ok) return await response.json(); +} + +async function getIssues(milestone) { + const url = `https://api.github.com/repos/streetwriters/notesnook/issues?milestone=${milestone}&state=closed`; + const response = await fetch(url); + if (response.ok) return await response.json(); +} + +(async function main() { + const milestone = (await getMilestones()) + .sort((a, b) => a.number - b.number) + .pop(); + console.log("Generating changelog for version", milestone.title); + const issues = await getIssues(milestone.number); + + await fs.writeFile( + `changelog-${milestone.title}.md`, + issues + .map((issue, index) => { + return `${index + 1}. ${issue.title} (#${issue.number})`; + }) + .join("\n") + ); +})();