How acmepy/report-make works
Report Make lets users edit a PDFMake template and its test data and variables, preview generated PDFs in the browser, and synchronize named templates with an Express middleware. The graph preserves local drafts separately from server files and includes documented interface capabilities. The UI’s synchronization and PDF flow are supported by sampled source; some ancillary UI details are documented in the README but not individually sampled.
Main entry points: main.js Editor and workspace · templates.js Template actions · evaluate-template.js Template evaluation · index.js Template API and middleware
Components 18
Template authoring
- Editor and workspace
src/main.js - Code, data, variables
src/main.js - Theme and panel layout
src/main.js - Layout preferences
src/main.js - Integrated console
src/main.js
PDF rendering
- Variable validation
server/template-variables.js - Template evaluation
src/evaluate-template.js - Date and number helpers
src/formatters.js - PDFMake generator
- PDF preview
src/main.js
Template synchronization
- Template actions
src/templates.js - Name and ID rules
server/template-name.js - Draft storage adapter
src/template-storage.js - IndexedDB drafts
Express middleware
- Template API and middleware
server/index.js - Template JSON files
- Express host
Other components
- Report designer
Connections 19
- Report designer → Editor and workspace: edits and acts
- Editor and workspace → Code, data, variables: shows editors
- Code, data, variables → Template actions: reports changes
- Code, data, variables → Template evaluation: provides inputs
- Editor and workspace → Template actions: initializes
- Template actions → Draft storage adapter: saves and loads
- Draft storage adapter → IndexedDB drafts: reads and writes
- Template actions → Template API and middleware: fetches templates
- Template actions → Name and ID rules: checks names
- Template actions → Variable validation: validates variables
- Template evaluation → Variable validation: validates variables
- Template evaluation → Date and number helpers: exposes helpers
- Editor and workspace → Template evaluation: evaluates template
- Editor and workspace → PDFMake generator: creates PDF
- PDFMake generator → PDF preview: returns PDF blob
- Editor and workspace → Integrated console: captures console
- Editor and workspace → Layout preferences: persists layout
- Template API and middleware → Template JSON files: reads and writes
- Express host → Template API and middleware: mounts middleware