Initial public release. Six packages on npm under the @static-dom org.
Packages
@static-dom/core— runtime, optics, JSX runtime, hyperscript / htm / html,Program@static-dom/vdom— opt-in virtual-DOM boundary backed by Tachys (~11KB gzipped)@static-dom/react— React adapter (SDOMBoundary,useSDOMBoundary)@static-dom/vite— Vite plugin (sdomJsx) plus build-time codegen (sdomCodegen) that hoists statically-resolvable JSX templates to module scope. CSP-clean.@static-dom/esbuild— esbuild plugin and config helpers@static-dom/eslint— ESLint plugin with thesdom/no-dynamic-childrenrule
Highlights
- Static DOM runtime: mount once, update leaves directly, no diff
- Structural primitives:
Show,Optional,For,match,dynamic - Reconciler: keyed
array()/arrayBy()with same-structure, append-only, and full-replace fast paths plus LIS-based reorder incrementalArray()andprogramWithDeltafor O(1) keyed deltas- Optics suite (
Lens,Prism,AffineTraversal,Traversal,Iso,Getter,Fold,Setter,Review) with path-based composition - Authoring styles: JSX runtime, hyperscript, htm tagged templates, raw HTML
- Template cloning compiler enabled by default for JSX/h/html/htm
Program, ports, and subscriptions for Elm Architecture-style applications- Incremental computation graph as the reactive substrate:
Cell,Var,mapCell/mapCell2/mapCell3,bindCell,batch,stabilizewith topo-height scheduling, per-cell cutoff, and observer-driven GC - Optic lifting over the graph:
liftLens,liftGetter,liftPrism,liftAffine,liftFold,focusVar,bindPrism - Cell-first program runners
attachToCellandprogramFromVar
Dual licensed under Apache-2.0 OR MIT.
See CHANGELOG.md and BENCHMARKS.md for details.