Fermer

novembre 10, 2022

Vérifiez la norme de codage Drupal par phpcs dans le crochet de pré-engagement git



Dans ce didacticiel, vous apprendrez à améliorer le code personnalisé, le thème et le module, ainsi que le développement général du code en utilisant le hook de pré-commit sur git. Git pré-commit valide les normes de codage Drupal sur les fichiers avant de les valider et renvoie un message pour corriger chaque ligne de code sur les fichiers ayant des erreurs.

Suivez les étapes suivantes pour configurer le hook git pré-commit avec les normes de codage Drupal :

  1. Créez un répertoire de crochets sur le projet racine.
  2. Créez un fichier de pré-commit dans le répertoire hooks.
  3. Ajoutez le code de pré-commit ci-dessous au fichier hooks/pre-commit.
#!/bin/bash

STANDARD="Drupal"
BIN="./vendor/bin"

echo
echo "Drupal Coder pre-commit hook – commit with the --no-verify option to skip the hook"
echo

# Check whether PHP_CodeSniffer can be found
if [ ! -f "$BIN/phpcs" ]
then
  echo "Drupal Coder not found – is it installed? 'composer require drupal/coder'"
  echo
  exit 1
fi

# Retrieve staged files
FILES=$(git diff --cached --name-only --diff-filter=ACMR HEAD)

# Run the sniffer
echo "Running Drupal Coder."
echo
PHPCS=("$BIN/phpcs" "--standard=$STANDARD" "--filter=gitstaged" "--encoding=utf-8" "-p" ".")
"${PHPCS[@]}"

# Syntax Error
if [ $? != 0 ]
then
  echo "Please fix each violations detected."
  echo
  exit 1
fi

# Syntax OK
if [ $? == 0 ]
then
  echo "No violations detected"
  echo
  exit 0
fi

Ajoutez des commandes PHP dans la section scripts du fichier composer.json.

"scripts": {
      "post-install-cmd": [
          "php -r \"copy('hooks/pre-commit', '.git/hooks/pre-commit');\"",
          "php -r \"chmod('.git/hooks/pre-commit', 0755);\""
      ]
}

Exécutez maintenant Installation du compositeur dans votre répertoire de projet

L’installation de Composer va mv hooks/pre-commit fichier vers .git/hooks/pre-commit.

Comment l’utiliser

git commit -m "The commit message."

Celui-ci va exécuter Drupal Coder sur chaque fichier et renvoie des messages sur le terminal en cas de détection d’erreurs sur les fichiers.

TROUVÉ CELA UTILE ? PARTAGEZ-LE




Source link