Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL

solidjs/solid

Developer Tools

A JavaScript UI library that compiles JSX to real DOM and updates it with fine-grained reactivity.

36,297
1,154
TypeScript
MIT
8 years old

What it is

Solid is a declarative JavaScript/TypeScript library for building user interfaces. Rather than using a virtual DOM, it compiles JSX templates into real DOM nodes and updates them through fine-grained reactive dependencies: changing a signal reruns only the code that reads it. Components are ordinary functions that execute once to set up the view, which makes the mental model simpler and keeps <div> elements inspectable in browser devtools.

It ships the framework features expected in a modern UI library, including JSX and fragments, Context, Stores, Resources with Suspense and concurrent rendering, streaming SSR, progressive hydration, and Error Boundaries. It is isomorphic between client and server, supports custom renderers, and can be used to author web components.

Quick start

Create a minimal client-rendered app powered by Vite with degit, then install dependencies and start the dev server:

npx degit solidjs/templates/js my-app
cd my-app
npm i
npm run dev

For TypeScript, use npx degit solidjs/templates/ts my-app instead of the JS template. Yarn and pnpm work as well.

To add Solid to an existing setup with JSX, install solid-js plus the Babel preset:

npm i -D babel-preset-solid
npm i solid-js

Then add "presets": ["solid"] to your Babel configuration, and for TypeScript set "jsx": "preserve" and "jsxImportSource": "solid-js" in compilerOptions. The README does not spell out the full Vite or webpack configuration beyond these preset/tsconfig entries, so consult the official documentation for a complete non-template setup. The smallest component example uses createSignal and render; the interactive playground runs it in the browser without local installation.

Usage constraints

SolidJS Core targets the last two years of modern desktop and mobile browsers: Firefox, Safari, Chrome and Edge. Internet Explorer and similar sunset browsers are not supported. Server environments are limited to Node LTS plus the latest Deno and Cloudflare Worker runtimes. Using JSX requires the Babel preset, and TypeScript projects must point jsxImportSource at solid-js. The project is MIT-licensed.

HotRepo's take

On 2026-11-06 the TypeScript daily list recorded 36,258 stars and 139 new stars, with a best position of 3 that day; there is no all-language daily rank for this repository in the collected data. The Hacker News submissions track releases rather than usage: the 2.0 RC post in August 2026 drew 10 points and no comments, while the 2.0 beta post in March 2026 had one comment noting first-class async, optimistic primitives such as createOptimistic and createOptimisticStore, and a more predictable scheduler. These are announcements and one reader's summary, not independent benchmarks. The observable pattern is a mature 1.x library now moving through 2.0 pre-releases, with the day-list numbers indicating continued attention at that snapshot.

Written by AI from the project's README, updated . The project's own docs are the source of truth.

Hacker News

Solid 2.0 RC: The Big <Reveal>
▲ 10 · 0 comments · August 13, 2026
Solid 1.6 – Castle in the Sky
▲ 4 · 0 comments · October 20, 2022
Solidjs releases 2.0 beta – The <Suspense> is Over
▲ 3 · 1 comment · March 4, 2026