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

Aperta
#1,326 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@paoValle ci sta già lavorando.

Dal 12/10/2026.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
12/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
typescript
Ambito
frontend

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
TypeScript
Stelle
10k
Fork
698
Merge medio
1g 6h
PR unite (30g)
148

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di thesysdev/openui

Tutte le issue di thesysdev/openui

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.