Excalibur.Operations.Dashboard.Spa
10.0.0-alpha.8
dotnet add package Excalibur.Operations.Dashboard.Spa --version 10.0.0-alpha.8
NuGet\Install-Package Excalibur.Operations.Dashboard.Spa -Version 10.0.0-alpha.8
<PackageReference Include="Excalibur.Operations.Dashboard.Spa" Version="10.0.0-alpha.8" />
<PackageVersion Include="Excalibur.Operations.Dashboard.Spa" Version="10.0.0-alpha.8" />
<PackageReference Include="Excalibur.Operations.Dashboard.Spa" />
paket add Excalibur.Operations.Dashboard.Spa --version 10.0.0-alpha.8
#r "nuget: Excalibur.Operations.Dashboard.Spa, 10.0.0-alpha.8"
#:package Excalibur.Operations.Dashboard.Spa@10.0.0-alpha.8
#addin nuget:?package=Excalibur.Operations.Dashboard.Spa&version=10.0.0-alpha.8&prerelease
#tool nuget:?package=Excalibur.Operations.Dashboard.Spa&version=10.0.0-alpha.8&prerelease
Excalibur.Operations.Dashboard.Spa
Embedded single-page app for the Excalibur Operations Dashboard. Ships the read-only dashboard UI as AOT-neutral static assets embedded in the assembly and serves them under a configurable path prefix with a strict Content-Security-Policy.
Usage
Map the SPA from any ASP.NET Core endpoint pipeline:
var app = builder.Build();
app.MapDashboardSpa(); // served under /dashboard
// or
app.MapDashboardSpa("/ops"); // served under a custom prefix
Only GET routes are mapped, so serving the UI never exposes a mutating surface.
Hashed assets are served with an immutable long-lived cache; any unmatched
sub-path falls back to the SPA entry document for client-side routing.
How the assets are built
The UI is a Svelte + Vite app in ClientApp/. Its production build output is
committed to wwwroot/ and embedded via ManifestEmbeddedFileProvider.
- A normal
dotnet buildembeds the committedwwwroot/bytes — no Node toolchain required, reproducible, and AOT-neutral. - To rebuild the UI from source, pass
-p:BuildSpaAssets=true(requires Node + npm); the MSBuild target runsnpm ci && npm run buildbefore embedding.
# rebuild the SPA from source, then build the package
dotnet build -p:BuildSpaAssets=true
| 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. |
-
net10.0
- Microsoft.Extensions.FileProviders.Embedded (>= 10.0.10)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Excalibur.Operations.Dashboard.Spa:
| Package | Downloads |
|---|---|
|
Excalibur.Operations.Dashboard
Free, OSS, read-only-by-default operational dashboard for the Excalibur framework. Surfaces live outbox, dead-letter, inbox, saga, projection/CDC-lag, and leader-election state across every configured storage provider via minimal-API endpoints and an embedded single-page app. Mutating actions (dead-letter replay) are opt-in and auth-gated. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.0-alpha.8 | 52 | 8/14/2026 |
| 10.0.0-alpha.7 | 38 | 8/13/2026 |
| 10.0.0-alpha.6 | 53 | 8/11/2026 |
| 10.0.0-alpha.5 | 53 | 8/10/2026 |
| 10.0.0-alpha.4 | 53 | 8/10/2026 |
See CHANGELOG.md for release notes