ဘာကြောင့် conventional git commit ကိုသုံးသင့်တာလည်း?
ကျွန်တော့်တို့အနေနဲ့ project တွေကို github ပေါ်မာတင်တဲ့ အခါ git commit တွေကို ပေါက်ကရမဖြစ်ဖို့လိုပါတယ်။ ကျွန်တော်တို့အနေနဲ့ git commit တွေကို စနစ်တကျရေးသားဖို့လိုပါမယ်။ ဒါမှသာ ဘယ် commit မှာတော့ ဘာတွေ လုပ်ခဲ့လည်း ဆိုတာကို သိရမာ ဖြစ်ပါတယ်။
ကျွန်တော်တို့ အနေနဲ့ ကိုယ့် project မှာ commit lint cli နဲ့ conventional commit message ကို အသုံးပြုဖို့ setup လုပ်ပါမယ်။ ကျွန်တော်ကတော့ Next.js project မာ setup လုပ်ပြမာ ဖြစ်ပါတယ်။
ပထမဆုံးအနေနဲ့ husky ကို install လုပ်ပါမယ်။
Husky ဆိုတာက project တခုရဲ့ commit message တွေ, code တွေ, testing တွေကို commit လုပ်တာတွေ, pushing လုပ်တာတွေပေါ်မာမူတည်ပီး အလုပ်လုပ်ပေးတဲ့ကြားခံဖြစ်ပါတယ်။
husky
ကို project
မာ initialize
လုပ်ပါမယ်
Initialize လုပ်ပီးရင် package.json က script မာ
"prepare": "husky"
ဆိုတာထည့်ပါမယ်။ ပီးတဲ့အခါမှာ git initialize ကို တဆင့်ချင်းလုပ်သွား ပါမယ်....
ပိးရင်တော့ commit-lint cli နဲ့ conventional commit package ကို install လုပ်ပါမယ်။
Install လုပ်ပီးရင်တော့ conventional configuration file တည်ဆောက်ပါမယ််။ ကိုယ်ဘာသာ ကြိုက်ရာနည်းနဲ့ဆောက်လို့ရပါတယ်။ ကျတော်ကတော့ command line ကနေ ဆောက်ပါမယ်။
echo "export default {extends: ['@commitlint/config-conventional']};" > .commitlintrc.ts
Script run ပီးရင် .commitlintrc.ts ဆိုတဲ့ file တစ်ခု project ထဲမာ ရောက်နေပါလိမ့်မယ်။ ထိုဖိုင်ထဲ မာ rule တွေသက်မှတ်ထားလို့ရပါတယ်။ ဒီပို့စ်မာတော့ rule တွေ ကို အသုံးပြုပြမှာမဟုတ်ပါဘူး။
Rule တွေအကြောင်းကို ဒီလင့်ကနေ သွားကြည့်လို့ရပါတယ်။ Commit message တွေအကြောင်းကိုလည်း ဒီလင့်ကနေသွားကြည့်လို့ရပါတယ်
ပီးရင်တော့ husky နဲ့ချိတ်ပါမယ် commitlint-cli ကို
Husky မှာ configure လုပ်ပီးပီးဆိုတော့ စမ်းကြည့်လိုက်ရအောင်
တကယ်လို့ commit message
က ပေါက်ကရဖြစ်ခဲ့မယ်ဆို အောက်က error တက်ပါလိမ့်မယ်။