Getting Started
loom is a reactive, components-first JavaScript framework. Components are tagged templates, reactivity is a small pub/sub primitive called an activity, and the same render path runs in the browser, on a server, and at build time.
Feature highlights Copy link
Micro-updates on rerenders - updates are made at the attribute & node-levels.
Self-cleanup leveraging native JS garbage collection &
WeakMapto release dead nodes from memory.Reactivity to rerender any number of components used within a component template - see Activities.
Tagged Templates for performant processing of component templates - see Components.
Custom elements (
defineElement) - consume loom components from any page as<some-element>- see Custom Elements.Client-side Routing for dynamic rendering of components based on
Locationdata - see Routing.Lazy-loading of routes & content (
lazyImport), tracked by the settlement signal - see Lazy Imports.Server rendering (
@loom-js/core/server) - render to an HTML string for SSR & SSG through the same code path the browser runs - see Server Rendering.Client hydration (
hydrate) - invisible takeover of pre-rendered pages: one atomic swap once the app has settled, no content flashes - see Client Hydration.Dehydrated state (
resource→dehydrate→primeResources) - hand the server's fetched data to the client, so a primed hydration never refetches - see Dehydrated State.0 Dependencies (you're welcome)
Typescript Types included.
Install Copy link
npm i @loom-js/coreInclusion Copy link
import * as Loom from '@loom-js/core';
Where next Copy link
The side navigation is ordered as a learning path. Start with Bootstrapping to mount your first app, then work through Components and Activities — the foundations the later concepts build on. Configuration and Diagnostics are reference stops you can return to any time.