12.3 Packages
The library takes Trax.StateMachine.Persistence, which holds machines and stores their
instances. The hub serves them, which needs persisted operations, and reports a run's progress
while a machine waits on it. The tests check the machine against its exported definition.
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="Trax.Api.Auth" Version="1.68.0" />
<PackageVersion Include="Trax.Api.Auth.Jwt" Version="1.68.0" />
<PackageVersion Include="Trax.Api.Dashboard" Version="1.68.0" />
<PackageVersion Include="Trax.Api.GraphQL" Version="1.68.0" />
<PackageVersion Include="Trax.Api.GraphQL.PersistedOperations" Version="1.68.0" />
<PackageVersion Include="Trax.Core" Version="1.68.0" />
<PackageVersion Include="Trax.Core.Testing" Version="1.68.0" />
<PackageVersion Include="Trax.Effect" Version="1.68.0" />
<PackageVersion Include="Trax.Effect.Data.InMemory" Version="1.68.0" />
<PackageVersion Include="Trax.Effect.Data.Postgres" Version="1.68.0" />
<PackageVersion Include="Trax.Effect.Data.Testing" Version="1.68.0" />
<PackageVersion Include="Trax.Effect.JunctionProvider.Logging" Version="1.68.0" />
<PackageVersion Include="Trax.Effect.JunctionProvider.Progress" Version="1.68.0" />
<PackageVersion Include="Trax.Effect.Provider.Parameter" Version="1.68.0" />
<PackageVersion Include="Trax.StateMachine.Persistence" Version="1.68.0" />
<PackageVersion Include="Trax.StateMachine.Testing" Version="1.68.0" />
<PackageVersion Include="Trax.Mediator" Version="1.68.0" />
<PackageVersion Include="Trax.Mediator.Testing" Version="1.68.0" />
<PackageVersion Include="Trax.Scheduler" Version="1.68.0" />
</ItemGroup>
<ItemGroup>
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="10.0.3" />
</ItemGroup>
<ItemGroup>
<PackageVersion Include="AwesomeAssertions" Version="9.6.0" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="10.0.12" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.10.1" />
<!-- NUnit3TestAdapter pulls these at versions deprecated as Legacy; pin newer ones. -->
<PackageVersion Include="Microsoft.Testing.Extensions.VSTestBridge" Version="2.5.1" />
<PackageVersion Include="Microsoft.Testing.Platform.MSBuild" Version="2.5.1" />
<PackageVersion Include="NUnit" Version="5.0.0" />
<PackageVersion Include="NUnit.Analyzers" Version="4.15.0" />
<PackageVersion Include="NUnit3TestAdapter" Version="6.3.0" />
</ItemGroup>
</Project><Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>Shopfront</RootNamespace>
</PropertyGroup>
<ItemGroup>
<!-- The junctions are internal; their tests are the one project that may see them. -->
<InternalsVisibleTo Include="Shopfront.Tests" />
</ItemGroup>
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
<ItemGroup>
<!-- The two the web project's implicit usings gave the code that moved here. -->
<Using Include="Microsoft.Extensions.DependencyInjection" />
<Using Include="Microsoft.Extensions.Logging" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" />
<PackageReference Include="Trax.Api.Auth" />
<PackageReference Include="Trax.Core" />
<PackageReference Include="Trax.Effect" />
<PackageReference Include="Trax.Effect.Data.Postgres" />
<PackageReference Include="Trax.StateMachine.Persistence" />
<PackageReference Include="Trax.Mediator" />
</ItemGroup>
<ItemGroup>
<!-- Each machine's committed corpus, which it replays to check itself. -->
<EmbeddedResource
Include="..\machines\checkout\differential.json"
LogicalName="machines/checkout/differential.json"
Condition="Exists('..\machines\checkout\differential.json')"
/>
</ItemGroup>
</Project><Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>Shopfront</RootNamespace>
</PropertyGroup>
<ItemGroup>
<!-- The host tests start the hub. -->
<InternalsVisibleTo Include="Shopfront.Tests" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Shopfront.Core\Shopfront.Core.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Trax.Api.Auth.Jwt" />
<PackageReference Include="Trax.Api.Dashboard" />
<PackageReference Include="Trax.Api.GraphQL" />
<PackageReference Include="Trax.Api.GraphQL.PersistedOperations" />
<PackageReference Include="Trax.Effect.JunctionProvider.Logging" />
<PackageReference Include="Trax.Effect.JunctionProvider.Progress" />
<PackageReference Include="Trax.Effect.Provider.Parameter" />
<PackageReference Include="Trax.Scheduler" />
</ItemGroup>
</Project><Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\Shopfront.Hub\Shopfront.Hub.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="AwesomeAssertions" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" />
<PackageReference Include="Microsoft.NET.Test.Sdk" />
<PackageReference Include="NUnit" />
<PackageReference Include="NUnit.Analyzers" />
<PackageReference Include="NUnit3TestAdapter" />
<PackageReference Include="Trax.Core.Testing" />
<PackageReference Include="Trax.Effect.Data.InMemory" />
<PackageReference Include="Trax.Effect.Data.Testing" />
<PackageReference Include="Trax.StateMachine.Testing" />
<PackageReference Include="Trax.Mediator.Testing" />
</ItemGroup>
</Project>SDK Reference
Machine | Rules | AddStateMachines | Machines over GraphQL | UsePersistedOperations | trax CLI