import fs from "node:fs"; import path from "node:path"; import { root, validateProfiles } from "./profile-utils.mjs"; const result = validateProfiles(); if (result.errors.length) { console.error(result.errors.join("\n")); process.exit(1); } const payload = { schema_version: "1.0.0", generated_at: generatedAt(result.profiles), profiles: result.profiles, }; const target = path.join(root, "assets", "local-frontier-profile-data.js"); const source = `window.LOCAL_FRONTIER_PROFILE_DATA = ${JSON.stringify(payload, null, 2)};\n`; fs.writeFileSync(target, source); console.log( `wrote ${path.relative(root, target)} with ${result.profiles.length} profiles`, ); function generatedAt(profiles) { const dates = profiles .map((profile) => profile.review?.reviewed_at) .filter(Boolean) .sort(); const latest = dates.at(-1) || "1970-01-01"; return `${latest}T00:00:00.000Z`; }