<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">

  <PropertyGroup>
    <TargetFramework>net10.0</TargetFramework>
    <RootNamespace>Radzen.Blazor.TrimTest</RootNamespace>
    <Nullable>enable</Nullable>

    <!-- Trimming configuration -->
    <PublishTrimmed>true</PublishTrimmed>
    <TrimMode>link</TrimMode>

    <!-- Treat IL trimming warnings as errors to catch regressions -->
    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
    <NoWarn>IL2104;CA2007</NoWarn>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="10.*-*" />
    <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="10.*-*" PrivateAssets="all" />
    <ProjectReference Include="..\Radzen.Blazor\Radzen.Blazor.csproj" />
    <!-- Models live in a separate <IsTrimmable> assembly so the trimmer strips members that are only
         set via initializers and read by Radzen via reflection - the real reflection-over-T scenario. -->
    <ProjectReference Include="..\Radzen.Blazor.TrimTest.Models\Radzen.Blazor.TrimTest.Models.csproj" />
  </ItemGroup>

</Project>
