bigskysoftware/idiomorph
A DOM-merging algorithm observed · 2026-08-28
Health v2 · maintenance only
78/100
- Activity 99
- Release rhythm 38
- Longevity 100
Flags: no_license
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-02. Adoption (stars, forks) is never an input.
- gap_med: 36.0
- age_days: 1470
- days_rel: 338
- days_push: 7
- n_releases_24m: 5
Adoption not part of the score
1133 stars · 57 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
Idiomorph is a small, dependency-free JavaScript library for morphing one DOM tree into another while preserving element state like focus. It uses id sets to match elements structurally, improving on id-only morphing approaches used by morphdom and nanomorph.
Use cases
- morph dom trees in place without losing focus or state
- update page content incrementally in a hotwire/turbo app
- preserve dom elements during html swaps in htmx
- diff and patch html fragments client-side
- smooth dom transitions when server renders new html
When to choose
- you need dom morphing that matches elements based on child structure, not just ids
- you want a tiny, dependency-free library usable via script tag or ESM
- you use Turbo 8 or htmx and want official-grade morphing support
When to avoid
- you need a full virtual-dom or reactive rendering framework
- your updates are simple full-element replacements where morphing is unnecessary
Facets
library · maturity active
ui-components frontend-framework web-development frontend browser dom-morphing dom-diffing htmx-ecosystem dependency-free turbo nodejs
1 source
- readme: https://github.com/bigskysoftware/idiomorph · fetched 2026-08-28 · bf7ccd8f6799
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| bigskysoftware/idiomorph | main | 78 |
For agents
markdown · JSON · MCP: product_card(name="bigskysoftware/idiomorph")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem