dotnet / aspnetcore

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
https://asp.net
MIT License
35.19k stars 9.93k forks source link

[Mvc][Blazor] Update static web assets design to account for additional scenarios added over time #32780

Closed javiercn closed 3 years ago

javiercn commented 3 years ago

Over the past two years we've added a lot of features on top of static web assets without the design having the right concepts for those. As a result we have added additional MSBuild code to workaround limitations in the current design and have paid the price in additional time for developing each feature.

With the new work we are doing in 6.0 this is again taking place. Instead of pushing through, we are at a breaking point where it will be better to pay-off technical debt now and improve the existing design with the primitives we need. Here are a few of the items we need to consider:

The goal here is to make sure we update the static web assets design to include the necessary improvements to support all the features we've added without those features having to deeply know about static web assets.

Our goal should be that outside the razor SDK (Blazor, Desktop, CSS isolation, etc) we should be able to declare static web assets once and have the system do the right thing across build, publish, pack, and different combinations (NoBuild, NoDependencies, DeplyOnBuild).

Ideally, any feature built on top should only require to declare the static web assets with the correct shape and have static web assets handle the rest transparently across build, publish, pack, etc.

ghost commented 3 years ago

Thanks for contacting us.

We're moving this issue to the Next sprint planning milestone for future evaluation / consideration. We would like to keep this around to collect more feedback, which can help us with prioritizing this work. We will re-evaluate this issue, during our next planning meeting(s). If we later determine, that the issue has no community involvement, or it's very rare and low-impact issue, we will close it - so that the team can focus on more important and high impact issues. To learn more about what to expect next and how this issue will be handled you can read more about our triage process here.