- Can I use ruben-ruvic/typeahead-bundle in a Laravel application?
- No. It is a Symfony2 bundle built on Symfony's Form component, dependency injection container and Twig templates, and it ships no Laravel service provider, facade, config publisher or Blade view. A direct composer require in a Laravel app will not wire anything up. The practical path is to treat the repository as a reference implementation and rebuild the pattern with a Laravel route, controller and Blade component.
- Is ruben-ruvic/typeahead-bundle a Laravel package or a Symfony bundle?
- It is a Symfony2 bundle that provides an enhanced Bootstrap v3 Typeahead form type. It registers through a Symfony kernel bundle class, defines services in Resources/config/services.yml and renders a Twig widget. Laravel has no equivalent bundle bootstrap, so none of that plumbing applies to a Laravel app.
- How do I get typeahead autocomplete working in Laravel without this package?
- Build three pieces yourself: a JSON endpoint (route plus controller) that queries your model with a LIKE or FULLTEXT filter and a result limit, a Blade component that renders the input and its data attributes, and a maintained client library such as Tom Select or Choices.js. Keep the same contract the bundle uses: endpoint URL, query parameter name, minimum query length and JSON result shape. This is roughly a day of work and gives you code you actually own and can test.
- Does this bundle support Bootstrap 5?
- No. The bundle targets Bootstrap 2 and 3 markup, including classes such as input-group-addon that Bootstrap 5 removed, and Typeahead.js itself is not Bootstrap 5 aware. If your Laravel UI is on Bootstrap 5, do not carry the template forward. Use Tom Select or Choices.js, both of which work cleanly with Bootstrap 5 styling.
- Which Laravel versions does this package support?
- None. Laravel version support is not applicable because the package is a Symfony bundle with Symfony framework constraints from a 2022-era release. It cannot be installed as a Laravel dependency in any version. If your application is genuinely Symfony, check the composer.json constraints against your Symfony version instead.
- How do I install and use it in a Symfony project?
- Require it with Composer, register TypeaheadBundle in your kernel or in config/bundles.php on Symfony Flex, then use the provided form type inside a Symfony form class and render that form in Twig. You also need the Bootstrap 2 or 3 assets and Typeahead.js loaded on the page. It fits Symfony projects on legacy Bootstrap, but it does nothing for Laravel.
- Is Typeahead.js still maintained, and should I keep it?
- Typeahead.js is archived and unmaintained upstream, and Bloodhound ships with it, so you inherit an abandoned JavaScript dependency. Bootstrap 2 and 3 are also end-of-life, meaning the markup will not match modern front ends. For new work prefer Tom Select, Choices.js or Select2. Only keep Typeahead.js if you are pinned to Bootstrap 3 and accept the maintenance burden.
- Is this package safe to use in production and actively maintained?
- Treat it as high risk. Metadata shows zero stars, zero dependents, a last release in June 2022, no visible CI badge or test suite, and a single maintainer, so there is no external validation and no upstream fix path. The MIT license is the one low-risk dimension. For a production Laravel app do not depend on it; for a Symfony app it is stale rather than broken, but you still own the risk.
- Can I reuse its AJAX endpoint and JSON response logic in Laravel?
- Yes, conceptually. Read the bundle's form type and Twig template to extract the data contract: the endpoint URL, the query parameter name, the JSON result shape, minimum query length and any throttling. Reproduce that contract in a Laravel controller that returns JSON with a limited result set. Drop the Symfony-specific classes entirely and do not vendor the bundle.
- What are the best alternatives for Laravel autocomplete and searchable selects?
- Tom Select is the strongest default for Laravel: dependency-free, Bootstrap 5 friendly and it supports remote AJAX loading. Choices.js and Select2 are solid alternatives, and Alpine.js with a small fetch call is enough for a simple typeahead. If you use Livewire, a searchable select component with wire:model and debounced updates is a clean fit.