Radiant0.3.0-rc.5

Installation

Radiant is the core package. Signals ships with it as the reactive layer. JSX is the companion package for TSX rendering.

For the standard Radiant setup, install @ecopages/radiant and @ecopages/jsx. @ecopages/signals is installed automatically with @ecopages/radiant.

That is the simplest setup today:

  • @ecopages/radiant provides the custom-element and controller runtime
  • @ecopages/jsx backs render() and the TSX authoring flow
  • @ecopages/signals backs host reactivity, @signal, and resource helpers

You do not need to import JSX or Signals APIs directly in every Radiant component. A component can use render() without importing @ecopages/jsx symbols itself, and @state does not require importing @ecopages/signals in application code.

@ecopages/radiant currently declares @ecopages/jsx as a peer dependency. It also depends on @ecopages/signals directly for host member state. @ecopages/jsx declares @ecopages/signals as a peer dependency for signal-backed derived bindings such as mapSubscribable(...).

Installing @ecopages/radiant brings @ecopages/signals transitively, which satisfies @ecopages/jsx's peer dependency. The packages still ship as separate npm artifacts; your app bundler must resolve them to a single module instance within the application graph. Inlining @ecopages/signals into more than one app vendor chunk (or installing conflicting versions) breaks shared reactivity — for example, @state updates may not reach createResource when each chunk owns its own signals runtime.

npm install @ecopages/radiant @ecopages/jsx

TypeScript Setup For JSX

{
  "compilerOptions": {
    "jsx": "react-jsx",
    "jsxImportSource": "@ecopages/jsx"
  }
}

Or enable it per file:

/** @jsxImportSource @ecopages/jsx */

Signals Standalone

If you only want the reactive core, install @ecopages/signals by itself:

npm install @ecopages/signals

Which Packages To Install

  • Install @ecopages/radiant and @ecopages/jsx for the standard Radiant setup. @ecopages/signals comes in with @ecopages/radiant.
  • @ecopages/jsx is required for TSX authoring, render(), hydration helpers, and SSR rendering.
  • @ecopages/signals backs @signal, host-owned async resources, and standalone reactive code. Install it explicitly only when you want the reactive layer outside Radiant, or when using @ecopages/jsx without radiant.