Skip to content

Split projects into more composible pieces of functionality #61

@josh-green

Description

@josh-green

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    breakingA breaking changeenhancementA new feature, or an improvement to an existing featurerefactorA change in implementation that doesn't change the API.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions