{"id":26856742,"url":"https://github.com/rubenrua/symfony-clean-tags-composer-plugin","last_synced_at":"2026-03-16T17:04:20.690Z","repository":{"id":60774660,"uuid":"145689195","full_name":"rubenrua/symfony-clean-tags-composer-plugin","owner":"rubenrua","description":null,"archived":false,"fork":false,"pushed_at":"2020-10-14T16:42:00.000Z","size":14,"stargazers_count":25,"open_issues_count":2,"forks_count":3,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-06-06T16:51:45.466Z","etag":null,"topics":["composer-plugin","performance","symfony"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubenrua.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-08-22T09:47:53.000Z","updated_at":"2023-01-19T02:19:43.000Z","dependencies_parsed_at":"2022-10-04T15:46:20.636Z","dependency_job_id":null,"html_url":"https://github.com/rubenrua/symfony-clean-tags-composer-plugin","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/rubenrua/symfony-clean-tags-composer-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubenrua%2Fsymfony-clean-tags-composer-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubenrua%2Fsymfony-clean-tags-composer-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubenrua%2Fsymfony-clean-tags-composer-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubenrua%2Fsymfony-clean-tags-composer-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubenrua","download_url":"https://codeload.github.com/rubenrua/symfony-clean-tags-composer-plugin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubenrua%2Fsymfony-clean-tags-composer-plugin/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263577236,"owners_count":23483129,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["composer-plugin","performance","symfony"],"created_at":"2025-03-31T00:23:32.700Z","updated_at":"2026-03-16T17:04:20.607Z","avatar_url":"https://github.com/rubenrua.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"Symfony Clean Tags Composer Plugin\n==================================\n\nMotivation\n----------\n\nIt 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)\n\nThis 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.\n\nsymfony/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)\n\nThis project extracts this patch into a separete composer plugin for legacy projects (PHP5 and Symony 2/3)\n\n\n| | Internal big project | [Sylius/Sylius-Standard](https://github.com/Sylius/Sylius-Standard) | [laravel/laravel](https://github.com/laravel/laravel)\n| ----- | ----- | ---- | --- |\n| `extra.symfony.require` | \"2.8.*\" | \"^3.4\\|^4.1\" | \"~4.0\" |\n| Before | Memory: 337.9MB (peak: 1582.09MB), time: 31.84s|  Memory: 384.84MB (peak: 1670.44MB), time: 28.11s | Memory: 265.09MB (peak: 417.44MB), time: 6.57s\n| After | Memory: 183.05MB (peak: 286.56MB), time: 11.04s | Memory: 218.76MB (peak: 251.73MB), time: 5.02s| Memory: 210.17MB (peak: 236.37MB), time: 4.38s\n\nInstallation\n------------\n\n### Step 1: Profile application without the plugin\n\nOpen a command console, enter your project directory and execute the following command to profile the current memory and CPU time usage.\n\n```\n$ composer update --profile --ignore-platform-reqs --dry-run\n....\n[833.9MB/199.98s] Memory usage: 833.86MB (peak: 2811.34MB), time: 199.98s\n```\nWrite down it to compare with the final step.\n\n### Step 2: Download the Bundle\n\nExecute the following command to installs the composer plugin:\n\n```\n$ composer require rubenrua/symfony-clean-tags-composer-plugin\n```\n\nor globally with:\n\n```\n$ composer global require rubenrua/symfony-clean-tags-composer-plugin\n```\n\n### Step 3: Configure the new extra parameter\n\nConfigure `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:\n\n```\n$ composer config extra.symfony.require 2.8.*\n```\n\nAlso 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).\n\n### Step 4: Profile application with the plugin\n\nFinally profile the current memory and CPU time usage. Execute again the following command:\n\n```\n$ composer update --profile --ignore-platform-reqs --dry-run\n....\n[230.7MB/31.02s] Memory usage: 230.67MB (peak: 387.3MB), time: 31.02s\n```\n\nPlease, feel free to comment the [issue #3](https://github.com/rubenrua/symfony-clean-tags-composer-plugin/issues/3) with your improvement.\n\nNotes\n-----\n\n* MIT license.\n* Thank you @nicolasgrekas\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubenrua%2Fsymfony-clean-tags-composer-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frubenrua%2Fsymfony-clean-tags-composer-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubenrua%2Fsymfony-clean-tags-composer-plugin/lists"}