问题描述
husky+lint-staged在提交代码时候不走lint-staged脚本,导致eslint、prettier相关检查格式化不生效
问题原因
husky v9以上版本对脚本进行了更新,体积更小,操作更加简洁,可读性更好,如果更新了v9版本不能在用老方案生成钩子
如何迁移
迁移步骤:
+代表新增 -代表移除
- package.json
{
"scripts": {
- "prepare": "husky install"
+ "prepare": "husky"
}
}
- .husky/pre-commit
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
- 如果您用作husky模块:
- const husky = require('husky')
- // ...
+ import husky from 'husky'
+ console.log(husky())
v9之前添加新钩子流程
package scripts脚本添加prepare钩子,执行husky install
npm pkg set scripts.prepare="husky install"
执行脚本,自动创建.husky/_git钩子相关文件
npm run prepare
添加pre-commit钩子,脚本为
npm test
npx husky add .husky/pre-commit "npm test"
v9添加新钩子流程
只需执行一行
npx husky init
,就会完成以上三步操作
同时注意之前是手动编写prepare:"husky install"
,现在会自动生成prepare:"husky"
以上大部分来自官方迁移教程,点击跳转链接
如果解决了让你 正在挠头捉急的问题,辛苦点个赞吧❤,谢啦!!!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。