frostiede/composer-dependency-list-bundle
A Symfony bundle that exposes your project's installed Composer dependencies as a structured list, making it easy to inspect package names and versions from within your application. Useful for diagnostics, admin dashboards, or dependency reporting.
Architecture fit
Despite the shared PHP runtime, this is a Symfony bundle, not a Laravel package. It uses the frostieDE namespace and -bundle suffix convention, which implies a Bundle class, a DI Extension, compiler passes, and Symfony Console commands registered through the Symfony kernel. Laravel has no bundle registration mechanism, no kernel boot cycle to hook, and its service container is not the Symfony container (it only borrows individual Symfony components). Net: the package's packaging layer is unusable in a Laravel app as-is.
The domain logic — enumerating installed Composer packages and their versions/licenses — is framework-agnostic and small. That is the only part worth evaluating.
Integration feasibility Low-to-moderate. Two viable paths:
Composer\InstalledVersions::getAllRawData() and vendor/composer/installed.json are shipped by Composer itself and are present in every Laravel install. Producing a dependency listing is a short, well-understood task with zero third-party surface.Given the effort delta is roughly half a day in favour of reimplementing, adaptation only makes sense if the package contains non-obvious logic (license normalisation, dependency-tree traversal) verified during a source read.
Technical risk
^4/^5) can collide with the Symfony 6/7 components Laravel 10/11 requires, producing composer update resolution failures. Verify the composer.json constraints before anything else.Key questions
composer.lock at runtime (frequently absent from optimised production images) or vendor/composer/installed.json?Composer\InstalledVersions?composer show --format=json and composer licenses --format=json already solve it with zero new dependencies.Stack fit Poor for Laravel, adequate for Symfony. On a Laravel codebase the bundle layer is dead weight; only the data-access logic transfers. The scored opportunity of 22.56 is consistent with this: thin functionality, wrong framework, no adoption — the upside of adopting is a few hours of saved typing.
Migration path If the source audit justifies reuse:
Bundle, DI Extension, and compiler passes.--json flag for machine consumption.app()->environment('local') and an authorisation gate; never register a route.If the audit shows it is a thin wrapper — the likely outcome — skip the fork and write the ~40 lines directly against Composer\InstalledVersions.
Compatibility
composer.lock is absent and when vendor/ is installed with --no-dev.Sequencing
composer licenses --format=json and a composer audit step into CI and publish the artefact to the SBOM pipeline. That is where the requirement actually lives.Maintenance Adopting this transfers full maintenance ownership to the team at near-zero benefit. With 0 stars and no dependents there is no upstream to lean on, so every Laravel or PHP upgrade becomes an internal patch. An in-house implementation of equivalent scope is a similar maintenance burden but with no third-party audit surface and no fork-tracking overhead. Strongly prefer in-house.
Support No community, no issue-tracker signal, no documentation guarantees. MIT gives legal freedom to fork but no operational support. Escalation path is "the one maintainer" — i.e. none.
Scaling
Negligible. Dependency enumeration is a CLI-time operation over a few hundred JSON records; sub-second at typical package counts. If it is ever wired into an HTTP path, cache the parsed result — parsing installed.json per request is wasteful and turns a compliance tool into a latency tax. The real scaling concern is organisational: an unmaintained package in composer.json accumulates upgrade friction across every environment, forever.
Failure modes
--no-dev and without composer.lock will fail at runtime. Most likely single point of failure.Ramp-up Technically trivial — any mid-level PHP developer understands the problem space in under an hour. The genuine cost is decision overhead: the team will spend more time evaluating, forking, and re-validating this package than it would spend writing the equivalent internal command from scratch.
Recommendation: Do not adopt. Run a one-day spike only to confirm the source is as thin as the metadata implies, then implement an internal Artisan command over Composer\InstalledVersions and push the dependency-inventory requirement into the CI/SBOM pipeline where it belongs. A zero-star, zero-dependent Symfony bundle is the wrong shape for a Laravel stack and the wrong bet for a TPM optimising maintenance cost.
How can I help you explore Laravel packages today?