Reactive keyed caches and ordered lists for JavaScript, TypeScript and Blazor, powered by RxJS.
npm install @wieslawsoltes/dynamicdataweb rxjsThe complete JavaScript guide retains all existing API examples, architecture, tests, compatibility information and notices. Open the web demo.
dotnet add package DynamicDataWeb.Blazor --version 0.2.2The .NET 8/.NET 10 package bundles the real engine and RxJS for interactive WebAssembly and Server, without a consumer npm/CDN dependency. It provides typed SourceCache<T,TKey> and SourceList<T>, full collection notifications, DynamicDataProvider, and DynamicDataView<TItem> with Razor rendering. Native object/function handles also expose advanced operators.
Read the Blazor guide, integration contract, sample and release notes.
git submodule update --init --recursive
npm ci
npm run build
node blazor/build.mjs
dotnet run --project blazor/sample/Sample.csproj
# Or: dotnet run --project blazor/server/Server.csprojSource builds require the .NET 10 SDK with .NET 8 targeting support. The Server sample uses /probe/. CI restores the actual nupkg into both target frameworks and hosts, testing native collections, notifications, streams, Razor callbacks and remounting.
blazor/Version.props owns NuGet versioning separately from npm. Version-changing main merges publish after validation using NUGET_API_KEY (NUGET_TOKEN/NUGET_KEY aliases), verify the public payload and create blazor-v* releases with symbols, runnable samples and checksums. Native API/browser boundaries remain applicable; this wrapper is not an exhaustive generated C# DynamicData port. See LICENSE and NOTICE.