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 X Ray Laravel Package

mmstewart/laravel-x-ray

Laravel X-Ray is a lightweight development helper that gives you quick insight into what Laravel is doing behind a request, making it easier to debug behavior and spot performance issues without reaching for a full profiling stack.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Laravel X-Ray is a dev-time Artisan command that scans a Laravel application for upgrade-readiness issues between target framework versions. v1.5.0 adds --fail-on=error|warning|info, JSON failure-threshold support, and honors the configured minimum_severity. This is an additive, opt-in CI gate rather than a runtime dependency.

Architecture fit: Strong for Laravel teams. It runs as a Composer dev dependency and a single Artisan command, so it fits existing CI pipelines without new services, daemons, or infrastructure. The release moves the package from “advisory reporting” to “policy enforcement,” which is a meaningful capability for upgrade programs.

Integration feasibility: High. The flag is backward compatible: default behavior remains non-failing. CI adoption is a one-line command change. JSON output plus non-zero exit codes supports both human-readable and machine-consumable workflows.

Technical risk: Low to moderate. The main risks are policy risk, not runtime risk: severity classification changes between package versions could unexpectedly fail builds, and JSON schema stability matters if downstream tooling parses results. The minimum_severity interaction with --fail-on needs clear precedence documentation.

Key questions:

  • Is the severity taxonomy stable across releases, and how are severity changes communicated?
  • What exit codes are used, and are they documented for CI systems?
  • Does --fail-on override or combine with minimum_severity? Which wins?
  • Is the JSON schema versioned or contractually stable?
  • What false-positive rate should teams expect on typical Laravel 11→13 applications?
  • How long does a scan take on a large application, and does it require a booted app/database?

Integration Approach

Stack fit: Fits Laravel 11/12/13-era applications using Composer and standard CI (GitHub Actions, GitLab CI, Bitbucket, Jenkins). It is a development/CI tool, not a production runtime component.

Migration path: No migration required. Existing invocations continue to work. Teams can adopt the release by updating the dev dependency and optionally adding --fail-on to CI. Start in report-only mode, then promote to blocking mode.

Compatibility: Confirm PHP and Laravel version support in the package constraints, and verify the CI image has the required PHP extensions. JSON mode should be validated in the target CI runner before enforcement.

Sequencing:

  1. Update the package in a branch and run the command locally with default behavior.
  2. Add the command to CI in advisory mode with --format=json for artifact capture.
  3. Enable --fail-on=error for a trial period.
  4. After tuning minimum_severity and reviewing false positives, consider --fail-on=warning.
  5. Reserve --fail-on=info for strict upgrade gates only.

Operational Impact

Maintenance: Low. The package is a dev dependency with no production footprint. Pin to a minor version range and review release notes for severity changes before upgrading. The new flag does not add ongoing operational burden.

Support: Teams need a clear owner for threshold policy. Support burden is mainly “why did the pipeline fail?” questions, which JSON artifacts and documented severity mappings can address.

Scaling: Scales acceptably across repositories because each CI job runs independently. Cost is proportional to scan time per pipeline. For monorepos or many applications, standardize the command in a shared CI template to avoid drift.

Failure modes:

  • False positives block merges once --fail-on is enabled.
  • Severity reclassification in a package update unexpectedly breaks CI.
  • minimum_severity and --fail-on interact in ways users do not expect.
  • JSON output changes break downstream parsers.
  • Scan failures (environment, missing dependencies) are conflated with finding failures unless exit codes are distinguished.

Ramp-up: Low. Most Laravel engineers can adopt the command in under an hour. The real ramp-up is organizational: agreeing on severity thresholds, false-positive handling, and whether the gate is advisory or blocking. Start advisory, measure noise, then enforce.

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.
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode
jjsquady/round-robin
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route