innoraft/drupal-quality-checker
Composer 安装命令:
composer create-project innoraft/drupal-quality-checker
包简介
Setups code quality checking tools for Drupal project.
README 文档
README
Overview
This composer package will provide some basic code quality checks before committing code by using https://github.com/phpro/grumphp. Check out this Lullabot article for more details.
This has been customised from vijaycs85/drupal-quality-checker for Innoraft needs.
Install
-
Add
innoraft/drupal-quality-checkertocomposer.jsonor just runcomposer require --dev innoraft/drupal-quality-checker
-
Replace
grumphp.ymlin project's root directory (not Drupal root directory) withvendor/innoraft/drupal-quality-checker/grumphp.yml.dist
That's it. Now, all tasks (listed below) run on every git commit.
Note: As part of install, GrumPHP adds
pre-commithook to repository. Existingpre-commitmight get destroyed when install/uninstall.
Out of the box
- PHPCS with Drupal standard.
- PHP Lint
- YAML Lint
- Composer
- Composer Normalize
- JSONLint
- Trufflehog
Long list of additional checks/validators available here.
To automatically setup all the packages, follow the below steps:
-
Download the setup.sh file and place it outside the docroot.
-
Update Line 12 of setup.sh having the command
composer require --dev innoraft/drupal-quality-checker. Use the appropriate environment for your setup. For example, if you are working with Lando, uselando composer require --dev innoraft/drupal-quality-checker. -
Update Line 102 of setup.sh having the command
composer dump-autoload. Use the appropriate environment for your setup. For example, if you are working with Lando, uselando composer dump-autoload. -
From outside the docroot run this command that will make the bash script executable
chmod +x setup.sh
-
To execute the bash script run this command from outside the docroot
./setup.sh
-
After executing the script, a prompt will appear asking for the base directory name , site name and custom theme name, which need to be entered
-
Few other prompts will appear where consent is needed to download the required package for the configuration
-
When prompted for tasks to run, select any option, as grumphp.yml is already included in the package and will be used for setup, making this selection less critical:
-
After this, please wait for some time for the script to execute and the setup to be completed.
Incase you want to install them individually, follow the below steps:
ESLint task Setup
-
Go to custom theme folder and add eslint package with npm
npm install eslint --save-dev npm install eslint-config-airbnb --save-dev
-
Now run this command at project's root directory
cp vendor/innoraft/drupal-quality-checker/eslintrc.json.dist .eslintrc.json
For multisite run the following command
cp vendor/innoraft/drupal-quality-checker/eslintrc.json.dist docroot/sites/<sitename>/themes/custom/<themename>/.eslintrc.json
-
Update bin key for eslint task under grumphp.yml file with relative address to eslint's bin file.
Example: if your theme name is
drupal_themethen change it toweb/themes/custom/drupal_theme/node_modules/.bin/eslint
Stylelint task Setup
-
Go to custom theme folder and add stylelint package with npm
npm install stylelint --save-dev
-
Now run this command at project's root directory
cp vendor/innoraft/drupal-quality-checker/stylelintrc.json.dist .stylelintrc.json
For multisite run the following command
cp vendor/innoraft/drupal-quality-checker/stylelintrc.json.dist docroot/sites/<sitename>/themes/custom/<themename>/.stylelintrc.json
-
For multisite run the following command
npm install stylelint-config-standard
-
Update bin key for stylelint task under grumphp.yml file with relative address to stylelint's bin file.
Example: if your theme name is
drupal_themethen change it toweb/themes/custom/drupal_theme/node_modules/.bin/stylelint
Trufflehog task Setup
-
Create a new folder
tasksat project's root level. -
Now run this command at project's root directory
cp vendor/innoraft/drupal-quality-checker/tasks/SecurityLeaks.php tasks
-
Now add the following code in your
composer.jsonfile which is present at project's root directory. ( For reference you can checkcomposer.jsonfile of this package )"autoload": { "psr-4": { "Innoraft\\QualityChecker\\Trufflehog\\": "tasks" } },
Once the code is added in
composer.jsonthen execute this commandcomposer dump-autoload
-
Install
trufflehog( If not already install ). You can execute the following command to achieve the same.curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -b $HOME/.local/bin
-
Please check and confirm if your
grumphp.ymlis updated withvendor/innoraft/drupal-quality-checker/grumphp.yml.dist( Check and confirm if trufflehog tasks & service attribute is added ingrumphp.ymlfile ) -
Trufflehogis now ready to sniff your secrets:)
innoraft/drupal-quality-checker 适用场景与选型建议
innoraft/drupal-quality-checker 是一款 基于 Shell 开发的 Composer 扩展包,目前已累计 56.32k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2022 年 11 月 08 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「git」 「quality」 「hooks」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 innoraft/drupal-quality-checker 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 innoraft/drupal-quality-checker 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 innoraft/drupal-quality-checker 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A simple tool for checking that your PHP classes and methods use PHPDocs (PHP DocBlocks Checker fork).
Easily manage git hooks in your composer config
Taptima PHP-CS-Fixer fixers
Static analyzer tool for PHP : Coupling, Cyclomatic complexity, Maintainability Index, Halstead's metrics... and more !
Extensible package of custom rules for PHPStan.
MediaWiki extension that allows embedding external content, specified by URL, into your wiki pages
统计信息
- 总下载量: 56.32k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 32
- 依赖项目数: 3
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-11-08