Split projects into more composible pieces of functionality #61
Labels
breaking
A breaking change
enhancement
A new feature, or an improvement to an existing feature
refactor
A change in implementation that doesn't change the API.
The current project structure means that if someone wants to use a certian formatting utility, they have to have the entire Utilities project as a dependency even if no other parts of it will be used.
Instead, there should be a barebones 'Utilities.Core' project, with a Utilities.Formatting project being dependant on that, and more specific Formatting projects being dependant on that etc.
To maintain some backwards compatibility, Meta packages could be generated that pull in the projects that are currently tied together. In this format, there would be a WebApplications.Utilities NuGet that would bundle together Core, Formatting, Scheduling etc. This would be handy to avoid the hassle of picking individual NuGets to get the same functionality they previously had. Nice to have but not required.
This is also a good chance to normalise the NuGet/project dependencies to get a proper CI pipeline going (out of scope for this issue but related).
The text was updated successfully, but these errors were encountered: