- The chunked parsing logic didn't properly update the examined position when parsing the chunked prefix. This started to throw because Pipe now throws if examined is set to the position before the previous.
- Added a `FilePathComparison` object since not all string methods allow a comparer.
- Updated `RazorDirectiveCompletionProvider` to also understand `.razor` files. This is an edge case scenario where users have disabled modern completion and are using Razor components (you need a reg key to disable the modern completion or MS needs to disable it).
- Tested this in VS by referencing the latest Razor SDK (preview 3) from NuGet and then replacing the Razor design time targets in VS to be the ones from the preview 3 package.
- Added workspace project state change detector tests.
dotnet/aspnetcore-tooling#8064
\n\nCommit migrated from 6a83ed13fc
This change makes the SpaDefaultPageMiddleware noop when an endpoint has
been chosen. This is a problem today because this usually runs after
routing, but its always terminal.
So even if endpoint routing selected something, this would still serve
the default file. We're adding more things that fill this niche, but it
seems like a good idea to fix the existing stuff.
This is a new routing feature that integrates static files to serve a
static file when routing doesn't match anything else.
This is a scenario that's covered by SPA services today, but given the
improvements to routing it makes much more sense to move lower in the
stack.
Teaches all of the static files middleware (incl default files,
directory browser) to noop when an endpoint is selected. This is
desirable so you can place them after routing if you want with no ill
effect.
Adds new constraints for checking if a route value is a file or not.
Added a new set of builder methods that specify what it means to be a
'fallback'. This is really similar to what the older SPA fallback routes
do, but this is lower in the stack and directly integrated with
endpoints.