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

Symfony Ux Autocomplete Select All Laravel Package

hugoseigle/symfony-ux-autocomplete-select-all

A Symfony UX Autocomplete extension that adds a Select All option to multiple-choice fields, letting users quickly select or clear every option. Simple integration, configurable labels, and smooth compatibility for faster, more user-friendly forms.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Package identity and scope. The release under review is HugoSEIGLE/symfony-ux-autocomplete-select-all v1.0.1. Despite the framing as a Laravel/PHP package, this is a Symfony UX component — it targets Symfony UX Autocomplete (Tom Select-backed) and integrates through Symfony's AssetMapper/Webpack Encore + Stimulus controller registration path, not Laravel's Vite/@vite or Blade component model. This is the single most important evaluation finding: the stack fit is Symfony-first, and Laravel adoption would require manual Stimulus controller wiring and asset pipeline rework rather than a supported install path.

Architecture fit. The package is a thin, client-side behavior layer: it extends an existing autocomplete widget with "select all" semantics. Architecturally this is low-risk and low-coupling — it does not touch server-side domain logic, persistence, or request lifecycle. That is attractive from a blast-radius perspective, but it also means the package's value is bounded: it solves one UI affordance, not a platform capability.

Integration feasibility. Feasible in a Symfony app with Symfony UX Autocomplete already in place. In a Laravel app, feasibility is "possible but bespoke": you would register the Stimulus controller yourself, ensure Tom Select is present, and own the wiring. The absence of any framework-agnostic distribution documentation in the release artifact is a gap.

Technical risk. Concentrated in supply chain and maturity, not in runtime behavior:

  • Single maintainer, small repository, no evident organizational backing. Bus factor of one.
  • Version 1.0.1 within days/weeks of 1.0.0, with the only change being CI. This signals the 1.0.0 tag was cut before the pipeline was green — a maturity signal worth weighting.
  • Unverified functional surface. We have release notes only, no source review, no test coverage data, no bundle/composer metadata inspection. No assessment can yet assert the package works as advertised.
  • Ecosystem coupling. Depends on Tom Select and Symfony UX Autocomplete internals; upstream breaking changes in either would be inherited risk with no contractual guarantee of a patch.

Key questions.

  1. What is the actual test coverage, and does CI now run functional (browser/Stimulus) tests or only lint/build?
  2. What are the declared peerDependencies / require constraints on symfony/ux-autocomplete and Tom Select — is a breaking upstream bump excluded?
  3. Is there a documented, supported path for non-Symfony consumers (plain Stimulus, Laravel)?
  4. What is the maintainer's stated support/security disclosure policy?
  5. Does v1.0.0 have any known functional defects that the CI fix was masking?

Integration Approach

Stack fit. Direct fit: Symfony 6/7 + Symfony UX Autocomplete + AssetMapper or Encore. Partial fit: any Stimulus/Tom Select front end. Poor fit: Laravel — this should be treated as "vendor a small JS behavior," not "install a package."

Recommended integration approach (Laravel context). Do not adopt as a Composer dependency for server-side behavior. Instead:

  1. Vendor the Stimulus controller and its Tom Select glue into resources/js/controllers/.
  2. Register it via Laravel's Stimulus bootstrap (@hotwired/stimulus + import.meta.glob or the stimulus-laravel conventions).
  3. Pin the upstream source at a specific commit SHA and record it in an internal THIRD_PARTY.md.

This preserves the behavior while removing the package from the dependency graph — appropriate given the maintenance profile.

Migration path. None required for existing Symfony UX Autocomplete users: additive controller registration, no schema, no data migration, reversible by removing the controller. For a Laravel app already using a Tom Select wrapper, the work is a one-time glue task, estimated at 1–3 engineer-days including test coverage.

Compatibility considerations.

  • Confirm Tom Select major version alignment between the package's expectations and your existing widget; a mismatch is the most likely integration failure.
  • Verify AssetMapper vs. Encore import-map resolution if on Symfony.
  • Check that the controller's select all semantics interact correctly with any server-side pagination or lazy-loaded option sets — a "select all" that only selects rendered options is a common and subtle correctness bug in this class of component.

Sequencing.

  1. Source and test-coverage review (blocking gate).
  2. Spike in a non-production branch against your actual autocomplete configuration.
  3. Explicit test of the partial/paginated option-set case.
  4. Decide: adopt as package vs. vendor as in-house controller.
  5. Only then promote to shared/front-end library surface.

Operational Impact

Maintenance. Low ongoing code maintenance; disproportionate attention maintenance. A single-maintainer package pinned to another single-vendor UI library's internals means your team owns the upgrade path in practice, regardless of what the package promises. Budget a recurring review each time Symfony UX Autocomplete or Tom Select ships a major.

Support. No commercial support, no SLA, no evident security policy. Treat issue-tracker responsiveness as best-effort. For a purely cosmetic UI affordance this is tolerable; it would not be tolerable if the component were on a revenue-critical transaction path — note that "select all" on a destructive bulk action (bulk delete, bulk status change) elevates this from cosmetic to consequential.

Scaling. Client-side only; no server load implications. The scaling concern is option cardinality: select-all against large option sets can produce oversized form payloads and slow submissions. If the underlying autocomplete paginates or virtualizes, validate the request body size and server-side max-input handling before enabling broadly.

Failure modes.

  • Silent partial selection — user believes all records are selected; only rendered ones are. Highest-severity failure; mitigate with visible selected-count feedback and server-side assertions.
  • Upstream break on Tom Select upgrade — controller no-ops; autocomplete still works, select-all silently disappears. Detectable with a smoke test.
  • Asset pipeline drift — controller fails to register after a build config change; same silent-no-op signature.
  • Abandonment — no upstream fixes; mitigated by the vendoring approach above.

Ramp-up. Very low for a Symfony developer already familiar with Stimulus — hours. For a Laravel team, the learning cost is not the package but the Stimulus/Tom Select wiring; half a day for a mid-level front-end engineer, plus the review discipline above.

Assessment of v1.0.1 specifically. The release contains a single CI fix and no functional, API, or dependency changes. It carries no integration impact and does not change any of the recommendations above. Its informational value is a maturity signal — the 1.0.0 tag shipped before CI was green — which reinforces rather than alters the caution already expressed. Recommend no action on the basis of this release; proceed with the source-review gate before any adoption decision.

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.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings