meeva / composer-monorepo-builder-path-plugin
composer 插件,用于通过 symplify/monorepo-builder 将分组打包的包作为路径符号链接安装
v2.1.0-beta.0
2023-01-26 14:59 UTC
Requires
- php: >=7
- composer-plugin-api: ^2.0
Requires (Dev)
- composer/composer: ^2.0
- friendsofphp/php-cs-fixer: ^2.10
This package is auto-updated.
Last update: 2024-09-26 18:30:44 UTC
README
Composer 插件,旨在与 symplify/monorepo-builder 一起使用。
当拥有以下类型的仓库时
monorepo_dir
` bundles
` subproject1
` subproject2
` projects
` example1
其中 example1
依赖于 monorepo/subproject1
,你可能希望安装供应商,同时只保留 subproject1 的单个副本。路径符号链接(也称为 路径仓库)来救命!
这还允许你在将其发布到外部之前使用依赖项,而无需手动将路径仓库添加到你的 composer.json 中。
用法
composer global require meeva/composer-monorepo-builder-path-plugin
这就是全部。无需配置。它通过遍历到你的合并 composer.json 来检测你的 monorepo_dir,并在子目录中搜索所有其他 composer.json(排除 vendor)。
现在,如果你在路径 monorepo_dir/projects/example1
内执行 composer require monorepo/subproject1
,它应该使用路径符号链接将依赖项安装到 monorepo_dir/projects/example1/vendor
。
部署
假设你将构建项目的部署版本,如果你使用 --no-dev
,则此插件将被禁用。
此外,你可以使用环境变量 COMPOSER_MONOREPO
并使用以下值之一
force
-> 启用,即使存在--no-dev
skip
-> 禁用- 任何其他内容(默认)-> 启用,除非存在
--no-dev
已知问题
- 在 Windows 上性能不佳,但我相信你现在已经习惯了