fix: revise format-handling logic in noop.ts and service.ts #14861
+13
−5
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.
After upgrading to the latest Astro (>=5.15.9), all SVG images stopped displaying.
Issues found:
passthroughImageServiceenabled, SVG images returnContent-Type: image/nulland fail to render (JPG works).After downgrading Astro, the regression starts at 5.15.9.
Related issues:
passthroughImageServicegenerate webp #14776: introducedvalidateOptionsin noop.ts to address itdelete newOptions.format;->"Content-Type": mime.lookup(format) ?? `image/${format}-> BrowserContent-Type: image/null-> image boom (svg)Changes
I believe the issue in #14721 originates from the
options.format = DEFAULT_OUTPUT_FORMATassignment in service.ts.To address this, I added a flag to prevent setting a default output format when the noop service is used.
before:

after:

Testing
I wasn’t sure how to write it.
Docs
There shouldn't be much to change. This aligns better with the note in #configure-no-op-passthrough-service
stating that
Note that Astro does not perform any image transformation and processing in these environments.