Description
Description
Summary
I opted to remove /assets
as part of a Docker build optimization, considering it to be frontend source code rather than necessary runtime content.
However, this caused unexpected issues: the symfony/ux-icon
package broke parts of the website, as it depends on persisted icon files that were no longer available.
Proposal
Introduce a Symfony console command, for example:
bin/console ux:icon:publish
This command would:
• Copy all resolved icon files (those from cache or selected for use) into a target public/ directory
• Pull icons directly from vendor/ sources (if package has icon, such as easyadmin-bundle)
It could also optionally:
• Accept a custom target directory (defaulting to something like public/icons/)
• Respect a manifest or internal mapping of icon usage
Use Case
• During Docker image build, I exclude /assets
to slim down the image
• I forgot that ux-icon
expects icons to exist in that path
• The result: broken icons and runtime errors in production
• A publish step (like ux:icon:publish) would fix this cleanly and predictably
Why This Matters
• Promotes clear separation between build-time and runtime assets
• Supports use cases where frontend source files are not shipped with the application (vendor)
Example
No response