caturseptian/laravel-sluggable
A Laravel package for automatically generating and managing SEO-friendly slugs for Eloquent models. Customize slug sources, separators, and uniqueness rules to keep URLs clean, readable, and consistent across your application.
sluggable:eject utility. v1.0.2 does not indicate architectural changes, so fit with existing Laravel service-provider/config conventions is unchanged.sluggable:eject change is a reliability improvement with no expected API change. The slug-length change is an edge-case behavioral correction: configurations where slugsShouldBeNoLongerThan is shorter than the uniqueness suffix now throw InvalidOption instead of silently producing an over-limit slug.-1 may begin throwing InvalidOption during model saves, imports, jobs, or API requests. This is desirable validation but can surface as a runtime failure if configs are invalid. Atomic eject reduces half-ejected application risk, but should be validated for temp-directory permissions, disk space, and same-filesystem move semantics.InvalidOption thrown during option construction, slug generation, or save time? Are there migration or config changes? Where does sluggable:eject write temporary files, and does it clean up on failure? Does the command have dry-run or rollback support? Are Laravel and PHP support matrices unchanged? Are tests included for the short-limit-plus-suffix case and failed-eject case?SlugOptions usages for slugsShouldBeNoLongerThan values that could be shorter than or equal to generated suffixes. Exercise sluggable:eject in a non-production environment and inspect generated file diffs.InvalidOption behavior should be called out in release communication because it can break edge-case runtime flows. Confirm Composer constraints and Laravel/PHP support before rollout.sluggable:eject atomicity, permissions, and cleanup; 5) deploy to a canary environment; 6) monitor for InvalidOption and eject-command failures before broad rollout.InvalidOption: identify the model/config, confirm the configured length limit versus suffix, and correct the configuration or handle the exception intentionally. Document the atomic behavior of sluggable:eject and expected recovery steps if the command fails.InvalidOption, potentially affecting saves and background jobs. Eject can still fail on permissions, insufficient disk, or move/rename constraints; atomicity reduces but does not eliminate partial-state concerns. Temporary files may remain if cleanup is incomplete.How can I help you explore Laravel packages today?