Skip to content

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 10 comandos que cubren las necesidades más comunes del desarrollo en Drupal:

  • apertura del sitio en el navegador con login automático
  • 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
  • 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 run — Abrir el sitio en el navegador

Abre el sitio Drupal en el navegador utilizando un enlace de inicio de sesión único generado con drush uli. Permite acceder directamente como administrador sin necesidad de introducir credenciales.

ddev run

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/
│   ├── host/
│   │   └── run              # Abrir el sitio en el navegador con login automático
│   └── 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

Languages