barryvdh/composer-cleanup-login
A Composer plugin that cleans up stored repository login credentials, removing leftover HTTP basic auth entries from Composer's auth configuration so your credentials file stays tidy and free of stale tokens after hosts or repositories change.
vendor/ bloat as a real cost line or an accepted constant. Relevant decisions: container image size budgets, Lambda/serverless package limits (50 MB zipped / 250 MB unzipped on AWS), shared-hosting disk quotas, and CI cache/transfer costs.rm -rf patterns run as a Composer post-install script. The "buy" side is convenience and community-maintained file-pattern lists; the "build" side is ~20 lines in composer.json scripts plus a CI assertion. This package is a useful reference design for a decision you may end up building yourself.vendor/ doc/test content is tens to hundreds of MB; serverless PHP (Bref) with hard package ceilings; regulated environments where reducing shipped source material marginally shrinks inspection surface.Diligence flag before deciding anything: the package identifier provided (barryvdh/composer-cleanup-login) does not match the linked repository (barryvdh/composer-cleanup-plugin). Zero stars, a score of 0, and zero dependents mean there is essentially no ecosystem validation. Resolve the naming discrepancy and confirm the actual maintained package before this enters any decision record.
Consider it when:
vendor/ attributable to tests/docs, and the corresponding deploy time or storage delta.Look elsewhere (or skip it) when:
composer install --no-dev --prefer-dist --classmap-authoritative already exclude dev dependencies, and slimmer base images usually dominate the savings.tests/, docs/, .github/, or examples/ — common enough in packages that ship stubs, fixtures, migrations, language files, or sample configs. Silent production breakage is the failure mode here.composer.lock for audit, SBOM, or reproducible-build attestation purposes. This plugin intentionally breaks that property.composer install outright on a Composer upgrade — a build-time outage with no upstream fix.Adoption criteria, stated plainly: pin the exact version, fork it if the upstream is dormant, treat the cleanup pattern list as your configuration under code review, run the full test suite plus a container boot test against the cleaned artifact, and instrument artifact size in CI so the benefit is provable rather than assumed.
To executives — one paragraph: This is a small, free Composer plugin that strips test suites and documentation out of third-party PHP libraries before they ship to production. It is not a user-facing feature and it will not move a product metric. It is a deploy-cost lever: depending on the dependency count, it can trim meaningful weight from the deployable artifact, which shows up as faster releases, lower storage and bandwidth spend, and cheaper cold starts on serverless PHP. Because the linked package shows no ecosystem traction and an unclear maintenance posture, my recommendation is not to adopt it as a dependency but to treat it as a design reference and reproduce its behavior in our own build pipeline — roughly a day of engineering, zero third-party build-time trust, and full control over what gets deleted. Decision ask: approve that small internal build task if and only if we first measure vendor/ bloat and confirm the savings justify it.
To engineering leads: The pattern is sound, the packaging is not. Execute it as a post-autoload-dump script we own, gate it behind a CI assertion that the container still boots and the app's smoke suite passes against the trimmed artifact, and publish the size delta to the build dashboard. Do not take a build-time dependency on a zero-adoption Composer plugin that runs with full Composer privileges unless we fork and maintain it deliberately. First step is a measurement spike, not an adoption.
To security/compliance: Composer plugins execute inside the build environment. This one mutates vendor/, which means the shipped tree no longer matches composer.lock byte-for-byte. If we require reproducible vendor trees for attestation or SBOM fidelity, this is disqualified on those grounds alone regardless of its functional merit.
How can I help you explore Laravel packages today?