gpt4 book ai didi

node.js - 将 commitlint 添加到 husky 中的 commit-msg 钩子(Hook)的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-04 07:49:07 32 4
gpt4 key购买 nike

我有一个角度项目,我想在其中强制执行常规提交。我一直未能成功使用正确的钩子(Hook)来防止错误的钩子(Hook)。
我从 this tutorial 开始,它说在 package.json 中添加以下内容:

{
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
}
这不起作用(它仍然允许错误提交)所以我做了一些研究并发现 this article它说上面是针对 husky 4 的,对于 husky 5 我应该运行这个命令:
npx husky add .husky/commit-msg 'npx commitlint --edit $1'
据我所知, commitlint official docs说以同样的方式做。但是,当我运行它时,我得到了这个不做任何事情的奇怪提示:
PS C:\...\MyProj> npx husky add .husky/commit-msg 'npx --no-install commitlint --edit $1'
Usage
husky install [dir] (default: .husky)
husky uninstall
husky set|add <file> [cmd]
这只是令人困惑,因为我写的实际上是在提示的第三行之后。
有没有人经历过这个并且可以帮助我了解我需要做什么?
package.json 中的相关部分:
"scripts": {
"postinstall": "husky install"
},
"private": true,
"devDependencies": {
"@commitlint/cli": "^12.1.1",
"@commitlint/config-conventional": "^12.1.1",
"husky": "^6.0.0"
}
}

最佳答案

运行 npx husky add .husky/commit-msg 'npx --no-install commitlint --edit $1' 似乎有问题因为命令部分不止一个字。我发现的一种解决方法是将其分成两部分。
1 - 调用 npx husky add .husky/commit-msg这在正确的位置创建了一个空/默认文件,其中包含以下内容:

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

undefined

2 - 然后我只是替换了 undefined npx --no-install commitlint --edit $1它有效
This part of the commitlint docs帮助我理解这样做是可以的
希望这可以帮助遇到同样问题的其他人!

关于node.js - 将 commitlint 添加到 husky 中的 commit-msg 钩子(Hook)的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67074097/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com