Misc
配置 Pre-Commit
在当前仓库中配置 Husky 预提交钩子,集成 lint-staged(Prettier)、类型检查和测试。
配置预提交钩子
本技能会配置什么
- Husky 预提交钩子
- lint-staged,对所有已暂存的文件运行 Prettier
- Prettier 配置(若缺失)
- 在预提交钩子中加入 typecheck 和 test 脚本
步骤
1. 检测包管理器
检查 package-lock.json(npm)、pnpm-lock.yaml(pnpm)、yarn.lock(yarn)、bun.lockb(bun)。
2. 安装依赖
作为 devDependencies 安装:husky lint-staged prettier
3. 初始化 Husky
npx husky init
4. 创建 .husky/pre-commit
npx lint-staged
npm run typecheck
npm run test
5. 创建 .lintstagedrc
{
"*": "prettier --ignore-unknown --write"
}
6. 创建 .prettierrc(若缺失)
{
"useTabs": false,
"tabWidth": 2,
"printWidth": 80,
"singleQuote": false,
"trailingComma": "es5",
"semi": true,
"arrowParens": "always"
}
7. 验证
-
.husky/pre-commit已存在且可执行 -
.lintstagedrc已存在 - package.json 中的
prepare脚本为"husky" -
prettier配置已存在
8. 提交
暂存所有已变更/已创建的文件,并以如下提交信息提交:Add pre-commit hooks (husky + lint-staged + prettier)