react/scripts/bench/benchmarks/hacker-news/generate.js

26 lines
715 B
JavaScript

'use strict';
const fetch = require('node-fetch');
const { writeFileSync } = require('fs');
const stories = 50;
async function getStory(id) {
const storyRes = await fetch(`https://hacker-news.firebaseio.com/v0/item/${id}.json`);
return await storyRes.json();
}
async function getTopStories() {
const topStoriesRes = await fetch('https://hacker-news.firebaseio.com/v0/topstories.js');
const topStoriesIds = await topStoriesRes.json();
const topStories = [];
for (let i = 0; i < stories; i++) {
const topStoriesId = topStoriesIds[i];
topStories.push(await getStory(topStoriesId));
}
writeFileSync('top-stories.json', `window.stories = ${JSON.stringify(topStories)}`);
}
getTopStories();