husky 是一個 Git Hook 工具--主要實現提交前 eslint 校驗和 commit 信息的規范校驗-對統一團隊規范很有幫助

原文
https://blog.csdn.net/huangpb123/article/details/102690412
用 husky 和 prettier 保證團隊代碼格式一致性
http://www.lxweimin.com/p/1cb5d9d670f2

husky 是一個 Git Hook 工具。本文主要實現提交前 eslint 校驗和 commit 信息的規范校驗,-對統一團隊規范很有幫助

  1. 安裝 husky,lint-staged,@commitlint/cli,@commitlint/config-conventional 依賴
    lint-staged: 用于實現每次提交只檢查本次提交所修改的文件。
npm i -D husky lint-staged @commitlint/cli @commitlint/config-conventional

注意:一定要使用 npm 安裝 eslint 和 husky,因為在 windows 操作系統下, 用 yarn 安裝依賴,不會觸發 husky pre-commit 鉤子命令。

  1. 創建 .huskyrc
{
  "hooks": {
    "pre-commit": "lint-staged",
    "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
  }
}
  1. 創建 .lintstagedrc
{
  "src/**/*.js": "eslint"
}

設置 fix 可以自動修復錯誤:

{
   "src/**/*.js": ["eslint --fix", "git add"]
}

或者使用下面的配置,自動格式化代碼(謹慎使用):

{
   "src/**/*.js": ["prettier --write", "git add"]
}
  1. 創建 commitlint.config.js
module.exports = {
  extends: ['@commitlint/config-conventional'],
  rules: {
    'type-enum': [
        2,
        'always',
        [
        'feat', // 新功能(feature)
        'fix', // 修補bug
        'docs', // 文檔(documentation)
        'style', // 格式(不影響代碼運行的變動)
        'refactor', // 重構(即不是新增功能,也不是修改bug的代碼變動)
        'test', // 增加測試
        'revert', // 回滾
        'config', // 構建過程或輔助工具的變動
        'chore', // 其他改動
        ],
    ],
    'type-empty': [2, 'never'], // 提交不符合規范時,也可以提交,但是會有警告
    'subject-empty': [2, 'never'], // 提交不符合規范時,也可以提交,但是會有警告
    'subject-full-stop': [0, 'never'],
    'subject-case': [0, 'never'],
  }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。