Files
husky/docs/ru/get-started.md

2.8 KiB

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ

::: code-group

npm install --save-dev husky
pnpm add --save-dev husky
yarn add --dev husky
# Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ pinst Π’ΠžΠ›Π¬ΠšΠž Ссли ваш ΠΏΠ°ΠΊΠ΅Ρ‚ Π½Π΅ являСтся Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ
yarn add --dev pinst
bun add --dev husky

:::

husky init (рСкомСндуСтся)

Команда init ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ настройку husky Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Она создаСт скрипт pre-commit Π² .husky/ ΠΈ обновляСт скрипт prepare Π² package.json. ИзмСнСния ΠΌΠΎΠΆΠ½ΠΎ внСсти ΠΏΠΎΠ·ΠΆΠ΅ Π² соотвСтствии с вашим Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ процСссом.

::: code-group

npx husky init
pnpm exec husky init
# Из-Π·Π° особых ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΎΠΊ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°ΠΌΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²,
# ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Ρ€Π°Π·Π΄Π΅Π»Ρƒ «Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΒ».
bunx husky init

:::

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅

ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΠ΅ΠΌ! Π’Ρ‹ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ настроили свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Git hook всСго ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ πŸŽ‰. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ:

git commit -m "Keep calm and commit"
# тСстовый скрипт Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅

НСсколько слов...

Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΈΠ½Π³

Π₯отя Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Ρ‹ просто запускаСтС нСсколько ΠΊΠΎΠΌΠ°Π½Π΄ npm run ΠΈΠ»ΠΈ npx Π² своих Ρ…ΡƒΠΊΠ°Ρ…, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ POSIX для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов.

НапримСр, Π²ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈΠ½Ρ‚ΠΈΠ½Π³ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ всСго Π΄Π²Π΅ строки ΠΊΠΎΠ΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΈ Π±Π΅Π· внСшнСй зависимости:

# .husky/pre-commit
prettier $(git diff --cached --name-only --diff-filter=ACMR | sed 's| |\\ |g') --write --ignore-unknown
git update-index --again

Π­Ρ‚ΠΎ простой, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ lint-staged, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ большС.

ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ…ΡƒΠΊΠΎΠ²

Husky Π½Π΅ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ…ΡƒΠΊΠΈ Git. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ глобально (HUSKY=0) ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ, Ссли Π½ΡƒΠΆΠ½ΠΎ. Π‘ΠΌ. Ρ€Π°Π·Π΄Π΅Π» Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ для Ρ€ΡƒΡ‡Π½ΠΎΠΉ настройки ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.