commitlint+husky+lint-staged在webpack中的使用

112 阅读1分钟

配置脚本

"scripts": {
    "prepare": "husky install",
    "commitlint": "commitlint -es -V",
    "lint-staged": "lint-staged"
  },

1.安装commiitlint

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

commitlint.config.js配置

module.exports = {
  extends: ['@commitlint/config-conventional'],
  rules: {
    'type-enum': [
      2,
      'always',
      [
        'build',
        'chore',
        'ci',
        'docs',
        'feat',
        'fix',
        'perf',
        'refactor',
        'revert',
        'style',
        'test',
      ],
    ],
  },
}

2.安装husky

npm i -D husky

执行

npm run prepare

添加pre-commit和commit-msg hook

npx husky add .husky/commit-msg
npx husky add .husky/pre-commit

.husky/commit-msg添加 npm run commit-msg命令

.husky/pre-commit添加 npm run lint-staged命令

3.安装lint-staged

npm i -D lint-staged

在package.json根配置lint-staged

"lint-staged": {
    "*.{js}": ["相关lint命令"]
},