import { existsSync } from 'node:fs'; import { spawnSync } from 'node:child_process'; const key = process.env.SITE_KEY; if (!key || !/^[a-z0-9][a-z0-9-]{0,62}$/.test(key) || !existsSync(`sites/${key}/site.json`)) { throw new Error('SITE_KEY must be a manifest-defined site directory.'); } const result = spawnSync('npm', ['run', 'build', '--', '--outDir', `dist/${key}`], { env: { ...process.env, SITE_KEY: key }, stdio: 'inherit' }); if (result.status !== 0) process.exit(result.status ?? 1); const seo = spawnSync('node', ['scripts/generate-seo.mjs'], { env: { ...process.env, SITE_KEY: key }, stdio: 'inherit' }); if (seo.status !== 0) process.exit(seo.status ?? 1);