Husky v9+ 在 Monorepo/全栈项目中的升级与配置

现象

当husky升级到9.x后安装提示出现husky - install command is DEPRECATED

在官网(github.com/typicode/hu...) 没有明确说明, 但它推荐使用新的方式:

该命令执行之后自动在package.json生成prepare脚本:

json 复制代码
{
  "scripts": {
    "prepare": "husky",
  },
}

也就是不需要我们手动去添加脚本,它自己实现了自动化,这对于.git.husky目录在同一目录下的表现是正常的,一般这样的结构都是纯前端项目,旧husky版本只需要升级到9.x,删除一下prepare脚本, 使用pnpm exec husky init重新init即可

解决方案

对于全栈项目或.git.husky目录不在同一目录下时, 解决方案也很简单,在旧husky命令中,删除掉install即可

原命令:

json 复制代码
{
  "scripts": {
    "prepare": "cd .. && husky install frontend/.husky",
  },
}

9.x新命令:

json 复制代码
{
  "scripts": {
    "prepare": "cd .. && husky frontend/.husky",
  },
}

之后使用pnpm i去验证即可:

验证git hook:

相关推荐
前端Hardy5 小时前
别再无脑用 `JSON.parse()` 了!这个安全漏洞你可能每天都在触发
前端·javascript·vue.js
前端Hardy5 小时前
别再让 `console.log` 上线了!它正在悄悄拖垮你的生产系统
前端·javascript·vue.js
青青家的小灰灰5 小时前
从入门到精通:Vue3 ref vs reactive 最佳实践与底层原理
前端·vue.js·面试
OpenTiny社区5 小时前
我的新同事是个AI:支持skill后,它用TinyVue搭项目还挺溜!
前端·vue.js·ai编程
心在飞扬6 小时前
MultiVector 多向量检索
前端·后端
用户39051332192886 小时前
async 函数返回的 Promise 状态何时变为 resolved
前端
李剑一6 小时前
大屏天气展示太普通?视觉升级!用 Canvas 做动态天气遮罩,雷阵雨效果直接封神
前端·vue.js·canvas
Lee川6 小时前
现代Web开发中的CSS继承、Flexbox布局与LocalStorage交互:从文档解析到实践应用
前端·css
炫饭第一名6 小时前
速通Canvas指北🦮——图形、文本与样式篇
前端·javascript·程序员
本末倒置1836 小时前
面向 Vue 开发者的 Next.js 快速入门指南
前端·vue.js