All notable changes to @nestbolt/sluggable will be documented in this file.
- Auto-slug generation — TypeORM subscriber automatically generates URL slugs from source fields on insert
- @Sluggable decorator — Class decorator with configurable source field(s), slug field, separator, max length, and update behavior
- Collision handling — Automatic unique slug generation with numeric suffix (-1, -2, etc.)
- Transliteration — Built-in Unicode-to-Latin transliteration for Arabic, Cyrillic, accented Latin, and more
- Entity mixin —
SluggableMixin()addsgetSlug(),findBySlug(),regenerateSlug()to entities - Update control — Choose to keep original slug or regenerate on entity updates via
onUpdateoption - Custom separators — Configurable word separator and max slug length
- Events — Emits
sluggable.slug-generatedandsluggable.slug-regeneratedevents via optional@nestjs/event-emitter - Module configuration —
forRoot()andforRootAsync()with global defaults for separator, max length, transliteration, and update behavior