I’m happy to announce the release of husky 5 ๐ ๐บ woof!
During the past years, husky has grown in complexity. With this version, I wanted to go back to something simpler, more flexible and closer to the metal.
You can use husky 5 in your Open Source projects today.
Thanks for your support and feedback. I hope you’ll enjoy this release <3
https://github.com/typicode/husky
Faster and smaller
Husky 5 is closer to Git and has a lot less abstractions. It makes it not only simpler to understand but also very fast and small with zero dependencies.
Time spent to run a simple echo "hello world"
pre-commit hook:
husky 4: ~0.50s
husky 5: ~0.01s
Installation size with dependencies:
husky 4: ~1.00MB with 47 packages
husky 5: ~0.02MB with 0 packages
Optional install
With husky 4, hooks were automatically installed. With husky 5, you have the choice and it’s explicit.
You can keep the previous behaviour (recommended) by adding a postinstall
script:
// package.json
{
"private": true,
"scripts": {
"postinstall": "husky install"
}
}
If you prefer to manually install husky, omit the above postinstall
script and just run in your terminal:
# Manual install
$ npx husky install
$ yarn husky install
Config
Previously, hooks were defined in package.json
or .huskyrc
. Now they’re defined directly in their corresponding hook file. Overhead is reduced and scripting is easier.
# .husky/pre-commit
# ...
yarn lint-staged
They can also be put in any subdirectory. For example in .config
:
# .config/husky/pre-commit
$ husky install .config/husky
$ husky add .config/husky/pre-commit "npm test"
How to migrate
A new doc site has been created with a dedicated section to migrating hooks from husky 4 to 5:
https://typicode.github.io/husky
If you have many projects using husky 4, you can use husky-4-to-5
CLI to do it automatically:
https://github.com/typicode/husky-4-to-5
There are some caveats so just copying your previous config may not work.
License
For a limited time, husky 5 will be released under License Zero’s Parity License. It will be MIT again later.
Free for Open Source โค๏ธ
The Parity License is an Open Source friendly license.
So if you’re using husky in an Open Source project, this new license doesn’t affect you.
You’re free to use husky 5 today and I’m glad if it can help you in your day to day work.
Early access for Sponsors ๐
If you’re using husky in a commercial project, your support would be extremely helpful (husky 5 is free to try for 30 days).
That said, if your company can’t or don’t want to sponsor, that’s perfectly fine too. Husky 4 remains free to use in any project and will continue to receive maintainance updates.
You can become a sponsor on GitHub Sponsors or Open Collective.
Thanks
Thanks to everyone who has sponsored me, I’m sincerely grateful!
I also have other ideas for husky and projects. If you’re a sponsor, you’ll be the first to know about them :)
https://github.com/typicode/husky
Photo by Andriyko Podilnyk on unsplash