nelmio/esi-debug-bundle
A Symfony bundle that adds debugging support for Edge Side Includes (ESI). Use it during development to inspect ESI fragments, understand how includes are rendered behind a caching reverse proxy such as Varnish, and troubleshoot fragment caching and request behavior more easily.
HttpCache, and the common edge/CDN providers ship their own debugging surfaces. For a Laravel roadmap this package is effectively out of scope; it only becomes relevant if the portfolio includes Symfony services (or a Symfony-based legacy/admin app) sitting behind an ESI-capable reverse proxy.Vary/Cache-Control/Surrogate-Control), TTL and stale-while-revalidate mismatches between app and edge, and “which layer stripped my header” investigations.Consider it only when all of the following hold:
HttpCache with the Esi extension, or Varnish/Fastly/Akamai assembling fragments).require-dev dependency, never in a production image.Look elsewhere when:
Surrogate-Key/Cache-Status inspection are strictly better and maintained.varnishlog/varnishncsa plus X-Cache header convention covers this without a PHP dependency.Cache-Status/Age/X-Cache header logging into your existing APM instead.One-line summary: A tiny, free, dev-only Symfony tool that reveals how ESI fragments are being cached — useful for a narrow debugging window, but archived and unmaintained, so treat it as a fork-or-replicate candidate rather than an adoption.
For executives: This is not a platform decision. It costs nothing and touches nothing in production, but it is also unmaintained (archived, negligible adoption), so it cannot be a long-term dependency. The only real value it unlocks is shortening cache-related incident investigations for teams already running Symfony + ESI. If we are not running ESI, the correct answer is to not adopt it and to note that our Laravel services have no equivalent need — edge caching there is debugged through the CDN vendor’s own console.
For engineering: Expect a small, single-purpose profiler-style bundle from the Symfony 2/3/4 era. Budget roughly a day to fork it to a current Symfony version or, more likely, to reimplement its useful core — a kernel response listener that records request/response headers per ESI subrequest and a toolbar panel to display them. Whichever path, it stays in require-dev, behind a feature flag, never shipped in a production container. The strategic recommendation is to standardise on emitting and logging Cache-Status/Age/Surrogate-Control headers and alerting on cache-hit-rate regressions; that gives durable value where this bundle gives a one-off view.
Risk statement: Archived + 0 dependents = no CVE response and no compatibility guarantees. Mitigated by dev-only scope and a fork we control. Do not let it drift into production or into a shared base image.
How can I help you explore Laravel packages today?