# Matt-Esch/virtual-dom

A Virtual DOM and diffing algorithm

Repository: https://github.com/Matt-Esch/virtual-dom
Canonical: https://ross.abutalabs.com/products/virtual-dom
Language: JavaScript
License: MIT
License Family: permissive
Last push: 2023-01-24T11:59:52+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 4605, "days_push": 1317, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 11842, forks 769 (observed 2026-08-28T04:10:50.204675+00:00)

## What it is
A JavaScript library providing a Virtual DOM model with element creation, diff computation, and patch operations for efficient DOM re-rendering. It lets you declare the desired DOM state as a virtual tree and efficiently patches the real DOM to match.

## Use cases
- efficiently update the DOM when application state changes
- avoid manual DOM manipulation and state tracking
- build custom view layers with declarative rendering
- diff two virtual trees and apply minimal patches
- re-render views without losing input focus

## When to choose
- you want a minimal, unopinionated virtual DOM implementation to build your own framework or rendering layer
- you need fine-grained control over diffing and patching without a full framework
- you are maintaining a legacy codebase already built on virtual-dom

## When to avoid
- you are starting a new application - modern frameworks like React, Vue, or Svelte provide virtual DOM capabilities with larger ecosystems
- you need long-term active maintenance and frequent updates
- you need server-side rendering or a complete component model out of the box

## Facets
- artifact type: library
- maturity: maintenance
- function: frontend-framework, ui-components
- domain: web-development, frontend
- platform: browser
- tags: virtual-dom, diffing, patching, rendering, vdom, nodejs, javascript

## Member repositories
- Matt-Esch/virtual-dom (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:50.204675+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:15:16.608710+00:00, confidence not recorded.
  - readme: https://github.com/Matt-Esch/virtual-dom (fetched 2026-08-28T04:10:50.204675+00:00, sha 0151070a84ea)
  - registry_npm: https://registry.npmjs.org/virtual-dom (fetched 2026-08-29T08:13:27.379229+00:00, sha 49b00f419600)
- Data as of 2026-08-30T08:39:29.467469+00:00.
