maglnet/composer-require-checker
CLI tool that scans your PHP sources and composer.json to ensure every used class/function comes from declared dependencies. Detects “soft” transitive deps and missing required PHP extensions, helping prevent breakage after dependency updates.
composer.json and source files, not Laravel-specific artifacts.illuminate/support used by laravel/framework). Requires configuration tuning (e.g., whitelisting).post-install-cmd or custom installers may mislead the tool (workaround: --no-plugins flag).composer.json)?composer-require-checker.json) or per-team?pdo_mysql) be explicitly required in composer.json?illuminate/) be whitelisted globally?composer-require-checker.json to whitelist known safe dependencies (e.g., Laravel’s core).fail-fast rule for critical paths.- name: Check Composer Dependencies
run: php composer-require-checker.phar check --config-file=composer-require-checker.json
autoload-dev).packages/*/composer.json).husky).composer install but before tests.composer-require-checker.json as new dependencies are added.intl) are explicitly required in composer.json.package.json equivalent).| Failure Type | Impact | Mitigation |
|---|---|---|
| False Positives | Blocks legitimate code. | Pre-configure whitelists; document exceptions. |
| CI Pipeline Failures | Breaks deployments. | Run in a separate job with clear error messages. |
| Configuration Errors | Misses critical dependencies. | Validate config via CI linting. |
| Custom Installer Issues | Misses non-vendor dependencies. | Use --no-plugins flag or custom paths. |
How can I help you explore Laravel packages today?