¿Qué es husky?

Husky

Husky es una herramienta que permite mejorar los commits de Git y proteger proyectos de posibles errores. Funciona interceptando los comandos de Git (como commit, push, pre-push, post-merge, etc.) y ejecutando scripts definidos por el usuario antes de que se completen. Esto permite ejecutar linting, pruebas, o cualquier otra tarea que se desee antes de permitir que el código sea confirmado o enviado.

Aquí hay algunos temas importantes relacionados con Husky:

  • Git Hooks: Husky se basa en los Git Hooks para funcionar. Los Git Hooks son scripts personalizados que se ejecutan automáticamente antes o después de ciertos eventos de Git, como commit, push, y recibir.

  • Pre-commit Hook: Este es uno de los hooks más comunes que se utilizan con Husky. Permite ejecutar scripts antes de un commit, como formateo de código o ejecución de pruebas unitarias. Si el script falla, el commit se aborta, impidiendo la introducción de código no conforme al repositorio.

  • Linting: Husky a menudo se utiliza para ejecutar linting. El linting es el proceso de analizar el código fuente para detectar errores de estilo, errores de programación, errores sintácticos y construcciones sospechosas. Asegura la consistencia del código y la adherencia a los estándares de codificación.

  • Formatters: Además del linting, Husky puede ejecutar formatters de código. Los formatters reformatean automáticamente el código para que coincida con un conjunto de reglas predefinidas.

  • Node.js: Husky está principalmente diseñado para proyectos de Node.js ya que se instala a través de npm o yarn, los administradores de paquetes de Node.js.

En resumen, Husky ayuda a automatizar tareas importantes en el flujo de trabajo de Git, mejorando la calidad del código y la consistencia del proyecto.