๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Vue

๐Ÿซข husky์™€ eslint ์ ์šฉ

by frontChoi 2024. 5. 3.
๋ฐ˜์‘ํ˜•

๐Ÿ‘ฒ husky ์‚ฌ์šฉ์ด์œ 

์ตœ๊ทผ ์‚ฌ๋žŒ์ด ๋“ค์–ด์˜ค๋ฉด์„œ, eslint ๊ฐ™์€ ๊ฒƒ์ด ์ž˜ ์ง€์ผœ์ง€์ง€ ์•Š๊ณ ์žˆ์—ˆ๋‹ค. ์ด ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ๋Š” ์ข€ ๋ถ€๋„๋Ÿฝ๊ธดํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด์„œ ์ƒˆ๋กœ ์˜ค์‹  ๋ถ„์ด ์ง€๋‚œ๋ฒˆ ํšŒ์‚ฌ์—์„œ๋Š” husky๋ผ๋Š” ๊ฒƒ์„ ์ด์šฉํ–ˆ๋‹ค๊ณ  ํ–ˆ๋‹ค. ์•Œ์•„๋ณด๋‹ˆ ์œ ์šฉํ•œ ๋„๊ตฌ์˜€๋‹ค.

๐Ÿ‘ฉ‍๐ŸŒพ  husky๋ž€?

git ์ด๋ฒคํŠธ๊ฐ€ ์ผ์–ด๋‚˜๊ธฐ ์ „/ํ›„๋กœ eslint๊ฐ™์€ ๊ฒƒ์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‹ค.

 

๐Ÿง‘‍๐Ÿณ  ์„ค์น˜

์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์„ค์น˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

npx husky-init -y && npm install

 

๐Ÿง‘‍๐ŸŒพ   pre-commit

์ปค๋ฐ‹์„ ํ•˜๊ธฐ์ „์— ํŠน์ • ๋™์ž‘์„ ์ผ์œผํ‚ฌ์ˆ˜ ์žˆ๋‹ค. ํ˜„์žฌ ์‚ฌ์ด๋“œํ”„๋กœ์ ํŠธ์—์„œ๋Š” , main branch์— ์ปค๋ฐ‹์„ ํ•˜๋ฉด, lint๋ฅผ ๋™์ž‘ํ•˜๋„๋ก ํ•˜์˜€๋‹ค.

 

#!/usr/bin/env sh
branch=$(git symbolic-ref --short HEAD)
echo "branch name :  ${branch}"
if [ "main" == "$branch" ]; then
    . "$(dirname -- "$0")/_/husky.sh"
    echo "branch name :  ${branch}"
    npm run lint --fix
fi

 

๐Ÿ‘จ‍๐ŸŽ“ pre-push

์ž‘์—…์„ ํ•˜๋‹ค๋ณด๋‹ˆ, ๋งŒ์•ฝ merge๋ฅผ ํ•˜๊ฒŒ ๋˜๊ณ , ์ •์ƒ์ ์œผ๋กœ ๋ณ‘ํ•ฉ๋œ๋‹ค๋ฉด, commit์„ ์•ˆ ํ• ํ…๋ฐ,,, ๊ทธ๋Ÿด๋•Œ๋Š” pre-push ์—๋„ ๋™์ž‘์„ ๊ฑธ์–ด์ฃผ๋Š”๊ฒŒ ๋‚ซ๋‹ค๊ณ  ํŒ๋‹จํ•˜์—ฌ ์ถ”๊ฐ€ํ•˜์˜€๋‹ค. ๋กœ์ง์€ pre-commit๊ณผ ๊ฐ™๋‹ค

#!/usr/bin/env sh
branch=$(git symbolic-ref --short HEAD)
echo "branch name :  ${branch}"
if [ "main" == "$branch" ]; then
    . "$(dirname -- "$0")/_/husky.sh"
    echo "branch name :  ${branch}"
    npm run lint --fix
fi
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€