
This allows us to drop the cuid.net dependency and is ~6x faster while improving security (cuid2 is dubious at best in this regard). We may switch to ULID or UUIDv7 in the future for even higher performance, but this change allows for improving performance and security without any side effects.
126 lines
6.6 KiB
XML
126 lines
6.6 KiB
XML
<Project Sdk="Microsoft.NET.Sdk.Web">
|
|
|
|
<PropertyGroup>
|
|
<TargetFramework>net8.0</TargetFramework>
|
|
<Nullable>enable</Nullable>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<InvariantGlobalization>true</InvariantGlobalization>
|
|
<SatelliteResourceLanguages>none</SatelliteResourceLanguages>
|
|
<VersionPrefix>2024.1</VersionPrefix>
|
|
<VersionSuffix>alpha</VersionSuffix>
|
|
<UseCurrentRuntimeIdentifier>true</UseCurrentRuntimeIdentifier>
|
|
<PublishTrimmed>false</PublishTrimmed>
|
|
<GarbageCollectionAdaptationMode>1</GarbageCollectionAdaptationMode>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<AssemblyMetadata Include="codename" Value="alpha" />
|
|
</ItemGroup>
|
|
|
|
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
|
<BlazorWebAssemblyOmitDebugProxyOutput>true</BlazorWebAssemblyOmitDebugProxyOutput>
|
|
<PreserveCompilationContext>false</PreserveCompilationContext>
|
|
<DebugType>embedded</DebugType>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\Iceshrimp.Frontend\Iceshrimp.Frontend.csproj" />
|
|
<ProjectReference Include="..\Iceshrimp.Parsing\Iceshrimp.Parsing.fsproj" />
|
|
<ProjectReference Include="..\Iceshrimp.Shared\Iceshrimp.Shared.csproj" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="AngleSharp" Version="1.1.2" />
|
|
<PackageReference Include="AsyncKeyedLock" Version="6.4.2" />
|
|
<PackageReference Include="Blurhash.ImageSharp" Version="3.0.0" />
|
|
<PackageReference Include="dotNetRdf.Core" Version="3.2.6-iceshrimp" />
|
|
<PackageReference Include="EntityFrameworkCore.Exceptions.PostgreSQL" Version="8.1.2" />
|
|
<PackageReference Include="EntityFrameworkCore.Projectables" Version="3.0.4" />
|
|
<PackageReference Include="FlexLabs.EntityFrameworkCore.Upsert" Version="8.0.0" />
|
|
<PackageReference Include="Iceshrimp.ObjectStorage.S3" Version="0.33.2" />
|
|
<PackageReference Include="Isopoh.Cryptography.Argon2" Version="2.0.0" />
|
|
<PackageReference Include="JetBrains.Annotations" Version="2023.3.0" />
|
|
<PackageReference Include="libsodium" Version="1.0.18.4" />
|
|
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="8.0.5" />
|
|
<PackageReference Include="Microsoft.AspNetCore.DataProtection.EntityFrameworkCore" Version="8.0.5" />
|
|
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.5" />
|
|
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="8.0.5" />
|
|
<PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.MessagePack" Version="8.0.5" />
|
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.5">
|
|
<PrivateAssets>all</PrivateAssets>
|
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
</PackageReference>
|
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="8.0.5" />
|
|
<PackageReference Include="Microsoft.Extensions.Configuration.Ini" Version="8.0.0" />
|
|
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.4" />
|
|
<PackageReference Include="SixLabors.ImageSharp.Drawing" Version="2.1.3" />
|
|
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.6.2" />
|
|
<PackageReference Include="System.IO.Hashing" Version="8.0.0" />
|
|
<PackageReference Include="System.Text.RegularExpressions" Version="4.3.1" />
|
|
<PackageReference Include="System.Text.Json" Version="8.0.3" />
|
|
<PackageReference Include="WebPush" Version="1.0.24-iceshrimp" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
|
|
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="8.0.5" />
|
|
</ItemGroup>
|
|
|
|
<PropertyGroup Condition=" '$(EnableLibVips)' == 'true' ">
|
|
<DefineConstants>$(DefineConstants);EnableLibVips</DefineConstants>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup Condition=" '$(EnableLibVips)' == 'true' ">
|
|
<PackageReference Include="NetVips" Version="2.4.1" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition=" '$(EnableLibVips)' == 'true' And '$(BundleNativeDeps)' == 'true' ">
|
|
<PackageReference Include="NetVips.Native.linux-x64" Version="8.15.2" />
|
|
<PackageReference Include="NetVips.Native.linux-arm64" Version="8.15.2" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition=" '$(EnableLibVips)' == 'true' And '$(BundleNativeDepsMusl)' == 'true' ">
|
|
<PackageReference Include="NetVips.Native.linux-musl-x64" Version="8.15.2" />
|
|
<PackageReference Include="NetVips.Native.linux-musl-arm64" Version="8.15.2" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition=" '$(EnableLibVips)' == 'true' And ($([MSBuild]::IsOSPlatform('macOS')) Or '$(BundleNativeDepsMacOS)' == 'true') ">
|
|
<PackageReference Include="NetVips.Native.osx-x64" Version="8.15.2" />
|
|
<PackageReference Include="NetVips.Native.osx-arm64" Version="8.15.2" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition=" '$(EnableLibVips)' == 'true' And ($([MSBuild]::IsOSPlatform('Windows')) Or '$(BundleNativeDepsWindows)' == 'true') ">
|
|
<PackageReference Include="NetVips.Native.win-x64" Version="8.15.2" />
|
|
<PackageReference Include="NetVips.Native.win-arm64" Version="8.15.2" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Content Include="configuration.ini" CopyToOutputDirectory="Always"/>
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Content Update="Core\Federation\ActivityStreams\Contexts\*.json">
|
|
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
|
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
|
|
</Content>
|
|
<ContentWithTargetPath Include="Core\Federation\ActivityStreams\Contexts\*.json">
|
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
<CopyToPublishDirectory>Always</CopyToPublishDirectory>
|
|
<TargetPath>contexts\%(Filename)%(Extension)</TargetPath>
|
|
</ContentWithTargetPath>
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<None Remove="Core\Database\prune-designer-cs-files.sh" />
|
|
</ItemGroup>
|
|
|
|
<Target Name="KeepOnlyBrotliCompressedStaticAssets" AfterTargets="Publish">
|
|
<ItemGroup>
|
|
<CompressedFiles Include="$(PublishDir)\wwwroot\_framework\*.br" />
|
|
<FilesToClean Include="@(CompressedFiles->'%(RootDir)%(Directory)%(Filename)')" />
|
|
<FilesToClean Include="@(CompressedFiles->'%(RootDir)%(Directory)%(Filename).gz')" />
|
|
</ItemGroup>
|
|
|
|
<Delete Files="@(FilesToClean->Exists())"/>
|
|
</Target>
|
|
|
|
</Project>
|