solidjs/solid
Glossary
Project-specific terms used across this repository.
| Term | Definition |
|---|---|
| Signal | A reactive value created by createSignal (packages/solid/src/reactive/signal.ts). Reads inside a tracking scope subscribe; writes notify subscribers. |
| Memo | A cached derived computation created by createMemo (packages/solid/src/reactive/signal.ts). Re-runs only when its tracked sources change and propagates only when the result actually differs (per equals). |
| Effect | A side-effect computation created by createEffect / createRenderEffect / createComputed (packages/solid/src/reactive/signal.ts). Re-runs when its tracked sources change. createEffect runs after the next microtask flush; createRenderEffect runs synchronously during the render phase; createComputed is internal/render-effect-like and never collected by Suspense. |
| Owner | The lexical context (Owner interface in packages/solid/src/reactive/signal.ts) that owns nested computations and cleanup callbacks. Every reactive primitive belongs to the current Owner, set by createRoot, createComponent, runWithOwner, etc. |
| Computation | The internal node type used for memos and effects (Computation<Init, Next> in signal.ts). Tracks sources, observers, state, and the function to re-run. |
| Listener | The currently-executing Computation. Reading a signal while Listener is non-null subscribes the listener to that signal. |
| Resource | An async data primitive created by createResource (packages/solid/src/reactive/signal.ts). Wraps a fetcher in a signal-like accessor with loading/error properties; integrates with <Suspense> and SSR streaming. |
| Store | A reactive proxy over a (possibly nested) plain object created by createStore (packages/solid/store/src/store.ts). Lazily allocates per-property signals on access. |
| Mutable store | A proxy created by createMutable (packages/solid/store/src/mutable.ts) that allows direct property assignment instead of an explicit setter. |
| Reconcile | A diff-and-patch strategy on stores via reconcile (packages/solid/store/src/modifiers.ts). Replaces a store sub-tree while preserving identity for unchanged children, keyed by an optional key field (default "id"). |
| Produce | An Immer-style mutation helper from produce (packages/solid/store/src/modifiers.ts) that lets you write setStore(produce(s => s.x = 1)). |
$PROXY / $TRACK / $RAW / $NODE / $HAS |
Internal symbols used by the reactive proxy traps (packages/solid/store/src/store.ts, packages/solid/src/reactive/signal.ts). $RAW returns the underlying value, $TRACK triggers self-tracking on a store node, $PROXY identifies a proxy. |
$DEVCOMP |
Symbol set on dev-only component wrappers so dev hooks can recognize them (packages/solid/src/reactive/signal.ts). |
| Transition | A concurrent rendering scope started by startTransition / useTransition (packages/solid/src/reactive/signal.ts). Suspended work runs against a shadow tValue until ready, then commits. |
| Hydration | Client-side process of attaching event handlers and reactive subscriptions to server-rendered HTML. Driven by hydrate from solid-js/web and the sharedConfig context in packages/solid/src/render/hydration.ts. |
| HydrationContext | A { id, count } pair in packages/solid/src/render/hydration.ts that gives every nested component a unique id matching the SSR output. |
| Suspense boundary | A <Suspense> instance (packages/solid/src/render/Suspense.ts). Tracks pending resources via SuspenseContext and renders fallback until the count reaches zero. |
| SuspenseList | An experimental sibling control flow (packages/solid/src/render/Suspense.ts) that orders multiple Suspense boundaries (forwards / backwards / together) and supports tail collapsing. |
| Error boundary | An <ErrorBoundary> instance (defined in packages/solid/src/reactive/signal.ts as catchError). Captures errors from descendants and renders a fallback or invokes a callback. |
sharedConfig |
A module-level singleton (packages/solid/src/render/hydration.ts) that holds the current hydration context, the streaming registry, completed effects, and the resource map. |
| Renderer | A bundle of low-level operations (insert, spread, createElement, etc.) that the compiler emits calls into. The DOM renderer is solid-js/web; custom renderers come from solid-js/universal. |
| rxcore | The internal alias used inside packages/solid/src source to import core helpers from dom-expressions. The Rollup config (packages/solid/rollup.config.js) and Vitest config (packages/solid/vite.config.mjs) rewrite rxcore to packages/solid/web/src/core at build/test time. |
| dom-expressions | The sibling library that provides the low-level DOM/SSR runtime (spread, insert, delegateEvents, template, etc.) and the JSX type definitions. Solid is one consumer; babel-plugin-jsx-dom-expressions is the compiler half. |
| Universal renderer | A renderer object produced by createRenderer (packages/solid/universal/src/index.ts). Lets Solid drive any tree-shaped target (terminal UIs, canvas, native, etc.) when the compiler is run with generate: "universal". |
solid-element |
Wraps a Solid component as a Web Components custom element. Distinct from solid-js; the source lives in packages/solid-element/. |
| changeset | A markdown file in .changeset/ that describes an upcoming version bump for one or more packages. pnpm bump adds one; pnpm release:only consumes them via @changesets/cli. |
| dev build | A bundle compiled with the Rollup replaceDev(true) step, which substitutes the _SOLID_DEV_ and _DX_DEV_ placeholders for true. Activated by the development export condition in packages/solid/package.json. |
isServer / isDev |
Compile-time flags exported from solid-js/web (packages/solid/web/src/index.ts and packages/solid/web/server/index.ts). The renderer entry chosen by export conditions decides which value you get. |
| JSX runtime | The module the TS / Babel JSX transform uses (solid-js/jsx-runtime). For Solid this resolves to the same module as solid-js; the compiler does the heavy lifting via babel-plugin-jsx-dom-expressions, not the runtime. |
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.