#!/usr/bin/env node /** * configure.mjs — stamp site.config.json (the single source of identity) into * every engine config. Run after editing site.config.json: * * node scripts/configure.mjs * * Writes: * - app/src/config/site.json (Astro theme reads this) */ import { readFileSync, writeFileSync, mkdirSync } from "node:fs"; import { dirname, resolve } from "node:path"; import { fileURLToPath } from "node:url"; const root = resolve(dirname(fileURLToPath(import.meta.url)), ".."); const read = (p) => JSON.parse(readFileSync(resolve(root, p), "utf8")); const write = (p, obj) => { const full = resolve(root, p); mkdirSync(dirname(full), { recursive: true }); writeFileSync(full, JSON.stringify(obj, null, 2) + "\n"); console.log(" wrote", p); }; const site = read("site.config.json"); console.log(`Configuring site: ${site.name} <${site.url}>`); // 1) Astro theme write("app/src/config/site.json", { name: site.name, url: site.url, description: site.description, tagline: site.tagline, language: site.language, author: site.author, social: site.social, }); console.log("Done. Rebuild the site: (cd app && npm run build)");