umlimator 0.16.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -4
- package/THIRD_PARTY_NOTICES.md +1 -1
- package/lib/umlimator-all.js +5917 -0
- package/lib/umlimator.d.ts +41 -1
- package/lib/umlimator.js +4610 -3910
- package/lib/umlimator.schema.json +45 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -65,7 +65,7 @@ drill-down, a data pipeline, an AI agent's skills, and host pages for embedding,
|
|
|
65
65
|
npm install umlimator
|
|
66
66
|
```
|
|
67
67
|
|
|
68
|
-
Or from GitHub, at a tag or any commit: `"umlimator": "github:zintaen/umlimator#v0.
|
|
68
|
+
Or from GitHub, at a tag or any commit: `"umlimator": "github:zintaen/umlimator#v0.17.0"`. npm 12 refuses git
|
|
69
69
|
dependencies unless the project opts in, so that also needs `allow-git=root` in the `.npmrc` next to `package.json`.
|
|
70
70
|
|
|
71
71
|
## Embed
|
|
@@ -189,6 +189,9 @@ A model has shared `nodes` and `edges`, and `views` that each show a subset, wit
|
|
|
189
189
|
path. The full schema is `engine/references/schema.md` (§ Map model); `examples/bookshop.json` uses most of it.
|
|
190
190
|
A model file that starts with `"$schema": "<path to>/umlimator.schema.json"` (exported as `umlimator/schema.json`)
|
|
191
191
|
gets completion and checks in editors, and `validate(model)` lists its errors and warnings, each with where it is.
|
|
192
|
+
`"schemaVersion": 2` marks a model that may hold typed elements and typed views (`docs/diagrams/model.md`); none is
|
|
193
|
+
drawn as such yet: a typed view shows its nodes as plain cards, with a warning. A model with no `schemaVersion` is a
|
|
194
|
+
map, as always, and a version newer than the module reads is an error.
|
|
192
195
|
|
|
193
196
|
Card kinds: `frontend`, `backend`, `ai`, `database`, `queue`, `security`, `cloud`, `external` and `file` (skill-map
|
|
194
197
|
kinds such as `public`, `lane`, `script`, `hook` and `board` work too). Fields beyond the schema:
|
|
@@ -299,7 +302,7 @@ jobs:
|
|
|
299
302
|
runs-on: ubuntu-latest
|
|
300
303
|
steps:
|
|
301
304
|
- uses: actions/checkout@v4
|
|
302
|
-
- uses: zintaen/umlimator@v0.
|
|
305
|
+
- uses: zintaen/umlimator@v0.17.0
|
|
303
306
|
with:
|
|
304
307
|
models: "docs/*.json" # optional: where the models are (default: every .json that is a map model)
|
|
305
308
|
```
|
|
@@ -371,6 +374,7 @@ With `UMLIMATOR_OFFLINE=1` the CLI fetches nothing: a logo not in the cache keep
|
|
|
371
374
|
## Development
|
|
372
375
|
|
|
373
376
|
```bash
|
|
377
|
+
npm run build # src/ into lib/umlimator.js and lib/umlimator-all.js: edit the sources, commit all three
|
|
374
378
|
node --test # layout() in Node: the bench views' geometry and the layout rules
|
|
375
379
|
python3 tests/embed.py # render() in headless Chrome: events, keyboard, colours, contrast, editing, the element
|
|
376
380
|
python3 bench/bench.py --check-determinism --expect bench/expected.json --max-ms m50=2000
|
|
@@ -379,7 +383,8 @@ python3 bench/bench.py --check-determinism --expect bench/expected.json --max-ms
|
|
|
379
383
|
The bench lays out fixed models (10 to 69 cards, and 50 modules with 100 lines) in headless Chrome and reports the
|
|
380
384
|
time per phase, the layout check's issues and a hash of the geometry. `--expect` fails on a view that no longer draws as
|
|
381
385
|
recorded in `bench/expected.json`; a change that moves lines on purpose refreshes it with `--write-expected`. CI runs
|
|
382
|
-
all of the above,
|
|
386
|
+
all of the above, fails when `lib/umlimator.js` is not what `src/` builds or a source uses a name it does not import,
|
|
387
|
+
and checks that the files copied from upstream (`engine/scripts`, `engine/references`,
|
|
383
388
|
`tools/fetch_icons.py`) are unmodified.
|
|
384
389
|
|
|
385
390
|
To release, bump `package.json`'s version in a PR and add that version's `## X.Y.Z: …` section to
|
|
@@ -392,7 +397,8 @@ umlimator.py CLI: render, stills, check, record, pdf, pin-icons,
|
|
|
392
397
|
umlimator_import.py import's readers: Structurizr DSL, C4-PlantUML, Mermaid, compose and Kubernetes JSON
|
|
393
398
|
umlimator_mcp.py the MCP server that `umlimator.py mcp` runs
|
|
394
399
|
action.yml the diff Action: what a pull request changes in its maps, posted on it
|
|
395
|
-
|
|
400
|
+
src/ the module's sources, by layer: core, draw, layout, map, canvas, page (tools/build.mjs joins them)
|
|
401
|
+
lib/ the module (umlimator.js; umlimator-all.js with every diagram family; both built and committed), its types, the default theme, <umlimator-map> and the docs plugins
|
|
396
402
|
engine/ the page templates the CLI inlines the module into; the upstream renderer and schema
|
|
397
403
|
docs/ the module's API and the editing design; docs/diagrams/: the plan for 28 diagram types (not built yet)
|
|
398
404
|
tests/, bench/ tests, benchmark models and results
|
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -10,7 +10,7 @@ umlimator contains, or builds on, the work below. Each entry says what is used a
|
|
|
10
10
|
|
|
11
11
|
## EricTechPro/super-board, `/visual` skill
|
|
12
12
|
|
|
13
|
-
`lib/umlimator.js` and `engine/assets/template.html` derive from super-board's `skills/visual/assets/template.html`
|
|
13
|
+
`src/` (built into `lib/umlimator.js`) and `engine/assets/template.html` derive from super-board's `skills/visual/assets/template.html`
|
|
14
14
|
at commit `d0b7d5a` (29 Oct 2026), modified by umlimator (the changes are in its git history and `docs/module-api.md`);
|
|
15
15
|
`engine/scripts/visual.py` and `engine/references/` are copied from that commit unmodified. Source:
|
|
16
16
|
https://github.com/EricTechPro/super-board
|