重生之我在公司写前端 | “博灵语音通知终端” | 提交规范

Husky

  • .husky/pre-commit:git 提交之前触发的钩子
  • .husky/commit-msg:git 提交信息写入后触发的钩子
# 安装 Husky
pnpm add -D husky
# 初始化 Husky (自动在 .husky/ 中创建 pre-commit 脚本,并更新 package.json 中的 prepare 脚本)
pnpm exec husky init

lint-staged

# 安装 lint-staged
pnpm add -D lint-staged

创建:lint-staged.config.js

export default {
  // 针对 JSON 和 Markdown 文件
  '*.{json,md}': ['prettier --write'],
  // 针对 JavaScript 和 TypeScript 文件
  '*.{js,ts}': ['eslint --fix', 'prettier --write'],
  // 针对 CSS 和 SCSS 文件
  '*.{css,scss}': ['stylelint --fix', 'prettier --write'],
  // 针对 Vue 和 HTML 文件
  '*.{vue,html}': ['stylelint --fix', 'eslint --fix', 'prettier --write'],
};

配置:.husky/pre-commit

npx lint-staged

commitlint

# 安装 commitlint
pnpm add -D @commitlint/cli @commitlint/config-conventional

创建:commitlint.config.js

export default {
  // 继承的规则集
  extends: ['@commitlint/config-conventional'],

  /*  规则配置 0 禁用 1 警告 2 错误 always 总是应用此规则 never 从不应用此规则 */
  rules: {
    // 提交类型枚举,git 提交 type 必须是以下类型
    'type-enum': [
      2,
      'always',
      [
        // 初始化提交
        'init',
        // 适用于构建系统或外部依赖的更改
        'build',
        // 用于日常维护或其他不涉及代码功能的更改
        'chore',
        // 持续集成(CI)相关的更改
        'ci',
        // 文档相关的更改
        'docs',
        // 新增功能
        'feat',
        // 修复 Bug
        'fix',
        // 性能优化
        'perf',
        // 代码重构
        'refactor',
        // 回滚提交,用于恢复先前的某次提交
        'revert',
        // 代码风格相关的更改
        'style',
        // 测试相关的更改
        'test',
      ],
    ],
    // 提交消息必须有 `type`
    'type-empty': [2, 'never'],
    // 关闭 scope 大小写强制
    'scope-case': [0],
    // `scope` 不能为空
    'scope-empty': [2, 'never'],
    // `subject` 不能为空
    'subject-empty': [2, 'never'],
    // 不强制 `subject` 的大小写
    'subject-case': [0],
    // `subject` 不得超过 50 个字符
    'subject-max-length': [2, 'always', 50],
  },
};

创建:.husky/commit-msg

npx commitlint --edit "$1"

结合上一篇文章,这篇文章根据上一篇文章的配置进行代码提交时进行代码格式化以及提交信息的校验。

老规矩哦!!!

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值