feat(ui): add button more frameworks

This commit is contained in:
Mathieu Schimmerling
2023-07-20 10:01:54 +07:00
parent 0e0bee7d8c
commit 329b02136a
4 changed files with 231 additions and 109 deletions

View File

@@ -0,0 +1,37 @@
import frameworks from "../frameworks.mjs";
const mainPackageNames = frameworks.map((f) => f.mainPackageName);
async function getPackageDownloads(packageName) {
try {
const response = await fetch(
`https://api.npmjs.org/downloads/point/last-month/${packageName}`
);
const data = await response.json();
return data.downloads;
} catch (error) {
console.error(
`Failed to fetch download stats for package ${packageName}: `,
error
);
return null;
}
}
async function sortPackagesByDownloads(packages) {
try {
const downloadStats = await Promise.all(packages.map(getPackageDownloads));
return packages
.map((packageName, index) => ({
packageName,
downloads: downloadStats[index] || 0,
}))
.sort((a, b) => b.downloads - a.downloads); // sort in descending order
} catch (error) {
console.error(`Failed to sort packages: `, error);
return null;
}
}
sortPackagesByDownloads(mainPackageNames).then(console.log);