import { Router } from 'express' import { listPackKeys, loadPackDefinition, readManifest } from '../../shared/store' export const indexRouter = Router() indexRouter.get('/', async (_req, res, next) => { try { const manifest = await readManifest() const definitionMap = new Map>>() const keys = await listPackKeys() for (const key of keys) { definitionMap.set(key, await loadPackDefinition(key)) } const packs = manifest.packs.map((entry) => ({ name: entry.name, file: entry.file, definition: definitionMap.get(entry.file) ?? null })) res.render('index', { packs }) } catch (error) { next(error) } })