Compatibility Matrix
This matrix records the supported integration surface for 0.1.x.
npm run test:compatibility checks the package metadata, optional-peer
metadata, CI Node lanes, this document, and the packed-smoke evidence so the
declared support policy cannot drift silently. npm run test:compatibility:lanes installs focused clean consumers for older declared
peer lanes.
| Surface | Supported Range | Verification |
|---|---|---|
| Node.js | >=20.19.0, CI on Node 20 and Node 22 |
npm run test:compatibility, GitHub CI, npm run check |
| TypeScript | >=5.8 |
TypeScript 6.0 build/types gate, TypeScript 5.8 clean consumer, npm run test:compatibility |
| React | `>=18.2.0 | |
| React DOM | `>=18.2.0 | |
| Vega | `>=5.0.0 | |
| Mermaid | >=11.0.0 |
Mermaid SVG extraction tests and browser example |
| D2 | >=0.1.0 |
D2 diagram/SVG tests and browser example |
| React Flow | >=12.0.0 |
Public-state tests and browser example |
| Browsers | Modern Chromium-class SVG/DOM APIs | Playwright browser verification |
optional peers are marked optional in package.json. Root imports must work
without React, Vega, Mermaid, D2, React Flow, or @ponchia/ui installed.
Checked Lanes
- Node 20 and Node 22 run the full GitHub CI
npm run checkjob. - TypeScript 6.0 is the declaration and export-check lane.
- TypeScript 5.8 is covered by
npm run test:compatibility:lanes, which installstypescript@5.8.3in a clean consumer and compiles the packed root, DOM, Mermaid, and Vega declarations. - React 18 is covered by
npm run test:compatibility:lanes, which installsreact@18.2.0andreact-dom@18.2.0in a clean consumer and verifies SSR, client rendering, layout events, and quality events. - React 19 is covered by the packed React smoke, browser examples, and adapter browser smoke.
- Vega 5 is covered by
npm run test:compatibility:lanes, which installsvega@5in a clean consumer, creates a realvega.View, and verifies view data anchors, scenegraph anchors, target alignment, layout quality, and SVG rendering. - Vega 6 is covered by the packed adapter browser smoke and Vega/Vega-Lite unit tests.
- Mermaid 11, D2 0.1, and React Flow 12 are covered by unit tests, packed adapter smoke, and browser examples.
Policy
- Any peer range change must update this matrix, package metadata, docs, and packed-consumer smoke coverage.
- New generated-surface adapters must document their host public API boundary and must not add runtime dependencies to the root import.