Conjunto de comandos personalizados para DDEV que facilitan el flujo de trabajo en proyectos Drupal.
Este addon proporciona 9 comandos que cubren las necesidades más comunes del desarrollo en Drupal: limpieza de caché, ejecución de tests, análisis estático de código, refactorización automática, compilación de SCSS, comprobación de enlaces rotos y métricas de código.
- DDEV instalado y configurado.
- Un proyecto Drupal con la estructura estándar (
/web/modules/custom,/web/themes/custom). - Composer con las dependencias de desarrollo necesarias según los
comandos que se vayan a utilizar:
behat/behatpara el comandobehat.phpstan/phpstanpara el comandophpstan.phpunit/phpunitpara el comandophpunit.rector/rectorypalantirnet/drupal-rectorpara el comandorector.phpro/grumphp-shimpara el comandogrumphp.
- Redis (opcional): el comando
crlimpia Redis automáticamente si está disponible.
ddev add-on get oscarnovasf/ddev-commands
ddev restartTras la instalación es necesario reiniciar DDEV para que se apliquen los cambios en el contenedor.
Ejecuta drush cr para reconstruir la caché de Drupal. Si el servicio Redis
está disponible, también vacía su caché de forma automática.
ddev crEjecuta las pruebas funcionales definidas con Behat. Acepta todos los argumentos que soporta Behat.
# Ejecutar todas las pruebas
ddev behat
# Ejecutar solo las pruebas con un tag específico
ddev behat --tags=@smokeEjecuta PHPUnit con soporte para Xdebug habilitado. Acepta como argumento el nombre de la suite que se desea ejecutar.
# Ejecutar todas las suites
ddev phpunit
# Ejecutar una suite específica
ddev phpunit unitEjecuta PHPStan para realizar análisis estático del código PHP. Acepta opciones adicionales.
ddev phpstanEjecuta Rector con la configuración de Drupal Rector para modernizar y refactorizar el código automáticamente.
ddev rectorEjecuta GrumPHP para comprobar la calidad del código según las reglas configuradas en el proyecto.
ddev grumphpRevisa todos los enlaces del sitio en busca de URLs rotas. Genera un informe en HTML.
ddev linkcheckerCaracterísticas:
- Comprueba enlaces externos.
- Timeout de 10 segundos por enlace.
- 30 hilos en paralelo.
- Genera un informe en
reporte-<nombre-del-sitio>.htmlen la raíz del proyecto. - Ignora enlaces
mailto:y archivos CSS/JS.
Compila los archivos SCSS de un theme custom a CSS comprimido. Detecta
automáticamente los themes que contienen una carpeta scss/ y permite
seleccionar cuál compilar mediante un menú interactivo.
ddev sassOpciones de modo:
- Compilar — compila una vez y termina.
- Watch — se queda escuchando cambios en los archivos SCSS y recompila automáticamente.
Cuenta las líneas de código de los módulos y temas custom del proyecto utilizando cloc.
ddev lineasAnaliza las carpetas:
/web/modules/custom/web/themes/custom
ddev-commands/
├── commands/
│ └── web/
│ ├── behat # Pruebas funcionales
│ ├── cr # Limpieza de caché + Redis
│ ├── grumphp # Análisis de calidad
│ ├── lineas # Métricas de código
│ ├── linkchecker # Enlaces rotos
│ ├── phpstan # Análisis estático
│ ├── phpunit # Tests unitarios
│ ├── rector # Refactorización
│ └── sass # Compilación SCSS
├── web-build/
│ └── Dockerfile.ddev-drupal-tools
├── config.drupal-tools.yaml
└── install.yaml
ddev add-on remove ddev-commands
ddev restart⌨️ con ❤️ por Óscar Novás 😊