MintPlayer.Spark.AllFeatures
10.0.0-preview.39
dotnet add package MintPlayer.Spark.AllFeatures --version 10.0.0-preview.39
NuGet\Install-Package MintPlayer.Spark.AllFeatures -Version 10.0.0-preview.39
<PackageReference Include="MintPlayer.Spark.AllFeatures" Version="10.0.0-preview.39" />
<PackageVersion Include="MintPlayer.Spark.AllFeatures" Version="10.0.0-preview.39" />
<PackageReference Include="MintPlayer.Spark.AllFeatures" />
paket add MintPlayer.Spark.AllFeatures --version 10.0.0-preview.39
#r "nuget: MintPlayer.Spark.AllFeatures, 10.0.0-preview.39"
#:package MintPlayer.Spark.AllFeatures@10.0.0-preview.39
#addin nuget:?package=MintPlayer.Spark.AllFeatures&version=10.0.0-preview.39&prerelease
#tool nuget:?package=MintPlayer.Spark.AllFeatures&version=10.0.0-preview.39&prerelease
MintPlayer.Spark.AllFeatures
The all-in-one package for MintPlayer.Spark. Reference this single package and a source generator wires up the entire framework — CRUD, authorization, messaging, replication, and cron — through three calls: AddSparkFull / UseSparkFull / MapSparkFull.
Full design and rationale: PRD-AllFeatures.
Installation
dotnet add package MintPlayer.Spark.AllFeatures
Installing the package also installs the bundled source generators (they ship in the package's analyzers/ folder), so no separate generator reference is needed.
Quick Start
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddSparkFull(builder.Configuration);
var app = builder.Build();
app.UseRouting();
app.UseSparkFull(args);
app.MapSparkFull();
app.Run();
That's the whole wiring. The source generator discovers your SparkContext, SparkUser, Actions, Recipients, Custom Actions, and Cron jobs at compile time — no generic type parameters, no manual AddActions()/AddRecipients()/AddCronJobs() calls.
AddSparkFull— registers Spark + every feature it detects in your project (and the discovered Actions/Recipients/Custom Actions/Cron jobs).UseSparkFull(args)— adds the Spark middleware pipeline and handles--spark-synchronize-model.MapSparkFull— maps all Spark + Identity endpoints.
What's bundled
Referencing MintPlayer.Spark.AllFeatures transitively brings in:
| Package | Provides |
|---|---|
MintPlayer.Spark |
Core CRUD framework, PersistentObject pipeline, endpoints |
MintPlayer.Spark.Authorization |
ASP.NET Core Identity + security.json group-based access control |
MintPlayer.Spark.Messaging |
Durable RavenDB message bus (pulls in the subscription worker) |
MintPlayer.Spark.Replication |
Cross-module ETL replication |
MintPlayer.Spark.Cron |
Multi-node-safe cron-scheduled background jobs |
MintPlayer.Spark.SourceGenerators + …AllFeatures.SourceGenerators |
Compile-time DI registration + the AddSparkFull/UseSparkFull/MapSparkFull emission |
GitHub webhooks (MintPlayer.Spark.Webhooks.GitHub) and the typed MintPlayer.Spark.Client SDK are not bundled — add them explicitly when needed.
Configuration
Pass a SparkFullOptions delegate to opt into and configure individual features. Every property is optional; unset features use their defaults (and replication/rate-limiting stay off until configured).
builder.Services.AddSparkFull(builder.Configuration, options =>
{
options.Replication = opt =>
{
opt.ModuleName = "Fleet";
opt.ModuleUrl = "https://localhost:5003";
};
// Enable the rate limiter with default limits (150 requests / 10 s, partitioned by client IP).
options.RateLimiter = _ => { };
});
| Option | Configures |
|---|---|
Authorization |
Group-based authorization (security.json behavior). |
Identity |
ASP.NET Core Identity options (password rules, lockout, …). |
IdentityProviders |
External login providers (Google, Microsoft, OIDC, …). |
Messaging |
The durable message bus. |
Replication |
Cross-module ETL replication (off unless set). |
RateLimiter |
The /spark/ rate limiter (off unless set; _ => { } enables defaults). |
Requirements
- .NET 10.0+
- RavenDB 6.2+
- An
IDocumentStore(configured fromSpark:RavenDbinappsettings.json)
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. |
-
net10.0
- MintPlayer.Spark (>= 10.0.0-preview.39)
- MintPlayer.Spark.Authorization (>= 10.0.0-preview.39)
- MintPlayer.Spark.Cron (>= 10.0.0-preview.39)
- MintPlayer.Spark.Messaging (>= 10.0.0-preview.39)
- MintPlayer.Spark.Migrations (>= 10.0.0-preview.39)
- MintPlayer.Spark.Replication (>= 10.0.0-preview.39)
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 |
|---|---|---|
| 10.0.0-preview.39 | 0 | 6/9/2026 |
| 10.0.0-preview.38 | 0 | 6/9/2026 |
| 10.0.0-preview.37 | 30 | 6/8/2026 |
| 10.0.0-preview.35 | 39 | 6/7/2026 |
| 10.0.0-preview.34 | 38 | 6/5/2026 |
| 10.0.0-preview.33 | 56 | 4/27/2026 |
| 10.0.0-preview.30 | 63 | 4/17/2026 |
| 10.0.0-preview.29 | 59 | 4/11/2026 |
| 10.0.0-preview.28 | 60 | 4/10/2026 |