rawand201/filament-spatie-lighthouse
Seamlessly integrate Spatie Lighthouse with Filament. This plugin adds a native admin panel for exploring and managing Lighthouse GraphQL schemas and queries, helping Laravel developers keep GraphQL workflows visible and accessible inside Filament.
The package is a Laravel/Filament admin plugin that wraps Lighthouse auditing with UI, commands, scheduling, notifications, storage abstractions, events, and opt-in REST endpoints. Architecture fit is strongest for Laravel applications already using Filament and looking for an internal SEO/performance auditing cockpit. It fits well as an operational tool rather than a CI replacement: Filament pages and bulk export support day-to-day triage, while Artisan commands, scheduling, and events allow lightweight automation. The ResultStore abstraction, DatabaseResultStore, CacheResultStore, and filesystem raw-result option indicate reasonable separation between audit execution, persistence, and presentation. Integration feasibility is high for a standard Laravel/Filament stack, but it depends on external Lighthouse execution requirements, likely Node/Chrome/Lighthouse runtime, which are not visible in the release notes. Adding Filament solely for this package would be a much larger change. Technical risk centers on runtime dependency management, queue reliability and concurrency, large JSON payload handling, data retention, API token security, authorization/multi-tenancy, and compatibility with the host app’s Filament/Laravel/PHP versions. Key questions: Which PHP, Laravel, Filament, and Spatie Lighthouse versions are supported? What runtime does Lighthouse require in production? Are audits isolated per tenant/URL? How are API tokens scoped and authorized? What are default pruning and retention policies? Can raw results be stored off-database safely in all deployment targets? What is the expected audit duration and queue SLA?
Stack fit: Best suited to Laravel apps with Filament admin panels, especially marketing/CMS platforms where non-engineers need visibility into Lighthouse scores and historical trends. It is less suitable for teams without Filament or for teams expecting a full synthetic monitoring platform. Migration path: Install via Composer, publish and run migrations, publish config/lang assets, choose a ResultStore, configure queue vs synchronous execution, set scheduling.urls, configure notifications, and opt in to API/filesystem storage only if needed. Existing Lighthouse/CI processes can remain authoritative while this package becomes an admin-facing history and triage layer. Compatibility: Validate PHP/Laravel/Filament version constraints, database support for JSON/blob fields, cache-store durability limitations, filesystem permissions, queue driver behavior, and the availability of Lighthouse/Chrome in the runtime image. Confirm whether CacheResultStore is acceptable only for stateless/dev use. Sequencing: Start in a non-production environment with a single URL; run a synchronous audit to validate runtime dependencies; move to queued audits; validate thresholds, notifications, pruning, and exports; enable scheduling; then enable the token-protected API and filesystem raw results after security and storage review. Roll out to a small admin group before broad access.
Maintenance: The team must maintain the package, Filament, Laravel/PHP runtime, and Lighthouse execution environment. Config, thresholds, translations, pruning, and notification channels will need ownership. Support: Admin users will need guidance on reading scores, thresholds, failed audits, exports, and report downloads. API consumers, if enabled, require token lifecycle and access-scope support. Scaling: Queue workers and audit concurrency are the main scaling levers. Database growth is partially mitigated by raw_results_driver=filesystem and automatic pruning, but audit volume, retention, and report storage still need capacity planning. CacheResultStore does not provide durable history and should not be treated as a production system of record. Failure modes: Missing Chrome/Lighthouse runtime, audit timeouts, target-site outages, queue backlog, storage exhaustion, pruning deleting needed evidence, notification delivery failures, token leakage, and permissive API access. Ramp-up: Moderate for Laravel/Filament engineers, low for admin end users. A short runbook covering runtime prerequisites, queue health, retention, token rotation, and failed-audit triage is recommended before production use.
How can I help you explore Laravel packages today?