Files
3031023-xyz-public/scripts/build-site.mjs
T

14 lines
502 B
JavaScript

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);