讓你的git message更加規(guī)范

前言

規(guī)范比業(yè)務(wù)開發(fā)搬磚更為重要,沒有一個(gè)好的編碼規(guī)范,維護(hù)老的代碼或者是編寫新的代碼都非常痛苦

Eslint與prettier

大大小小也做過了好幾個(gè)項(xiàng)目,每個(gè)項(xiàng)目都要做eslint校驗(yàn),所以我封裝了一個(gè)npm包以后直接安裝引入即可

yarn add osdoc-lint -D
yarn add prettier
  • 新建.eslintrc.js
module.exports = {
  extends: [require.resolve('osdoc-lint/dist/eslint')],
  rules: {
    'react/require-default-props': 'off',// 也可以手動(dòng)覆蓋
  },
};

  • 新建.prettierrc.js
const lint = require('osdoc-lint');
module.exports = {
  ...lint.prettier,
};

這樣省去了配置eslint規(guī)則都麻煩

git message校驗(yàn)

  • 進(jìn)行pre-commit代碼規(guī)范檢測
yarn add husky lint-staged --dev

修改package.json

"lint-staged": {
  "components/**/*.ts?(x)": [
    "prettier --write",
    "eslint --fix",
    "git add"
  ],
},
"husky": {
  "hooks": {
    "pre-commit": "lint-staged"
  }
}
  • 進(jìn)行 Commit Message 檢測
yarn add @commitlint/cli @commitlint/config-conventional commitizen cz-conventional-changelog --dev

新增.commitlintrc.js寫入以下內(nèi)容

module.exports = { extends: ['@commitlint/config-conventional'] };

修改package.json


"scripts": {
  "commit": "git-cz",
}

"husky": {
  "hooks": {
    "commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
    "pre-commit": "lint-staged"
  }
},
"config": {
  "commitizen": {
    "path": "cz-conventional-changelog"
  }
}

后面提交代碼的時(shí)候使用yarn commit代替git commit

  • 測試
image

選擇提交分類后回車進(jìn)行下一步

然后依次進(jìn)行下一步,如果有問題,會(huì)自動(dòng)排出。

image

這里有提示不符合規(guī)則的代碼,修復(fù)并重新提交即可

檢查完成之后會(huì)成功提交

image

到次,配置工作就完成了。

關(guān)于

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容