Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Hateoas Bundle Laravel Package

talentrydev/hateoas-bundle

A Symfony bundle for building HATEOAS-compliant APIs, adding hypermedia links and relations to your resources so clients can discover and navigate endpoints dynamically. Integrates with your existing serialization to expose self-descriptive, discoverable responses.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Critical mismatch — this is not a Laravel package. The asset is talentrydev/hateoas-bundle, a fork/repackaging of BazingaHateoasBundle, and its own description reads "Integration of Hateoas into Symfony2." It is a Symfony bundle in the FrameworkBundle sense: a DependencyInjection extension, YAML/XML configuration tree, compiler passes that attach relation metadata to the JMS serializer, and an HttpKernel event listener. None of that wiring loads in Laravel. The repository URL (talentrydev/BazingaHateoasBundle) confirms the lineage is the original willdurand/BazingaHateoasBundle; the Packagist name is a namespace repackage, not the maintained upstream.

Architecture fit: Near-zero for a Laravel stack. The layer being wrapped — willdurand/hateoas — is framework-agnostic, but this bundle's entire value-add is the Symfony plumbing. In Laravel you would inherit only the framework-agnostic core, which the underlying library already gives you without the fork and without the abandonment risk.

Integration feasibility: Very low. Symfony2 reached end of maintenance in 2018 and end of security support in 2019. The 2021-03-18 release is almost certainly a housekeeping tag on a dormant fork, not a modernization. Composer constraints will pin symfony/* to the 2.x/3.x era and jms/serializer-bundle to an old major; on a modern Laravel (10/11/12, PHP 8.2+) they will either refuse to resolve or — worse — resolve by dragging ancient Symfony components into the application. There is no ServiceProvider, no container binding, no middleware, no facade.

Technical risk: High on every axis. Abandonment (0 stars, 0 dependents, no upstream activity), security (no patching path for transitively pinned Symfony 2.x/3.x packages), and namespace collision if the app already pulls symfony/* through any other dependency. The 0/0 metrics are not merely a popularity signal here — they mean no one is running this combination, so any breakage is yours to triage alone.

Key questions:

  1. What concrete problem is this solving — HAL-style _links/_embedded, JSON:API, or plain resource serialization? Get the specific endpoint and response shape.
  2. Is there an existing Symfony service in the estate this is meant to interoperate with, or was the package surfaced by a "HATEOAS in PHP" search?
  3. Does the team need hypermedia in the HATEOAS sense, or just API resource/relationship serialization? These have very different Laravel-native answers.
  4. What are the target app's PHP and Laravel versions, and is there any hard constraint that would even permit this to install?
  5. Who owns the talentrydev fork, and is it internal? The public metadata does not explain why the fork exists — if it is an internal org, there may be context that changes the decision.

Integration Approach

Stack fit: Poor. Laravel's extension points are service providers, container bindings, and middleware; a Symfony bundle supplies none of them. Installing this into a Laravel application is an unsupported configuration that will not yield a working HATEOAS layer without hand-written Laravel glue — at which point you own the integration cost and the abandonment risk simultaneously.

Recommended path — do not adopt this package. Evaluate in this order:

  1. Clarify the requirement first. If the goal is HAL-style links on API resources, the Laravel-native route is resource classes plus a link-emitting trait, or a maintained package. Worth a spike: spatie/laravel-json-api (JSON:API, actively maintained), timacdonald/json-api, or bespoke JsonResource subclasses if the surface area is small.
  2. If the underlying willdurand/hateoas modeling genuinely fits the domain (attribute-driven relation definitions against a large existing model graph), depend on the library directly and write a thin Laravel service provider. That is roughly a day of work and removes the bundle layer entirely. Verify the library's current PHP support before committing.
  3. If the fork specifically is the requirement (internal patch, compliance mandate), stop — that is an organizational question, not a technology selection, and should be escalated before any technical work.

Migration path: There is no migration path to this package in Laravel, and consequently no migration away from it. If it currently appears in a dependency manifest, the exit is clean: drop the requirement, remove any glue code, and replace link generation with Laravel resource serialization. Budget one sprint for the first endpoint and progressively less thereafter.

Compatibility: Symfony2-era bundles target PHP 5.5–7.x. Expect hard incompatibility with typed properties, PHP 8 attributes, and modern Composer 2 resolution rules. Treat "does it install at all" as a fail-fast gate before any design work is scheduled.

Sequencing: (a) requirement clarification and endpoint inventory → (b) spike two Laravel-native alternatives against one real endpoint → (c) decision record → (d) only if a genuine modeling gap remains, evaluate the standalone library. Do not sequence installation ahead of requirement clarification; the install attempt will consume time on a foregone conclusion.

Operational Impact

Maintenance: Effectively zero upstream. Last release 2021, no stars, no dependents, no visible maintainer activity. Any defect, PHP upgrade break, or advisory in the pinned Symfony/JMS tree is unpatched indefinitely unless your team forks and maintains it — a standing tax on a component of modest value.

Support: None. No issue-queue activity, and the only documentation is the original BazingaHateoasBundle README, which describes Symfony YAML configuration that will not apply to your codebase. Onboarding and troubleshooting fall entirely to whoever writes the Laravel glue, and that knowledge will be undocumented and single-owner.

Scaling: Not the binding constraint, but not free either. Hypermedia serialization resolves relations per resource; if link generation pulls from lazy-loaded associations you get N+1 queries. In Laravel this is the familiar eager-loading problem, but here it arrives through library internals no one on the team knows well enough to profile quickly.

Failure modes:

  • Composer resolution failure on modern PHP/Laravel — the most likely outcome, and the benign one, because it fails loudly at install.
  • Silent success with ancient symfony/* packages entering the tree, creating version conflicts with other dependencies months later.
  • Runtime failure at the serializer boundary because Symfony's event dispatcher and JMS metadata services are not registered in Laravel's container.
  • Namespace collision between the fork's Talentrydev\HateoasBundle\... classes and the original Bazinga\Bundle\HateoasBundle\... if both end up installed.
  • Security exposure from transitively pinned Symfony 2.x/3.x packages that no longer receive advisories or patches.

Ramp-up: Deceptively high. A competent Laravel engineer reads the library in an afternoon, but the real cost is reverse-engineering an abandoned Symfony fork's intent, separating what the bundle adds from what the underlying library already provides, and then rebuilding the integration in Laravel idioms. Estimate 1–2 engineer-weeks to reach parity with a hand-rolled linking trait that would have taken 2–3 days.

Recommendation: Reject for Laravel adoption. Framework mismatch alone is disqualifying; abandonment and 0/0 adoption are an independent second reason. If hypermedia is a genuine requirement, run a one-week spike on Laravel-native serialization (spatie/laravel-json-api, timacdonald/json-api, or bespoke JsonResource), reserving direct use of willdurand/hateoas as a fallback only if the spike reveals a real modeling gap. If the fork is internal and there is organizational context behind it, escalate for that context before the technical decision is finalized — the public metadata does not account for its existence.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource