Skip to content

Architecture

Nexa is organized as a monorepo with nine packages:

nexa/
├── packages/
│   ├── reactivity/      Signals core
│   ├── runtime/         Virtual DOM + Components
│   ├── compiler/        SFC compiler
│   ├── nexa/            Umbrella re-exports
│   ├── vite-plugin-nexa Vite integration
│   ├── state/           Global state management
│   ├── router/          Client-side router
│   ├── nexa-init/     Project scaffolding CLI
│   └── devtools/        DevTools introspection API

Dependency Graph

nexa ─── depends on: reactivity, runtime
runtime ─── depends on: reactivity
compiler ─── standalone
vite-plugin ─── depends on: compiler
state ─── depends on: reactivity
router ─── depends on: runtime, reactivity

Design Philosophy

  • Simplicity — Intuitive API, minimal boilerplate
  • Performance — Signals-driven reactivity + efficient VDOM
  • Scalability — From landing pages to enterprise apps
  • Type Safety — Full TypeScript, strict mode

Comparison

AspectVue 3ReactSolidJSNexa
ReactivityProxy ref()useStateSignalsSignals
RenderingVDOM + ProxyVDOM full re-renderDirect DOMVDOM + Signal
ComponentsSFC + Options/SetupJSX functionsJSX functionsSFC + Setup
Bundle~33KB~42KB~7KB~15KB

Released under the MIT License.