tomatophp/tomato-dusk
A Laravel Dusk integration for the Tomato ecosystem, bundling browser automation and testing helpers so you can run end-to-end tests, manage headless Chrome sessions, and keep Dusk configuration consistent across your Tomato admin panels.
Release context. v1.1.1 is a patch increment over v1.1.0. The published release notes contain no enumerated changes — only a compare link (v1.1.0...v1.1.1). No breaking changes, features, or deprecations are disclosed. This assessment is therefore written against the package's known shape (a Filament/TomatoPHP panel plugin that drives Laravel Dusk browser test runs) rather than against a verified diff. Treat the change-impact analysis as provisional until the commit range is reviewed.
Architecture fit. Tomato Dusk is developer/QA tooling surfaced through a Filament admin panel. It is not a runtime production dependency and should not be architected as one. Fit is conditional on two things: the application already runs Filament, and the team is already inside or willing to enter the TomatoPHP plugin ecosystem. Where both hold, the package is a thin convenience layer over php artisan dusk. Where either fails, adopting it means pulling an entire panel framework in to obtain a test-runner UI — a poor trade. The core capability (run Dusk, surface pass/fail and artifacts) is roughly a day of in-house work if the UI is the only delta.
Integration feasibility. Mechanically straightforward: Composer install, service-provider auto-discovery, plugin registration on a Filament panel. The real prerequisites are environmental, not package-level — a Dusk dev dependency, a headless Chrome/Chromium driver, and a host that tolerates browser processes being spawned from a web request. That last point is the feasibility hinge: executing a subprocess of browser tests inside an HTTP request introduces process-management and timeout concerns that the package may or may not address.
Technical risk.
Key questions.
local/testing?Stack fit. Laravel 10/11/12 with Filament is the expected baseline; confirm PHP constraints before committing. If the product is not on Filament, stop here — the package offers insufficient standalone value to justify the framework addition.
Migration path. There is no incumbent to migrate from, so treat this as a greenfield pilot rather than a replacement. Install pinned to an exact version in a developer sandbox, exercise it against an existing Dusk suite, and only then consider a shared staging panel. Absent a compelling case, do not promote it to a production-reachable environment under any configuration.
Compatibility. The v1.1.0 → v1.1.1 delta is a patch and is expected to be non-breaking, but that expectation is inferred from the version number alone, not from published notes. Review the commit range, confirm no constraint changes against our Filament/Laravel pins, and record the result. Pin the dependency; do not allow floating patch resolution on a package with silent changelogs.
Sequencing.
Maintenance. Low per-upgrade effort if pinned, but the package is a standing commitment to the TomatoPHP ecosystem's release cadence and its Filament version lag. Assign a named owner; an unowned panel plugin becomes stale and then becomes a security finding.
Support. Community-only. No SLA, no commercial backing, no evident security disclosure process. Acceptable for internal dev tooling; unacceptable anywhere it gates a release without a human in the loop.
Scaling. Poor for concurrent use. Browser processes spawned from web requests are bounded by PHP worker count and host memory; several engineers triggering runs simultaneously will contend. If the org needs shared, parallel test execution, that requirement belongs to CI, not to this package.
Failure modes. Hung or orphaned Chrome processes; zombie subprocesses after request termination; disk exhaustion from accumulated screenshots; memory-limit kills on long suites; request timeouts that surface as ambiguous UI state rather than explicit failure. The dangerous one is the silent variant — a suite that fails to boot and reports success. Any adoption must include a parity check against CI to catch exactly that.
Ramp-up. Roughly half a day for a Laravel developer already fluent in Filament to reach a first successful run. The larger cost sits with the platform team: gating the routes, constraining resources, validating artifact retention, and establishing the CI-parity check. Budget that as a small but real enablement task, not a zero-cost convenience.
How can I help you explore Laravel packages today?