axelerant/drupal-quality-checker

Drupal项目的代码质量检查工具。

安装数量: 158,061

依赖: 1

建议: 0

安全: 0

星级: 12

关注者: 5

分支: 9

公开问题: 6

类型:composer-plugin

v1.4.1 2024-05-13 12:03 UTC

README

此版本是为Axelerant的需求从 vijaycs85/drupal-quality-checker 定制的。除了使用不同的模板文件外,它还使用了Axelerant的标志。

安装

从Beta 8升级? 请阅读 更改说明,了解您需要对grumphp.yml.dist所做的更改。

composer require --dev axelerant/drupal-quality-checker

这将添加插件到您的项目,并复制默认配置文件。这些文件包括:

  • grumphp.yml.dist
  • phpcs.xml.dist
  • phpmd.xml.dist
  • phpstan.neon.dist

由于这些是 .dist 文件,插件将在每次 composer install 时覆盖它们。如果您想要自定义默认设置,我们建议您将它们重命名为删除 .dist 后缀。因此,将这 .dist 文件添加到您的 .gitignore 文件中是个好主意。

使用方法

无需额外步骤,但如果git钩子没有触发,请运行 php ./vendor/bin/grumphp git:init。有关其他命令,请参阅 grumhp的文档

自定义

几乎所有自定义都始于首先将 grumphp.yml.dist 文件复制到您的项目中。请确保您有该文件。

添加任务

您可以在grumphp.yml中添加和自定义各种任务。有关您可以使用和配置的任务,请参阅 GrumPHP任务在线文档

强制提交消息格式

要配置提交消息结构,请使用 git_commit_message任务。例如,为了强制提交消息包含Jira问题ID,请使用以下规则片段。更多信息请参见 在线文档

# grumphp.yml
grumphp:
  tasks:
    git_commit_message:
      matchers:
        Must contain issue number: /JIRA-\d+/

禁用提交横幅

GrumPHP支持在提交时庆祝(或斥责)。这很有趣,但也可能让您感到厌烦。如果您不想使用它,请编辑grumphp.yml文件,并替换以下参数

# grumphp.yml
grumphp:
    ascii: ~

您甚至可以禁用特定的横幅,如下所示

# grumphp.yml
grumphp:
    ascii:
        succeeded: ~

覆盖phpmd规则集

首先将规则集复制到项目根目录

cp vendor/axelerant/drupal-quality-checker/phpmd.xml.dist phpmd.xml

根据您的需要进行编辑并提交。请记住修改grumphp.yml文件以包含新的路径。

# grumphp.yml
grumphp:
  tasks:
    phpmd:
      ruleset: ['phpmd.xml']

自定义phpcs规则

首先将规则集复制到项目根目录

cp vendor/axelerant/drupal-quality-checker/phpcs.xml.dist phpcs.xml

根据您的需要进行编辑并提交。请记住修改grumphp.yml文件以包含新的路径。

# grumphp.yml
grumphp:
  tasks:
    phpcs:
      standard: ['phpcs.xml']

自定义phpstan规则

首先将规则集复制到项目根目录

cp vendor/axelerant/drupal-quality-checker/phpstan.neon.dist phpstan.neon

根据您的需要进行编辑并提交。请记住修改grumphp.yml文件以包含新的路径。

# grumphp.yml
grumphp:
  tasks:
    phpstan:
      configuration: phpstan.neon

有关脚手架的更多内容

如前所述,此软件包使用 drupal/core-composer-scaffold 插件将一些文件脚手架到项目根目录。这不是必需的,但如果您正在构建Drupal网站,您很可能已经在使用它。

脚手架操作在每次composer操作时运行,并覆盖文件。只有文件 grumphp.yml.dist 在后续操作中不会被覆盖。如果您正在自定义其他配置文件,并且不希望更新覆盖您的更改,您可以在composer.json文件中覆盖此行为。例如,要跳过 phpmd.xml.dist 被覆盖,请向您的 composer.json 添加以下内容

  "name": "my/project",
  ...
  "extra": {
    "drupal-scaffold": {
      "file-mapping": {
        "[project-root]/phpmd.xml.dist": false
      }
    }
  }

有关更多详细信息,请阅读核心-composer-scaffold 插件的"排除 Scaffold 文件"部分的文档。

从 Beta 8 升级

GrumPHP 0.19 引入了对 YAML 文件结构的重大更改(破坏性更改)。本仓库中的模板已根据新结构进行了更新。但是,在您升级到 Beta 9 或更高版本之前,您需要更改项目中的 YML 文件。

幸运的是,更改很简单,在许多情况下只需一行更改。将 parameters 部分 重命名为 grumphp。我们的默认模板包含两个参数,它们仍需保留在 parameters 下。它们是 git_dirbin_dir。查看更改的 diff 以了解您需要更改 grumphp.yml 文件中的哪些内容。此外,请参阅GrumPHP 0.19 的发布页面

最后,您可以观看这个视频,了解如何在项目中升级。链接: https://youtu.be/XoFJfBcZF58