schranz/mono

在 monorepo 中运行命令的二进制文件

2.2.0 2024-03-16 12:03 UTC

This package is auto-updated.

Last update: 2024-09-16 13:02:58 UTC


README

管理 monorepository 吗?

Mono 帮助您初始化子树分割,并在所有包目录中运行 composer 和其他命令。

安装

composer require schranz/mono --dev

使用方法

初始化分割命令

首先创建您的 mono 仓库并将其推送到 Github。

在不同的目录中创建您的包,确保为所有要分割的包创建一个包含 namecomposer.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:writeadmins:write(默认分支)作用域的 PERSONAL_ACCESS_TOKEN

使用 mono 的项目

如果您正在使用 mono,请通过 问题 告诉我。