jolicode/automapper-bundle
Symfony bundle integrating JoliCode Automapper for fast, type-safe object-to-object mapping. Configure mappings, inject the mapper service, and convert entities, DTOs, and other objects with minimal boilerplate.
ServiceProvider. For a Laravel codebase the relevant artifact is the framework-agnostic jolicode/automapper core (usable directly, or via a thin service-provider wrapper) or a Laravel-native alternative such as spatie/laravel-data / CuyZ/Valinor. Adopting the bundle in Laravel is not a viable path.AutoMapper >=8.2). Treat this as a pattern reference, not a dependency. The concept (attribute-driven conventions, generated mapping) is worth evaluating; this specific distribution is not.Consider it only if all of the following hold:
Look elsewhere — or skip mapping libraries entirely — when:
spatie/laravel-data, or plain readonly DTOs with explicit fromModel() factories.symfony/serializer normalizers or explicit constructors are more predictable.Verdict: do not adopt for our stack. The 8.1.0 compatibility bump is a genuine (if minimal) positive — it removes the "abandoned, will not track upstream" objection and confirms the bundle is aligned with the current core. Framework mismatch and near-zero adoption still decide it.
To executives: We re-checked this candidate for standardizing how data moves between our database, our domain objects, and our APIs. Still a no. A new release landed, but it only widens the supported version range of the underlying mapper — no new capability, no maintainer investment, and still no visible users. Combined with the fact that it's a Symfony component and we're on Laravel, adopting it would mean owning a niche dependency forever to save some repetitive code. The idea behind it is sound; we'll pursue it through a maintained library or a small in-house convention instead.
To engineering: This is a Symfony bundle wrapping jolicode/automapper, and 8.1.0 just bumps the allowed AutoMapper version to >=8.2. So the earlier "archived" read was too strong — the bundle is being kept compatible with core — but that's the entire scope of the work, and it still doesn't apply to our Laravel codebase. Recommendation stands: don't take the dependency. If mapping boilerplate is actually hurting us, benchmark the effort against spatie/laravel-data or explicit readonly DTOs with named constructors — both are maintained, both are traceable, and both avoid the "magic mapper produced a wrong field and nobody can tell why" failure mode. Revisit only if we can point to a concrete, recurring cost in the current code, not an anticipated one.
How can I help you explore Laravel packages today?