I have an angular project where I want to enforce conventional commits. I have not been able to successfully had the right hook to prevent incorrect hooks.
I started with this tutorial, where it said to add the following to package.json:
{
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
}
This did not work (it still let in bad commits) so I did some research and found this article where it said that the above is for husky 4, and for husky 5 I should run this command:
npx husky add .husky/commit-msg 'npx commitlint --edit $1'
From what I can tell, the commitlint official docs say to do it the same way. However, when I run it, I get this strange prompt that does not do anything:
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]
This is just confusing, because what I have written actually follows the third line of the prompt.
Has anyone been through this and can help me understand what I need to do?
Relevant parts from package.json:
"scripts": {
"postinstall": "husky install"
},
"private": true,
"devDependencies": {
"@commitlint/cli": "^12.1.1",
"@commitlint/config-conventional": "^12.1.1",
"husky": "^6.0.0"
}
}