Skip to content

Conjunto de comandos personalizados pensados principalmente para su uso con Drupal

Notifications You must be signed in to change notification settings

oscarnovasf/ddev-commands

DDEV - Herramientas para Drupal

add-on registry tests version Licencia Código de conducta Donate


Información

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.


Requisitos

  • 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/behat para el comando behat.
    • phpstan/phpstan para el comando phpstan.
    • phpunit/phpunit para el comando phpunit.
    • rector/rector y palantirnet/drupal-rector para el comando rector.
    • phpro/grumphp-shim para el comando grumphp.
  • Redis (opcional): el comando cr limpia Redis automáticamente si está disponible.

Instalación

ddev add-on get oscarnovasf/ddev-commands
ddev restart

Tras la instalación es necesario reiniciar DDEV para que se apliquen los cambios en el contenedor.


Comandos disponibles

ddev cr — Limpieza de caché

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 cr

ddev behat — Pruebas funcionales con Behat

Ejecuta 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=@smoke

ddev phpunit — Tests unitarios

Ejecuta 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 unit

ddev phpstan — Análisis estático de código

Ejecuta PHPStan para realizar análisis estático del código PHP. Acepta opciones adicionales.

ddev phpstan

ddev rector — Refactorización automática

Ejecuta Rector con la configuración de Drupal Rector para modernizar y refactorizar el código automáticamente.

ddev rector

ddev grumphp — Análisis de calidad de código

Ejecuta GrumPHP para comprobar la calidad del código según las reglas configuradas en el proyecto.

ddev grumphp

ddev linkchecker — Comprobación de enlaces rotos

Revisa todos los enlaces del sitio en busca de URLs rotas. Genera un informe en HTML.

ddev linkchecker

Características:

  • Comprueba enlaces externos.
  • Timeout de 10 segundos por enlace.
  • 30 hilos en paralelo.
  • Genera un informe en reporte-<nombre-del-sitio>.html en la raíz del proyecto.
  • Ignora enlaces mailto: y archivos CSS/JS.

ddev sass — Compilación de SCSS

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 sass

Opciones de modo:

  • Compilar — compila una vez y termina.
  • Watch — se queda escuchando cambios en los archivos SCSS y recompila automáticamente.

ddev lineas — Métricas de código

Cuenta las líneas de código de los módulos y temas custom del proyecto utilizando cloc.

ddev lineas

Analiza las carpetas:

  • /web/modules/custom
  • /web/themes/custom

Estructura del proyecto

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

Desinstalación

ddev add-on remove ddev-commands
ddev restart

⌨️ con ❤️ por Óscar Novás 😊

About

Conjunto de comandos personalizados pensados principalmente para su uso con Drupal

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Contributors 2

  •  
  •  

Languages