#!/usr/bin/env node /** * Export Mermaid architecture diagram to PNG/SVG. * Requires: @mermaid-js/mermaid-cli (mmdc) * Usage: * node scripts/export-architecture.mjs --format png * node scripts/export-architecture.mjs --format svg */ import { execSync } from 'child_process' import { existsSync } from 'fs' import { join } from 'path' const args = process.argv.slice(2) const formatArg = args.find(a => a.startsWith('--format=')) || '--format=png' const format = formatArg.split('=')[1] const diagram = join(process.cwd(), 'docs', 'ArchitectureDiagram.mmd') const outFile = join(process.cwd(), 'docs', `ArchitectureDiagram.${format}`) if (!existsSync(diagram)) { console.error('Diagram source not found:', diagram) process.exit(1) } try { execSync(`npx mmdc -i "${diagram}" -o "${outFile}"`, { stdio: 'inherit' }) console.log(`Exported diagram to ${outFile}`) } catch (e) { console.error('Mermaid export failed. Ensure @mermaid-js/mermaid-cli is installed.') process.exit(1) }