zaporylie / composer-drupal-optimizations
用于提高Drupal项目Composer性能的Composer插件
1.2.0
2020-10-22 13:26 UTC
Requires
- composer-plugin-api: ^1.1 || ^2.0
Requires (Dev)
- composer/composer: ^1.6
- phpunit/phpunit: ^6
This package is auto-updated.
Last update: 2024-09-22 22:01:34 UTC
README
关于
此composer-plugin包含一系列改进,使得执行重型composer命令(例如composer update
或composer require
)的速度大大提高。
Composer 2
由于Composer 2默认情况下已经相当快,因此此插件不是必需的,如果在检测到Composer 2时,将禁用此插件。如果项目开发的所有人都在使用Composer 2,则此插件变得多余,并可以从项目依赖列表中删除。
安装
composer require zaporylie/composer-drupal-optimizations:^1.1 --dev
无需配置 🎊
优化
- 通过移除遗留的symfony标签来减少内存和CPU使用
基准测试
以下数字是在没有和有此插件的情况下,对https://github.com/drupal-composer/drupal-project/进行清洁的情况下的。
之前
Memory usage: 323.19MB (peak: 1121.09MB), time: 13.68s
之后
Memory usage: 238.66MB (peak: 297.17MB), time: 4.84s
php 7.2, macOS High Sierra, i7, 16GB RAM
配置
如果没有提供配置,此包将根据根composer.json文件中的drupal/core
版本约束提供合理的默认值。默认配置应该涵盖99%的情况。然而,如果您想手动指定应过滤掉的标签,您可以使用extra
部分。
{ "extra": { "composer-drupal-optimizations": { "require": { "symfony/symfony": ">3.4" } } } }
建议:如果可能,请使用默认值(跳过上面的配置) - 此包将在Drupal的生命周期内得到维护,以便与Drupal的要求并行优化遗留约束。
您只需确保您的根composer.json中的drupal核心约束设置为drupal/core: ^8.5
或更高。如果您使用Drupal发行版,请确保在您的项目中也明确要求drupal/core
。
鸣谢
- Symfony社区 - 灵感和开发;特别感谢@nicolas-grekas
- Jakub Piasecki - 转移和维护