mhproto 0.8.0-preview.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/CONTRIBUTING.md +62 -0
- package/LICENSE +21 -0
- package/README.md +53 -0
- package/THIRD_PARTY_NOTICES.md +40 -0
- package/bin/mhproto.mjs +248 -0
- package/doc/context-design.md +43 -0
- package/doc/context-measurements.json +28 -0
- package/doc/guide.md +138 -0
- package/doc/publishing.md +93 -0
- package/doc/release-notes.md +23 -0
- package/doc/release-review-2026-10-02.md +127 -0
- package/doc/release-review.md +68 -0
- package/doc/viewer-design.md +80 -0
- package/package.json +69 -0
- package/skills/mhproto-discover/SKILL.md +14 -0
- package/skills/mhproto-implement/SKILL.md +14 -0
- package/skills/mhproto-reconcile/SKILL.md +14 -0
- package/skills/mhproto-specify/SKILL.md +16 -0
- package/skills/mhproto-specify/references/format.md +20 -0
- package/skills/mhproto-verify/SKILL.md +14 -0
- package/src/config.mjs +202 -0
- package/src/context.mjs +228 -0
- package/src/core.mjs +471 -0
- package/src/node-reporter.mjs +15 -0
- package/src/paths.mjs +51 -0
- package/src/server.mjs +290 -0
- package/src/verify.mjs +149 -0
- package/src/visuals.mjs +189 -0
- package/viewer/app.js +1463 -0
- package/viewer/diff.js +245 -0
- package/viewer/index.html +51 -0
- package/viewer/style.css +1003 -0
- package/viewer/vendor/LICENSE +21 -0
- package/viewer/vendor/NOTICE.txt +3372 -0
- package/viewer/vendor/README.md +75 -0
- package/viewer/vendor/build-evidence.json +2775 -0
- package/viewer/vendor/bundled-audit.json +88 -0
- package/viewer/vendor/bundled-packages.json +84 -0
- package/viewer/vendor/embedded-notices.txt +33 -0
- package/viewer/vendor/license-inventory.json +1456 -0
- package/viewer/vendor/licenses/braintree__sanitize-url-7.1.2.txt +21 -0
- package/viewer/vendor/licenses/chevrotain-13.2.0.txt +202 -0
- package/viewer/vendor/licenses/chevrotain-allstar-0.5.0.txt +16 -0
- package/viewer/vendor/licenses/chevrotain__cst-dts-gen-13.2.0.txt +202 -0
- package/viewer/vendor/licenses/chevrotain__gast-13.2.0.txt +202 -0
- package/viewer/vendor/licenses/chevrotain__regexp-to-ast-13.2.0.txt +202 -0
- package/viewer/vendor/licenses/chevrotain__utils-13.2.0.txt +202 -0
- package/viewer/vendor/licenses/cose-base-1.0.3.txt +21 -0
- package/viewer/vendor/licenses/cose-base-2.2.0.txt +21 -0
- package/viewer/vendor/licenses/cytoscape-3.34.3.txt +19 -0
- package/viewer/vendor/licenses/cytoscape-cose-bilkent-4.1.0.txt +21 -0
- package/viewer/vendor/licenses/cytoscape-fcose-2.2.0.txt +19 -0
- package/viewer/vendor/licenses/d3-7.9.0.txt +13 -0
- package/viewer/vendor/licenses/d3-array-2.12.1.txt +27 -0
- package/viewer/vendor/licenses/d3-array-3.2.4.txt +13 -0
- package/viewer/vendor/licenses/d3-axis-3.0.0.txt +13 -0
- package/viewer/vendor/licenses/d3-brush-3.0.0.txt +13 -0
- package/viewer/vendor/licenses/d3-chord-3.0.1.txt +13 -0
- package/viewer/vendor/licenses/d3-color-3.1.0.txt +13 -0
- package/viewer/vendor/licenses/d3-contour-4.0.2.txt +13 -0
- package/viewer/vendor/licenses/d3-delaunay-6.0.4.txt +14 -0
- package/viewer/vendor/licenses/d3-dispatch-3.0.1.txt +13 -0
- package/viewer/vendor/licenses/d3-drag-3.0.0.txt +13 -0
- package/viewer/vendor/licenses/d3-dsv-3.0.1.txt +13 -0
- package/viewer/vendor/licenses/d3-ease-3.0.1.txt +28 -0
- package/viewer/vendor/licenses/d3-fetch-3.0.1.txt +13 -0
- package/viewer/vendor/licenses/d3-force-3.0.0.txt +13 -0
- package/viewer/vendor/licenses/d3-format-3.1.2.txt +13 -0
- package/viewer/vendor/licenses/d3-geo-3.1.1.txt +34 -0
- package/viewer/vendor/licenses/d3-hierarchy-3.1.2.txt +13 -0
- package/viewer/vendor/licenses/d3-interpolate-3.0.1.txt +13 -0
- package/viewer/vendor/licenses/d3-path-1.0.9.txt +27 -0
- package/viewer/vendor/licenses/d3-path-3.1.0.txt +13 -0
- package/viewer/vendor/licenses/d3-polygon-3.0.1.txt +13 -0
- package/viewer/vendor/licenses/d3-quadtree-3.0.1.txt +13 -0
- package/viewer/vendor/licenses/d3-random-3.0.1.txt +13 -0
- package/viewer/vendor/licenses/d3-sankey-0.12.3.txt +27 -0
- package/viewer/vendor/licenses/d3-scale-4.0.2.txt +13 -0
- package/viewer/vendor/licenses/d3-scale-chromatic-3.1.0.txt +28 -0
- package/viewer/vendor/licenses/d3-selection-3.0.0.txt +13 -0
- package/viewer/vendor/licenses/d3-shape-1.3.7.txt +27 -0
- package/viewer/vendor/licenses/d3-shape-3.2.0.txt +13 -0
- package/viewer/vendor/licenses/d3-time-3.1.0.txt +13 -0
- package/viewer/vendor/licenses/d3-time-format-4.1.0.txt +13 -0
- package/viewer/vendor/licenses/d3-timer-3.0.1.txt +13 -0
- package/viewer/vendor/licenses/d3-transition-3.0.1.txt +13 -0
- package/viewer/vendor/licenses/d3-zoom-3.0.0.txt +13 -0
- package/viewer/vendor/licenses/dagre-d3-es-7.0.14.txt +23 -0
- package/viewer/vendor/licenses/dayjs-1.11.23.txt +21 -0
- package/viewer/vendor/licenses/delaunator-5.1.0.txt +15 -0
- package/viewer/vendor/licenses/dompurify-3.4.16.txt +202 -0
- package/viewer/vendor/licenses/elk-source-notice.txt +11 -0
- package/viewer/vendor/licenses/elkjs-0.9.3.txt +264 -0
- package/viewer/vendor/licenses/embedded-and-node-notices.txt +45 -0
- package/viewer/vendor/licenses/es-toolkit-1.52.0-1.txt +39 -0
- package/viewer/vendor/licenses/es-toolkit-1.52.0.txt +21 -0
- package/viewer/vendor/licenses/fastdom-1.0.12.txt +221 -0
- package/viewer/vendor/licenses/iconify__utils-3.1.7.txt +21 -0
- package/viewer/vendor/licenses/internmap-1.0.1.txt +13 -0
- package/viewer/vendor/licenses/internmap-2.0.3.txt +13 -0
- package/viewer/vendor/licenses/js-yaml-4.3.2.txt +21 -0
- package/viewer/vendor/licenses/katex-0.16.47.txt +21 -0
- package/viewer/vendor/licenses/khroma-2.1.0.txt +21 -0
- package/viewer/vendor/licenses/langium-4.4.0.txt +16 -0
- package/viewer/vendor/licenses/layout-base-1.0.2.txt +21 -0
- package/viewer/vendor/licenses/layout-base-2.0.1.txt +21 -0
- package/viewer/vendor/licenses/lodash-es-4.18.1.txt +47 -0
- package/viewer/vendor/licenses/marked-16.4.2.txt +44 -0
- package/viewer/vendor/licenses/mermaid-12.1.0.txt +21 -0
- package/viewer/vendor/licenses/mermaid-js__parser-2.0.1.txt +21 -0
- package/viewer/vendor/licenses/path-browserify-1.0.1.txt +20 -0
- package/viewer/vendor/licenses/robust-predicates-3.0.3.txt +24 -0
- package/viewer/vendor/licenses/roughjs-4.6.6.txt +21 -0
- package/viewer/vendor/licenses/stylis-4.4.0.txt +21 -0
- package/viewer/vendor/licenses/ts-dedent-2.3.0.txt +21 -0
- package/viewer/vendor/licenses/upsetjs__venn.js-2.0.0.txt +22 -0
- package/viewer/vendor/licenses/uuid-14.0.2.txt +9 -0
- package/viewer/vendor/licenses/vscode-jsonrpc-9.0.3.txt +11 -0
- package/viewer/vendor/licenses/vscode-languageserver-protocol-3.18.4.txt +11 -0
- package/viewer/vendor/licenses/vscode-languageserver-textdocument-1.0.15.txt +11 -0
- package/viewer/vendor/licenses/vscode-languageserver-types-3.18.4.txt +11 -0
- package/viewer/vendor/licenses/vscode-uri-3.1.0.txt +9 -0
- package/viewer/vendor/manifest.json +21 -0
- package/viewer/vendor/mermaid.min.js +7729 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Offline Mermaid runtime
|
|
2
|
+
|
|
3
|
+
Mermaid 12.1.0 is rebuilt as one browser file so the local viewer and exported HTML
|
|
4
|
+
render without a network dependency. The viewer uses strict security, disables
|
|
5
|
+
HTML labels and keeps invalid diagram sources readable beside an error.
|
|
6
|
+
|
|
7
|
+
## Reproducible source build
|
|
8
|
+
|
|
9
|
+
`manifest.json` pins upstream commit `21f72f07ea22c0af48a3149c550654e80d8e40cb`, the
|
|
10
|
+
source archive SHA-256, build package/lock hashes and final bundle hash.
|
|
11
|
+
`scripts/mermaid-build.mjs` extracts unchanged upstream source and uses its official
|
|
12
|
+
Jison/schema plugins and browser build settings with esbuild 0.28.2.
|
|
13
|
+
`tools/mermaid/package-lock.json` selects DOMPurify 3.4.16, js-yaml 4.3.2 and
|
|
14
|
+
Lodash 4.18.1. The upstream prebuilt 12.1.0 artifact still contained affected
|
|
15
|
+
DOMPurify/js-yaml versions; it is not used here.
|
|
16
|
+
|
|
17
|
+
The build prepends Mermaid's MIT text, keeps its namespace private in an outer
|
|
18
|
+
IIFE, and appends the complete notice file as a comment. The upstream runtime
|
|
19
|
+
source is unchanged. Dependency selection differs from upstream's published build.
|
|
20
|
+
|
|
21
|
+
```sh
|
|
22
|
+
npm run verify:vendor
|
|
23
|
+
npm run audit:vendor
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Verification downloads the pinned source archive, installs the exact build lock
|
|
27
|
+
without install scripts, rebuilds in a fresh temporary directory and compares the
|
|
28
|
+
complete bytes. It verifies all input paths and nested parser chunk hashes in
|
|
29
|
+
`build-evidence.json`. A previously downloaded source archive can be supplied:
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
node scripts/verify-mermaid.mjs /path/to/source.tgz
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Notices and package coverage
|
|
36
|
+
|
|
37
|
+
`license-inventory.json` records 79 package/version entries with exact archive
|
|
38
|
+
integrity and original notice hashes. `build-evidence.json` records esbuild inputs
|
|
39
|
+
and 32 official parser 2.0.1 chunk/map identities. Their source maps expose nested
|
|
40
|
+
packages; flattened vscode-uri and path-browserify texts also match their archives.
|
|
41
|
+
Coverage is conservative: esbuild inputs may include tree-shaken source portions.
|
|
42
|
+
|
|
43
|
+
`NOTICE.txt` combines full licenses and embedded attributions. `licenses/` retains
|
|
44
|
+
original archive texts. Fastdom's archive contains its MIT terms in the README;
|
|
45
|
+
the original README is retained, and only its license section enters the appendix.
|
|
46
|
+
Individual notice bytes retain original line endings; the appendix uses LF.
|
|
47
|
+
DOMPurify's Apache-2.0 option is selected; its full dual-license text is retained.
|
|
48
|
+
ELK's EPL-2.0 license, copyright and source availability notice are included.
|
|
49
|
+
Khroma's MIT license comes from its license text rather than its metadata.
|
|
50
|
+
|
|
51
|
+
```sh
|
|
52
|
+
node scripts/verify-mermaid-licenses.mjs
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
This verifies the 79 pinned npm archives without executing package scripts,
|
|
56
|
+
original notice bytes, nested parser source identities and recorded coverage.
|
|
57
|
+
An optional argument accepts an archive cache using the package/version directory
|
|
58
|
+
names derived in the verifier. All notices travel inside the offline bundle.
|
|
59
|
+
|
|
60
|
+
## Security checks and future upgrades
|
|
61
|
+
|
|
62
|
+
`bundled-audit.json` records the 2026-10-03 live registry advisory response: no known
|
|
63
|
+
matches for the recorded versions. `npm run audit:vendor` repeats the exact-version
|
|
64
|
+
check and fails if matches appear. Ordinary root `npm audit` does not inspect
|
|
65
|
+
compiled dependencies hidden inside this renderer. CI runs both audits and also
|
|
66
|
+
audits `tools/mermaid` build dependencies.
|
|
67
|
+
|
|
68
|
+
For an upgrade, pin a verified upstream source archive and build lock; regenerate
|
|
69
|
+
the bundle and build evidence; inspect every direct and nested source-map package;
|
|
70
|
+
retain each original license plus source availability where required; update the
|
|
71
|
+
manifest, inventory, notices and audit. Require byte reproduction and the full
|
|
72
|
+
CLI, browser and packed-consumer checks. Do not substitute a prebuilt file without
|
|
73
|
+
repeating its nested dependency and notice review.
|
|
74
|
+
|
|
75
|
+
Upstream: https://github.com/mermaid-js/mermaid
|