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

Livewire Tables Laravel Package

timolake/livewire-tables

A Laravel Livewire package for building dynamic, interactive data tables with sorting, searching, pagination, and customizable columns and filters. Drop tables straight into your Livewire components with minimal setup and no extra JavaScript.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Admin panel and internal tool roadmap acceleration. Prebuilt pagination, search, sort, and column customization eliminate weeks of undifferentiated CRUD wiring for user management, order tracking, audit logs, inventory, and moderation queues. This shifts engineering capacity toward product logic, analytics, or workflow automation.
  • Build vs. buy, scoped to internal surfaces. Adopt when the stack is Laravel + Livewire 3.x and table UX is not a competitive differentiator. Custom-build when tables are public-facing, design-critical, or central to the product experience (e.g., SaaS analytics with bespoke visualization).
  • MVP and prototype validation. A read-only users or orders table can be stood up in a sprint, letting PMs validate data-heavy feature demand before committing to a bespoke build.
  • Standardization play across many screens. The package enforces a single convention for table state (search, sort, pagination, soft-delete) that is useful when consistency across admin screens matters more than pixel-level polish.
  • jQuery DataTables retirement. A natural path to modernize legacy admin tables without introducing a JS frontend framework.
  • Use cases that fit: internal dashboards, SaaS back-office, support tooling, content moderation, and internal analytics. Use cases to exclude: public-facing tables, export-heavy workflows, hierarchical/nested grids, or Airtable-style drag-and-drop editors — none of which the package provides.

When to Consider This Package

Adopt if:

  • The application is Laravel 10/11 + Livewire 3.x + PHP 8.1+, and the team is already fluent in Livewire.
  • The target is internal tooling where delivery velocity outranks bespoke design.
  • Tables are simple to moderately complex (<50 columns, basic filtering, standard row actions).
  • Datasets are under roughly 50K rows with proper indexing; performance is a query-design problem, not a package problem, but a threshold should be set at intake.
  • Legal has cleared the NOASSERTION license, or is prepared to before the first merge.
  • A named internal owner (and ideally a vendored fork) is available, because 0 stars / 0 dependents means upstream fixes are best-effort only.

Look elsewhere if:

  • Tables are public-facing or a stated product differentiator.
  • You need built-in CSV/Excel exports, multi-column sort, nested rows, virtual scrolling, or Airtable-style grids.
  • The stack is Inertia/React/Vue rather than Livewire.
  • Workloads exceed ~100K rows or demand sub-second server-side processing at scale.
  • You require a reviewable, standard OSS license for commercial distribution — NOASSERTION is a hard blocker until cleared, and the package derives from two prior table packages whose terms add ambiguity.
  • You cannot absorb permanent ownership: with zero dependents, a fork-and-vendor posture should be the default, not the fallback.

PM risk flags to log now:

  • Licensing (blocking): NOASSERTION has to clear before code ships.
  • Bus factor of one: 0 stars, 0 dependents, single maintainer.
  • Two live version lines (1.18.x and 2.8.x) shipping overlapping fixes — the version pin is a decision to own explicitly.
  • Session-persisted state introduces a new class of support tickets ("rows are missing" is often a persisted filter); plan a visible reset affordance and a one-page runbook before rollout. Pin to a version that includes the 2.8.1 session-key fix.
  • Version-constraint hygiene: release 2.4.3 exists only to add the Laravel requirement, so lock constraints yourself rather than trusting the package's.

How to Pitch It (Stakeholders)

For Executives: "This package can compress admin-dashboard delivery from roughly two weeks to a few days by eliminating hand-built table UI. That is real speed on undifferentiated internal screens — customer management, order tracking, audit logs — and it standardizes table behavior across the back office. The trade-offs are material: effectively zero community adoption, a single maintainer, and an unresolved license that must clear legal before we ship. I recommend a time-boxed pilot behind an internal abstraction layer, with a fork/exit plan and a licence gate at the front. Best used for internal tools where speed matters more than bespoke design; not for anything customer-facing or differentiating."

For Engineering: "This removes boilerplate for pagination, search, sort, and session-persisted table state inside Livewire 3.x — no JS surface, no schema change, table logic stays in PHP. Two caveats shape adoption: (1) pin 2.x explicitly, since 1.18.x and 2.8.x ship overlapping fixes and constraints have historically been loose; (2) wrap it behind our own base table class so every screen inherits our abstraction, not Timolake\* — that is our exit seam and it converts 'adopting an unmaintained package' into 'adopting a convention we can re-implement.' Roll out in three waves (pagination-only → search/sort → formatted columns and actions) with a query-count budget per render and regression tests around state. Avoid livewire-powergrid overlap and verify row-scoping with spatie/laravel-permission. Treat the source as the documentation — there is none."

One-line framing for the room: "Low-adoption package, high-velocity fit for internal Livewire admin tables — adopt it behind our own abstraction, license-first, fork-ready, and keep it out of anything customer-facing."

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.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager