vsCode issue with husky

3.9k Views Asked by At

I have configured husky in my project. It is running the pre-commit hook with "lint-staged" to use "prettier" to format the code before each commit. The configuration works fine when I use the terminal to invoke the git commit.

However, if I commit the files using vs code source control panel to commit, it just commits without running the pre-commit hook. I am using windows 10. pre-commit file:

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

npx "lint-staged"

package.json for "lint-staged"

"lint-staged":{
    "*.{js,json,css,md}": [
        "prettier --write"
    ]
}

vscode source control panel

vscode source control panel

How do I solve this to invoke a pre-commit hook each time when git commit is called though it is from vscode?

3

There are 3 best solutions below

1
On

Can you show the logs from vscode? To know how to do that you can look up what others did on this similar issue.

I think that if you modify the husky command and make it look like this:

"husky": {
  "hooks": {
    "pre-commit": "npx lint-staged"
  }
}

It will work.

0
On

It works fine on the latest version of vsCode(version 1.81.0).

0
On

Solution that helped me on ubuntu 23.04: uninstall vscode and install it via downloading .deb package from their site. Originally I installed it via ubuntu software