sspooky13/yaml-standards

9.0.0 2024-06-04 16:07 UTC

README

Total Downloads Build Status Scrutinizer Code Quality Code Coverage Quality Gate Status PHPStan level

这个库主要用于帮助您保持 YAML 文件的标准,但一些标准也可以用于其他文件,例如 YamlEmptyLineAtEnd 标准。

安装

使用 Composer 命令安装最新版本

composer require --dev sspooky13/yaml-standards

用法

  1. 在项目根目录下创建配置文件,指定允许的标准和要检查的文件/目录。您可以复制配置文件 ./example/yaml-standards.yaml 并根据您的需要进行编辑。
  2. 运行 vendor/bin/yaml-standards

提示

  • 如果您的配置文件有不同的名称或位于不同的目录,您可以使用带有配置文件名称的参数运行命令,例如 vendor/bin/yaml-standards ./path/to/your/configFile.yaml
  • 您可以创建针对 Phing 构建工具的目标,例如。
<property name="path.yaml-standards" value="./vendor/bin/yaml-standards"/>

<target name="check-yaml-standards" description="Run yaml standards checks">
    <exec
        executable="${path.yaml-standards}"
        logoutput="true"
        passthru="true"
        checkreturn="true"
    >
        <arg value="./path/to/your/configFile.yaml" />
    </exec>
</target>

运行选项

  • ./path/to/your/configFile.yaml 配置文件路径。默认为 ./yaml-standards.yaml
  • --fix 自动修复允许的标准问题。
  • --path-to-cache-dir=./path/to/cache/dir/ 自定义缓存文件存储的路径。默认是 PHP 默认存储临时文件的目录 (sys_get_temp_dir())。
  • --no-cache 关闭缓存功能。
  • --no-progress-bar 关闭进度条。例如,对于更漂亮的 CI 输出很有用。

实现的检查器

  • YamlAlphabeticalChecker - 检查 YAML 文件是否按所选级别排序。 此检查器具有修复功能
  • YamlIndentChecker - 检查 YAML 是否有正确的缩进数。 此检查器具有修复功能
  • YamlSpacesBetweenGroupsChecker - 检查 YAML 文件是否在每个组之间有空白行至所选级别。 此检查器具有修复功能
  • YamlInlineChecker - 检查 YAML 文件是否遵守 symfony yaml 解析器的标准。
  • YamlEmptyLineAtEnd - 检查 YAML 文件是否在文件末尾有空白行。 此检查器具有修复功能。 注意:此标准可以用于任何文件,而不仅仅是 YAML 文件。
  • YamlServiceAliasing - 检查 YAML 服务文件是否遵循短或长代码风格别名。 此检查器具有修复功能

PHPStorm 集成

您可以通过使用文件监视器将 YAML 标准集成到 PHPStorm 中。

  1. 打开设置 -> 工具 -> 文件监视器
  2. 添加新 -> 自定义
  3. 给它一个名字
  4. 选择文件类型: YAML
  5. 程序: \vendor\bin\yaml-standards.bat
  6. 参数: 您配置文件的绝对路径
  7. 在配置文件路径中要检查和排除的路径必须也是绝对路径

现在,文件监视器将根据配置文件检查您的 YAML 文件,并在它们出现错误时通知您

如何创建您自己的标准

  1. 创建一个包含您自己的检查/修复逻辑的类
  2. 检查器必须扩展类 YamlStandards\Model\AbstractChecker.php,并且类名必须以单词 Checker 结尾,例如 YamlLineChecker
  3. 修复程序必须与检查器类位于同一目录中,扩展类 YamlStandards\Model\AbstractFixer.php,并且名称必须与检查器类相同,除了名称必须以单词 Fixer 结尾,例如 YamlLineFixer警告!检查器类也必须存在。
  4. 两个类都必须返回类 \YamlStandards\Result\Result
  5. 将您的检查类及其命名空间添加到配置文件中的 checkers 数组
  6. 完成:)

如果您认为您的检查器/修复器对他人有帮助,您可以创建带有您代码的拉取请求,使其对所有人可用:)

退出代码

退出代码是由以下位标志构建的

0 OK.
1 Some file has invalid syntax.
2 General error (file is not readable, error with parse yaml file).