Improved handling of moonlight plugins during startup, minimized host project code and moved startup handling to core

This commit is contained in:
2026-02-18 15:36:45 +01:00
parent 627e9bb161
commit c45e177001
12 changed files with 135 additions and 68 deletions

View File

@@ -7,9 +7,6 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="10.0.1"/>
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="10.0.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; analyzers; buildtransitive</IncludeAssets>

View File

@@ -1,27 +1,9 @@
using Moonlight.Api.Startup;
using Moonlight.Api;
using SimplePlugin.Generated;
var modules = PluginRegistry.Modules
.OfType<IAppStartup>()
var plugins = PluginRegistry
.Modules
.OfType<MoonlightPlugin>()
.ToArray();
var builder = WebApplication.CreateBuilder(args);
foreach (var startup in modules)
startup.PreBuild(builder);
var app = builder.Build();
foreach (var startup in modules)
startup.PostBuild(app);
foreach (var startup in modules)
startup.PostMiddleware(app);
if (app.Environment.IsDevelopment())
app.UseWebAssemblyDebugging();
app.UseBlazorFrameworkFiles();
app.UseStaticFiles();
await app.RunAsync();
await StartupHandler.RunAsync(args, plugins);