composer:lock-diff and composer:package-paths) that are not natively supported in Laravel’s ecosystem. While Laravel’s Artisan handles core Composer operations (e.g., composer:dump-autoload), this package fills a gap for custom CI/CD workflows, dependency auditing, or vendor path introspection.composer.json/composer.lock without conflicts.vendor/bin/robo composer:lock-diff).consolidation/robo) and PHP 7.4+ (due to strict_types).composer.lock).config/cache or vendor paths.Why Robo?
composer show, or git diff) achieve the same goals with less complexity?Use Case Criticality
composer:lock-diff needed for CI/CD gates (e.g., blocking deployments with breaking changes)?composer:package-paths required for runtime logic (e.g., dynamic autoloading) or just debugging?Maintenance Plan
Composer\JSON\JsonFile) that could reduce dependency risk?Scaling Implications
lock-diff become a bottleneck?composer.json, analyzing require-dev)?Robo Integration:
composer require --dev sweetchuck/robo-composer.composer:lock-diff, composer:package-paths) directly in CI/CD or local workflows.php artisan composer:diff) that delegates to Robo tasks.Laravel-Specific Considerations:
composer:package-paths could conflict with Laravel’s vendor/ structure if paths are hardcoded.git diff composer.lock).composer require consolidation/robo --dev.robo.php or a custom RoboFile.php.composer:package-paths for debugging.composer:lock-diff in CI for pre-deploy validation.post-install-cmd).vendor/ paths are resolvable (e.g., avoid absolute paths in CI).composer:lock-diff in CI to compare composer.lock with a baseline (e.g., HEAD^).composer:package-paths for debugging (e.g., locating vendor files dynamically).Composer\JSON\JsonFile for core functionality.composer:lock-diff: O(n) complexity for lockfile size. For large projects:
json_decode with JSON_THROW_ON_ERROR).composer:package-paths: Minimal impact; runs in milliseconds.robo composer:lock-diff & robo test).| Scenario | Impact | Mitigation |
|---|---|---|
Corrupt composer.lock |
Task crashes silently | Add validation (e.g., json_validate). |
| PHP/Composer version mismatch | Task fails or produces wrong output | Pin versions in composer.json. |
| CI environment path issues | composer:package-paths fails |
Use relative paths or realpath(). |
| Missing Robo dependency | Commands unavailable | Enforce Robo in composer.json. |
| Breaking changes in lockfile | False positives/negatives | Test with known good/bad lockfiles. |
composer:package-paths.How can I help you explore Laravel packages today?