refactor: consolidate NuGet packages 8 → 6 (closes #33) #34

Merged
Grandiras merged 1 commit from consolidate-packages-33 into main 2026-05-29 19:02:41 +00:00
Owner

Closes #33.

Consolidates the published NuGet package set from 8 → 6 by merging the two thinnest packages into ATProtoNet.Server, keeping their original namespaces and public APIs so consumers only swap the PackageReference.

Merges

  • ATProtoNet.Server.EntityFrameworkCore (EF Core token store) → src/ATProtoNet.Server/TokenStore/EntityFrameworkCore/
  • ATProtoNet.Aspire (Aspire client integration) → src/ATProtoNet.Server/Aspire/

ATProtoNet.Server now depends on Microsoft.EntityFrameworkCore.Relational and Microsoft.Extensions.Http.Resilience. The core SDK, ATProtoNet.Blazor, ATProtoNet.Pds, ATProtoNet.Aspire.Hosting, and the atproto-lexgen tool stay separate (distinct dependency surfaces / audiences — core stays ASP.NET-free; the two Aspire roles can't merge per the Aspire.X/Aspire.Hosting.X convention).

Breaking change

ATProtoNet.Server.EntityFrameworkCore and ATProtoNet.Aspire are no longer published. Replace the PackageReference with ATProtoNet.Server. The ATProtoNet.Server.EntityFrameworkCore / ATProtoNet.Aspire namespaces and the AddAtProtoEfCoreTokenStore<T>() / AddAtProtoClient() APIs are unchanged, so existing source compiles as-is. Documented under Breaking changes in CHANGELOG.md (clean break — pre-1.0).

Also updated

Solution file, test project references, README, CLAUDE.md, and docs (architecture / getting-started / aspire / server).

Verification

  • dotnet build — 0 errors
  • dotnet test tests/ATProtoNet.Tests/921 passed, 0 failed (incl. the relocated EF Core + Aspire tests)
  • dotnet pack — produces exactly 6 packages (ATProtoNet, ATProtoNet.Server, ATProtoNet.Blazor, ATProtoNet.Pds, ATProtoNet.Aspire.Hosting, ATProtoNet.LexiconGenerator); ATProtoNet.Server declares the two new dependencies

🤖 Generated with Claude Code

Closes #33. Consolidates the published NuGet package set from **8 → 6** by merging the two thinnest packages into `ATProtoNet.Server`, keeping their original namespaces and public APIs so consumers only swap the `PackageReference`. ### Merges - **`ATProtoNet.Server.EntityFrameworkCore`** (EF Core token store) → `src/ATProtoNet.Server/TokenStore/EntityFrameworkCore/` - **`ATProtoNet.Aspire`** (Aspire client integration) → `src/ATProtoNet.Server/Aspire/` `ATProtoNet.Server` now depends on `Microsoft.EntityFrameworkCore.Relational` and `Microsoft.Extensions.Http.Resilience`. The core SDK, `ATProtoNet.Blazor`, `ATProtoNet.Pds`, `ATProtoNet.Aspire.Hosting`, and the `atproto-lexgen` tool stay separate (distinct dependency surfaces / audiences — core stays ASP.NET-free; the two Aspire roles can't merge per the `Aspire.X`/`Aspire.Hosting.X` convention). ### Breaking change `ATProtoNet.Server.EntityFrameworkCore` and `ATProtoNet.Aspire` are no longer published. Replace the `PackageReference` with `ATProtoNet.Server`. The `ATProtoNet.Server.EntityFrameworkCore` / `ATProtoNet.Aspire` namespaces and the `AddAtProtoEfCoreTokenStore<T>()` / `AddAtProtoClient()` APIs are **unchanged**, so existing source compiles as-is. Documented under `Breaking changes` in `CHANGELOG.md` (clean break — pre-1.0). ### Also updated Solution file, test project references, README, CLAUDE.md, and docs (architecture / getting-started / aspire / server). ### Verification - `dotnet build` — 0 errors - `dotnet test tests/ATProtoNet.Tests/` — **921 passed, 0 failed** (incl. the relocated EF Core + Aspire tests) - `dotnet pack` — produces exactly 6 packages (`ATProtoNet`, `ATProtoNet.Server`, `ATProtoNet.Blazor`, `ATProtoNet.Pds`, `ATProtoNet.Aspire.Hosting`, `ATProtoNet.LexiconGenerator`); `ATProtoNet.Server` declares the two new dependencies 🤖 Generated with [Claude Code](https://claude.com/claude-code)
refactor: consolidate NuGet packages 8 -> 6 (closes #33)
All checks were successful
CI / build-and-test (pull_request) Successful in 39s
Sync Closures to GitHub / sync-closure (pull_request) Successful in 6s
f4ed1babdd
Merge the two thinnest packages into ATProtoNet.Server, keeping their original namespaces and public APIs so consumers only swap the PackageReference:
- ATProtoNet.Server.EntityFrameworkCore (EF Core token store) -> src/ATProtoNet.Server/TokenStore/EntityFrameworkCore/
- ATProtoNet.Aspire (Aspire client integration)            -> src/ATProtoNet.Server/Aspire/

ATProtoNet.Server now depends on Microsoft.EntityFrameworkCore.Relational and Microsoft.Extensions.Http.Resilience. Blazor, Pds, Aspire.Hosting, the core SDK, and the LexiconGenerator tool stay separate.

Also updates the solution file, test project references, CHANGELOG, README, CLAUDE.md, and docs (architecture/getting-started/aspire/server).

BREAKING CHANGE: ATProtoNet.Server.EntityFrameworkCore and ATProtoNet.Aspire are no longer published as standalone packages; reference ATProtoNet.Server instead. Namespaces and APIs (AddAtProtoEfCoreTokenStore<T>, AddAtProtoClient) are unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Grandiras deleted branch consolidate-packages-33 2026-05-29 19:02:41 +00:00
Sign in to join this conversation.
No description provided.