drupal-standards/drupal-coding-standards

本包的最新版本(dev-master)没有提供许可证信息。

创建一个预推送的git钩子,用于检查Drupal编码规范。

dev-master 2015-11-17 17:57 UTC

This package is not auto-updated.

Last update: 2024-09-28 17:43:56 UTC


README

这是一个git预推送钩子,旨在帮助Drupal开发者通过在代码推送到仓库时执行Drupal Coder扫描来保持代码库整洁。当存在任何编码规范违规时,推送将被拒绝,允许开发者修复代码后再公开。

为了提高性能,只有在推送新代码到仓库时才会检查更改的文件。请注意,将检查整个文件,所以如果你不是从开始就使用这个库,可能会从过去得到编码违规。

使用这个库可以使代码审查阶段更快,让审查者只需专注于项目的逻辑。如果你不再想使用这个库,可以轻松地从.git/hooks/目录中删除pre-push钩子。如果你注意到任何问题,请在项目的GitHub问题页面https://github.com/danielpopdan/drupal-coding-standards/issues上告诉我们。

安装

将Drupal编码规范添加到你的composer.json

选项1

composer require drupal-standards/drupal-coding-standards:master-dev

选项2

composer.json

{
  "require": {
    "drupal-standards/drupal-coding-standards": "master-dev"
  }
}

需要一个后安装脚本,将库的预推送文件与git预推送文件进行符号链接,并注册Drupal编码规范。由于安全问题,composer不会执行依赖项的后安装脚本,因此您需要将此脚本添加到composer.json中。请将后安装脚本添加到Drupal项目根目录的scripts/composer目录中的post-install.sh文件。

#!/bin/sh

# Symlink the git pre-push hook to its destination.
if [ ! -h ".git/hooks/pre-push" ] ; then
  ln -s "../../vendor/drupal-standards/drupal-coding-standards/pre-push" ".git/hooks/pre-push"
  vendor/bin/phpcs --config-set installed_paths vendor/drupal/coder/coder_sniffer
fi

之后,您需要使此脚本文件可执行

chmod u+x scripts/composer/post-install.sh

请将脚本添加到您的composer.json文件

"scripts": {
    "post-install-cmd": "scripts/composer/post-install.sh"
}

现在您可以运行composer install

composer install

添加规则集

最后一步是添加Drupal代码审查规则集,因为您可能有一些不想被解析的文件。

规则集包含两个非常重要的标签,和。

使用此标签可以排除任何文件,默认情况下排除所有核心文件和由功能生成的文件,但您也可以添加其他文件,如自定义设置PHP,或者您可以完全排除所有类型的文件,如CSS,因为您的CSS由SAS生成。

用于传递一个名称和值,该值将被传递到Code Sniffer,例如

<arg name="standard" value="Drupal"/>

这将作为--standard=Drupal传递。

每次您进行composer update时,此文件都将被覆盖,因此保留您配置的最佳方式是将该文件复制到Drupal项目的根目录。预推送钩子将每次从您的根目录检查此文件。