- How do I install koss-shtukert/laravel-nova-select2-auto-complete?
- Install it with composer require koss-shtukert/laravel-nova-select2-auto-complete and then reference the field class inside the fields() method of your target Nova resource. There are no migrations and no service-provider boot logic, so the integration surface is limited to one admin screen and one line of resource code. The main caveat is the 2020-era composer.json constraints, which may conflict with newer Laravel or PHP releases and hold back your dependency tree.
- Does this package support Laravel Nova 4 or Nova 5?
- There is no compatibility statement, and the last release (February 2020) predates both Nova 4 and Nova 5. Nova reworks its field API and asset compilation on every major version, so you should assume incompatibility on a current install until a short spike proves otherwise. Treat any modern Nova project as a greenfield evaluation rather than a compatibility check.
- Will it work with PHP 8 and Laravel 9 or later?
- Unproven. The package was published against Laravel 6 to 8 era stacks and has not been updated since early 2020, so there is no stated support for PHP 8, Laravel 9+, or Nova 4+. A stale composer.json constraint is the classic failure mode here, because a transitive pin can block a Laravel or PHP upgrade across the whole monorepo. Verify constraints in a throwaway branch before adding it to a real application.
- Why does my Select2 auto-complete field render empty or return no results?
- The target Nova resource must declare public static $search, or the AJAX endpoint returns nothing and the field renders blank. This is a cross-team coordination item rather than a code defect, but it will look like a field bug to whoever hits it first. Put the requirement in your rollout checklist and support runbook before piloting the field.
- Is this package still maintained?
- It has a single maintainer with no release since February 2020, no visible CI or automated tests, and zero dependents to surface breakage. That means abandonment risk is high even though the underlying code is small and declarative. Because it is MIT licensed, you can convert that invisible external risk into a visible, owned internal one by forking or vendoring the source.
- Should I use Nova's built-in searchable() relationship field instead?
- Check the native capability gap first. Nova's first-party searchable() relationship field likely covers most belongsTo and belongsToMany use cases, and if it does, the correct outcome is to build nothing and use the vendor-supported feature. Only reach for this package, or a small first-party reimplementation, if the native field genuinely falls short.
- Which version of Select2 is bundled, and is that a security concern?
- The bundled Select2 version is unspecified in the package documentation, which creates latent front-end CVE exposure if the assets are published as-is. Review the shipped assets and pin Select2 to a known, patched version explicitly. If you vendor the field, manage Select2 through your own asset pipeline so vulnerability scanning covers it.
- Should I install it from Packagist or vendor the source?
- For an unmaintained package with zero dependents, vendoring is the safer path: pull the MIT source into app/Nova/Fields/ or a private packages/ directory, pin Select2 explicitly, and fold it into your existing CI build. This treats the field as a 100 to 200 line pattern you own rather than a dependency you inherit. Forking carries no licensing friction under MIT, so the conversion cost is low.
- Are compiled assets committed, or do I need to run an npm build?
- The package does not document whether the compiled Vue/Select2 assets are committed to the repository. If they are not, you must run a build against a Nova-version-specific toolchain, which adds a front-end build step to your pipeline. Confirm this before estimating effort, because it changes the integration from a one-line composer require into a maintained local build.
- What query does the server-side search callback run, and will it scale to large datasets?
- This is not documented, and it matters because the package's whole value proposition is large datasets. Determine whether the search executes a full table scan, a LIKE '%term%' match, or an indexable bounded query before trusting it in production. If the query is unbounded, expect slow responses and database load as the related table grows, and plan to replace the callback with an indexed lookup.