palpalani / grumphp-rector-task
GrumPHP的RectorPhp任务运行器
Requires
- php: >=7.4
- phpro/grumphp: ^1.13
- rector/rector: ^0.15
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- laravel/pint: ^1.1
- nunomaduro/collision: ^6.2
- nunomaduro/larastan: ^2.1
- orchestra/testbench: ^6.15|^7.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpunit/phpunit: ^8.4|^9.3
README
该软件包通过GrumPHP扩展了一个任务,用于运行RectorPHP,以支持您的Laravel项目或任何PHP应用程序。
请注意,我们已添加了--dry-run
选项,因此源代码不会发生更改。
安装
通过composer安装此软件包是最简单的方法
composer require --dev palpalani/grumphp-rector-task
配置
将扩展加载器添加到您的grumphp.yml
或grumphp.yml.dist
文件中。任务位于rector
命名空间,并具有以下可配置参数
# grumphp.yml grumphp: tasks: rector: whitelist_patterns: [] config: 'rector.php' triggered_by: ['php'] clear-cache: false ignore_patterns: [] no-progress-bar: false files_on_pre_commit: false paths: [] no_diffs: false extensions: - palPalani\GrumPhpRectorTask\ExtensionLoader
默认情况下,此任务不会更新您的代码,您需要手动进行更新。
whitelist_patterns
默认:[]
如果您只想在特定目录上运行,请使用此选项指定。
config
默认:'rector.php'
如果您想使用不同于默认rector.php
的配置文件,可以使用此选项指定自定义配置文件的位置。
triggered_by
默认:[php]
此选项将指定哪些文件扩展名将触发此任务。
clear-cache
默认:false
清除已检查文件的缓存。
no-progress-bar
默认:false
隐藏进度条。例如,对CI输出更友好。
files_on_pre_commit
默认:false
此选项使您能够在预提交期间使用更改的文件作为路径。它将使用路径选项来确保仅验证匹配路径的已提交文件。
no_diff
默认:false
示例RectorPhp配置
在项目根目录中创建rector.php
并按如下配置。此示例文件用于我的Laravel项目,但您可以使用库与任何PHP项目一起使用。您也不必设置所有这些设置,请根据您的需求添加或删除。
<?php declare(strict_types=1); use Rector\Core\Configuration\Option; use Rector\Set\ValueObject\SetList; use Rector\CodeQuality\Rector\If_\SimplifyIfReturnBoolRector; use Rector\Config\RectorConfig; use Rector\Php74\Rector\Property\TypedPropertyRector; use Rector\CodeQuality\Rector\Isset_\IssetOnPropertyObjectToPropertyExistsRector; return static function (RectorConfig $rectorConfig): void { $rectorConfig->parallel(); $rectorConfig->paths([ __DIR__ . '/app', __DIR__ . '/config', __DIR__ . '/database', __DIR__ . '/tests' __DIR__ . '/routes', ]); $rectorConfig->skip([ IssetOnPropertyObjectToPropertyExistsRector::class, __DIR__ . '/app/Http/Middleware/*', ]); $rectorConfig->rules([ ReturnTypeFromStrictBoolReturnExprRector::class, //ReturnTypeFromStrictNativeFuncCallRector::class, ReturnTypeFromStrictNewArrayRector::class, ReturnTypeFromStrictScalarReturnExprRector::class, ReturnTypeFromReturnNewRector::class, ]); $rectorConfig->sets([ SetList::CODE_QUALITY, SetList::CODING_STYLE, SetList::DEAD_CODE, SetList::TYPE_DECLARATION, SetList::EARLY_RETURN, SetList::PHP_81, LevelSetList::UP_TO_PHP_80, ]); $rectorConfig->sets([ LaravelSetList::LARAVEL_CODE_QUALITY, LaravelSetList::LARAVEL_90, LaravelLevelSetList::UP_TO_LARAVEL_80, ]); };
请访问RectorPhp以获取更多配置示例。
卸载
如果您想卸载此扩展,请先删除配置文件:从您的应用程序中删除rector.php
。
然后删除软件包
composer remove palpalani/grumphp-rector-task
变更日志
请参阅变更日志,获取有关最近变更的更多信息。
贡献
请参阅贡献指南以获取详细信息。
安全漏洞
请参阅我们的安全策略了解如何报告安全漏洞。
版本控制
我们使用SemVer进行版本控制。有关可用版本,请查看此存储库的标签。
鸣谢
许可协议
MIT许可协议(MIT)。请参阅许可文件获取更多信息。
待办事项
- 添加内存限制
- 添加更多测试
- xdebug