Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

326
Views
What is the correct way to add commitlint to the commit-msg hook in husky?

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"
  }
}
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

It seems like there was an issue running npx husky add .husky/commit-msg 'npx --no-install commitlint --edit $1' because the command part was more than one word. A workaround I found was to split it up into two parts.

1 - Call npx husky add .husky/commit-msg

This created an empty/ default file in the right place with the following content:

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

undefined

2 - Then I just replaced undefined with npx --no-install commitlint --edit $1 and it works

This part of the commitlint docs helped me understand that doing it that way was okay

Hope this helps anyone else who encounters the same issue!

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!