Refactored plugin loading. Added project settings for packing

This commit is contained in:
2025-05-13 20:52:26 +02:00
parent d33e7bf295
commit 49f0a7c55e
8 changed files with 97 additions and 22 deletions

View File

@@ -4,12 +4,16 @@
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<IsPackable>true</IsPackable>
<Version>2.1.0</Version>
<Title>MoonlightServers.Frontend</Title>
<PackageTags>frontend</PackageTags>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.11"/>
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="8.0.11" PrivateAssets="all"/>
<PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="8.0.11" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.15"/>
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="8.0.15" PrivateAssets="all"/>
<PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="8.0.15" />
<PackageReference Include="Moonlight.Client" Version="2.1.0"/>
<PackageReference Include="XtermBlazor" Version="2.1.2" />
</ItemGroup>
@@ -27,4 +31,26 @@
<ProjectReference Include="..\MoonlightServers.Shared\MoonlightServers.Shared.csproj"/>
</ItemGroup>
<ItemGroup>
<None Include="**\*.cs" Exclude="storage\**\*;bin\**\*;obj\**\*">
<Pack>true</Pack>
<PackagePath>src</PackagePath>
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
</None>
<None Include="**\*.razor" Exclude="storage\**\*;bin\**\*;obj\**\*">
<Pack>true</Pack>
<PackagePath>src</PackagePath>
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
</None>
<None Include="Styles\**\*" Exclude="storage\**\*;bin\**\*;obj\**\*;Styles\node_modules\**\*">
<Pack>true</Pack>
<PackagePath>styles</PackagePath>
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
</None>
<Compile Remove="storage\**\*" />
<Content Remove="storage\**\*" />
<None Remove="storage\**\*" />
</ItemGroup>
</Project>

View File

@@ -1,4 +1,5 @@
using Moonlight.Client;
using MoonlightServers.Frontend.Startup;
// Development Client Startup
@@ -11,5 +12,5 @@ using Moonlight.Client;
var startup = new Startup();
await startup.Run(args, [
typeof(Program).Assembly
new PluginStartup()
]);

View File

@@ -1,14 +1,16 @@
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using MoonCore.Extensions;
using Moonlight.Client.Interfaces;
using Moonlight.Client.Plugins;
using MoonlightServers.Frontend.Implementations;
using MoonlightServers.Frontend.Interfaces;
namespace MoonlightServers.Frontend.Startup;
[PluginStartup]
public class PluginStartup : IPluginStartup
{
public Task BuildApplication(WebAssemblyHostBuilder builder)
public Task BuildApplication(IServiceProvider serviceProvider, WebAssemblyHostBuilder builder)
{
builder.Services.AddSingleton<ISidebarItemProvider, SidebarImplementation>();
builder.Services.AddSingleton<IServerTabProvider, DefaultServerTabProvider>();
@@ -18,7 +20,7 @@ public class PluginStartup : IPluginStartup
return Task.CompletedTask;
}
public Task ConfigureApplication(WebAssemblyHost app)
public Task ConfigureApplication(IServiceProvider serviceProvider, WebAssemblyHost app)
{
return Task.CompletedTask;
}