dzentota/captainhook-psalm

Captain Hook 插件,用于检查新引入的 Psalm 错误

v0.3.2 2021-09-23 07:59 UTC

This package is auto-updated.

Last update: 2024-09-23 14:39:06 UTC


README

Latest Stable Version

moxio/captainhook-psalm

该项目是一个 CaptainHook 插件,用于使用 Psalm 检查你的 PHP 阶段文件中的错误。[Psalm](https://psalm.dev/)。如果检测到阶段 PHP 文件中的错误,则会阻止提交。

安装

使用 composer 将其安装为开发依赖项

$ composer require --dev moxio/captainhook-psalm

用法

将 Psalm 错误检查添加到你的 captainhook.json 配置文件中的 pre-commit-hook

{
    "pre-commit": {
        "enabled": true,
        "actions": [
            {
                "action": "\\Moxio\\CaptainHook\\Psalm\\PsalmCheckAction"
            }
        ]
    }
}

只有在提交 PHP 文件更改时才会运行检查。因此,它不会检测未阶段化的 PHP 文件中存在的预存错误。

操作期望 Psalm 以本地 Composer 包的形式安装(即在 vendor/vimeo/psalm 中可用)。

条件用法

如果你只想在 Psalm 安装(即在 vendor/vimeo/psalm 中可用)时执行 Psalm 错误检查,你可以在操作中添加相应的条件

{
    "pre-commit": {
        "enabled": true,
        "actions": [
            {
                "action": "\\Moxio\\CaptainHook\\Psalm\\PsalmCheckAction",
                "conditions": [
                    {
                        "exec": "\\Moxio\\CaptainHook\\Psalm\\Condition\\PsalmInstalled"
                    }
                ]
            }
        ]
    }
}

这在以下情况下可能很有用:你有共享的 CaptainHook 配置文件,它被包含在既使用 Psalm 又不使用 Psalm 的项目中。[CaptainHook](https://captainhookphp.github.io/captainhook/configure.html#includes) 如果 Psalm 已安装,则执行操作。在未安装 Psalm 的项目中,跳过验证。

psalm.xmlprojectFiles 的影响

如果此插件检测到 psalm.xml 配置文件,则此插件将尝试使用该文件中配置的 projectFiles 来过滤 Psalm 检查的文件。这是在尽力而为的基础上完成的:不是所有在 projectFiles 中可能的结构都受支持,但简单的目录和文件(以及 ignoreFiles)应该可以正常工作。如果你遇到文件未正确过滤的情况,请随时发送 PR。

版本控制

该项目遵循 [语义版本控制](http://semver.org/)。

贡献

欢迎对此项目的贡献。请确保你的代码遵循 [PSR-12](https://www.php-fig.org/psr/psr-12/) 扩展编码风格。

许可

本项目在 MIT 许可证下发布。