diff --git a/docs/es/get-started.md b/docs/es/get-started.md index 78171a744..1603a1a6b 100644 --- a/docs/es/get-started.md +++ b/docs/es/get-started.md @@ -4,21 +4,21 @@ ::: code-group -```shell [npm] +```sh [npm] npm install --save-dev husky ``` -```shell [pnpm] +```sh [pnpm] pnpm add --save-dev husky ``` -```shell [yarn] +```sh [yarn] yarn add --dev husky # Agregue pinst SÓLO si su paquete no es privado yarn add --dev pinst ``` -```shell [bun] +```sh [bun] bun add --dev husky ``` @@ -30,20 +30,20 @@ El comando `init` simplifica la configuración de husky en un proyecto. Crea un ::: code-group -```shell [npm] +```sh [npm] npx husky init ``` -```shell [pnpm] +```sh [pnpm] pnpm exec husky init ``` -```shell [yarn] +```sh [yarn] # Debido a advertencias específicas y diferencias con otros administradores de paquetes, # consulte la sección Cómo hacerlo. ``` -```shell [bun] +```sh [bun] bunx husky init ``` @@ -53,7 +53,7 @@ bunx husky init ¡Felicitaciones! Has configurado exitosamente tu primer gancho de Git (Git hook) con solo un comando 🎉. Probémoslo: -```shell +```sh git commit -m "Keep calm and commit" # El script de prueba se ejecutará cada vez que realices un commit ``` @@ -66,7 +66,7 @@ Si bien la mayoría de las veces, solo ejecutarás algunos comandos `npm run` o 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: -```shell +```sh # .husky/pre-commit prettier $(git diff --cached --name-only --diff-filter=ACMR | sed 's| |\\ |g') --write --ignore-unknown git update-index --again diff --git a/docs/es/how-to.md b/docs/es/how-to.md index bedce1b62..42d6b5a4d 100644 --- a/docs/es/how-to.md +++ b/docs/es/how-to.md @@ -4,7 +4,7 @@ Agregar un gancho (hook) es tan simple como crear un archivo. Esto se puede lograr usando su editor favorito, un script o un comando echo básico. Por ejemplo, en Linux/macOS: -```shell +```sh echo "npm test" > .husky/pre-commit ``` @@ -30,7 +30,7 @@ git commit -m "..." -n # Skips Git hooks Para los comandos sin esta bandera, deshabilite los ganchos (hooks) temporalmente con HUSKY=0: -```shell +```sh HUSKY=0 git ... # Desactiva temporalmente todos los ganchos de Git (Git hooks) git ... # Los ganchos (Hooks) se ejecutarán nuevamente ``` @@ -39,7 +39,7 @@ git ... # Los ganchos (Hooks) se ejecutarán nuevamente Para deshabilitar los ganchos (hooks) durante un período prolongado (por ejemplo, durante la rebase/fusión (rebase/merge)): -```shell +```sh export HUSKY=0 # Deshabilita todos los ganchos (hooks) de Git git ... git ... @@ -99,7 +99,7 @@ Luego, úsalo en `prepare`: Para probar/testear un gancho (hook), agregue `exit 1` al script del gancho (hook) para cancelar el comando Git: -```shell +```sh # .husky/pre-commit # Your WIP script @@ -108,7 +108,7 @@ Para probar/testear un gancho (hook), agregue `exit 1` al script del gancho (hoo exit 1 ``` -```shell +```sh git commit -m "testing pre-commit code" # No se creará una confirmación (commit) ``` @@ -134,7 +134,7 @@ Configure su script de preparación de la siguiente manera: En el script de gancho (hook script), cambie el directorio nuevamente al subdirectorio correspondiente: -```shell +```sh # frontend/.husky/pre-commit cd frontend npm test @@ -148,13 +148,13 @@ Para ejecutar scripts que requieren el uso de un lenguaje de script, use el sigu 1. Cree un punto de entrada para el gancho (hook): -```shell +```sh .husky/pre-commit ``` 2. En el archivo agregue lo siguiente -```shell +```sh node .husky/pre-commit.js ``` @@ -171,7 +171,7 @@ Los scripts de gancho (hook) deben ser compatibles con POSIX para garantizar la Dicho esto, si su equipo no usa Windows, puede usar Bash de esta manera: -```shell +```sh # .husky/pre-commit bash << EOF @@ -197,14 +197,14 @@ Los administradores de versiones funcionan de la siguiente manera: Por ejemplo, si tiene dos versiones de Node: -```shell +```sh ~/version-manager/Node-X/node ~/version-manager/Node-Y/node ``` Al abrir una terminal se inicializa el administrador de versiones, que selecciona una versión (por ejemplo, `Node-Y`) y antepone su ruta a `PATH`: -```shell +```sh echo $PATH # Salida ~/version-manager/Node-Y/:... @@ -212,7 +212,7 @@ echo $PATH Ahora, el node hace referencia a `Nodo-Y`. Al cambiar a `Nodo-X`, `PATH` cambia en concordancia: -```shell +```sh echo $PATH # Salida ~/version-manager/Node-X/:... @@ -226,7 +226,7 @@ Husky obtiene `~/.config/husky/init.sh` antes de cada gancho de Git (Git hooks). Ejemplo con `nvm`: -```shell +```sh # ~/.config/husky/init.sh export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm @@ -234,7 +234,7 @@ export NVM_DIR="$HOME/.nvm" Como alternativa, si su archivo de inicio de shell es rápido y liviano, consígalo directamente: -```shell +```sh # ~/.config/husky/init.sh . ~/.zshrc ``` @@ -312,24 +312,24 @@ Cree un archivo `pre-commit` en el directorio `.husky/`: ::: code-group -```shell [npm] +```sh [npm] # .husky/pre-commit npm test ``` -```shell [pnpm] +```sh [pnpm] # .husky/pre-commit pnpm test ``` -```shell [yarn] +```sh [yarn] # .husky/pre-commit yarn test ``` ```sh [bun] # .husky/pre-commit -bun test +bun run test ``` ::: diff --git a/docs/es/migrate-from-v4.md b/docs/es/migrate-from-v4.md index 6d7f087fe..541ba7dd7 100644 --- a/docs/es/migrate-from-v4.md +++ b/docs/es/migrate-from-v4.md @@ -15,7 +15,7 @@ Husky v4 Husky v9 -```shell +```sh # .husky/pre-commit # Tenga en cuenta que ahora puede tener comandos en varias líneas. npm test // [!code hl] @@ -34,7 +34,7 @@ Si estaba llamando a binarios instalados localmente, **ahora necesita ejecutarlo } ``` -```shell [.husky/pre-commit (v9)] +```sh [.husky/pre-commit (v9)] jest ``` @@ -52,7 +52,7 @@ La variable de entorno `HUSKY_GIT_PARAMS` ahora se reemplaza por los parámetros } ``` -```shell [.husky/commit-msg (v9)] +```sh [.husky/commit-msg (v9)] commitlint --edit $1 ``` diff --git a/docs/es/troubleshoot.md b/docs/es/troubleshoot.md index 9a4184528..f712f14ce 100644 --- a/docs/es/troubleshoot.md +++ b/docs/es/troubleshoot.md @@ -20,7 +20,7 @@ Los ganchos de Git (Git hooks) pueden fallar con Yarn en Windows usando Git Bash 1. Cree `.husky/common.sh`: -```shell +```sh command_exists () { command -v "$1" >/dev/null 2>&1 } @@ -33,7 +33,7 @@ fi 2. Obtenga la fuente donde se ejecutan los comandos Yarn: -```shell +```sh # .husky/pre-commit . .husky/common.sh diff --git a/docs/get-started.md b/docs/get-started.md index 719dbbbfe..719aa8400 100644 --- a/docs/get-started.md +++ b/docs/get-started.md @@ -4,21 +4,21 @@ ::: code-group -```shell [npm] +```sh [npm] npm install --save-dev husky ``` -```shell [pnpm] +```sh [pnpm] pnpm add --save-dev husky ``` -```shell [yarn] +```sh [yarn] yarn add --dev husky # Add pinst ONLY if your package is not private yarn add --dev pinst ``` -```shell [bun] +```sh [bun] bun add --dev husky ``` @@ -30,31 +30,30 @@ The `init` command simplifies setting up husky in a project. It creates a `pre-c ::: code-group -```shell [npm] +```sh [npm] npx husky init ``` -```shell [pnpm] +```sh [pnpm] pnpm exec husky init ``` -```shell [yarn] +```sh [yarn] # Due to specific caveats and differences with other package managers, # refer to the How To section. ``` -```shell [bun] +```sh [bun] bunx husky init ``` ::: - ## Try it Congratulations! You've successfully set up your first Git hook with just one command 🎉. Let's test it: -```shell +```sh git commit -m "Keep calm and commit" # test script will run every time you commit ``` @@ -67,7 +66,7 @@ While most of the time, you'll just run a few `npm run` or `npx` commands in you For example, here's how you can lint your staged files on each commit with only two lines of shell code and no external dependency: -```shell +```sh # .husky/pre-commit prettier $(git diff --cached --name-only --diff-filter=ACMR | sed 's| |\\ |g') --write --ignore-unknown git update-index --again diff --git a/docs/how-to.md b/docs/how-to.md index 60b25f80d..901991dbf 100644 --- a/docs/how-to.md +++ b/docs/how-to.md @@ -3,7 +3,8 @@ ## Adding a New Hook Adding a hook is as simple as creating a file. This can be accomplished using your favorite editor, a script or a basic echo command. For example, on Linux/macOS: -```shell + +```sh echo "npm test" > .husky/pre-commit ``` @@ -29,7 +30,7 @@ git commit -m "..." -n # Skips Git hooks For commands without this flag, disable hooks temporarily with HUSKY=0: -```shell +```sh HUSKY=0 git ... # Temporarily disables all Git hooks git ... # Hooks will run again ``` @@ -38,7 +39,7 @@ git ... # Hooks will run again To disable hooks for an extended period (e.g., during rebase/merge): -```shell +```sh export HUSKY=0 # Disables all Git hooks git ... git ... @@ -97,7 +98,7 @@ Then, use it in `prepare`: To test a hook, add `exit 1` to the hook script to abort the Git command: -```shell +```sh # .husky/pre-commit # Your WIP script @@ -106,7 +107,7 @@ To test a hook, add `exit 1` to the hook script to abort the Git command: exit 1 ``` -```shell +```sh git commit -m "testing pre-commit code" # A commit will not be created ``` @@ -132,23 +133,42 @@ Set your prepare script like this: In your hook script, change the directory back to the relevant subdirectory: -```shell +::: code-group + +```sh [npm] # frontend/.husky/pre-commit cd frontend npm test ``` +```sh [pnpm] +cd frontend +pnpm test +``` + +```sh [yarn] +cd frontend +yarn test +``` + +```sh [bun] +cd frontend +bun run test +``` + +::: + ## Non-shell hooks In order to run scripts that require the use of a scripting language, use the following pattern for each applicable hook: (Example using hook `pre-commit` and NodeJS) 1. Create an entrypoint for the hook: - ```shell + ```sh .husky/pre-commit ``` 2. In the file add the following - ```shell + ```sh node .husky/pre-commit.js ``` 3. in `.husky/pre-commit.js` @@ -163,7 +183,7 @@ Hook scripts need to be POSIX compliant to ensure best compatibility as not ever That being said, if your team doesn't use Windows, you can use Bash this way: -```shell +```sh # .husky/pre-commit bash << EOF @@ -188,14 +208,14 @@ Version managers work by: For example, if you have two Node versions: -```shell +```sh ~/version-manager/Node-X/node ~/version-manager/Node-Y/node ``` Opening a terminal initializes the version manager, which picks a version (say `Node-Y`) and prepends its path to `PATH`: -```shell +```sh echo $PATH # Output ~/version-manager/Node-Y/:... @@ -203,7 +223,7 @@ echo $PATH Now, node refers to `Node-Y`. Switching to `Node-X` changes `PATH` accordingly: -```shell +```sh echo $PATH # Output ~/version-manager/Node-X/:... @@ -217,7 +237,7 @@ Husky sources `~/.config/husky/init.sh` before each Git hook. Copy your version Example with `nvm`: -```shell +```sh # ~/.config/husky/init.sh export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm @@ -225,7 +245,7 @@ export NVM_DIR="$HOME/.nvm" Alternatively, if your shell startup file is fast and lightweight, source it directly: -```shell +```sh # ~/.config/husky/init.sh . ~/.zshrc ``` @@ -303,24 +323,24 @@ Create a `pre-commit` file in the `.husky/` directory: ::: code-group -```shell [npm] +```sh [npm] # .husky/pre-commit npm test ``` -```shell [pnpm] +```sh [pnpm] # .husky/pre-commit pnpm test ``` -```shell [yarn] +```sh [yarn] # .husky/pre-commit yarn test ``` ```sh [bun] # .husky/pre-commit -bun test +bun run test ``` ::: diff --git a/docs/migrate-from-v4.md b/docs/migrate-from-v4.md index 80f6aac79..a858fa979 100644 --- a/docs/migrate-from-v4.md +++ b/docs/migrate-from-v4.md @@ -15,7 +15,7 @@ Husky v4 Husky v9 -```shell +```sh # .husky/pre-commit # Note that you can now have commands on multiple lines npm test // [!code hl] @@ -34,7 +34,7 @@ If you were calling locally installed binaries, **you need to run them via your } ``` -```shell [.husky/pre-commit (v9)] +```sh [.husky/pre-commit (v9)] jest ``` @@ -52,7 +52,7 @@ jest } ``` -```shell [.husky/commit-msg (v9)] +```sh [.husky/commit-msg (v9)] commitlint --edit $1 ``` @@ -62,4 +62,4 @@ Other environment variables changes: - `HUSKY_SKIP_HOOKS` is replaced by `HUSKY`. - `HUSKY_SKIP_INSTALL` is replaced by `HUSKY`. -- `HUSKY_GIT_PARAMS` is removed. Instead Git parameters should be used directly in scripts (e.g. `$1`). \ No newline at end of file +- `HUSKY_GIT_PARAMS` is removed. Instead Git parameters should be used directly in scripts (e.g. `$1`). diff --git a/docs/ru/get-started.md b/docs/ru/get-started.md index 658983e3d..93ff43b02 100644 --- a/docs/ru/get-started.md +++ b/docs/ru/get-started.md @@ -4,21 +4,21 @@ ::: code-group -```shell [npm] +```sh [npm] npm install --save-dev husky ``` -```shell [pnpm] +```sh [pnpm] pnpm add --save-dev husky ``` -```shell [yarn] +```sh [yarn] yarn add --dev husky # Добавить pinst ТОЛЬКО если ваш пакет не является закрытым yarn add --dev pinst ``` -```shell [bun] +```sh [bun] bun add --dev husky ``` @@ -30,20 +30,20 @@ bun add --dev husky ::: code-group -```shell [npm] +```sh [npm] npx husky init ``` -```shell [pnpm] +```sh [pnpm] pnpm exec husky init ``` -```shell [yarn] +```sh [yarn] # Из-за особых оговорок и различий с другими менеджерами пакетов, # обратитесь к разделу «Как использовать». ``` -```shell [bun] +```sh [bun] bunx husky init ``` @@ -53,7 +53,7 @@ bunx husky init Поздравляем! Вы успешно настроили свой первый Git hook всего одной командой 🎉. Давайте проверим: -```shell +```sh git commit -m "Keep calm and commit" # тестовый скрипт будет запускаться каждый раз при коммите ``` @@ -66,7 +66,7 @@ git commit -m "Keep calm and commit" Например, вот как можно линтинговать подготовленные файлы на каждом коммите, используя всего две строки кода оболочки и без внешней зависимости: -```shell +```sh # .husky/pre-commit prettier $(git diff --cached --name-only --diff-filter=ACMR | sed 's| |\\ |g') --write --ignore-unknown git update-index --again @@ -76,4 +76,4 @@ _Это простой, но рабочий пример, проверьте [li ### Отключение хуков -Husky не принудительно использует хуки Git. Его можно отключить глобально (`HUSKY=0`) или включить, если нужно. См. раздел [Как сделать](how-to) для ручной настройки и дополнительной информации. \ No newline at end of file +Husky не принудительно использует хуки Git. Его можно отключить глобально (`HUSKY=0`) или включить, если нужно. См. раздел [Как сделать](how-to) для ручной настройки и дополнительной информации. diff --git a/docs/ru/how-to.md b/docs/ru/how-to.md index 1fc807ac3..b095735d2 100644 --- a/docs/ru/how-to.md +++ b/docs/ru/how-to.md @@ -3,7 +3,7 @@ ## Добавление нового хука Добавление хука так же просто, как создание файла. Это можно сделать с помощью вашего любимого редактора, скрипта или базовой команды echo. Например, в Linux/macOS: -```shell +```sh echo "npm test" > .husky/pre-commit ``` @@ -29,7 +29,7 @@ git commit -m "..." -n # Пропускает хуки Git Для команд без этого флага временно отключите хуки с помощью HUSKY=0: -```shell +```sh HUSKY=0 git ... # Временно отключает все хуки Git git ... # Хуки снова запустятся ``` @@ -38,7 +38,7 @@ git ... # Хуки снова запустятся Чтобы отключить хуки для длительный период (например, во время rebase/merge): -```shell +```sh export HUSKY=0 # Отключает все хуки Git git ... git ... @@ -97,7 +97,7 @@ console.log(husky()) Чтобы протестировать хук, добавьте `exit 1` в скрипт хука, чтобы прервать Git команду: -```shell +```sh # .husky/pre-commit # Ваш скрипт WIP @@ -106,7 +106,7 @@ console.log(husky()) exit 1 ``` -```shell +```sh git commit -m "testing pre-commit code" # Коммит не будет создан ``` @@ -132,7 +132,7 @@ Husky не устанавливается в родительские катал В скрипте хука измените каталог обратно на соответствующий подкаталог: -```shell +```sh # frontend/.husky/pre-commit cd frontend npm test @@ -144,11 +144,11 @@ npm test (Пример использования хука `pre-commit` и NodeJS) 1. Создайте точку входа для хука: - ```shell + ```sh .husky/pre-commit ``` 2. В файл добавьте следующее - ```shell + ```sh node .husky/pre-commit.js ``` 3. в `.husky/pre-commit.js` @@ -163,7 +163,7 @@ npm test При этом, если ваша команда не использует Windows, вы можете использовать Bash следующим образом: -```shell +```sh # .husky/pre-commit bash << EOF @@ -188,14 +188,14 @@ EOF Например, если у вас две версии Node: -```shell +```sh ~/version-manager/Node-X/node ~/version-manager/Node-Y/node ``` Открытие терминала инициализирует менеджер версий, который выбирает версию (например, `Node-Y`) и добавляет ее путь к `PATH`: -```shell +```sh echo $PATH # Вывод ~/version-manager/Node-Y/:... @@ -203,7 +203,7 @@ echo $PATH Теперь node ссылается на `Node-Y`. Переключение на `Node-X` соответственно изменяет `PATH`: -```shell +```sh echo $PATH # Вывод /version-manager/Node-X/:... @@ -217,7 +217,7 @@ Husky создает `~/.config/husky/init.sh` перед каждым хуко Пример с `nvm`: -```shell +```sh # ~/.config/husky/init.sh export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # Это загружает nvm @@ -225,7 +225,7 @@ export NVM_DIR="$HOME/.nvm" В качестве альтернативы, если ваш файл запуска оболочки быстрый и легкий, используйте его напрямую: -```shell +```sh # ~/.config/husky/init.sh . ~/.zshrc ``` @@ -285,7 +285,7 @@ npm run prepare ``` ```sh [pnpm] -pnpm run preparation +pnpm run prepare ``` ```sh [yarn] @@ -294,7 +294,7 @@ yarn run postinstall ``` ```sh [bun] -bun run preparation +bun run prepare ``` ::: @@ -303,24 +303,24 @@ bun run preparation ::: code-group -```shell [npm] +```sh [npm] # .husky/pre-commit npm test ``` -```shell [pnpm] +```sh [pnpm] # .husky/pre-commit pnpm test ``` -```shell [yarn] +```sh [yarn] # .husky/pre-commit yarn test ``` ```sh [bun] # .husky/pre-commit -тест булочки +bun run test ``` -::: \ No newline at end of file +::: diff --git a/docs/ru/migrate-from-v4.md b/docs/ru/migrate-from-v4.md index b240269b1..47afe1c43 100644 --- a/docs/ru/migrate-from-v4.md +++ b/docs/ru/migrate-from-v4.md @@ -15,7 +15,7 @@ Husky v4 Husky v9 -```shell +```sh # .husky/pre-commit # Обратите внимание, что теперь вы можете иметь команды в нескольких строках npm test // [!code hl] @@ -34,7 +34,7 @@ npm run foo // [!code hl] } ``` -```shell [.husky/pre-commit (v9)] +```sh [.husky/pre-commit (v9)] jest ``` @@ -52,7 +52,7 @@ jest } ``` -```shell [.husky/commit-msg (v9)] +```sh [.husky/commit-msg (v9)] commitlint --edit $1 ``` @@ -63,4 +63,4 @@ commitlint --edit $1 - `HUSKY_SKIP_HOOKS` заменен на `HUSKY`. - `HUSKY_SKIP_INSTALL` заменен на `HUSKY`. -- `HUSKY_GIT_PARAMS` удален. Вместо этого параметры Git следует использовать непосредственно в скриптах (например, `$1`). \ No newline at end of file +- `HUSKY_GIT_PARAMS` удален. Вместо этого параметры Git следует использовать непосредственно в скриптах (например, `$1`). diff --git a/docs/ru/troubleshoot.md b/docs/ru/troubleshoot.md index 84847607b..ea657e521 100644 --- a/docs/ru/troubleshoot.md +++ b/docs/ru/troubleshoot.md @@ -20,7 +20,7 @@ Git-хуки могут не работать с Yarn в Windows с исполь 1. Создайте `.husky/common.sh`: -```shell +```sh command_exists () { command -v "$1" >/dev/null 2>&1 } @@ -33,9 +33,9 @@ fi 2. Укажите его там, где выполняются команды Yarn: -```shell +```sh # .husky/pre-commit . .husky/common.sh yarn ... -``` \ No newline at end of file +``` diff --git a/docs/troubleshoot.md b/docs/troubleshoot.md index 76efb35e1..086f68ddd 100644 --- a/docs/troubleshoot.md +++ b/docs/troubleshoot.md @@ -20,7 +20,7 @@ Git hooks might fail with Yarn on Windows using Git Bash (`stdin is not a tty`). 1. Create `.husky/common.sh`: -```shell +```sh command_exists () { command -v "$1" >/dev/null 2>&1 } @@ -33,7 +33,7 @@ fi 2. Source it where Yarn commands are run: -```shell +```sh # .husky/pre-commit . .husky/common.sh diff --git a/docs/zh/get-started.md b/docs/zh/get-started.md index 1d03b798b..29e16ea87 100644 --- a/docs/zh/get-started.md +++ b/docs/zh/get-started.md @@ -4,21 +4,21 @@ ::: code-group -```shell [npm] +```sh [npm] npm install --save-dev husky ``` -```shell [pnpm] +```sh [pnpm] pnpm add --save-dev husky ``` -```shell [yarn] +```sh [yarn] yarn add --dev husky # 如果你的项目不是私有的,那么只需要安装 pinst yarn add --dev pinst ``` -```shell [bun] +```sh [bun] bun add --dev husky ``` @@ -30,20 +30,20 @@ bun add --dev husky ::: code-group -```shell [npm] +```sh [npm] npx husky init ``` -```shell [pnpm] +```sh [pnpm] pnpm exec husky init ``` -```shell [yarn] +```sh [yarn] # 由于特殊的注意事项和与其他包管理器的差异, # 请参考“如何使用”章节。 ``` -```shell [bun] +```sh [bun] bunx husky init ``` @@ -54,10 +54,9 @@ bunx husky init 恭喜你!你已经成功地用一个命令设置了你的第一个 Git 钩子 🎉。让我们测试一下: -```shell +```sh git commit -m "Keep calm and commit" # 测试脚本会在每次提交时运行 ``` _有关手动设置和更多信息,请参见 [如何使用](how-to.md) 章节_ - diff --git a/docs/zh/how-to.md b/docs/zh/how-to.md index f7d2bd23f..20ca1e50c 100644 --- a/docs/zh/how-to.md +++ b/docs/zh/how-to.md @@ -3,7 +3,8 @@ ## 添加新 Hook 添加 hook 与创建文件一样简单。可以通过你喜欢的编辑器、脚本或 echo 命令来实现。例如,在 Linux/macOS 中: -```shell + +```sh echo "npm test" > .husky/pre-commit ``` @@ -29,7 +30,7 @@ git commit -m "..." -n # 跳过 Git 钩子 对于没有使用此标识的命令,使用 HUSKY=0 来临时禁用钩子: -```shell +```sh HUSKY=0 git ... # 临时禁用所有 Git 钩子 git ... # 钩子会再次运行 ``` @@ -38,7 +39,7 @@ git ... # 钩子会再次运行 在一个较长的时间里禁用钩子(例如,在变基或者合并期间): -```shell +```sh export HUSKY=0 # 禁用所有 Git 钩子 git ... git ... @@ -97,7 +98,7 @@ console.log(husky()) 要测试一个钩子,将 `exit 1` 添加到钩子脚本以中止 Git 命令: -```shell +```sh # .husky/pre-commit # 你的 WIP 脚本 @@ -106,7 +107,7 @@ console.log(husky()) exit 1 ``` -```shell +```sh git commit -m "testing pre-commit code" # 提交不会被创建 ``` @@ -132,7 +133,7 @@ git commit -m "testing pre-commit code" 在你的 hook 脚本中,将目录切换回相关的子目录: -```shell +```sh # frontend/.husky/pre-commit cd frontend npm test @@ -144,11 +145,11 @@ npm test (使用钩子 `pre-commit` 和 NodeJS 的示例) 1. 为钩子创建一个入口: - ```shell + ```sh .husky/pre-commit ``` 2. 在文件中添加以下内容: - ```shell + ```sh node .husky/pre-commit.js ``` 3. 在 `.husky/pre-commit.js` 文件中: @@ -163,7 +164,7 @@ npm test 也就是说,如果你的团队不使用 Windows,你可以这样使用 Bash: -```shell +```sh # .husky/pre-commit bash << EOF @@ -188,14 +189,14 @@ EOF 例如,如果你有两个 Node 版本: -```shell +```sh ~/version-manager/Node-X/node ~/version-manager/Node-Y/node ``` 打开终端将初始化版本管理器,它将选择一个版本(比如 `Node-Y`)并预先设置其到 `PATH` 的路径: -```shell +```sh echo $PATH # 输出 ~/version-manager/Node-Y/:... @@ -203,7 +204,7 @@ echo $PATH 现在,Node 指向 `Node-Y`。切换到 `Node-X` 时会相应地改变 `PATH`: -```shell +```sh echo $PATH # 输出 ~/version-manager/Node-X/:... @@ -217,7 +218,7 @@ husky 在每个钩子之前都会执行 `~/.config/husky/init.sh`。将版本管 `nvm` 示例: -```shell +```sh # ~/.config/husky/init.sh export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # 加载 nvm @@ -225,7 +226,7 @@ export NVM_DIR="$HOME/.nvm" 或者,如果你的 shell 启动文件快速且轻量,也可以直接使用: -```shell +```sh # ~/.config/husky/init.sh . ~/.zshrc ``` @@ -303,24 +304,24 @@ bun run prepare ::: code-group -```shell [npm] +```sh [npm] # .husky/pre-commit npm test ``` -```shell [pnpm] +```sh [pnpm] # .husky/pre-commit pnpm test ``` -```shell [yarn] +```sh [yarn] # .husky/pre-commit yarn test ``` ```sh [bun] # .husky/pre-commit -bun test +bun run test ``` ::: diff --git a/docs/zh/migrate-from-v4.md b/docs/zh/migrate-from-v4.md index 05fc710b3..fda15d163 100644 --- a/docs/zh/migrate-from-v4.md +++ b/docs/zh/migrate-from-v4.md @@ -15,7 +15,7 @@ Husky v4 Husky v9 -```shell +```sh # .husky/pre-commit # 提示,你现在可以在多行中输入命令 npm test # [!code hl] @@ -34,7 +34,7 @@ npm run foo # [!code hl] } ``` -```shell [.husky/pre-commit (v9)] +```sh [.husky/pre-commit (v9)] # ... npx --no jest # 或者 @@ -55,7 +55,7 @@ yarn jest } ``` -```shell [.husky/commit-msg (v9)] +```sh [.husky/commit-msg (v9)] # ... npx --no -- commitlint --edit $1 # 或者 diff --git a/docs/zh/troubleshoot.md b/docs/zh/troubleshoot.md index 13ecf4d0e..7dcc95358 100644 --- a/docs/zh/troubleshoot.md +++ b/docs/zh/troubleshoot.md @@ -20,7 +20,7 @@ 1. 创建 `.husky/common.sh`: -```shell +```sh command_exists () { command -v "$1" >/dev/null 2>&1 } @@ -33,9 +33,9 @@ fi 1. 在运行 Yarn 命令的地方使用它: -```shell +```sh # .husky/pre-commit . "$(dirname -- "$0")/common.sh" yarn ... -``` \ No newline at end of file +```