'use strict'; const fs = require('fs').promises; const linkify = require('linkify-it')(); const questions = require('./jeopardy_raw.json'); async function init() { const curatedQuestions = await Promise.all(questions.map(async (question) => { const links = linkify.match(question.question); if (links?.length > 0 || /\[jpe?g\]/.test(question.question)) { console.log(`Discarding question due URL: ${question.question}`); return null; } return { ...question, question: question.question.replace(/^'|'$/g, ''), answer: question.answer.replace(/^((the|an|a)\b(?!-)|\(.*\))\s*|\(.*\)$|"|\\/gi, ''), fullAnswer: question.answer, }; })); await fs.writeFile('assets/jeopardy.json', JSON.stringify(curatedQuestions.filter(Boolean), null, 4)); } init();