#!/usr/bin/env node const fs = require('fs'); const path = require('path'); const diskPath = path.resolve('json/disks'); const dir = fs.readdirSync(diskPath); const index = []; for (const fileName of dir.sort()) { if (/\.json$/.test(fileName)) { const json = fs.readFileSync(path.resolve(diskPath, fileName)); const data = JSON.parse(json); if (data.private) { continue; } if (!data.name || !data.category) { continue; } const entry = { filename: `json/disks/${fileName}`, e: data['2e'], name: data.name, disk: data.disk, category: data.category, }; index.push(entry); } } index.sort((x, y) => { const xc = x.category.toLowerCase(); const yc = y.category.toLowerCase(); const xn = x.name.toLowerCase(); const yn = y.name.toLowerCase(); if (xc < yc) { return -1; } else if (xc > yc) { return 1; } else if (xn < yn) { return -1; } else if (xn > yn) { return 1; } else { return 0; } }); fs.writeFileSync( path.resolve(diskPath, 'index.js'), `disk_index = ${JSON.stringify(index, null, 2)};` ); fs.writeFileSync( path.resolve(diskPath, 'index.json'), JSON.stringify(index, null, 2) );