Issue
I am trying to use Husky with Eslint. I’m trying to create a pre-commit (lint and husky) script that’ll prevent commits with added files if they have lint errors. However, my project isn’t in a mono-repo format, but rather a custom format. In other words, my .husky folder and the package.json file are both in a sub-directory called “react-client” (seen below). This is problematic because husky always assumes that the .husky folder is in the root folder with the .git folder, but in this case it’s in the “react-client” folder.
Everything that I read on this matter led me to these steps for the husky docs (below), but that didn’t work either. https://typicode.github.io/husky/#/?id=custom-directory
I keep receiving this error message
I’m thinking that I need more than “cd react client” and “npm test” in my .husky pre-commit file. Or that I might need to make changes to my .git folder files. Also, I believe that my package.json scripts (below) could be incorrect/need more configurations
Solution
I wasn't adding a file in the correct directory. I had to add a pre-commit file with no file extension under the .husky folder with the following contents:
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
cd ./ClientApp && npx lint-staged
IMPORTANT!! - MAKE SURE THAT YOU ADD THE PRE-COMMIT FILE UNDER THE .HUSKY FOLDER. For me, vscode was adding the pre-commit file to the "_" folder, (which is inside of the husky folder). Instead, Vscode should've just added the pre-commit file directly inside of the .husky folder.
Answered By - Chris Rose Answer Checked By - Marilyn (WPSolving Volunteer)