husky可以讓我們向項(xiàng)目中方便添加git hooks
- 將husky添加到項(xiàng)目的開發(fā)依賴中
pnpm add husky -D
- 在packgae.json中添加prepare腳本
"scripts": {
"prepare": "husky install"
},
prepare腳本會在pnpm install之后自動執(zhí)行。也就是說當(dāng)我們執(zhí)行pnpm install安裝完項(xiàng)目依賴后會執(zhí)行 husky install命令,該命令會創(chuàng)建.husky目錄并指定該目錄為git hooks所在的目錄吕朵。
- 添加git hooks嗅榕,運(yùn)行一下命令創(chuàng)建git hooks
npx husky add .husky/pre-commit "npx lint-staged"
運(yùn)行完該命令后我們會看到.husky目錄下新增了一個名為pre-commit的shell腳本。
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
echo "========= 執(zhí)行pre-commit操作 ======="
npx lint-staged
在項(xiàng)目中我們會使用commit-msg這個git hook來校驗(yàn)我們commit時(shí)添加的備注信息是否符合規(guī)范火焰。
npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'
運(yùn)行完該命令后我們會看到.husky目錄下新增了一個名為commit-msg的shell腳本劲装。
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
echo "========= 執(zhí)行commit-msg校驗(yàn) ======="
npx --no-install commitlint --edit "$1"
- 配置完成后,需安裝@commitlint/cli和@commitlint/config-conventional兩個插件(代碼提交檢測)
pnpm add @commitlint/cli @commitlint/config-conventional -D
自動化工具的使用
mrm
它可以一鍵安裝基于 JavaScript 項(xiàng)目所需的一切,詳細(xì)的請參考官方文檔昌简。
git init && npx mrm package editorconfig gitignore eslint prettier lint-staged