Skip to main content

@tumaet/apollon

npm version npm license

Apollon ships as an npm library that any framework can embed. The public API is imperative (new ApollonEditor(container, options)), so your host code does not need to use React — but the library does, and it mounts its own React tree (UI primitives powered by Base UI) inside the DOM node you give it.

13 UML and modeling diagram types · SVG/PNG/PDF/JSON export · optional real-time collaboration via Yjs · injectable canvas overlay controls.

One build, every framework

@tumaet/apollon ships a single build that externalizes every runtime dependency a host can install — the React family (react, react-dom, @xyflow/react), the CRDT singletons (yjs, y-protocols), and Apollon's own runtime deps (@base-ui/react, lucide-react, @dnd-kit, zustand, @chenglou/pretext), which install transitively with the package. Your bundler resolves and de-duplicates each one against your app's node_modules, and your bundle analyzer / SBOM tooling sees them as the real packages they are — never a copy inlined invisibly into one chunk.

The API is imperative (new ApollonEditor(container, options)) and works from any framework with a bundler — Angular (Artemis), Vue, Svelte, React. React hosts additionally get the <Apollon> component, hooks, and provider from the same entry, rendering on the React they already have. react, react-dom, and @xyflow/react are required peers (joining yjs / y-protocols); most package managers add missing peers automatically.

What's next