generative-dom
v0.1.2
Published
Generative DOM — streaming markdown parser and renderer. Single-install umbrella with core, all plugins, and framework adapters as subpath exports.
Maintainers
Readme
generative-dom
Streaming markdown parser and renderer — one install, batteries included.
generative-dom is the single-install umbrella for the Generative DOM project. It bundles the
core engine, every first-party plugin, and every framework adapter into one
package with namespaced subpath exports.
- Zero runtime dependencies. Workspace code is inlined at build time.
- No framework auto-install. React, Vue, Svelte, Angular, Lit, and Astro are declared as optional peers — you only install what you import.
- Tree-shakeable per subpath.
generative-dom/plugins/highlightpulls only the highlighter;generative-dom/reactpulls only the React adapter.
Install
npm i generative-domQuick start
import { createGenerativeDom } from 'generative-dom';
const mf = createGenerativeDom({ container: document.getElementById('out')! });
mf.push('# Hello **world**');
mf.flush();Custom plugin set
import { GenerativeDom } from 'generative-dom';
import { markdownHeading, markdownTable, highlight } from 'generative-dom/plugins';
const mf = new GenerativeDom({
plugins: [markdownHeading(), markdownTable(), highlight()],
});Named presets
import { GenerativeDom } from 'generative-dom';
import { github } from 'generative-dom/presets/github';
import { interactive } from 'generative-dom/plugins/interactive';
const mf = new GenerativeDom({ plugins: [...github(), interactive()] });Available presets: generative-dom/presets/minimal, generative-dom/presets/commonmark,
generative-dom/presets/github, generative-dom/presets/full.
Framework adapters
// React
import { GenerativeDomRenderer } from 'generative-dom/react';// Vue
import { GenerativeDomRenderer } from 'generative-dom/vue';// Svelte
import { createGenerativeDom, generativeDomAction } from 'generative-dom/svelte';// Angular
import { GenerativeDomRendererComponent } from 'generative-dom/angular';// Lit (side-effect import registers <generative-dom-renderer>)
import 'generative-dom/lit';// Astro
import { defineGenerativeDomIntegration } from 'generative-dom/astro';Power users
The internal packages remain published for fine-grained control:
@generative-dom/core, @generative-dom/plugin-*, @generative-dom/react, etc. See the monorepo
packages/ directory for the individual READMEs.
License
MIT
