hkirsman / code-quality
GrumPHP 的代码质量检查包装器
Requires
- dealerdirect/phpcodesniffer-composer-installer: *
- drupal/coder: ^8
- hkirsman/ecs-drupal: 2.0.0
- mglaman/phpstan-drupal: ^0.12.2
- pheromone/phpcs-security-audit: ^2.0
- phpcompatibility/php-compatibility: ^9.3
- phpro/grumphp: ^1
- phpstan/phpstan-deprecation-rules: ^0.12.2
- squizlabs/php_codesniffer: ^3.4
- symfony/polyfill-iconv: ^1
- symplify/coding-standard: ^9.3
Requires (Dev)
- phpunit/phpunit: ^8.3
- dev-master
- 2.1.0
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.2.0
- 0.1.7
- 0.1.6
- 0.1.5
- 0.1.4
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1.0
- dev-feature/#59-support-drupal-8-and-composer-2
- dev-feature/59-support-drupal-8-and-composer-2
- dev-feature/grumphp-upgrade
- dev-feature/#41-legacy-support
This package is auto-updated.
Last update: 2024-09-26 01:35:36 UTC
README
此 composer 包将通过使用 https://github.com/phpro/grumphp 在提交代码前提供一些基本的代码质量检查。
它只检查 git 提交中修改的文件或新文件,但可以通过运行 vendor/bin/grumphp run
来执行所有配置路径的检查。
此工具仅扩展 GrumPHP。请阅读其 文档 了解如何配置工具本身。
执行的检查
此存储库目前有以下检查
- Shell 脚本执行位 - check_file_permissions
- PHP Drupal CS 和 PHP 代码安全 - phpcs
- PHP 7.3 兼容性 - php_compatibility
- PHP 语法 - php_check_syntax
- 认知复杂度和其他 ecs sniffs - ecs
- Yaml 语法 - yaml_lint
- Json 语法 - json_lint
- 弃用测试 - php_stan
先决条件
- Composer
- PHP >= 7.1
安装
此操作只需在创建项目或启用现有项目的代码检查时执行一次。
composer require wunderio/code-quality --dev
cp vendor/wunderio/code-quality/config/grumphp.yml ./grumphp.yml
cp vendor/wunderio/code-quality/config/phpstan.neon ./phpstan.neon
GrumPHP 的提交钩子在 composer require 时自动安装。
自定义
配置
配置细节分为以下部分。
任务参数
如果您需要自定义 PHP CodeSniffer 的规则,请在 composer.json 同一目录下放置 phpcs.xml 并配置 grumphp.yml
parameters: tasks: phpcs: standard: - phpcs.xml
同样适用于使用其他配置文件(easy-coding-standards)的任何任务。
每个代码质量工具都允许您定义至少 3 件事情
run_on
- 将进行检查的多个路径,并且必须来自相同的路径ignore_patterns
- 将排除文件检查的路径部分extensions
- 应该检查的文件的文件扩展名
请参阅各个任务文档以获取有关其他可配置选项的更多信息。
命令
由于 GrumPHP 只是一个 CLI 工具,因此可以触发以下命令
用法
在执行 git commit
时会自动运行 pre-commit 钩子。
可以通过 git commit --no-verify
或 git commit -n
来避免代码扫描。
您可以使用以下命令手动运行检查: ./vendor/bin/grumphp run
在持续集成中的用法
您可以通过添加以下行轻松地在 CI (CircleCi/Jenkins/GitLab CI) 上使用代码质量检查器:
./vendor/bin/grumphp run --no-ansi --no-interaction