using Microsoft.AspNetCore.Components.WebAssembly.Hosting; namespace Moonlight.Frontend; public static class StartupHandler { public static async Task RunAsync(string[] args, MoonlightPlugin[] plugins) { Console.WriteLine($"Starting with: {string.Join(", ", plugins.Select(x => x.GetType().FullName))}"); var builder = WebAssemblyHostBuilder.CreateDefault(args); foreach (var plugin in plugins) plugin.PreBuild(builder); var app = builder.Build(); foreach(var plugin in plugins) plugin.PostBuild(app); await app.RunAsync(); } }