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

Laravel Filterable Laravel Package

achillesp/laravel-filterable

Laravel Filterable brings reusable, request-driven filtering to Eloquent models. Declare the filters a model supports, then let query string parameters shape results without cluttering controllers. A lightweight way to keep list endpoints tidy, consistent, and easy to extend as your app grows.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Evidence base. The 1.0 release note reads in full: “Fully working initial release.” There is no changelog, no upgrade guide, no README snapshot, no composer.json, and the supplied data set is empty. This assessment is therefore provisional and should be read as a due-diligence plan plus a set of decision gates, not a verdict on the codebase. No claim below should be treated as verified until the artifacts in Key questions are in hand.

Architecture fit. The only defensible signal from a 1.0 tag is intent: the maintainer considers the public API stable enough to commit to semantic versioning. For a TPM, that matters more than feature breadth, because it determines whether we can pin to ^1.0 and absorb patch releases without a code review per bump. What remains unknown is the package's shape — whether it is a thin service-provider wrapper (low coupling, easy to swap), a framework-extending package that reaches into the container or Eloquent internals (higher coupling, harder exit), or an opinionated scaffold that wants to own a domain layer. That shape, not the version number, drives the fit decision. Until the service provider, config surface, and published migrations are reviewed, treat architecture fit as unrated.

Integration feasibility. Unassessable without a dependency manifest. The blocking unknowns are the PHP and Laravel version constraints in composer.json, whether the package declares conflicts, and whether it ships migrations, config publishing, or facades that imply a wider blast radius than a typical library. Feasibility should be timeboxed to a spike: install into a throwaway branch of one non-critical application, run the suite, and record install friction, config/publish steps, and any service-provider boot ordering requirements.

Technical risk. Primary risk is informational, not technical: a one-line release note is itself a governance signal. Projects that document releases poorly tend to document breaking changes poorly, so our exposure is less “will it work” and more “will we find out in production.” Secondary risks: a 1.0 with no prior public 0.x history may mean the API was never battle-tested outside the author's own use; a single-maintainer bus factor; and no stated security disclosure process. All are mitigable via pinning, a private fork, and an internal review gate — but only if the license permits a fork.

Key questions.

  1. What are the exact php and illuminate/* constraints, and does it declare conflict/replace?
  2. What is the license, and does it permit an internal fork and patch-back?
  3. Does it publish migrations, config, or routes — i.e. does it write to our schema?
  4. What is the documented BC policy for 1.x, and is there a CHANGELOG or GitHub Releases history?
  5. Who maintains it; how many contributors; what is the issue-close rate and last-commit date?
  6. Is there a security contact and a supported-versions statement?
  7. What does “fully working” mean operationally — is there a CI badge, a test suite, and a coverage signal we can read?

Integration Approach

Stack fit. Confirm alignment against our supported Laravel and PHP versions first; this is a hard gate, not a preference. Where the package's constraints sit below our floor, we either upgrade the package, patch a fork, or reject. Where they sit above, it becomes a driver for a framework upgrade and should be sequenced accordingly rather than smuggled into a feature branch.

Migration path. There is no incumbent to migrate from, so the path is greenfield adoption rather than replacement. The relevant question is reversibility: adopt behind a first-party interface (our own wrapper class or contract) so the package is an implementation detail, not a dependency smeared across the codebase. That preserves an exit ramp and lets us substitute a fork without touching call sites.

Compatibility. Verify three layers: framework version, dependency graph (run composer why-not and check for transitive conflicts), and runtime surface (queue workers, Octane, and any long-lived process if the package holds state in singletons — a common Laravel failure mode). Test under Octane specifically if we run it; container singletons that cache request state break there and nowhere else.

Sequencing.

  1. Week 1 — evidence gathering. Pull repo, composer.json, license, CI status, issue history. Resolve the seven questions above. Gate: proceed only if license, maintenance signal, and version constraints are acceptable.
  2. Week 1–2 — spike. Install on a throwaway branch of one low-risk service. Record install steps, config publishing, migration output, and test-suite result. Gate: no unresolved conflicts, no schema writes we cannot roll back.
  3. Week 2 — wrapper + contract. If adopted, land the wrapper interface before any feature use, with the package bound in a single service provider.
  4. Week 3 — production pilot. One non-critical path, feature-flagged, with a documented rollback (config flip plus composer remove). No data migrations in the pilot.
  5. Week 4 — decision review. Promote, hold, or fork, with the evidence file attached.

Operational Impact

Maintenance. Ownership must be explicit: a named maintainer, a pinned constraint strategy (~1.0 or ^1.0 depending on observed release discipline), and a standing quarterly review of upstream activity. Add the package to the dependency-review queue with a note that the 1.0 release was undocumented. Budget roughly half a day per minor release for review until the project demonstrates a changelog habit — that estimate should be revised once two or three release cycles have been observed.

Support. Upstream support is unverified. Assume community-only (GitHub issues) with no SLA until a support statement is found. Internally, document a fork path and confirm the license allows it before adoption, not after — retrofitting fork rights during an incident is the failure mode to avoid.

Scaling. Two dimensions. Vertically, watch for stateful singletons under Octane and for packages that add per-request container resolution. Horizontally, check whether the package introduces synchronous external calls (HTTP, filesystem, cache) on hot paths; a package that is fine at low volume can become the bottleneck under load. Both require the code review that the release note does not give us. Load-test the pilot path before promotion if it sits on a high-traffic route.

Failure modes.

  • Silent BC break in a minor release — mitigated by pinning and reading diffs, not release notes.
  • Transitive dependency conflict blocking a framework security patch — highest-severity mode; a package that pins an old illuminate/* line becomes a security liability. Check this explicitly before adoption.
  • Unannounced schema changes via migrations — mitigated by reviewing published migrations before running them; never auto-run in production.
  • Abandonment — mitigated by the wrapper interface and a pre-confirmed fork right.
  • Container/Octane state leakage — mitigated by testing under Octane in the spike, not in production.

Ramp-up. Engineer time: roughly one day for the spike, one day for the wrapper and tests, half a day for documentation and the runbook. The team needs no new skillset — this is standard Laravel package integration — but should be briefed on the wrapper convention so the package is not called directly from controllers. The real ramp-up cost is the evidence gathering: a package with a one-line release note transfers documentation burden to us, and that should be priced in as a recurring tax, not a one-off.

Recommendation. Conditional. Do not adopt on the strength of the 1.0 tag alone. Run the Week 1 evidence gate; if license, version constraints, and maintenance signal clear, proceed to the spike and pilot. If the version constraints block our security patching posture, reject regardless of functionality. Re-issue a full assessment once composer.json, the license, and the CI status are available — the current document is a plan, not a 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.
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo
bernskioldmedia/laravel-harvest
bernskiold/laravel-data-scrubber
bernskiold/laravel-currency-converter
bernskiold/laravel-campaign-monitor
bernskioldmedia/laravel-autotranslate
siberfx/telegram-bot
roy-sandip/laravel-view-extended
gregsphotography/site-builder-core
roy-sandip/laravel-view
anodyne/blade-fluentui-icons
webx-ui/module-catalog-collections