drupal-standards / drupal-coding-standards
创建一个预推送的git钩子,用于检查Drupal编码规范。
Requires
- drupal/coder: ^7.2
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项目的根目录。预推送钩子将每次从您的根目录检查此文件。