nathandentzau/composer-installers-extender

扩展composer/installers插件以接受任何任意的包类型。

安装: 745

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 52

开放问题: 0

语言:HTML

类型:composer-plugin

2.0.0 2020-07-26 02:18 UTC

This package is auto-updated.

Last update: 2024-09-26 11:38:59 UTC


README

composer-installers-extender 是一个用于 Composer 的插件,允许任何包被安装到除项目默认 vendor 目录之外的目录。此插件扩展了 composer/installers 插件,允许任何任意的包类型通过它们的自定义安装程序进行处理。

composer/installers 插件支持有限的包类型集,我们认识到需要将任意包类型安装到除 vendor 之外的特定目录。此插件允许通过 composer/installers 插件处理更多的包类型,并从中受益于它们的显式安装路径映射和包属性的令牌替换。

要求

  • PHP 7.4 或更高版本

如何安装

nathandentzau/composer-installers-extender 添加为项目的依赖项

$ composer require nathandentzau/composer-installers-extender

如何使用

composer/installers 插件是此插件的依赖项,如果尚未要求,它将自动要求。

为了支持额外的包类型,在您的 composer.json 中的 extra 属性中添加这些类型的数组

{
    "extra": {
        "installer-types": ["library"]
    }
}

然后,您可以以与添加由 composer/installers 支持的包类型相同的方式,在相同的位置添加这些类型的包的映射

{
    "extra": {
        "installer-types": ["library"],
        "installer-paths": {
            "special/package/": ["my/package"],
            "path/to/libraries/{$name}/": ["type:library"]
        }
    }
}

默认情况下,未指定 type 的包将被视为 library 类型。添加对此类型的支持允许将这些包放置在不同的安装路径中。

如果类型已添加到 installer-types,则插件将尝试在映射中找到显式的安装程序路径。如果没有通过名称或类型匹配,则将使用所有包的默认安装程序路径。

有关包和类型匹配的支持语法以及路径中支持替换令牌的详细信息,请参阅 composer/installers 的 README。

为什么该项目要分支?

多年前,我为 oomphinc/composer-installers-extender 项目做出了贡献,以使代码库现代化并添加测试。自从我的更改合并到该项目的默认分支以来,维护者已经多年没有发布包含我的更改的新标签版本,对拉取请求的响应也很慢。我决定维护自己的版本,其中包含我多年前为将代码库更新到 PHP 7 的更改。随着 Composer 2 和 PHP 8 即将到来,我希望能够快速发布支持这两个新主要版本的更改。此包的原作者,他不再是 Oomph 的雇员,仍然被列为作者,并提供更新的联系信息,以便您与他联系。

许可证

MIT 许可证