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

Dependent Select Bundle Laravel Package

evercodelab/dependent-select-bundle

Symfony bundle for dependent select fields: dynamically load and update dropdown options based on another field’s selection, simplifying cascading forms with AJAX-backed choices.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. The first finding is a category mismatch that gates the entire evaluation: this is a Symfony bundle, not a Laravel package. Its integration surface is the Symfony Form component (AbstractType, form type extensions, PRE_SUBMIT/POST_SUBMIT event listeners or a custom DataTransformer) plus Symfony's bundle registration in config/bundles.php. Laravel has no bundle system, no Symfony Form component in its default stack, and no equivalent hook for a form type extension to inject dependent-field behavior. Installing it via Composer would technically resolve (it is a library), but there is no supported path to make it do anything inside a Laravel request lifecycle without effectively reimplementing the bundle's core logic. For a Laravel-first codebase, architecture fit is zero.

Integration feasibility. Even inside a Symfony application, feasibility is poor. The package shows zero stars, zero dependents, and a score of 0 — that is the signature of an abandoned artifact rather than a dormant but stable one. Typical bundles from this lineage pin symfony/symfony to 2.x/3.x era constraints and ship a jQuery-based front-end for the AJAX cascade. A modern Symfony 6/7 app cannot install it without constraint overrides, and the jQuery front-end would conflict with the asset pipeline (Webpack Encore / AssetMapper) and with CSP policies typical of current deployments. The realistic integration cost is "fork and rewrite," which is not integration.

Technical risk. High and largely unpriced:

  • Security surface: an unmaintained bundle that defines HTTP routes for AJAX field population receives no CVE triage. Any advisory in its pinned Symfony or jQuery dependency becomes a permanent liability.
  • Dead-code risk on the next upgrade: a hard PHP/Symfony constraint will block framework upgrades, forcing an emergency removal under time pressure rather than a planned one.
  • Behavioral opacity: dependent-select logic is deceptively complex (parent changes must reset invalidated children, preserve server-side validation, handle pre-filled edit forms). Undocumented edge-case handling in an unmaintained bundle is expensive to reverse-engineer and risky to trust.

Key questions for the requester:

  1. Is the actual target stack Laravel or Symfony? A Laravel answer makes this package a non-starter and reframes the work as "build dependent selects natively."
  2. Is there an existing Symfony 2.x/3.x application in the estate that this is meant to serve? If so, what is that app's upgrade horizon?
  3. What is the concrete UX requirement — cascading selects only, or conditional field visibility, or server-validated cross-field constraints?
  4. Who owns the abandonment risk, and is a fork acceptable to the business?

Integration Approach

Stack fit. For a Laravel stack — the framing of this request — the correct decision is reject and rebuild. Dependent selects in Laravel are a solved, low-cost problem with first-class options:

  • Livewire (wire:model.live on the parent, computed child options) — closest conceptual analogue to the bundle, server-driven, no custom routing or JS.
  • Inertia + Vue/React — client-side cascade with a small JSON endpoint, if the app already uses Inertia.
  • Alpine.js + a thin JSON route — minimal, Blade-native, no new framework.

Each of these reproduces the bundle's value in well under a sprint, with code the team owns and can validate against Laravel's validation and authorization primitives.

Migration path. If a Symfony app genuinely exists: do not migrate to this bundle. Treat it as a reference implementation only — read its form-event handling to understand the intended semantics, then reimplement in the host app's native idiom (Symfony form events with a maintained EntityType and ChoiceType cascade, or a small Stimulus controller). If the bundle is already in production somewhere, the migration is off it, and the sequencing is: inventory the forms using it → identify the AJAX endpoints and their authorization assumptions → replace form type by form type behind the existing UI contract → delete the bundle and its route registrations.

Compatibility. Assume no compatibility with currently supported PHP or Symfony releases until proven otherwise. Verify with a hard gate before any spike: composer why-not against the target framework version, inspection of the composer.json constraint block, and a read of the JS asset for jQuery version assumptions. If any of those fail, close the evaluation — it is cheaper to fail here than in a sprint.

Sequencing. (1) Confirm stack and intent with the requester. (2) If Laravel: spike the Livewire or Alpine implementation against one real form, measure, then template it. (3) If Symfony legacy: same spike using native form events. (4) Only if a compelling, documented reason exists, fork with an explicit owner, a pinned constraint, and a dependency-update calendar. Do not sequence this package ahead of the native rebuild — the rebuild is cheaper and it is the artifact you keep.

Operational Impact

Maintenance. Effectively none available. Zero stars and zero dependents mean no downstream users are absorbing upgrade work, no issue triage is happening, and there is no community to consult when behavior is surprising. Adopting this transfers 100% of maintenance to your team on day one, for a component whose only job is UI convenience — a poor trade.

Support. No vendor, no SLA, no security contact, no changelog cadence. In an incident, the team is reading source under pressure. For a form-field helper this is survivable; it is still an avoidable class of risk.

Scaling. The bundle itself does not scale concerns — dependent selects are low-QPS, cacheable, and trivially indexable. The real scaling question is organizational: every additional form built on an unmaintained dependency compounds the removal cost. The rebuild path (Livewire/Inertia) scales with the app's existing patterns at zero marginal dependency cost.

Failure modes to plan for:

  • Upgrade lock: a PHP or Symfony/PHP constraint blocks a framework upgrade and forces an emergency rip-out.
  • Silent child-state corruption: parent changes that fail to invalidate children, producing stale values that pass client-side checks but fail server validation, or worse, persist.
  • Route/authz drift: bundle-registered AJAX endpoints bypassing the host app's authorization middleware, exposing option data (customer lists, pricing tiers) to unauthenticated callers — verify this explicitly if any Symfony instance is running it.
  • Asset/CSP breakage: jQuery-dependent scripts failing under a modern CSP or asset pipeline, presenting as intermittent, environment-specific UI failures.

Ramp-up. Near-zero learning curve if the team is a Symfony 2/3 shop still fluent in form events and jQuery — but that fluency is itself depreciating. For a Laravel team the ramp-up is a false economy: the time spent understanding a foreign, abandoned bundle exceeds the time to build the feature natively.

Recommendation. Do not adopt. The package is misaligned with the stated Laravel stack and carries abandonment risk disproportionate to the trivial value it provides. Allocate a short spike to the native implementation in the host framework's idiom, and use this bundle only as a semantic reference if a specific edge case needs clarifying.

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.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console