pamald / pamald-composer
Collects lock diff information from composer.lock files.
Installs: 0
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 1
pkg:composer/pamald/pamald-composer
Requires
- php: >=8.3
- pamald/pamald: 1.x-dev
Requires (Dev)
- ext-dom: *
- consolidation/robo: ^5.0
- maddhatter/markdown-table: ^1.2
- mikey179/vfsstream: ^1.6
- nuvoleweb/robo-config: 3.x-dev
- phpstan/phpstan: ^2.0
- phpunit/phpunit: ^12.0
- squizlabs/php_codesniffer: ^3.6
- sweetchuck/composer-suite: 1.x-dev
- sweetchuck/git-hooks: 2.x-dev
- sweetchuck/robo-git: 4.x-dev
- sweetchuck/robo-phpcs: 4.x-dev
- sweetchuck/robo-phpstan: 3.x-dev
- symfony/console: ^7.0
- symfony/error-handler: ^7.0
- symfony/filesystem: ^7.0
- symfony/finder: ^7.0
- symfony/yaml: ^7.0
This package is auto-updated.
Last update: 2025-10-12 21:22:18 UTC
README
pamald-composer is a PHP library that collects dependency information from composer.lock
files.
It is the Composer-specific implementation of the pamald/pamald project,
enabling detailed analysis of Composer packages, PHP versions, PHP extensions, and APIs.
Project Goals
The library aims to collect and analyze Composer project dependencies from
composer.lock
and composer.json
files in a structured way.
This is particularly useful for:
- Tracking dependency changes: Easily identify package updates, new dependencies, or removed packages
- Security audits: Quick overview of package versions in use
- CI/CD pipelines: Automated dependency analysis during build processes
- Documentation: Generate accurate dependency lists for projects
- Environment requirement verification: Identify PHP version and extension requirements
- Prepare Git Commit Message: Automatically generate a commit message with dependency information
Why is it Useful?
1. Comprehensive Dependency Information
The library collects not only packages, but also:
- PHP core version requirements
- PHP extensions (ext-*)
- API dependencies (e.g., composer-plugin-api)
- Distinguishes between direct and transitive dependencies
- Groups by production and development environments
2. Structured Data Model
Each dependency type has a dedicated class:
Platform
- PHP version and extension requirementsApiDependency
- API dependenciesPackageDependency
- Composer packages
3. Integration with the pamald Ecosystem
The library implements the pamald/pamald base library interfaces, making it easily integrable with other pamald tools (npm, yarn) and Robo tasks.
Usage
<?php declare(strict_types = 1); use Pamald\PamaldComposer\DependencyCollector; $collector = new DependencyCollector(); $lock = json_decode(file_get_contents('composer.lock'), true); $json = json_decode(file_get_contents('composer.json'), true); $rightDependencies = $collector->collect($lock, $json); // See pamald/pamald how to use this to generate a report.