AlisReactive.Fusion
1.0.0-preview.22
dotnet add package AlisReactive.Fusion --version 1.0.0-preview.22
NuGet\Install-Package AlisReactive.Fusion -Version 1.0.0-preview.22
<PackageReference Include="AlisReactive.Fusion" Version="1.0.0-preview.22" />
<PackageVersion Include="AlisReactive.Fusion" Version="1.0.0-preview.22" />
<PackageReference Include="AlisReactive.Fusion" />
paket add AlisReactive.Fusion --version 1.0.0-preview.22
#r "nuget: AlisReactive.Fusion, 1.0.0-preview.22"
#:package AlisReactive.Fusion@1.0.0-preview.22
#addin nuget:?package=AlisReactive.Fusion&version=1.0.0-preview.22&prerelease
#tool nuget:?package=AlisReactive.Fusion&version=1.0.0-preview.22&prerelease
Alis.Reactive
Plan-driven reactive framework for ASP.NET MVC. C# fluent builders produce JSON plans executed by a browser runtime. Zero JavaScript in views.
Packages
| Package | Description |
|---|---|
Alis.Reactive |
Core plan model, builders, and serialization |
Alis.Reactive.Native |
Native HTML components (TextBox, CheckBox, DropDown, Button, etc.) |
Alis.Reactive.Fusion |
Syncfusion EJ2 component integration |
Alis.Reactive.FluentValidator |
FluentValidation rule extraction to client-side validation |
Alis.Reactive.NativeTagHelpers |
ASP.NET Core Tag Helpers for native components |
All library packages target net48 and net10.0 (NativeTagHelpers is net10.0 only).
Getting Started
Prerequisites: .NET SDK 10.0.x and Node.js 22+.
A fresh clone has no installed dependencies and no built bundles. Run these three commands from the repo root, in order:
npm ci # 1. install JS dependencies
npm run build:all # 2. build the JS/CSS bundles
dotnet run --project Alis.Reactive.SandboxApp # 3. start the sandbox
Open http://localhost:5220 — the sandbox home page is the index of component demos.
Order matters: the sandbox serves the bundles produced by build:all and
refuses to start without them. If you skip step 2, startup throws with a
message telling you to run npm run build:all.
Developing
Three terminals give a live edit/refresh loop:
npm run watch # framework JS — rebuild on .ts edit
npm run watch:css # framework CSS — rebuild on .css edit
dotnet watch --project Alis.Reactive.SandboxApp # Razor + C# hot reload
- Edit
.ts/.cssunderAlis.Reactive.Assets/→ save → browser refresh. No restart. - Edit
.cshtml/.cs→dotnet watchhot-reloads automatically.
The full command reference — every build, test, and pack command — lives in CLAUDE.md → Build & Run, the canonical guide.
How the bundles ship
npm run build:all produces JS/CSS bundles that three places consume. Every
bundle output path is gitignored — git status stays clean after a build.
| Consumer | How it gets the bundles |
|---|---|
| Sandbox | SandboxApp/Program.cs serves Alis.Reactive.Assets/dist/ directly via a CompositeFileProvider — no copy into wwwroot/ |
| NuGet | Alis.Reactive.csproj packs the core dist/ bundles into AlisReactive; Alis.Reactive.Fusion.csproj packs syncfusion.dev.css into AlisReactive.Fusion. dotnet pack never runs npm |
Example app (examples/resident-intake/) |
Consumes the published NuGet; AlisReactive.targets copies the bundles into wwwroot/ on build |
Repo Layout
Alis.Reactive/ C# core library (packed as AlisReactive NuGet)
Alis.Reactive.Native/ C# native-component library
Alis.Reactive.Fusion/ C# Syncfusion-component library
Alis.Reactive.FluentValidator/ C# validator-extraction library
Alis.Reactive.NativeTagHelpers/ C# tag helpers (net10 only)
Alis.Reactive.Analyzers/ Roslyn analyzers (shipped with AlisReactive)
Alis.Reactive.Assets/ Framework JS + CSS source — pure npm package, no csproj
Alis.Reactive.SandboxApp/ Dev harness + live component demos
examples/resident-intake/ Published-NuGet consumer example
tests/ Test projects (NUnit + vitest + Playwright)
The framework's JS runtime lives in Alis.Reactive.Assets/ — a sibling folder
with its own package.json, no csproj, no MSBuild orchestration of npm. This
mirrors how dotnet/aspnetcore ships Blazor's Web.JS and SignalR's
TypeScript client.
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Framework | net48 is compatible. net481 was computed. |
-
.NETFramework 4.8
- AlisReactive (>= 1.0.0-preview.22)
- AlisReactive.Native (>= 1.0.0-preview.22)
- Microsoft.AspNet.Mvc (>= 5.3.0)
- Syncfusion.EJ2.MVC5 (>= 32.2.8)
-
net10.0
- AlisReactive (>= 1.0.0-preview.22)
- AlisReactive.Native (>= 1.0.0-preview.22)
- Syncfusion.EJ2.AspNet.Core (>= 32.2.8)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-preview.22 | 43 | 5/15/2026 |
| 1.0.0-preview.21 | 86 | 4/28/2026 |
| 1.0.0-preview.20 | 57 | 4/22/2026 |
| 1.0.0-preview.19 | 58 | 4/21/2026 |
| 1.0.0-preview.18 | 52 | 4/16/2026 |
| 1.0.0-preview.17 | 59 | 4/15/2026 |
| 1.0.0-preview.16 | 58 | 4/14/2026 |
| 1.0.0-preview.15 | 56 | 4/13/2026 |
| 1.0.0-preview.14 | 73 | 4/13/2026 |
| 1.0.0-preview.13 | 56 | 4/12/2026 |
| 1.0.0-preview.11 | 59 | 4/12/2026 |
| 1.0.0-preview.8 | 61 | 4/12/2026 |
| 1.0.0-preview.7 | 58 | 4/12/2026 |
| 1.0.0-preview.6 | 53 | 4/12/2026 |
| 1.0.0-preview.2 | 99 | 4/9/2026 |
| 1.0.0-preview.1 | 67 | 4/9/2026 |