I released today first new Nuget package connected to my new project that I am working on for sometime: dynamically configurable, zero-downtime API, with low-code flows to write small pieces of logic – Hamster Wheel.
System heavily relies on dynamic source code generation. For that I wrote
https://www.nuget.org/packages/HamsterWheel.FluentCodeGenerators and https://www.nuget.org/packages/HamsterWheel.FluentCodeGenerators.Abstractions
small package that helps with writing C# incremental source code generators for Roslyn compiler.
Original Roslyn APIs are a bit hard to use so this package helps with that. Also it helps with:
– automatically emitting using statements
– formatting generated code
– with importing types during code generation
– with indentation and parenthesis balancing
– helps with adding and using method parameters in generated code
– `async` methods generation
– provides nicer to use wrappers to Roslyn `IncrementalValueProvider` and others
– allows to share pieces of code between files/classes (i.e. interfaces implementation)
More details are available here:
https://github.com/npodbielski/HamsterWheel.FluentCodeGenerators including readme with instructions of how to use it and a lot of examples of the features!