joshdifabio/composed
Composed is a Composer plugin for projects split across multiple composer.json files. It merges their dependency requirements into a single graph, so you can install and autoload packages from separate directories without juggling each manifest by hand.
joshdifabio/composed is a framework-agnostic PHP utility, not a Laravel package. Its value is narrow: reading composer.json, lock/installed metadata, and dependency configuration at runtime. That can fit diagnostic tooling, internal admin screens, plugin/package discovery, or environment introspection, but it is not a foundational dependency for a Laravel application. Business logic should not depend directly on parsed Composer metadata.vendor/composer/installed.json and Composer 2 APIs. Runtime file parsing adds failure modes around missing composer.json, production builds that omit metadata, file permissions, malformed JSON, path repositories, aliases, and optimized deployments. Exposing parsed dependency data through HTTP could also leak package inventory or version information.Composer\InstalledVersions, composer.lock inspection at build time, or Laravel’s package manifest? Which PHP, Laravel, and Composer versions must be supported? Does the package work with Composer 2 installed metadata? Will composer.json and composer.lock exist in production? Is the repository available for audit and patching? Does it resolve transitive dependencies, or only root configuration? What happens with path repositories, aliases, plugins, and missing files? Can results be cached and treated as read-only?Composer\InstalledVersions or deploy-time generated metadata.ComposerMetadataReader interface and implementation. If the package fails on Composer 2 or PHP 8, either fork and patch it under MIT or replace it with Composer\InstalledVersions plus targeted composer.lock parsing. Keep a fallback path so the application does not depend on the package’s parser internals.composer install --no-dev, optimized autoloading, missing composer.json, Composer 2 installed metadata, PHP 8.x deprecations, and Laravel Octane/long-running workers if applicable. Confirm whether the package reads root composer.json, lock files, installed metadata, or all three. Pin the version and commit the lockfile.composer.json/composer.lock, absent vendor/composer/installed.json, permission errors, malformed JSON, unsupported Composer 2 formats, path repositories, aliases, and package metadata changes can cause exceptions or incorrect results. Production builds may intentionally exclude source metadata. Fail closed for business-critical decisions and degrade gracefully for diagnostics. Do not expose raw dependency inventories publicly.How can I help you explore Laravel packages today?