Skill Tracer
Skills › Archify › archify › render-dataflow.mjs

render-dataflow.mjs

23 lines · archify/renderers/dataflow/render-dataflow.mjs at a406594

1import path from 'node:path';
2import { fileURLToPath } from 'node:url';
3import { loadDiagramWithBrandMarks, writeDiagram } from '../shared/cli.mjs';
4import { recordDiagnostic } from '../shared/diagnostics.mjs';
5import { compileDataflow } from './dataflow-compiler.mjs';
6
7const __dirname = path.dirname(fileURLToPath(import.meta.url));
8const { diagram: dataflow, template, outPath, sourceEvidence } = await loadDiagramWithBrandMarks({
9 rendererDir: __dirname,
10 diagramType: 'dataflow',
11 defaultExample: 'product-analytics.dataflow.json',
12});
14let svg;
15try {
16 svg = compileDataflow({ dataflow, sourceEvidence,
17 qualityProfile: process.env.ARCHIFY_QUALITY_PROFILE || dataflow.meta?.quality_profile });
18} catch (error) {
19 for (const diagnostic of error?.archifyDiagnostics || []) recordDiagnostic(diagnostic);
20 throw error;
22writeDiagram({ outPath, template, diagramType: 'dataflow', meta: dataflow.meta,
23 svg, cards: dataflow.cards, sourceEvidence });