从 v4 迁移
如果你使用 npm 或 yarn 调用 package.json 脚本,你可以简单地将命令从配置文件复制到相应的钩子:
Husky v4
json
// package.json
{
"hooks": {
"pre-commit": "npm test && npm run foo"
}
}Husky v9
shell
# .husky/pre-commit
# 提示,你现在可以在多行中输入命令
npm test
npm run foo如果你想调用本地安装的二进制文件,现在你需要通过包管理器运行它们:
js
{
"hooks": {
"pre-commit": "jest"
}
}shell
# ...
npx --no jest
# 或者
yarn jestHUSKY_GIT_PARAMS 环境变量现在替换成原生参数 $1、$2。
js
{
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
}shell
# ...
npx --no -- commitlint --edit $1
# 或者
yarn commitlint --edit $1其他环境变量的变化:
HUSKY_SKIP_HOOKS替换成HUSKY.HUSKY_SKIP_INSTALL替换成HUSKY.HUSKY_GIT_PARAMS被移除。取而代之的是 Git 参数应该直接在脚本中使用(例如$1)。- 本地安装工具的
PATH不再自动设置,你需要使用包管理器来运行它们。