react 项目添加 simple-git-hooks/nano-staged

在 react 项目中, 添加简单的 husky 支持

01 安装相关依赖

一般会安装 nano-staged

yarn addd --dev nano-staged simple-git-hooks

02 添加 simple-git-hooks 配置

打开 package.json

  • 重要配置这里:simple-git-hooks
{
  "name": "simple-git-hooks-notes",
  "scripts": {
    "lint-fix": "eslint --fix",
    "format": "prettier --write"
  },
  "nano-staged": {
    "src/**/*.{ts,tsx}": [
      "bash -c tsc --noEmit",
      "npm run lint-fix",
      "npm run format"
    ]
  },
  "simple-git-hooks": {
    "pre-commit": "npx lint-staged --allow-empty",
    "post-merge": "yarn"
  },
  "devDependencies": {
    "lint-staged": "^15.3.0",
    "simple-git-hooks": "^2.13.0"
  }
}

03 修改文件

测试一下

npx simple-git-hooks

04 清理,重装 git hooks

这个步骤,适用于原来使用 lint-staged 改成 nano-staged 的情况

原来 lint-staged 的项目,如果未清理可能报 No valid configuration found 提示

# 第1次安装没有这个问题
rm -rf .git/hooks/pre-commit .git/hooks/post-merge
yarn add --dev simple-git-hooks
husky git message nano-staged