Repository navigation
fix(build): production SVGO for SVG assets and stable icon sprites - #522
Merged
Merged
Conversation
Sharp already skips SVGs; without a matching filter, svgoMinify ran on raster assets and could fail or corrupt them during production builds. Co-authored-by: Cursor <cursoragent@cursor.com>
prefixIds renames symbol IDs during production SVGO minimization, which
breaks icon sprites referenced as #icon-{slug} in PHP and markup.
Co-authored-by: Cursor <cursoragent@cursor.com>
Production SVGO on merged sprite SVGs collapses symbols; icons are already optimized via svgo-loader at compile time. Matches BBT sprite workflow. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit b518ada. Configure here.
cedric07
marked this pull request as draft
October 19, 2026 14:09
cedric07
marked this pull request as ready for review
October 19, 2026 14:20
Match webpack extract names like icons/sprite.svg so prod minify does not empty sprite sheets. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
francoistibo
approved these changes
Oct 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.

Summary
ImageMinimizerPlugin.svgoMinifyto.svgfiles in production (same idea as the Sharp filter that excludes SVGs).prefixIdsfromconfig/svgo.config.jsso sprite symbol IDs stay#icon-{slug}for PHP/markup<use href="…">(aligned with beapi-blocks-theme#1fbf1ac).dist/icons/*.svg(svg-sprite-loader); prod SVGO on merged sprites collapses<symbol>entries. Source icons are still optimized viasvgo-loaderat compile time.Test plan
yarn buildcompletes without image minimizer errorssrc/imgare still optimized via Sharp indist/dist/images/(or equivalent) are still optimized via SVGOdist/icons/sprite.svganddist/icons/social.svgkeep allid="icon-*"symbols/dist/icons/{sprite}.svg#icon-…)Note
Low Risk
Build-time asset pipeline only; no runtime auth or data handling, with behavior aligned to existing compile-time
svgo-loaderfor source icons.Overview
Fixes production image optimization so standalone SVGs get SVGO while icon sprite sheets stay intact and
<use href="#icon-*">keeps working.Production
ImageMinimizerPluginnow excludes paths undericons/(merged sprites fromsvg-sprite-loader), because a second SVGO pass on those files was collapsing<symbol>entries. SVGO minification is limited to.svgfiles via a filter, mirroring the existing Sharp path that skips SVGs.prefixIdsis removed fromconfig/svgo.config.jsso symbol IDs stay as#icon-{slug}instead of being rewritten during optimization.Reviewed by Cursor Bugbot for commit 5360ce6. Bugbot is set up for automated code reviews on this repo. Configure here.