Skip to content

Latest commit

History

History
72 lines (55 loc) 路 1.37 KB

migrate-from-v4.md

File metadata and controls

72 lines (55 loc) 路 1.37 KB

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

// package.json
{
  "hooks": {
    "pre-commit": "npm test && npm run foo" // [!code hl]
  }
}

Husky v9

# .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:

::: code-group

{
  "hooks": {
    "pre-commit": "jest"
  }
}
# ...
npx --no jest
# or
yarn jest

:::

HUSKY_GIT_PARAMS environment variable is replaced now by native params $1, $2, etc.

::: code-group

{
  "hooks": {
    "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
  }
}
# ...
npx --no -- commitlint --edit $1
# or
yarn commitlint --edit $1

:::

Other environment variables changes:

  • HUSKY_SKIP_HOOKS is replaced by HUSKY.
  • HUSKY_SKIP_INSTALL is replaced by HUSKY.
  • 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.