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

Laravel Api Debugger Laravel Package

lanin/laravel-api-debugger

Inspect and debug Laravel API requests without scattering dumps: laravel-api-debugger captures headers, payloads, responses, status codes, and timing in a built-in UI, making it easy to trace failures, compare calls, and profile endpoints during development and testing.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Assessment basis: Package metadata is thin (no stars, composite score 0, 0 dependents) and the repository shows no downstream adoption signal. Findings below combine that metadata with the package's stated purpose and typical Laravel package mechanics; version/CI/license status should be verified directly before any commitment.

Architecture fit

  • The package follows the conventional Laravel package shape: composer require, auto-discovered service provider, publishable config, and HTTP middleware that augments JSON responses with a debug payload (queries, timings, memory, request context). That is a low-ceremony fit for a Laravel JSON API — no changes to controllers or resource classes, which is attractive for an existing API surface.
  • It occupies the same architectural niche as Laravel Telescope, Laravel Debugbar, and Clockwork, but with a narrower, response-embedded delivery model: debug data travels in the API payload rather than a side channel, dashboard, or storage backend.
  • The response-mutation design is the central architectural tension. Embedding debug data in the response body couples diagnostics to the API contract, so it must be strictly environment-gated and never reach a consumer that asserts on schema.

Integration feasibility

  • Trivially installable in principle (one Composer dependency, one middleware registration, one config publish). The real gate is compatibility: the package's Laravel and PHP version constraints must be checked against the target app. A package in this adoption band is likely pinned to an older Laravel major, which may make it unusable on Laravel 10/11+ without a fork.
  • Middleware-based delivery means it can be scoped to specific route groups (e.g. /api/internal/*) rather than globally, which materially reduces blast radius.
  • No meaningful integration risk to the framework itself; risk concentrates in response shape and configuration drift.

Technical risk

  • Abandonment risk: high. Zero dependents and no visible adoption typically correlate with no maintenance, no security triage, and no compatibility updates. Treat as "source available," not "supported dependency."
  • Data exposure risk: high if misconfigured. Debug payloads include SQL, bindings (potential PII), and internal paths. A single environment-detection mistake or a staging host reachable from the internet turns this into a disclosure vector. The package cannot be trusted to enforce this for you; the guard must be explicit and tested.
  • Contract/test risk: medium. Any consumer generating types from responses, snapshot tests, or strict schema validation will break when the debug key appears.
  • Supply-chain risk: low-to-medium. Small, single-maintainer surface with few transitive dependencies — limited but unaudited.

Key questions

  1. What are the exact laravel/framework and php constraints in composer.json, and do they cover our target versions? If not, is the diff small enough to fork and maintain?
  2. Is the package still receiving commits, and is there any CI or test suite? What is the license?
  3. Does the debug payload expose query bindings by default, and is there a redaction mechanism?
  4. How does it behave on exception responses and non-JSON responses — does it interfere with the exception handler?
  5. Is there an accompanying client/UI viewer, and is that component maintained separately?
  6. What does it give us that Telescope + a local profiling workflow does not?

Recommendation: Evaluate as a developer-experience spike, not a production dependency. The value proposition (zero-instrumentation visibility into queries and timings while iterating on a JSON API) is real but is largely duplicated by Telescope, which is first-party, maintained, and does not mutate responses. Adopt only behind an explicit, tested environment gate on non-production route groups, with a named owner and an exit plan.

Integration Approach

Stack fit

  • Laravel API-only service (Sanctum/Passport auth, Eloquent/Query Builder data access, JSON resources). Fits cleanly if and only if the package supports the app's Laravel major.
  • Poor fit for: services with strict OpenAPI contracts, public/partner-facing APIs, or any environment where debug output could be reached by an untrusted caller.
  • Where it fits best: local development and ephemeral preview environments, consumed by the developer or QA engineer who made the request.

Migration path

  • Adopt: add as require-dev, register the middleware on a dedicated local-only route group or via a config flag, publish config, and gate on app()->environment('local') and an explicit API_DEBUGGER_ENABLED env var (defence in depth — never rely on environment name alone).
  • Fork: if version constraints block installation, vendor the package into the repo (packages/ with a path repository) rather than depending on an unmaintained remote. This converts an external risk into an owned, small, auditable code surface — preferable to pinning a dead dependency.
  • Replace: if the only requirement is query/timing visibility, Telescope or a lightweight custom middleware (DB::listen + response macro) achieves 80% of the value in ~50 lines with full ownership. Budget this as the fallback and price it against fork cost.
  • No incremental "migrate later" story. This is a dev-only tool; removal is a one-line Composer change plus middleware deregistration. Low switching cost in both directions, which argues for a time-boxed trial rather than a strategic decision.

Compatibility

  • Must confirm PHP and Laravel constraints, middleware API stability (handle/terminate semantics), and whether response mutation works with JsonResponse, ResourceResponse, and streamed responses.
  • Interaction with global middleware ordering, barryvdh/laravel-debugbar, and Telescope should be validated — overlapping instrumentation can double-count or conflict.
  • CORS and API-gateway layers are irrelevant locally but matter the moment the package leaks into a shared environment.

Sequencing

  1. Spike (1–2 days): install in a branch, verify constraints, exercise against representative endpoints including validation errors and 500s, confirm payload contents and redaction behaviour.
  2. Compare (parallel): run the same debugging tasks with Telescope; record which tool answered the questions faster. This is the actual decision input.
  3. Gate: if adopted, land env-gated middleware + config with a test asserting the debug key is absent when disabled and in production/staging.
  4. Document: add a short runbook entry so the gate is not accidentally widened during incident debugging.
  5. Review at one quarter: usage check; if unused, remove.

Operational Impact

Maintenance

  • Effectively zero upstream maintenance expected. Any Laravel upgrade that touches middleware or response handling becomes our problem. Budget a fork-ownership cost (roughly a few hours per framework major, plus incident time) if this becomes part of the standard local setup.
  • Dependency surface is small, so the ongoing burden is compatibility, not vulnerability patching — though neither is being handled upstream.

Support

  • No vendor, no SLA, no security contact. Support is "read the source." Acceptable for a dev-only tool used by engineers who can debug Laravel middleware; unacceptable for anything QA or product relies on without an internal owner.
  • Onboarding cost is low for PHP developers (familiar middleware/config pattern) but only if the env gate and purpose are documented; undocumented, it reads as suspicious magic in the request pipeline.

Scaling

  • Not a production scaling concern because it must not run in production. If it somehow does: payload size grows with query count and binding volume, response serialization cost rises, and log/trace volume inflates. On a high-query endpoint this is a measurable latency and bandwidth tax, plus a data-governance problem.
  • Concurrency is per-request and stateless, so there is no shared-state scaling issue — the risk is purely exposure and overhead.

Failure modes

  • Silent environment misconfiguration → SQL, bindings, and file paths returned to an external caller. Highest-severity failure; mitigate with an env-var gate plus a test, not just APP_ENV.
  • Response contract breakage → clients or generated SDKs reject unexpected keys; snapshot tests fail. Mitigate by scoping to non-consumer route groups.
  • Middleware interaction → ordering conflicts with debugbar/Telescope or exception handling; debug data missing on error paths precisely when it is most needed.
  • Package abandonment → install breaks on the next Laravel upgrade, blocking local setup or, worse, failing CI for the whole team.
  • False confidence → developers trust an unmaintained instrument's numbers over Telescope's; divergence between the two causes wasted investigation time.

Ramp-up

  • Developer: under an hour to install, configure, and interpret output; near-zero if the env gate and a README snippet are already in place.
  • Team/Platform: 0.5–1 day to fork, review the source for redaction behaviour, and write the guard test — this is the real adoption cost and should be weighed against simply extending the existing Telescope setup.
  • Decision owner should be the platform/DevEx owner, with a stated review date and removal criteria.
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