mglaman/composer-drupal-lenient

资助包维护!
mglaman

安装数: 2,636,215

依赖者: 7

建议者: 0

安全: 0

星标: 111

关注者: 6

分支: 6

开放问题: 6

类型:composer-plugin

1.0.4 2023-12-07 17:56 UTC

This package is auto-updated.

Last update: 2024-09-07 19:42:06 UTC


README

对它宽容,使用它,Drupal 10也可以。

为什么?

Drupal 社区引入了一个宽容的 Composer 门面,修改了包的 drupal/core 约束。这是为了消除通过 Composer 安装扩展与使模块为 Drupal 9 准备就绪之间的障碍。

我们再次遇到了同样的问题。在 DrupalCon Portland 上,我们坐下来决定 Composer 插件是最好的方法。

添加一个支持 'composer require-lenient' 的 composer 插件来支持主要版本转换

如何使用

这个插件订阅了 PluginEvents::PRE_POOL_CREATE 并过滤包。这受到了 symfony/flex 的启发,但它不会过滤掉包。它重新编写了任何类型为 drupal-*(不包括 drupal-core)的包上的 drupal/core 约束。对于 drupal/core,约束设置为 '^8 || ^9 || ^10 || ^11'

尝试一下

使用此插件设置一个新的 Drupal 10 网站(记得在新的 allow-plugins 提示时按 y)。

composer create-project drupal/recommended-project:^10@alpha d10
cd d10
composer config minimum-stability dev
composer require mglaman/composer-drupal-lenient

此插件仅针对指定的包起作用。要允许包具有宽容的 Drupal 核心版本约束,您必须将其添加到 extra.drupal-lenient.allowed-list。以下是一个通过命令行使用 composer config 添加 Token 的示例

composer config --merge --json extra.drupal-lenient.allowed-list '["drupal/token"]'

现在,添加一个没有 D10 兼容版本的模块!

composer require drupal/token:1.10.0

🥳 现在,您可以使用 cweagans/composer-patches 来修补模块以使其兼容 Drupal 10!

composer.lock 被移除时的支持

如果您的项目的 composer.lock 文件被移除,此插件必须全局安装。

composer global config --no-plugins allow-plugins.mglaman/composer-drupal-lenient true
composer global require mglaman/composer-drupal-lenient

警告:这意味着插件将在所有 Composer 命令上运行。这不建议,但这是插件在没有 composer.lock 时能够工作的唯一方式。