PHPackages                             rubenrua/symfony-clean-tags-composer-plugin - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. rubenrua/symfony-clean-tags-composer-plugin

ActiveComposer-plugin

rubenrua/symfony-clean-tags-composer-plugin
===========================================

v1.0.1(5y ago)25118.6k↓100%3[2 issues](https://github.com/rubenrua/symfony-clean-tags-composer-plugin/issues)MITPHP

Since Sep 10Pushed 5y ago4 watchersCompare

[ Source](https://github.com/rubenrua/symfony-clean-tags-composer-plugin)[ Packagist](https://packagist.org/packages/rubenrua/symfony-clean-tags-composer-plugin)[ RSS](/packages/rubenrua-symfony-clean-tags-composer-plugin/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (3)Used By (0)

Symfony Clean Tags Composer Plugin
==================================

[](#symfony-clean-tags-composer-plugin)

Motivation
----------

[](#motivation)

It was recently identified that Composer consumes high CPU + memory on packages that have a lot of historical tags. See [composer/composer#7577](https://github.com/composer/composer/issues/7577)

This means the composer+packagist infrastructure has a scalability issue: as time passes, the list of tags per packages grows, and the "Composer experience" degrades. This is significant for `symfony/*` today, and will become also a pain for any other packages over time.

symfony/flex solves this issue with a patch from @nicolas-grekas using a new extra parameter `extra.symfony.require`: [symfony/flex#378](https://github.com/symfony/flex/pull/378) and [symfony/flex#409](https://github.com/symfony/flex/pull/409)

This project extracts this patch into a separete composer plugin for legacy projects (PHP5 and Symony 2/3)

Internal big project[Sylius/Sylius-Standard](https://github.com/Sylius/Sylius-Standard)[laravel/laravel](https://github.com/laravel/laravel)`extra.symfony.require`"2.8.\*""^3.4|^4.1""~4.0"BeforeMemory: 337.9MB (peak: 1582.09MB), time: 31.84sMemory: 384.84MB (peak: 1670.44MB), time: 28.11sMemory: 265.09MB (peak: 417.44MB), time: 6.57sAfterMemory: 183.05MB (peak: 286.56MB), time: 11.04sMemory: 218.76MB (peak: 251.73MB), time: 5.02sMemory: 210.17MB (peak: 236.37MB), time: 4.38sInstallation
------------

[](#installation)

### Step 1: Profile application without the plugin

[](#step-1-profile-application-without-the-plugin)

Open a command console, enter your project directory and execute the following command to profile the current memory and CPU time usage.

```
$ composer update --profile --ignore-platform-reqs --dry-run
....
[833.9MB/199.98s] Memory usage: 833.86MB (peak: 2811.34MB), time: 199.98s

```

Write down it to compare with the final step.

### Step 2: Download the Bundle

[](#step-2-download-the-bundle)

Execute the following command to installs the composer plugin:

```
$ composer require rubenrua/symfony-clean-tags-composer-plugin

```

or globally with:

```
$ composer global require rubenrua/symfony-clean-tags-composer-plugin

```

### Step 3: Configure the new extra parameter

[](#step-3-configure-the-new-extra-parameter)

Configure `extra.symfony.require` with the same symfony version constraints used in the application. For instance, if you are using symfony 2.8, execute the following command to modify the config composer section:

```
$ composer config extra.symfony.require 2.8.*

```

Also the `SYMFONY_REQUIRE` environment variable can be used instead of `extra.symfony.require`. See [`symfony/symfony` travis configuration for a example](https://github.com/symfony/symfony/commit/940ec8f2d5c562bc1b2424f67ab0cbd1f3c59e51#diff-354f30a63fb0907d4ad57269548329e3).

### Step 4: Profile application with the plugin

[](#step-4-profile-application-with-the-plugin)

Finally profile the current memory and CPU time usage. Execute again the following command:

```
$ composer update --profile --ignore-platform-reqs --dry-run
....
[230.7MB/31.02s] Memory usage: 230.67MB (peak: 387.3MB), time: 31.02s

```

Please, feel free to comment the [issue #3](https://github.com/rubenrua/symfony-clean-tags-composer-plugin/issues/3) with your improvement.

Notes
-----

[](#notes)

- MIT license.
- Thank you @nicolasgrekas

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity36

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 75% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~757 days

Total

2

Last Release

2044d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/195745?v=4)[Ruben Gonzalez](/maintainers/rubenrua)[@rubenrua](https://github.com/rubenrua)

---

Top Contributors

[![rubenrua](https://avatars.githubusercontent.com/u/195745?v=4)](https://github.com/rubenrua "rubenrua (9 commits)")[![ReubenFrimpong](https://avatars.githubusercontent.com/u/52793767?v=4)](https://github.com/ReubenFrimpong "ReubenFrimpong (2 commits)")[![Yurujai](https://avatars.githubusercontent.com/u/11873240?v=4)](https://github.com/Yurujai "Yurujai (1 commits)")

---

Tags

composer-pluginperformancesymfony

### Embed Badge

![Health badge](/badges/rubenrua-symfony-clean-tags-composer-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/rubenrua-symfony-clean-tags-composer-plugin/health.svg)](https://phpackages.com/packages/rubenrua-symfony-clean-tags-composer-plugin)
```

###  Alternatives

[humbug/box

Fast, zero config application bundler with PHARs.

1.3k801.5k69](/packages/humbug-box)[vaimo/composer-patches

Applies a patch from a local or remote file to any package that is part of a given composer project. Patches can be defined both on project and on package level. Optional support for patch versioning, sequencing, custom patch applier configuration and patch command for testing/troubleshooting added patches.

2994.3M16](/packages/vaimo-composer-patches)[mglaman/composer-drupal-lenient

1317.4M15](/packages/mglaman-composer-drupal-lenient)[drupal/core-composer-scaffold

A flexible Composer project scaffold builder.

5341.9M446](/packages/drupal-core-composer-scaffold)[roots/wordpress-core-installer

A Composer custom installer to handle installing WordPress as a dependency

4115.6M19](/packages/roots-wordpress-core-installer)[drupal/core-project-message

Adds a message after Composer installation.

2122.6M172](/packages/drupal-core-project-message)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
