leapt/slug-type-bundle
Symfony bundle that adds a reusable SlugType form field for generating URL-friendly slugs from user input. It streamlines slug creation and validation in forms, helping keep routes and content identifiers clean, readable, and consistent across your application with minimal setup.
leapt/slug-type-bundle), not a Laravel package. It ships a Symfony Form type (SlugType) plus front-end behavior so a slug field auto-populates from a title/source field as the user types. For a Laravel codebase this is a no-go on architecture alone — it will not install, will not autoload into Laravel's form layer, and has no Blade/Livewire integration. This assessment should be logged as "evaluated, wrong framework" rather than carried forward as a Laravel candidate.Str::slug(). Buy only makes sense if the build cost exceeds the integration and vendor-review cost, which here it likely does not.Consider it if:
SlugType rather than writing one.Look elsewhere (or build) if:
Str::slug()/AsciiSlugger equivalents plus a small front-end controller.One-line summary: a small Symfony-only convenience widget that auto-fills a slug field from a title; useful pattern, but not adoptable for us as a dependency and not applicable to a Laravel stack.
For executives: this is a low-cost, low-risk evaluation that resolved quickly. The capability it provides is a nice-to-have UX touch in admin forms, worth roughly a developer-day to build ourselves. The package itself has minimal adoption (single-digit stars, no dependents, effectively one maintainer), so adopting it would trade a small build cost for an open-ended maintenance and security-review obligation. Recommendation: do not add as a dependency; capture the interaction pattern in our admin-form standards and implement it natively where needed. Net cost avoided: ongoing vendor tracking. Net cost incurred: about one day of engineering, once, on the first surface that needs it.
For engineering: treat this as a reference design, not a package. The behavior to replicate is: derive slug from source field on input, stop deriving once the user edits the slug directly, restore derivation when the slug is cleared, slugify server-side on submit as the source of truth, and enforce uniqueness in the model layer. Implement with the framework's native slugger (Str::slug / AsciiSlugger) and a small front-end controller. If we ever do land in a Symfony codebase and want the shortcut, fork and vendor it rather than pulling it from Packagist — and only after a read-through of the JS.
How can I help you explore Laravel packages today?