zeek/zeek-build-process

为Zeek项目构建流程提供脚手架。

1.1.0 2024-07-17 14:33 UTC

This package is auto-updated.

Last update: 2024-09-17 15:03:51 UTC


README

功能

此包帮助设置以下工具的项目:

  • Composer 包
    • PHP CS Fixer(用于自动代码格式化修复)
    • PHP Linter(用于语法检查)
    • PHP Mess Detector(检测分析源代码中的代码异味和潜在错误)
    • PHPStan(静态分析器,检查代码并查找问题)
    • Pest(单元/功能测试框架)
  • 一个.node-version文件,用于设置项目的基本node版本(对fnm很有用)
  • GitHub动作工作流,用于在推送/拉取请求时自动扫描
  • 一个Makefile,以一致和简单的方式运行构建和扫描命令
  • 安装到git预提交钩子,该钩子将自动运行cs-fixerlinterphpstan

演示

Zeek.Build.Process.-.Demo.mp4

要求

此软件与Laravel和WordPress项目都兼容*。

WordPress项目结构必须遵循Zeek项目结构(mu-plugins/app/)。

设置

将此包作为dev依赖项要求

composer require --dev zeek/zeek-build-process

安装

通过运行(假设您的供应商路径是/vendor)安装:

./vendor/bin/zbp install

此操作在现有项目中安全、不覆盖文件(no-clobber)安装。它以幂等方式执行:如果您运行安装,更改配置文件中的一个,然后再次运行安装,它将不会覆盖您的更改。

重新安装

如果您需要强制重新安装并从头开始,可以运行:

./vendor/bin/zbp reinstall

警告:这将覆盖您所做的任何更改以及您创建的任何基线

卸载

如果您想完全删除此软件安装的所有工具、文件和包,可以运行:

./vendor/bin/zbp uninstall

Git钩子安装

如果您只需要设置自己的本地git pre-commit钩子,只需运行:

./vendor/bin/zbp precommit

这将创建一个.git/hooks/pre-commit文件,该文件在git实际提交之前立即运行make precommit命令。

使用方法

安装了一个Makefile,它定义了(带配置标志/参数)利用工具的命令(简单且可重复)。

您可以通过查看Makefile源代码来真正了解它在做什么。

正常使用

Make命令

有用的别名

运行cs-fixerlint

make precommit

运行cs-fixerlintphpstanphpmd

make scan

有用的单独命令

make cs-fixer
make lint
make phpmd
make phpstan
make pest

生成基线

如果您刚刚安装并需要为项目生成基线,以便构建系统只查看新代码

make baseline

如果您想运行特定的工具基线

make phpmd-baseline
make phpstan-baseline

Git Hook

安装后,将在 .git/hooks/pre-commit 中创建一个 pre-commit 钩子。这个钩子在您提交代码之前立即运行。

它会运行 make precommit 别名,如果检测到任何重大问题,将会导致提交失败。

您应该自己运行 make scan,因为它包含 phpmd 工具,该工具试图为您提供关于良好实践的指导。

您可以通过在提交命令中传递 --no-verify 来绕过 pre-commit 钩子。这应该很少使用,并且仅在必要时使用。

GitHub Action

包含了一个标准的GitHub动作 build.yml 文件,该文件将在每次GitHub推送时运行所有必要的步骤来执行扫描命令。

此构建文件将自动审查您的代码和拉取请求,并提供反馈。您应该尝试修复报告的任何问题,然而这个系统仍在实验阶段,它可能会报告一些不相关的事项。如果您有任何问题,请联系Aaron Holbrook。

自定义配置文件

完全可以调整工具配置以适应您的个人项目。在首次安装时将创建一个 build 文件夹

每个工具都有自己的目录和配置文件。要调整单个文件,您需要阅读相应工具的文档,并查看哪些效果最好。