-
-
Save webbertakken/c2b457d39224baf701c8de1589b61555 to your computer and use it in GitHub Desktop.
{ | |
// 1. Use these exact dependencies | |
"devDependencies": { | |
"husky": "=8.0.3", | |
"lint-staged": "=13.2.1" | |
} | |
// 2. Make sure it installs when people install dependencies | |
"scripts": { | |
"prepare": "husky install" | |
} | |
// 3. Configure checks to run simultaneously (only 1 that writes) | |
"lint-staged": { | |
"*.@(ts|tsx)": "bash -c 'tsc --skipLibCheck --noEmit'", // the `bash -c` part is to make sure tsc picks up tsconfig.json (See: https://github.com/okonet/lint-staged/issues/825#issuecomment-674575655) | |
"*.@(ts|tsx|js|jsx)": "eslint --max-warnings 0", // if you want to fail on warnings too, otherwise simply `eslint` | |
"*.@(ts|tsx|js|jsx|json|jsonc|json5|md|mdx|yaml|yml)": "prettier --write" // automatically fix formatting errors | |
} | |
} |
# .husky/pre-commit | |
#!/usr/bin/env sh | |
. "$(dirname -- "$0")/_/husky.sh" | |
# If tty is available, apply fix from https://github.com/typicode/husky/issues/968#issuecomment-1176848345 | |
if sh -c ": >/dev/tty" >/dev/null 2>/dev/null; then exec >/dev/tty 2>&1; fi | |
# Heavy checks should only be done on staged files | |
yarn lint-staged |
Thanks for reporting back your findings @shayl29. I'll have a go with it in the coming weeks and see if it's worth updating the original above. The fix looks useful.
Do you know why Webstorm was running the pre-commit hook using a tty?
My Terminal settings are I think default apart from using the more modern Powershell, which I think should be used by everyone instead of using git bash or Mingw, so that we can move forward as a community.
Does not work on WSL with Laravel Sail
error.mp4
@mreduar did you end up fixing this issue? What worked for you? Anything I can add here?
Unfortunately, I still haven’t found any solution that fixes this issue, even after all these time. For a long time now, I’ve just been running the commands without any colors or formatting as a workaround. If you or anyone else finds a proper fix, I’d really appreciate any updates here. Thanks!
After testing this further, the above solution works, but Github Desktop also messes things around.
Here is another check needs that could be added (for mega ultra 99% working solution)