2.1 KiB
Comenzar
Instalar
::: code-group
npm install --save-dev husky
pnpm add --save-dev husky
yarn add --dev husky
# Agregue pinst S脫LO si su paquete no es privado
yarn add --dev pinst
bun add --dev husky
:::
husky init (recomendado)
El comando init simplifica la configuraci贸n de husky en un proyecto. Crea un script pre-commit en .husky/ y actualiza el script prepare en package.json. Luego se pueden realizar modificaciones para que se adapten a su flujo de trabajo.
::: code-group
npx husky init
pnpm exec husky init
# Debido a advertencias espec铆ficas y diferencias con otros administradores de paquetes,
# consulte la secci贸n C贸mo hacerlo.
bunx husky init
:::
Pru茅balo
隆Felicitaciones! Has configurado exitosamente tu primer gancho de Git (Git hook) con solo un comando 馃帀. Prob茅moslo:
git commit -m "Keep calm and commit"
# El script de prueba se ejecutar谩 cada vez que realices un commit
Unas pocas palabras...
Scripting
Si bien la mayor铆a de las veces, solo ejecutar谩s algunos comandos npm run o npx en tus ganchos (hooks), tambi茅n puedes crear scripts con el shell POSIX para flujos de trabajo personalizados (custom workflows).
Por ejemplo, aqu铆 se muestra c贸mo puedes analizar (lint) tus archivos preparados (staged files) en cada confirmaci贸n (commit) con solo dos l铆neas de c贸digo de shell y sin dependencia externa:
# .husky/pre-commit
prettier $(git diff --cached --name-only --diff-filter=ACMR | sed 's| |\\ |g') --write --ignore-unknown
git update-index --again
Este es un ejemplo b谩sico pero funcional, si necesita saber m谩s verifique lint-staged.
Deshabilitar ganchos (hooks)
Husky no fuerza los ganchos de Git (Git hooks). Se pueden deshabilitar globalmente (HUSKY=0) o se pueden habilitar si se desea. Consulta la secci贸n C贸mo hacerlo para obtener m谩s informaci贸n y realizar una configuraci贸n manual.