在angularJS 1.x项目中添加husky

74 阅读1分钟

1.执行npx husky-init install

npx husky-init install

执行此命令后会在根目录下生成个一个.husky目录,在这个目录下面会有一个pre-commit文件

2.安装commitlint

npm add @commitlint/config-conventional @commitlint/cli -D

3.添加.husky/commit-msg

npx husky add .husky/commit-msg

修改文件命令行为:

npm run  commitlint

4.修改.husky/pre-commit 内容为空

5.在package.json同级目录新建:commitlint.config.js

module.exports = {
   extends: ['@commitlint/config-conventional'],
   rules: {
     'type-enum': [ // type枚举
         2, 'always',
         [
           'build', // 编译相关的修改,例如发布版本、对项目构建或者依赖的改动
           'feat', // 新功能
           'fix', // 修补bug
           'docs', // 文档修改
           'style', // 代码格式修改, 注意不是 css 修改
           'refactor', // 重构
           'perf', // 优化相关,比如提升性能、体验
           'test', // 测试用例修改
           'revert', // 代码回滚
           'ci', // 持续集成修改
           'config', // 配置修改
           'chore', // 其他改动
         ],
     ],
     'type-empty': [2, 'never'], // never: type不能为空; always: type必须为空
     'type-case': [0, 'always', 'lower-case'], // type必须小写,upper-case大写,camel-case小驼峰,kebab-case短横线,pascal-case大驼峰,等等
     'scope-empty': [0],
     'scope-case': [0],
     'subject-empty': [2, 'never'], // subject不能为空
     'subject-case': [0],
     'subject-full-stop': [0, 'never', '.'], // subject以.为结束标记
     'header-max-length': [2, 'always', 72], // header最长72
     'body-leading-blank': [0], // body换行
     'footer-leading-blank': [0, 'always'], // footer以空行开头
   }
 }

6.修改package.json的文件 添加commitlint命令

  "prepare": "husky install",
 "commitlint": "commitlint --config commitlint.config.js -e -V"

至此,husky配置就结束了,在代码提交时,git注释必须按照要求来书写,不然会报错,提交不上去。

注意:测试基于node 17.0.0