creode/laravel-mime-type-icons
Laravel package that maps MIME types to icons, making it easy to display the right file-type icon for uploads, attachments, and media across your app. Provides simple helpers to resolve an icon from a MIME type or file, so file lists and previews stay visually consistent with minimal setup.
Architecture fit
Integration feasibility
vendor:publish), and SVG assets to be published to public/ or registered with an icon set library. Verify whether it depends on blade-ui-kit/blade-icons or bundles its own renderer — that determines whether we inherit a transitive dependency and its icon-set conventions.composer.json, whether icons are inlined or served as files (CSP and caching implications), and whether mapping keys are true MIME types (application/pdf) or file extensions (pdf) — the latter is materially weaker for uploads.Technical risk
File.type) which is trivially spoofable. If the icon is presented as a trust signal ("this is a PDF"), that is misleading. Icons must be treated as cosmetic affordances, with server-side finfo/extension validation driving any real decisions.Key questions
blade-ui-kit/blade-icons, and if so, which version and icon set?Stack fit
Migration path
FileIconResolver contract (MIME → icon key) and implement it with this package. This makes the package an implementation detail that can be swapped for a hand-rolled config array in an afternoon if maintenance lapses.Compatibility
blade-icons or another sprite system; two overlapping icon registries cause confusing, hard-to-trace rendering bugs.public/ assets). Avoid publishing into public/ if we deploy immutable containers — copy at build time instead.Sequencing
Maintenance
Support
Scaling
Failure modes
public/ but absent from the built container image.Ramp-up
Recommendation Adopt as a reference implementation, not a load-bearing dependency. Harvest the MIME→icon mapping into our own config behind an internal resolver, or install it wrapped and pinned with an explicit exit plan. The functional opportunity is modest but real (small, well-scoped UX polish); the community and maintenance signals are too weak to justify an unwrapped dependency in a long-lived product.
How can I help you explore Laravel packages today?