Skip to content

chore(deps): migrate to LayeredCraft.SourceGeneratorTools.Generator v0.1.0-beta.10#264

Merged
j-d-ha merged 11 commits into
mainfrom
chore/add-LayeredCraft.SourceGeneratorTools-v2
Dec 21, 2025
Merged

chore(deps): migrate to LayeredCraft.SourceGeneratorTools.Generator v0.1.0-beta.10#264
j-d-ha merged 11 commits into
mainfrom
chore/add-LayeredCraft.SourceGeneratorTools-v2

Conversation

@j-d-ha

@j-d-ha j-d-ha commented Dec 21, 2025

Copy link
Copy Markdown
Collaborator

🚀 Pull Request

📋 Summary

This PR migrates the MinimalLambda.SourceGenerators project to use the external LayeredCraft.SourceGeneratorTools.Generator package instead of maintaining internal copies of utility types like EquatableArray and HashCode.

Key Changes:

  • Added dependency: LayeredCraft.SourceGeneratorTools.Generator v0.1.0-beta.10
  • Removed internal types: Deleted EquatableArray, EquatableArrayExtensions, and HashCode along with their tests (~2,600 lines)
  • Updated namespace imports: Changed from MinimalLambda.SourceGenerators.Types to LayeredCraft.SourceGeneratorTools.Types
  • Simplified build tasks: Removed PublishTasks.yml and cleaned up BuildTasks.yml
  • Added PR tooling: New .claude/commands/pr.md template for consistent PR creation

Benefits:

  • Reduces code maintenance burden by using a dedicated library
  • Removes ~2,600 lines of test code that now lives in the external package
  • Ensures consistency with other projects using the same source generator tools
  • Maintains identical functionality with externally maintained utilities

✅ Checklist

  • My changes build cleanly
  • I've added/updated relevant tests (tests removed as they moved to external package)
  • I've added/updated documentation or README
  • I've followed the coding style for this project
  • I've tested the changes locally (if applicable)

🧪 Related Issues or PRs

Part of ongoing effort to modularize and share common source generator utilities.


💬 Notes for Reviewers

  • The dependency version is currently at 0.1.0-beta.10, so this is a pre-release dependency
  • All functionality previously provided by the internal types is maintained through the external package
  • The namespace changes are straightforward find-and-replace operations
  • Test coverage for EquatableArray and HashCode now lives in the LayeredCraft.SourceGeneratorTools repository

- Updated Directory.Packages.props to include LayeredCraft.SourceGeneratorTools.Generator v0.1.0-alpha.6
- Removed `.claude/` entry from .gitignore
- Created `.claude/commands/pr.md` with PR creation details.
- Specified usage of a predefined PR template from `.github/pull_request_template.md`.
…o csproj

- Updated MinimalLambda.SourceGenerators.csproj to reference LayeredCraft.SourceGeneratorTools.Generator.
- Configured PackageReference with `PrivateAssets` and `IncludeAssets` settings.
- Deleted EquatableArray implementation from `MinimalLambda.SourceGenerators`.
- Removed `EquatableArrayExtensions` and all associated unit tests.
- Removed `HashCode` polyfill since it is no longer needed.
- Removed `PublishTasks.yml` and consolidated tasks into `BuildTasks.yml` for simplicity.
- Added task dependencies for cleaner execution order (e.g., `clean` and `restore` before `build`).
- Updated `pack` and `publish` tasks to streamline NuGet publishing process.
- Incremented package version to `2.1.0-beta.6` in `Directory.Build.props`.
- Removed unnecessary echo statement from the `clean` task.
- Deleted unused command to remove .nuspec files from `src/*/obj/Release/`.
… to v0.1.0-alpha.9

- Upgraded LayeredCraft.SourceGeneratorTools.Generator dependency in Directory.Packages.props.
- Updated `.claude/commands/pr.md` to include a structured, detailed PR template.
- Added sections for summary, checklist, related issues, and notes for reviewers.
… to v0.1.0-beta.10

- Upgraded LayeredCraft.SourceGeneratorTools.Generator dependency in Directory.Packages.props.
@github-actions github-actions Bot added the type: chore Maintenance task label Dec 21, 2025
@j-d-ha j-d-ha changed the title chore(dependencies): migrate to LayeredCraft.SourceGeneratorTools.Generator v0.1.0-beta.10 chore(deps): migrate to LayeredCraft.SourceGeneratorTools.Generator v0.1.0-beta.10 Dec 21, 2025
@codecov

codecov Bot commented Dec 21, 2025

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #264      +/-   ##
==========================================
+ Coverage   88.32%   88.73%   +0.40%     
==========================================
  Files         135      132       -3     
  Lines        3410     3231     -179     
  Branches      374      321      -53     
==========================================
- Hits         3012     2867     -145     
+ Misses        250      248       -2     
+ Partials      148      116      -32     
Files with missing lines Coverage Δ
...ourceGenerators/Diagnostics/DiagnosticGenerator.cs 93.93% <ø> (ø)
...SourceGenerators/MapHandlerIncrementalGenerator.cs 92.72% <ø> (ø)
...MinimalLambda.SourceGenerators/Models/ClassInfo.cs 100.00% <ø> (ø)
...lLambda.SourceGenerators/Models/CompilationInfo.cs 100.00% <ø> (ø)
...imalLambda.SourceGenerators/Models/DelegateInfo.cs 75.00% <ø> (ø)
...inimalLambda.SourceGenerators/Models/MethodInfo.cs 77.77% <ø> (ø)
...malLambda.SourceGenerators/Models/ParameterInfo.cs 98.14% <ø> (ø)
...nerators/OutputGenerators/GenericHandlerSources.cs 96.36% <ø> (ø)
...ceGenerators/OutputGenerators/MapHandlerSources.cs 97.95% <100.00%> (+0.02%) ⬆️
...enerators/OutputGenerators/OpenTelemetrySources.cs 0.00% <ø> (ø)
... and 2 more

... and 1 file with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2360514...1302cde. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

- Added allowed `<type>` and `<scope>` values for PR titles in `.claude/commands/pr.md`.
- Updated documentation to ensure PR titles follow Conventional Commits format.
@j-d-ha
j-d-ha enabled auto-merge (squash) December 21, 2025 16:46
@sonarqubecloud

Copy link
Copy Markdown

@j-d-ha
j-d-ha merged commit 2493c37 into main Dec 21, 2025
6 checks passed
@j-d-ha
j-d-ha deleted the chore/add-LayeredCraft.SourceGeneratorTools-v2 branch December 21, 2025 16:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: chore Maintenance task

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant