a9f/lifter

使用Rector和其他工具自动项目升级的工具

dev-main 2024-08-30 08:11 UTC

This package is auto-updated.

Last update: 2024-08-30 08:12:15 UTC


README

Lifter是一个强大的工具,旨在自动化PHP项目的软件更新。利用Composer和Rector等工具的能力,Lifter简化了更新依赖项和迁移代码到新版本的流程。

无论是管理多个项目的开发者还是在大型代码库中工作的团队成员,Lifter都能简化更新过程,节省时间并降低出错的风险。

功能

  • 自动依赖项更新:Lifter自动更新您composer.json文件中指定的依赖项,确保您的项目始终使用最新版本。
  • 使用Rector进行代码迁移:与Rector集成,Lifter有助于平滑地迁移代码,以便在更新库或框架的新版本时。Rector自动进行代码重构,使采用最佳实践和利用新功能变得更加容易。
  • 可定制配置:Lifter提供灵活的配置选项,允许您根据项目的特定需求定制更新过程。自定义要更新的依赖项,配置Rector规则等。

入门指南

按照以下步骤在您的PHP项目中开始使用Lifter

  1. 安装:通过运行以下命令使用Composer安装Lifter

    $ composer require a9f/lifter
  2. 配置:在项目的根目录中创建一个lifter.php配置文件。以下是一个基本示例

     return static function (\a9f\Lifter\Configuration\LifterConfig $config) {
         $config->withWorkingDirectory(__DIR__)
             ->withRectorBinary('vendor/bin/rector')
             ->withRectorConfigFile(__DIR__ . '/rector.php');
     
         $config->withSteps([
             new \a9f\Lifter\Upgrade\Step\ShellStep(
                 'Add Hello World',
                 <<<SCRIPT
     DATE=$(date +%s)
     echo "Hello World" | tee \$DATE.txt
     git add \$DATE.txt
     SCRIPT
             ),
             new \a9f\Lifter\Upgrade\Step\RectorStep(
                 'Apply PHP 8.3 set list',
                 static function (\Rector\Config\RectorConfig $rectorConfig) {
                     $rectorConfig->sets([
                         \Rector\Set\ValueObject\LevelSetList::UP_TO_PHP_83,
                     ]);
                 }
             )
         ]);
     };
  3. 使用:从项目的命令行运行Lifter

    $ vendor/bin/lifter run -f lifter.php

    此命令将按照文件中的顺序应用您在lifter.php中指定的步骤。

    每个步骤将导致一个单独的Git提交。

贡献

如果您遇到任何问题或有改进建议,我们欢迎社区贡献。以下是如何贡献的方法

  1. 分支仓库。
  2. 做出您的更改。
  3. 提交带有更改描述和为什么需要的pull请求。

支持

有关Lifter的任何问题或支持,请在本GitHub上创建一个问题。我们将尽力迅速协助您。

许可证

Lifter采用MIT许可证。

致谢

Lifter不可能没有Composer和Rector团队的出色工作。我们对他们对PHP生态系统的贡献表示感谢。

感谢您使用Lifter简化软件更新过程!我们希望它有助于使您的开发工作流程更高效、更愉快。如果您有任何反馈或建议,我们非常乐意听取您的意见。

编码愉快!🚀