Boris Guéry

Hacking the web since 1997.

Keywords Checker Git Pre-commit Hook

Dans la même veine que le précédent article sur mon pre-commit hook qui valide la syntaxe des fichiers PHP allant être comités, j’ai développé un petit hook qui vérifie la présence de certains mot clés dans le code.

Ce n’est bien sûr pas toujours crucial, mais d’une manière générale ce type de fonctions ne devrait jamais être intégrer au dépôt, car s’il peut s’avérer difficile de débugguer un bout code contenant un die() (qu’on a bien sûr oublié depuis longtemps…), cela peut également poser des problèmes de sécurité (var_dump($user->getPassword());), et sans oublier les erreurs liées à console.log(element) qui peuvent faire échouer tout un script js si Firebug n’est pas installé sur la machine cliente.

Bien entendu, vous ne devriez pas faire appel à ce genre de fonction pour débugguer votre code, car vous effectuez déjà du pas à pas avec XDebug, même sur Mac OS X ;)

Et ça se trouve, encore, sur github (zip).

Par défaut, la configuration vérifie les fichiers portant l’une des extensions suivantes :

  • .php
  • .phtml
  • .js

Et à la recherche des mot clés/fonctions suivantes :

  • var_dump()
  • die()
  • console.(log|debug|warn|info)

Pour ajouter des extensions ou des mot clés il faut respectivement modifier les variables EXTENSIONS_REGEX et KEYWORDS_REGEX (ce sont des expressions rationnelles étendues (ERE)).