- How do I install nicolas-joubert/grabit-bundle with Composer?
- Run composer require nicolas-joubert/grabit-bundle and let Composer resolve the version constraint; the package is described as Composer-ready. In a Symfony app you then register the bundle in config/bundles.php if it is not auto-registered, and configure the Grabit services. In Laravel there is no documented service provider, so installation alone may not wire anything up. Check the repository README for the current required PHP and Symfony versions before installing.
- Is grabit-bundle a Laravel package or a Symfony bundle?
- The name and blurb describe it as a Symfony bundle that integrates Grabit, an R&D HTML crawler, into PHP applications. The -bundle suffix and service-configuration focus are Symfony conventions, not Laravel package conventions. There is no confirmed Illuminate service provider or Laravel-native event dispatcher in the provided information. Treat it as Symfony-first until the maintainer documents otherwise.
- Can I use grabit-bundle in a Laravel application?
- Possibly, but it is not confirmed as Laravel-native. Laravel can often consume Symfony components, yet a Symfony bundle's container wiring, configuration tree, and dispatcher semantics do not map automatically onto Laravel's service container and Illuminate event dispatcher. Before committing, verify which event dispatcher the v1.5 events use and whether a Laravel service provider exists. A short spike is cheaper than discovering the mismatch in production.
- What events does grabit-bundle v1.5 add?
- v1.5 adds two domain events: a source disabled event and a source error event, dispatched by the grab component that executes a grab run. The release is described as additive, with no removals, renames, or deprecations in the changelog. They are intended to make grab runs observable so you can attach listeners for alerting, metrics, or audit trails. The exact class names and public contracts are not documented in the provided notes.
- What is in the grabit-bundle SourceError and SourceDisabled event payloads?
- The payload shape is not documented in the release notes, so source identifier, exception, attempt count, and timestamp are all unconfirmed. The TPM assessment explicitly flags this as an open question for the maintainer. Code defensively: read properties rather than relying on constructor signatures, and tolerate nulls. Do not tightly type listeners against undocumented fields until a public contract exists.
- Are grabit-bundle events synchronous or queued?
- This is not stated in the available release information. Symfony's default event dispatcher is synchronous and inline, but the bundle may queue or defer dispatch. Whether a throwing listener can abort a grab run is also undocumented. Test this explicitly in a spike before relying on events for critical alerting.
- How do I listen for grabit-bundle events in Laravel?
- Only after confirming the bundle dispatches through Illuminate\Contracts\Events\Dispatcher can you use Event::listen or auto-discovered listeners. If it uses Symfony's event dispatcher instead, Laravel listeners will not fire and you would need an adapter or a different integration point. The intended consumption pattern is ordinary Laravel work: a structured-log listener, a failure-counter listener, and an alert on repeated source-disabled events. Keep those listeners defensive against payload changes.
- Which PHP and Laravel versions does grabit-bundle support?
- The provided information does not list PHP or Laravel version constraints as of v1.5. The blurb frames it as a Symfony bundle, so expect Symfony framework constraints rather than Laravel ones. Check composer.json on the repository for the authoritative requirements before planning an upgrade. If Laravel support matters, confirm it in writing with the maintainer.
- Is grabit-bundle maintained and safe for production?
- The TPM assessment rates supply-chain risk medium-high: single maintainer, small project, sparse release cadence, changelog-only documentation, and no linked test evidence. Breaking-change risk in v1.5 is low because the release is additive, but semantic risk around event contracts is medium. Size your blast radius accordingly, pin versions, and wrap usage behind your own abstraction. For ingestion workloads, prefer isolating the crawler so a package change cannot take down the wider app.
- How do I upgrade from grabit-bundle 1.4 to 1.5 without breaking anything?
- v1.5 is described as additive with no removals, renames, or deprecations, so semver-respecting consumers on ^1.4 should absorb it silently. That silence is itself a mild risk, because new events can change control flow in error paths without an explicit opt-in. Run your test suite against 1.5, verify whether exceptions are still thrown or converted to events, and check whether SourceError fires per run, per source, or per failed item. Only then wire alerting to it.