All projects

Developer Tool / Library

DOMPP

A lightweight native DOM enhancement library focused on deterministic mutation, chainable APIs, and optional reactivity. No virtual DOM, no wrappers, no compilation required.

  • TypeScript
  • JavaScript
  • DOM
  • ESM
DOMPP interface
DOMPP — chainable native DOM APIs with optional reactivity.

Overview

Framework-like ergonomics without framework overhead.

DOMPP extends native DOM prototypes with ergonomic, chainable setters while preserving direct browser platform access. Designed for developers who want framework-like ergonomics without framework overhead.

The library enhances existing DOM elements without wrapping them, keeping direct browser platform access intact.

The problem

Virtual DOM frameworks add abstraction overhead and hidden reconciliation.

Virtual DOM frameworks add abstraction overhead and hidden reconciliation. Developers wanting direct DOM manipulation lack ergonomic, chainable APIs that stay predictable.

  • Virtual DOM reconciliation is opaque and can cause unexpected behavior.
  • Direct DOM manipulation APIs are verbose and lack chainability.
  • Developers need optional reactivity without framework lock-in.

Approach

Chainable mutation helpers with optional reactivity via signals.

Extended native DOM APIs with small, chainable mutation helpers (setText, setChildren, setStyles, setAttributes, setEvents). Made reactivity optional via setState and fine-grained signals.

The approach keeps the library lightweight while providing the ergonomics developers expect from modern frameworks.

Solution

Two reactive models: stateful runtime and fine-grained signals.

Built two reactive models: stateful runtime (setState) for simplicity, and fine-grained signals for granular updates. Supports enhancing existing server-rendered HTML without recreating subtrees.

This dual approach allows developers to choose the reactivity model that best fits their use case.

DOMPP architecture diagram
Chainable APIs with optional reactive runtime.

Implementation

Technical implementation.

Built with TypeScript using native ESM, the library extends DOM prototypes with chainable helpers while preserving direct browser access.

Core

TypeScript, native ESM, chainable DOM setters, deterministic mutation.

Reactivity

Optional reactive runtime (setState), fine-grained signals for granular updates.

Testing

Comprehensive test suite using Node.js test runner.

Results

What changed.

The library provides a clean API for direct DOM manipulation with optional reactivity, all without framework overhead.

CleanAPI for direct DOM manipulation
Optionalreactivity without framework lock-in
Livedocumentation at dompp.digital

Links

Let's work together

Have a problem worth solving?

Let's talk about your project, technical challenge, or next idea.

Get in touch