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

Livecharts Laravel Package

matheusmarnt/livecharts

LiveCharts is a reactive chart abstraction for Laravel that unifies ApexCharts and Chart.js behind one fluent PHP API. Define 18 chart types in PHP, render with a single Livewire component, and update them reactively from application state—no JavaScript boilerplate.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy on the "charts" workstream. If your product surfaces any analytics, finance, ops, or reporting surface inside a Laravel/Livewire app, this package is a candidate to eliminate a recurring 1–3 sprint line item. The scope it removes is real: chart DTOs, a Livewire render component, hydration/morph handling, asset pipeline, dark-mode re-coloring, and per-engine config translation. A PM can credibly ask engineering "can we adopt this instead of building our own wrapper?" and expect a substantive answer.
  • Feature/roadmap velocity for dashboard work. Any roadmap item phrased as "interactive dashboard," "drill-down reporting," "live metrics," or "multi-tenant customer analytics" gets cheaper. Reactive updates (Chart::poll(), Livewire property binding, Echo broadcasting) and the click/zoom/selection → Livewire event bridge map directly to the top three asks in almost every dashboard discovery: refresh cadence, drill-down, and export-the-thing-you-clicked-on.
  • A hedge against a single-endpoint decision — with a caveat. The multi-engine abstraction (ApexCharts and Chart.js today, registerEngine() for adapters) means the engine choice is a configuration value, not an architectural commitment. That supports a legitimate PM position: "pick the default engine on preference and revisit later without a rewrite." It softens the usual "which chart library do we standardize on?" debate that otherwise eats a design review. Treat it as partial insurance — see the risk in the next section.
  • Design-system consistency as a decision, not a code review. The 289-case TwColor enum, named dark:/light: color arguments, and TwPalette presets let a PM ask for theme tokens as an acceptance criterion rather than filing per-chart color bugs. Live re-color on dark-mode toggle without a Livewire roundtrip is a small UX detail that repeatedly shows up in accessibility and QA tickets; here it's a default.
  • De-risking the "JS boilerplate" tax across teams. The single <livewire:livecharts :chart="$chart" /> contract plus make:chart stubs means multiple squads produce charts the same way. That's a maintainability argument a PM can make to engineering leadership in one sentence: it makes chart rendering a convention, not a per-team craft.
  • Buy-side research artifact for a platform/tooling review. Even if you don't adopt, the fluent-builder + Livewire-component + engine-adapter pattern is a good reference for your own internal abstraction. Worth routing to engineering as a design input.

When to Consider This Package

Adopt (or, realistically, pilot) when most of the following hold:

  • Laravel 10–13 + Livewire 3/4 is your stack. This is a hard gate. The package is Livewire-native; there is no meaningful Blaze/Inertia/Vue path described. If your interactive surfaces are already Livewire, the integration cost is roughly an afternoon; if they're not, this becomes a reason to question a larger architectural decision than a charting one.
  • You need several chart types, not one. The value scales with surface area. 18 chart types, mixed-chart support, and the specialized axis/grid helpers (added in 1.13.0) are wasted if you need a single line chart on one page — you'd be importing a dependency to draw a sparkline.
  • Your data updates server-side. Polling and model-state-bound reactive updates are the package's center of gravity. If your charts are static snapshots, you're paying abstraction complexity for capability you won't use.
  • You're willing to own the asset pipeline. Local-first bundles plus CDN fallback and a publish step in deploy is a decision, not a detail. It needs an owner for CSP policy, offline/air-gapped environments, and asset restoration after deploy. If your platform team can't take that on, stop here.
  • You accept single-maintainer risk for a non-critical surface. A dashboard is a plausible place to take that bet; a customer-facing contractual reporting feature is not.
  • Theming/light-dark parity is a real requirement rather than a nice-to-have.

Look elsewhere when:

  • Charts are on a regulated, revenue-critical, or SLA-bound path. Five GitHub stars, zero dependents, and a single credited maintainer (plus contributors) are the whole adoption record. There is no ecosystem signal telling you this survives its maintainer's attention span, a PHP minor release, or a Livewire 5. The 301-test suite, --min=90 coverage gate, PHPStan level 8, and PHP 8.2–8.5 × Laravel 11/12/13 × Livewire 3/4 × Ubuntu/Windows CI matrix are genuinely stronger engineering hygiene than most 5-star packages — but hygiene is not the same as a support contract.
  • You need React/Vue/Inertia rendering, server-side image export, or PDF charts. Not in the stated scope. Charts in emailed reports or exported PDFs are a common adjacent requirement and would need separate work.
  • You need deep engine-specific features. The abstraction's promise — "no engine-specific configuration leaking into your views" — is also its ceiling. Anything the adapter doesn't surface is either a registerEngine() project or a fork. Verify against your actual most-complex chart before committing; the abstraction is easiest to outgrow at the top end.
  • You can't tolerate a young 1.x surface. Public API has moved through 1.12 → 1.18 in visible steps (mixed charts, config helpers, engine registration, polling wiring, exception types, attribute binding fixes). Active development is a plus for a pilot and a minus for a "set it and forget it" dependency in a stable product.
  • Procurement requires vendor accountability. MIT license, no commercial support tier mentioned, community email for security disclosures. If your org needs an entity to escalate to, this doesn't provide one — a support-and-indemnification conversation, or an internal fork/ownership commitment, has to happen first.

Recommended posture: pilot on one internal or low-blast-radius dashboard surface, timeboxed, with a written exit criterion (can we reproduce our three hardest charts with no engine-specific leakage, and can platform own the asset pipeline?). Promote to standard only after that. Do not lead with this package on a customer-facing commitment.

How to Pitch It (Stakeholders)

For executives (30 seconds): LiveCharts is an MIT-licensed Laravel package that turns chart-building into a few lines of PHP instead of custom JavaScript per chart. If we're doing dashboard or reporting work on the roadmap, it can compress that work materially and give us consistent theming and live updates for free. The honest caveat: it's a young, single-maintainer open-source project with minimal adoption, so we should pilot it on one non-critical surface rather than build a revenue-critical feature on it out of the gate. The cost of finding out is small; the cost of hand-rolling it is a recurring sprint tax.

For engineering leadership (the substance):

  • What it is: a reactive chart abstraction for Laravel that unifies ApexCharts and Chart.js behind one fluent PHP API, delivered through a single Livewire component. Charts are defined in PHP — fluent builder or a Chart subclass — and re-render from application state. No per-engine config in Blade.
  • Why it's credible: PHPStan level 8, strict types, 301 Pest tests with a 90% coverage gate, an unusually wide CI matrix (PHP 8.2–8.5 × Laravel 11/12/13 × Livewire 3/4 × Ubuntu/Windows), full docs and changelog. The engineering discipline is above the median for its adoption level.
  • Why we should still be careful: 5 stars, 0 dependents, one credited maintainer. Public API is still moving (1.12→1.18 in recent history, including a Livewire attribute-binding fix in 1.16.0). Adopting it means we inherit an asset-publishing step (livecharts:install, LIVECHARTS_ASSETS_MODE) and a dependency we may end up maintaining ourselves.
  • The realistic options: (a) adopt broadly and accept fork risk; (b) pilot on one internal dashboard, keep our own thin wrapper boundary so swapping out is contained, and decide in a quarter; (c) build a minimal in-house wrapper over one engine. Option (b) is the recommendation — it preserves the optionality the multi-engine abstraction promises without betting the roadmap on it.
  • What we'd need from you: a named owner for the asset pipeline and CSP/offline story, and a short spike to confirm the three most complex charts we actually need don't hit the abstraction ceiling.
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.
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core