palpalani/grumphp-rector-task

该软件包已被放弃,不再维护。未建议替代软件包。

GrumPHP的RectorPhp任务运行器

0.9.0 2022-12-05 04:20 UTC

This package is auto-updated.

Last update: 2023-03-01 01:03:11 UTC


README

该软件包通过GrumPHP扩展了一个任务,用于运行RectorPHP,以支持您的Laravel项目或任何PHP应用程序。

请注意,我们已添加了--dry-run选项,因此源代码不会发生更改。

安装

通过composer安装此软件包是最简单的方法

composer require --dev palpalani/grumphp-rector-task

配置

将扩展加载器添加到您的grumphp.ymlgrumphp.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