个人笔记

54 阅读1分钟

commitlint配置commit msg,用husky执行检查

npm install --save-dev husky

npx husky init

# Add commit message linting to commit-msg hook
echo "npx --no -- commitlint --edit \$1" > .husky/commit-msg
npm install --save-dev @commitlint/config-conventional @commitlint/cli

添加commitlint.config.js

module.exports = {
  extends: ['@commitlint/config-conventional'],
  rules: {
    'type-enum': [
      2,
      'always',
      [
        'feat', // 新功能(feature)
        'fix', // 修复bug
        'docs', // 修改文档
        'style', // 修改代码格式,不影响代码逻辑
        'refactor', // 代码重构,理论上不影响功能逻辑
        'test', // 修改测试用例
        'build', // 构建或其他工具的变动(如webpack)
        'revert', // 还原以前的提交
        'merge' // 分支代码合并
      ]
    ]
  }
}

lint-stage检查eslint

# 安装lint-stage
npm install --save-dev lint-staged
# 在.husky/pre-commit添加npm run lint-staged命令
npx husky add .husky/pre-commit "npm run lint-staged"
# 在package.json里的scripts里添加执行lint-staged命令
"lint-staged": "lint-staged"
# 在package.json里添加lint-staged配置
"lint-staged": {
    "(pages|store)/**/*.{vue,js}": [
      "prettier --write",
      "eslint --fix"
    ]
  },