# wilsonpage/fastdom

Eliminates layout thrashing by batching DOM measurement and mutation tasks

Repository: https://github.com/wilsonpage/fastdom
Canonical: https://ross.abutalabs.com/products/fastdom
Language: JavaScript
License Family: other
Last push: 2024-02-20T08:00:07+00:00

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

## Adoption (not part of the score)
Stars 6915, forks 236 (observed 2026-08-28T04:09:51.373178+00:00)

## What it is
A tiny (~600 bytes) JavaScript library that eliminates layout thrashing by batching DOM measurement and mutation tasks. It queues reads and writes and flushes them in order at the next animation frame via requestAnimationFrame, avoiding unnecessary reflows.

## Use cases
- fix layout thrashing in my web app
- batch DOM reads and writes to avoid reflows
- improve scroll and animation performance
- coordinate DOM access across multiple modules
- speed up JavaScript-driven animations

## When to choose
- your app performs interleaved DOM reads and writes causing jank
- you want a tiny, dependency-free performance fix
- multiple modules or third-party scripts need harmonized DOM access

## When to avoid
- you use a framework with its own batching (e.g. React, Vue) and rarely touch the DOM directly
- you need server-side DOM manipulation
- you require an actively developed library with recent features

## Facets
- artifact type: library
- maturity: maintenance
- function: animation, ui-components, developer-tools
- domain: web-development, frontend, performance
- platform: browser
- tags: dom, layout-thrashing, requestanimationframe, reflow, performance-optimization, batching, javascript, nodejs

## Member repositories
- wilsonpage/fastdom (main) score 23

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:51.373178+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:41:27.663241+00:00, confidence not recorded.
  - readme: https://github.com/wilsonpage/fastdom (fetched 2026-08-28T04:09:51.373178+00:00, sha f08a75d8a4e3)
  - registry_npm: https://registry.npmjs.org/fastdom (fetched 2026-08-29T08:37:32.695940+00:00, sha 168a67ce219a)
- Data as of 2026-08-30T08:39:29.467469+00:00.
