fix: bubble up errors in rewrites #11136
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes
Closes #11110
Two important changes here:
RenderContext
, I removed thetry/catch
inside the rewrite method. Now runtime errors emitted by that function are bubbled up and shown to the userAstro.rewrite("/404")
inside static pages. It doesn't make sense to emit HTML/static pages that contain the HTML of a 404 without returning aResponse
with status code404
. However, this is still a valid behaviour in SSR because we're able to return aResponse
with the correct status code. In order to align this behaviour, I added a new abstract method inside the base pipeline. In dev, we allow this behaviour only if the configuration is in SSR, so the user receives a similar DX to SSR.Testing
I updated some existing test cases. I created a new fixture to make sure that building a SSG project, and using
Astro.rewrite("/404")
throws an error.Docs
N/A