innoraft/drupal-quality-checker

为Drupal项目设置代码质量检查工具。

安装数: 31,541

依赖者: 3

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 6

公开问题: 0

语言:Shell

类型:项目

2.0.0 2023-12-14 08:43 UTC

This package is auto-updated.

Last update: 2024-09-01 07:28:23 UTC


README

概览

此Composer包将使用https://github.com/phpro/grumphp在提交代码之前提供一些基本的代码质量检查。有关详细信息,请参阅Lullabot文章

此包已根据Innoraft的需求从vijaycs85/drupal-quality-checker进行定制。

安装

  1. innoraft/drupal-quality-checker添加到composer.json中,或者直接运行

    composer require --dev innoraft/drupal-quality-checker
  2. 将项目根目录(不是Drupal根目录)中的grumphp.yml替换为vendor/innoraft/drupal-quality-checker/grumphp.yml.dist

就这么多。现在,所有任务(如下所示)将在每次git commit时运行。

注意:作为安装的一部分,GrumPHP将为仓库添加pre-commit钩子。现有的pre-commit可能在安装/卸载时被销毁

默认设置

  1. PHPCS与Drupal标准。
  2. PHP Lint
  3. YAML Lint
  4. Composer
  5. Composer Normalize
  6. JSONLint
  7. Trufflehog

更多检查/验证器的长列表可在此处找到。

要自动设置所有包,请按照以下步骤操作

  1. 下载setup.sh文件并将其放置在docroot之外。

  2. 更新setup.sh的第12行,包含命令composer require --dev innoraft/drupal-quality-checker。根据您的设置使用适当的环境。例如,如果您使用Lando,请使用lando composer require --dev innoraft/drupal-quality-checker

  3. 更新setup.sh的第102行,包含命令composer dump-autoload。根据您的设置使用适当的环境。例如,如果您使用Lando,请使用lando composer dump-autoload

  4. 从docroot外部运行以下命令以使bash脚本可执行

    chmod +x setup.sh
  5. 要从docroot外部执行bash脚本,请运行以下命令

    ./setup.sh
  6. 执行脚本后,将出现一个提示,要求输入基本目录名、站点名和自定义主题名,需要输入这些信息cmd

  7. 将出现其他提示,需要同意下载配置所需的包

    image

  8. 当提示选择要运行的任务时,选择任何选项即可,因为grumphp.yml已经包含在包中,并将用于设置,因此这个选择不太重要

    image

  9. 之后,请等待一段时间,让脚本执行和设置完成。

如果您想单独安装它们,请按照以下步骤操作

ESLint任务设置

  1. 转到自定义主题文件夹,并使用npm添加eslint包

    npm install eslint --save-dev
    npm install eslint-config-airbnb --save-dev
  2. 现在在项目的根目录下运行以下命令

    cp vendor/innoraft/drupal-quality-checker/eslintrc.json.dist .eslintrc.json

    对于多站点,运行以下命令

     cp vendor/innoraft/drupal-quality-checker/eslintrc.json.dist docroot/sites/<sitename>/themes/custom/<themename>/.eslintrc.json
  3. 在grumphp.yml文件中更新eslint任务的bin键,使用对eslint的bin文件的相对地址。

    示例:如果您的主题名称是drupal_theme,则将其更改为web/themes/custom/drupal_theme/node_modules/.bin/eslint

Stylelint任务设置

  1. 转到自定义主题文件夹,并使用npm添加stylelint包

    npm install stylelint --save-dev
  2. 现在在项目的根目录下运行以下命令

    cp vendor/innoraft/drupal-quality-checker/stylelintrc.json.dist .stylelintrc.json

    对于多站点,运行以下命令

     cp vendor/innoraft/drupal-quality-checker/stylelintrc.json.dist docroot/sites/<sitename>/themes/custom/<themename>/.stylelintrc.json
  3. 对于多站点,运行以下命令

    npm install stylelint-config-standard
  4. 在grumphp.yml文件中更新stylelint任务的bin键,使用对stylelint的bin文件的相对地址。

    示例:如果您的主题名称是drupal_theme,则将其更改为web/themes/custom/drupal_theme/node_modules/.bin/stylelint

Trufflehog任务设置

  1. 在项目根级别创建一个名为tasks的新文件夹。

  2. 现在在项目的根目录下运行以下命令

    cp vendor/innoraft/drupal-quality-checker/tasks/SecurityLeaks.php tasks
  3. 现在在项目根目录的composer.json文件中添加以下代码。(参考此包的composer.json文件)

    "autoload": {
        "psr-4": {
            "Innoraft\\QualityChecker\\Trufflehog\\": "tasks"
        }
    },

    一旦在composer.json中添加了代码,请执行此命令

    composer dump-autoload
  4. 安装trufflehog(如果尚未安装)。您可以使用以下命令实现相同的结果。

    curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -b $HOME/.local/bin
  5. 请检查并确认您的grumphp.yml是否已更新为vendor/innoraft/drupal-quality-checker/grumphp.yml.dist(检查并确认trufflehog任务和服务属性是否已添加到grumphp.yml文件中)

  6. Trufflehog现在已准备好嗅探您的机密信息(:))