PHP_CodeSniffer和JSCS的shell脚本包装器
Requires
- php: >=5.3.9
- drupal/coder: ~8.2
- mouf/nodejs-installer: ~1.0
This package is not auto-updated.
Last update: 2022-02-01 12:57:10 UTC
README
通过一条命令将所有代码审查依赖项都带上!
安装
有3种选择
1. 全局安装
安装一次,为每个项目初始化,或运行“按原样”来扫描自定义文件。
composer global require alexdesignworks/dcr
dcr install && source ~/.profile
cd your_project_dir
dcr init
全局构建状态(https://github.com/alexdesignworks/dcr-global-demo):
2. 每个项目本地安装
composer require alexdesignworks/dcr
vendor/bin/dcr install && source ~/.profile
本地构建状态(https://github.com/alexdesignworks/dcr-demo):
3. 将其作为特定项目的composer依赖项安装
在composer.json
中
{ "minimum-stability": "dev", "require-dev": { "alexdesignworks/dcr": "0.1.*" }, "scripts": { "post-update-cmd": [ "bash vendor/bin/dcr install" ] } }
用法
从之前初始化的目录
dcr
用于自定义代码检查(假设DCR已全局安装)
dcr file_or_directory
常见问题解答
这是什么?
DCR(Drupal代码审查)是一个命令行实用程序,用于检查生成的代码是否符合Drupal编码标准和最佳实践。
更具体地说
它是一个围绕PHP_CodeSniffer和JSCS的shell脚本包装器,具有与Drupal相关的代码检查。它使用本机和自定义的第三方phpcs
检查。
为什么我应该使用它?
简单来说 - 便利。只需运行一条命令dcr
即可进行代码审查。
为什么存在它?
- 易于安装:
composer require alexdesignworks/dcr
- 减少误报: Drupal特定的异常允许有干净的DCR输出。
- 简单调用:无需使用大量的令人困惑的参数调用phpcs。只需使用
dcr
即可。 - JS 代码检查:无需安装独立的 JS 代码检查工具。
- 基于项目的配置:使用
.dcr.yml
文件为每个项目配置dcr
,并确保团队成员使用完全相同的标准。
为什么它是一个独立的工具?
需要一个简单的方法来使用单个命令审查代码,同时足够灵活,可以处理基于项目的嗅探规则定制,并可插入 CI 管道中。
DCR 可以作为一个 composer 开发依赖项安装到您的项目中,也可以全局安装。
DCR 包含以下内容
- PHP_CodeSniffer 与 Drupal、Drupal Practice 嗅探器。
- 额外的 DCR 嗅探器,包含更具体的 Drupal 规则。
- 自定义项目相关的嗅探器 - 对于任何自定义包含都非常方便。
- 使用 JSCS 进行 JavaScript 代码审查。
- 彩色 CLI 输出 - 容易发现问题。
它能否在提交时自动审查代码?
是的。可以在 git pre-commit 钩子中使用它。
它能否作为自动化构建的一部分使用?
是的。实际上,已经设置了 dcr-demo 和 dcr-global-demo 项目来测试 dcr
集成。
它能否自动修复代码?
是的!如果您运行 dcr fix
,它将尝试使用当前嗅探器配置的 phpcbf
在所有文件中修复代码。
那么 PHP_CodeSniffer 和 Drupal Coder 模块呢?
DCR 只是 PHP_CodeSniffer 和 Drupal Coder 的包装。它不会对代码标准添加更多约束。
路线图
显示成功和失败状态消息完成允许 DCR 嗅探器完成允许自定义嗅探器完成自动修复完成dcr fix
允许仅从项目根目录或任何子目录运行完成添加 JS 代码检查完成 使用 JSCS- 限制文件扫描到 N 个失败的文件
- 仅扫描与
main
分支相比当前分支中更改的文件。