avram / composer-caffeinated-module-installer
扩展 composer/installers 插件以接受咖啡因模块。
Requires
- composer-plugin-api: ^1.0|^2.0
- composer/installers: ^1.0|^2.0
This package is auto-updated.
Last update: 2024-09-14 04:26:31 UTC
README
composer-caffeinated-module-installer 是一个用于 Composer 的插件,允许将 caffeinated/modules 模块安装到除了默认的 vendor/ 目录之外的其他目录,并且可以根据包类型进行安装。此插件扩展了 composer/installers 插件,允许任何任意包类型通过其自定义安装程序处理,并在 "extra" 数据属性中的 "installer-paths" 映射中明确指定。
composer/installers 支持有限的包类型集,我们认识到需要将任意包类型安装到除 vendor/ 之外的其他特定目录的需求。此插件允许通过 composer/installers 处理额外的包类型,从而受益于其显式的安装路径映射和包属性的占位符替换。
使用方法
将 avram/composer-caffeinated-module-installer 添加为项目的依赖项。
composer require avram/composer-caffeinated-module-installer
composer/installers 是此插件的依赖项,也将自动安装。
为了支持额外的包类型,在您的 composer.json 中的 "extra" 属性中添加这些类型的数组
"extra": {
"installer-types": ["module"]
}
然后,您可以像添加由 composer/installers 支持的包类型一样,添加这些类型的包的映射。
"extra": {
"installer-types": ["module"],
"installer-paths": {
"app/Modules/{$name}/": ["type:module"]
}
}
默认情况下,未指定 type 的包将被视为类型 library。添加对此类型的支持允许将这些包放置在不同的安装路径。换句话说,您的模块应该有类型 module。
如果类型已被添加到 "installer-types",则插件将尝试在映射中查找明确的安装路径。如果没有通过名称或类型匹配的匹配项,则将使用所有包的默认安装路径。此包将在替换所有下划线和破折号为空格(然后删除空格)之后对名称调用 ucwords,因此对于 your-awesome-package 文件夹将是 your/install/path/YourAwesomePackage,因为咖啡因模块喜欢大写字母 :)
有关包和类型匹配的受支持语法以及路径中受支持的替换令牌(例如 {$name})的详细信息,请参阅 composer/installers 的 README。