Add Solid 2.0 support (@openuidev/solid-lang)?

Open
#1,326 2 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@paoValle is already working on this.

Since Oct 12, 2026.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
12/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
typescript
Domain
frontend

Research direction

The request is for a new @openuidev/solid-lang package shaped like the existing @openuidev/vue-lang, @openuidev/svelte-lang and @openuidev/angular-lang runtimes, all built on @openuidev/lang-core. Read CONTRIBUTING.md first, then compare those three packages to see what a runtime must provide. The issue asks maintainers whether to add the runtime and which Solid version to target, so it is done only after they answer, and that answer is the first step.

Written by the indexing model from the issue text.

Description

Is your feature request related to a problem? Please describe.

OpenUI has first-party runtimes for React, Vue, Svelte, and Angular, all on the framework-agnostic @openuidev/lang-core. There is no Solid runtime. I checked the open and closed issues: the comparable requests are Vue (#318), Svelte (#302), and Angular (#297), and each of those now has a published *-lang package. Nothing in the list asks about Solid.

I want to render streamed OpenUI Lang inside a Solid app, on Solid 2.0.

Describe the solution you'd like

A first-party Solid runtime in the same shape as @openuidev/vue-lang, @openuidev/svelte-lang, and @openuidev/angular-lang:

  • @openuidev/solid-lang, with defineComponent, createLibrary, prompt generation from the library, and a <Renderer> for streamed OpenUI Lang
  • A peer dependency on Solid 2 (solid-js@2 and @solidjs/web@2)
  • A small chat example after the package exists, the same way the Angular chat example followed the Angular runtime (#1216)

I am asking about the lang runtime only. react-ui and react-headless stayed React-only when the other frameworks landed, and a Vue headless port is still its own open request (#765).

Describe alternatives you've considered

  • Embedding @openuidev/browser-bundle. That renders the UI, but the host is React inside the embed, so component definitions, actions, and form state do not live in the Solid app.
  • Parsing with @openuidev/lang-core and writing a private Solid renderer. That covers display, and it forks the shared runtime behavior (streaming, actions, field state, validation) that the Vue, Svelte, and Angular packages already implement on top of lang-core.
  • Binding Solid 1.9 ([email protected] is the current stable). Solid 2.0 is in release candidate and the API is frozen. The 2.0 reactive model is async-native, and the runtime packages are ESM-only. A 1.x binding would target the model 2.0 replaces.

Additional context

Solid 2.0 status as of 8 Oct 2026:

Questions for maintainers:

  1. Is a Solid runtime something you plan to add?
  2. Should that runtime target Solid 2.0, now that the RC API is frozen?
  3. Is the expected first package @openuidev/solid-lang (library definition, prompts, and renderer), with a chat example as a follow-up?

Happy to wait on your direction before anyone starts a PR, per CONTRIBUTING.md.

Dominant language
TypeScript
Stars
10k
Forks
698
Avg merge
1d 6h
Merged PRs (30d)
148

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from thesysdev/openui

All issues in thesysdev/openui

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.