Reimplement the Razor compiler using source generators & support incrementality #26902
Closed
5 of 9 tasks
Labels
affected-all
This issue impacts all the customers
area-razor.compiler
This issue is related to the Razor compiler (now external)
Done
This issue has been fixed
enhancement
This issue represents an ask for new feature or an enhancement to an existing one
Epic
Groups multiple user stories. Can be grouped under a theme.
feature-source-generators
Priority:0
Work that we can't release without
severity-blocking
This label is used by an internal tool
Theme: inner-loop
Milestone
Summary
The Razor compiler today represents a significant portion of time experienced by developers in inner-loop scenarios. We should investigate reimplementing it to be based on source generators to avoid the cost of an extra discrete step and removal of another process associated with building.
Today, the Razor compilation process is non-incremental, meaning even the smallest change to any Razor file results in a complete build of all Razor assets in a project. We should investigate the potential for adding further incrementality to Razor compilation so that unnecessary compilation time is not spent between edits.
Notes
The hypothesis is that an additional compile step can be eliminated along with state management if we are able to use source generators. We might also benefit of not producing janky types in design time builds.
Tasks
The text was updated successfully, but these errors were encountered: