Migrate from v4
If you were calling package.json
scripts using npm
or yarn
, you can simply copy your commands from your config file to the corresponding hook:
Husky v4
json
// package.json
{
"hooks": {
"pre-commit": "npm test && npm run foo"
}
}
Husky v9
shell
# .husky/pre-commit
# Note that you can now have commands on multiple lines
npm test // [!code hl]
npm run foo // [!code hl]
If you were calling locally installed binaries, you need to run them via your package manager now:
js
{
"hooks": {
"pre-commit": "jest"
}
}
shell
# ...
npx --no jest
# or
yarn jest
HUSKY_GIT_PARAMS
environment variable is replaced now by native params $1
, $2
, etc.
js
{
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
}
shell
# ...
npx --no -- commitlint --edit $1
# or
yarn commitlint --edit $1
Other environment variables changes:
HUSKY_SKIP_HOOKS
is replaced byHUSKY
.HUSKY_SKIP_INSTALL
is replaced byHUSKY
.HUSKY_GIT_PARAMS
is removed. Instead Git parameters should be used directly in scripts (e.g.$1
).PATH
for locally installed tools is not automatically set anymore. You'll need to use your package manager to run them.