schranz / mono
在 monorepo 中运行命令的二进制文件
2.2.0
2024-03-16 12:03 UTC
Requires
- php: ^8.1
README
管理 monorepository 吗?
Mono 帮助您初始化子树分割,并在所有包目录中运行 composer 和其他命令。
安装
composer require schranz/mono --dev
使用方法
初始化分割命令
首先创建您的 mono 仓库并将其推送到 Github。
在不同的目录中创建您的包,确保为所有要分割的包创建一个包含 name
的 composer.json
文件。
然后运行
vendor/bin/mono init-split
它将为 frankdejonge/use-subsplit-publish Github Action 创建配置。请确保将您的 PERSONAL_ACCESS_TOKEN
配置为 Github 仓库中的秘密。并在新创建的 .github/workflows/publish-subsplits.yml
文件中配置用户。
运行命令
要安装所有 mono 仓库的依赖项,只需运行
vendor/bin/mono run composer install
要更新它们,请运行
vendor/bin/mono run composer update
要运行自定义 composer 脚本,请使用
vendor/bin/mono run composer fix # runs in my case rector + php-cs-fixer vendor/bin/mono run composer lint # runs in my case various linters (phpstan, php-cs, ...)
Mono 用于并构建用于管理 schranz-search monorepository。
升级依赖项
如果您有一个在多个包中使用的依赖项,并且想在所有包中升级它,可以使用
vendor/bin/mono upgrade-dependency phpstan/phpstan
Mono 搜索所有包含 phpstan/phpstan
的包,并将其更新到最新稳定版本。
重命名分支
如果您想重命名 monorepository 中所有包的分支,可以使用以下命令
PERSONAL_ACCESS_TOKEN=<token> vendor/bin/mono rename-branch 0.3 0.4
Mono 搜索您的所有包,并使用 Github API 将指定的分支重命名为新名称。
您需要至少一个具有
contents:write
或admins:write
(默认分支)作用域的PERSONAL_ACCESS_TOKEN
。
使用 mono 的项目
如果您正在使用 mono,请通过 问题 告诉我。