pxp / trunk
管理和发展PHP项目的全能工具。
Requires
README
作为开发者,我们很少在一个已知、记忆深刻的工具集上工作。我们的某些项目可能使用PHPStan,其他项目可能使用Psalm。我们的旧项目可能运行PHP-CS-Fixer,但新项目运行Pint。
如果这不再重要呢?如果你可以用一个命令来处理所有项目,会怎么样?现在介绍 Trunk。
Trunk提供了一套命令,可以帮你处理困难的事情。你可以在所有项目中使用相同的命令集,而不管使用的是哪些工具。
安装
Composer(推荐)
使用Composer安装Trunk
composer global require pxp/trunk
安装此包将询问是否允许名为 pact-foundation/composer-downloads-plugin
的插件执行代码。回答 y
,因为它负责为您的系统下载适当的二进制文件。
安装后,请参阅下面的命令部分,并开始使用Trunk!
命令
info
info
命令输出有关当前项目的信息列表。它可以告诉你以下内容
- PHP版本。
- Laravel/Symfony/WordPress版本。
- 已安装的Composer包及绝对版本。
- 从
.env
加载并解析的环境变量(如果存在)。
trunk info
fmt
fmt
命令可以轻松地格式化项目中的PHP代码。它目前支持以下格式化程序
要格式化整个项目(或为您的编辑器配置的文件),请运行以下命令。
trunk fmt
如果您想格式化特定的文件或目录,可以将路径作为参数传递给命令,然后将其传递给底层格式化程序(如果适用)。
trunk fmt ./src/Container/Container.php
如果您想进行 dry-run,可以传递 --dry-run
(-d
)标志。
trunk fmt --dry-run
check
check
命令用于执行静态分析。它目前支持以下静态分析器
要运行整个项目的静态分析器,请使用以下命令
trunk check
如果您想对单个文件进行静态分析,请使用以下命令
trunk check ./src/Container/Container.php
某些项目可能会根据不同的原因选择使用多个静态分析器。如果您的项目是这样,您可以通过传递以逗号分隔的工具列表到--using
(-u
)选项来运行。它们将按提供的顺序执行。
trunk check --using=phpstan,psalm
test
test
命令用于执行任何形式的测试。它目前支持以下测试运行器
要运行测试,请使用以下命令
trunk test
如果您想执行特定的测试或测试目录,请使用以下命令
trunk test ./path/to/Test.php
在某些场景下,您可能需要将额外的参数传递给底层命令。您可以通过放置额外的参数在--
符号之后来完成此操作。所有额外的参数都将转发到底层测试运行器。
trunk test -- --parallel