patrick-steele-idem/morphdom
Fast and lightweight DOM diffing/patching (no virtual DOM needed) observed · 2026-08-28
Health v2 · maintenance only
61/100
- Activity 64
- Release rhythm 35
- Longevity 100
Flags: no_releases
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 4087
- days_rel: n/a
- days_push: 221
- n_releases_24m: 0
Adoption not part of the score
3574 stars · 148 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
morphdom is a lightweight JavaScript library that efficiently morphs an existing real DOM node tree to match a target DOM tree with minimal changes, without requiring a virtual DOM. It preserves internal DOM state like scroll positions, input caret positions, and CSS transition states during updates.
Use cases
- update the DOM after rerendering a UI component without losing input focus or scroll position
- morph an existing DOM tree to match new HTML from any templating language
- apply minimal DOM patches instead of replacing innerHTML wholesale
- diff and patch the real DOM against a virtual DOM tree
- efficiently sync server-rendered HTML into a live page
When to choose
- you rerender HTML strings or templates and want minimal, state-preserving DOM updates
- you want DOM diffing without adopting a full virtual DOM framework
- your code manually manipulates the DOM and you need updates to stay compatible
- you need a small, fast, dependency-free browser library
When to avoid
- you are building a large app that benefits from a full framework with state management and components
- you need fine-grained reactive updates rather than full-tree rerendering
- you need to diff non-DOM data structures
Facets
library · maturity stable
ui-components frontend-framework web-development frontend developer-tools browser dom-diffing dom-patching no-virtual-dom rerendering lightweight nodejs
2 sources
- readme: https://github.com/patrick-steele-idem/morphdom · fetched 2026-08-28 · 3af7765ddeee
- registry_npm: https://registry.npmjs.org/morphdom · fetched 2026-08-29 · ee524926ba2b
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| patrick-steele-idem/morphdom | main | 61 |
For agents
markdown · JSON · MCP: product_card(name="patrick-steele-idem/morphdom")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem