clawdie-ai/bootstrap/cms/clawdie-docs/scripts/deploy-docs.mjs
Operator & Codex e3ad322d3b Rename Astro docs project to clawdie-docs (Sam & Claude)
Make the docs renderer name match its purpose, add CMS_DOCS_SITE_PATH with ASTRO_SITE_PATH compatibility, and update docs publishing paths.

---
Build: pass | Tests: pass — 2372 passed (704 files)
2026-05-10 19:49:39 +02:00

33 lines
873 B
JavaScript

import fs from 'node:fs';
import path from 'node:path';
import { spawnSync } from 'node:child_process';
const localRoot = process.cwd();
const distDir = path.join(localRoot, 'dist');
const webroot = process.env.CMS_WEBROOT || '/usr/local/www/clawdie';
const protectedPaths = (process.env.CMS_DEPLOY_PROTECT || 'sites')
.split(',')
.map((entry) => entry.trim())
.filter(Boolean);
if (!fs.existsSync(distDir)) {
console.error(`Build output not found: ${distDir}`);
process.exit(1);
}
const rsyncArgs = ['-av', '--delete'];
for (const protectedPath of protectedPaths) {
rsyncArgs.push('--filter');
rsyncArgs.push(`P ${protectedPath}/`);
}
rsyncArgs.push(`${distDir}/`);
rsyncArgs.push(`${webroot}/`);
const result = spawnSync('rsync', rsyncArgs, {
stdio: 'inherit',
env: process.env,
});
if (result.status !== 0) {
process.exit(result.status ?? 1);
}