solidjs/solid
Solid
Solid is a declarative JavaScript library for building user interfaces. Instead of relying on a virtual DOM, the Solid compiler turns JSX into real DOM nodes and wires them up to a tiny reactive runtime so that only the code that depends on a piece of state re-runs when that state changes.
This wiki documents the source code in the solidjs/solid repository — the solid-js core, the JSX compiler preset, the solid-element web-component wrapper, the solid-ssr static-render utilities, and the supporting test packages.
What this repository ships
The packages/ workspace publishes five npm packages:
| Package | Source | Purpose |
|---|---|---|
solid-js |
packages/solid |
Reactive runtime, components, control flow, store, web renderer, SSR renderer, hyperscript and tagged-template renderers, universal renderer |
babel-preset-solid |
packages/babel-preset-solid/index.js |
Babel preset that wires up babel-plugin-jsx-dom-expressions so JSX compiles to Solid runtime calls |
solid-element |
packages/solid-element/src/index.ts |
Wraps Solid components as standards-based custom elements |
solid-ssr |
packages/solid-ssr |
Helpers and example servers for rendering Solid on the server (static, async, stream) |
test-integration |
packages/test-integration |
Internal package that smoke-tests CJS/ESM imports across the published surface |
The headline package, solid-js, exposes seven entry points: the root reactive primitives, plus solid-js/web, solid-js/store, solid-js/web/storage, solid-js/h, solid-js/html, and solid-js/universal. Each entry point has its own page in this wiki.
What you can do here
- Get started building Solid itself — see Getting started for build, test, and link instructions.
- Understand the architecture — see Architecture for a tour of how the runtime, compiler, and renderers fit together.
- Look up a primitive — the
solid-jsreactivity page coverscreateSignal,createMemo,createEffect,createResource, transitions, and the scheduler. - Look up a component or control-flow tag — see Components and control flow for
<For>,<Show>,<Switch>,<Suspense>, and friends. - Render to the DOM, server, or a custom backend — pages exist for
solid-js/web,solid-js/serverrendering, andsolid-js/universal. - Contribute — see How to contribute.
Status
The repository tracks the 1.x line of Solid (current published version: solid-js@1.9.12, see packages/solid/package.json). Active 2.x reactive work has moved to the separate solidjs/signals repository, mentioned in CHANGELOG.md. This codebase remains the source of truth for the production-ready solid-js package.
The library is MIT-licensed (LICENSE) and authored by Ryan Carniato.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.