typicode/husky (husky)
### [`v9.0.11`](https://togithub.com/typicode/husky/releases/tag/v9.0.11)
[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.10...v9.0.11)
- chore: update package-lock.json by [@btea](https://togithub.com/btea) in [https://github.com/typicode/husky/pull/1383](https://togithub.com/typicode/husky/pull/1383)
- fix: husky=0 in init (fixes [#1393](https://togithub.com/typicode/husky/issues/1393)) by [@typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1395](https://togithub.com/typicode/husky/pull/1395)
### [`v9.0.10`](https://togithub.com/typicode/husky/releases/tag/v9.0.10)
[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.9...v9.0.10)
- fix: rename index.d.ts to index.d.mts by [@mrkjdy](https://togithub.com/mrkjdy) in [https://github.com/typicode/husky/pull/1379](https://togithub.com/typicode/husky/pull/1379)
### [`v9.0.9`](https://togithub.com/typicode/husky/releases/tag/v9.0.9)
[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.8...v9.0.9)
- refactor: rename files by [@typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1378](https://togithub.com/typicode/husky/pull/1378)
### [`v9.0.8`](https://togithub.com/typicode/husky/releases/tag/v9.0.8)
[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.7...v9.0.8)
- docs: update index.md by [@khaledYS](https://togithub.com/khaledYS) in [https://github.com/typicode/husky/pull/1369](https://togithub.com/typicode/husky/pull/1369)
- Fix tab detection on install command by [@glensc](https://togithub.com/glensc) in [https://github.com/typicode/husky/pull/1376](https://togithub.com/typicode/husky/pull/1376)
- refactor: reduce file size by [@typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1377](https://togithub.com/typicode/husky/pull/1377)
### [`v9.0.7`](https://togithub.com/typicode/husky/releases/tag/v9.0.7)
[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.6...v9.0.7)
- fix: typo and source `~/.huskyrc` correctly (compatibility with v8)
- docs: fix example by [@typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://togithub.com/typicode/husky/pull/1363)
### [`v9.0.6`](https://togithub.com/typicode/husky/releases/tag/v9.0.6)
[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6)
- docs: add favicon by [@rakleed](https://togithub.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
- chore: apply editorconfig to code only by [@typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
- docs: update install script to mjs and fix CI checks by [@starnayuta](https://togithub.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
- Fix unbound variable by [@typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)
### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)
[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)
- docs: update path to startup files by [@ManuelRauber](https://togithub.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)
### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)
[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)
- fix: init create dir before by [@typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by [@typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm [#1334](https://togithub.com/typicode/husky/issues/1334) by [@rozbo](https://togithub.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)
### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)
[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)
- docs: fix link by [@typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by [@julien-f](https://togithub.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by [@chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by [@typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by [@chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by [@rozbo](https://togithub.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)
### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)
[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)
#### What's Changed
- fix: exit code by [@gergelypap](https://togithub.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
- docs: typo by [@chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)
#### New Contributors
- [@gergelypap](https://togithub.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
**Full Changelog**: https://github.com/typicode/husky/compare/v9.0.1...v9.0.2
### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)
[Compare Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)
Kicking off the year with an exciting update!
#### TLDR;
Improved user experience and a (even) smaller package size while packing in more features!
#### 👋 By the Way
**I'm available for remote work** (Front-end/Back-end mainly JS/TS but open to other stacks Rails, Go, Elixir). You can contact me at my mail: typicode at gmail :slightly_smiling_face:
#### Introducing `husky init`
Adding husky to a project is now easier than ever. Although the installation process was straightforward, it often required consulting the documentation.
##### v8
```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```
##### v9
```shell
npx husky init
```
#### Adding a New Hook
Adding a hook is now as simple as creating a file. This can be accomplished using your favorite editor, a script or a basic `echo` command.
##### v8
```shell
npx husky add .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```
##### v9
```shell
echo "npm test" > .husky/pre-commit
```
#### Further Size Reduction
`v8` was already the most compact Git hooks manager at approximately `6kB`.
`v9` takes this a step further, reducing the size to just `3kB`, likely making it the smallest devDependency in your toolkit.
**To give you an idea of how small it is, the biggest file in the project is the MIT license 😄**
#### More to Come
Additional features are in the pipeline for `v9`. Stay tuned :raised_hands:
#### Other Changes
- **Enhanced security** with CI and npm `--provenance` for safer publishing.
- Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to `~/.config/husky/init.sh` for centralized configuration.
- **Fixed permission issue for Windows-created hooks**; they no longer need to be executable.
- Removed `husky install`. Use `husky` or `husky some/dir` for the same functionality (deprecation notice to be added).
- Modified behavior when `.git` is missing; it now triggers a warning instead of failure.
- Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
- Updated the Husky API for module usage.
- Transitioned to `ESM` for module usage.
- Dropped support for Node 14 and 16.
- Revamped docs.
#### How to Migrate
`v9` is backward compatible with `v8`, allowing you to freely upgrade and migrate your hooks later.
`package.json`
```diff
{
"scripts": {
- "prepare": "husky install"
+ "prepare": "husky"
}
}
```
`.husky/pre-commit`
```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```
Configuration
📅 Schedule: Branch creation - "before 3am on the first day of the month" in timezone Asia/Calcutta, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
8.0.3
->9.0.11
Release Notes
typicode/husky (husky)
### [`v9.0.11`](https://togithub.com/typicode/husky/releases/tag/v9.0.11) [Compare Source](https://togithub.com/typicode/husky/compare/v9.0.10...v9.0.11) - chore: update package-lock.json by [@btea](https://togithub.com/btea) in [https://github.com/typicode/husky/pull/1383](https://togithub.com/typicode/husky/pull/1383) - fix: husky=0 in init (fixes [#1393](https://togithub.com/typicode/husky/issues/1393)) by [@typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1395](https://togithub.com/typicode/husky/pull/1395) ### [`v9.0.10`](https://togithub.com/typicode/husky/releases/tag/v9.0.10) [Compare Source](https://togithub.com/typicode/husky/compare/v9.0.9...v9.0.10) - fix: rename index.d.ts to index.d.mts by [@mrkjdy](https://togithub.com/mrkjdy) in [https://github.com/typicode/husky/pull/1379](https://togithub.com/typicode/husky/pull/1379) ### [`v9.0.9`](https://togithub.com/typicode/husky/releases/tag/v9.0.9) [Compare Source](https://togithub.com/typicode/husky/compare/v9.0.8...v9.0.9) - refactor: rename files by [@typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1378](https://togithub.com/typicode/husky/pull/1378) ### [`v9.0.8`](https://togithub.com/typicode/husky/releases/tag/v9.0.8) [Compare Source](https://togithub.com/typicode/husky/compare/v9.0.7...v9.0.8) - docs: update index.md by [@khaledYS](https://togithub.com/khaledYS) in [https://github.com/typicode/husky/pull/1369](https://togithub.com/typicode/husky/pull/1369) - Fix tab detection on install command by [@glensc](https://togithub.com/glensc) in [https://github.com/typicode/husky/pull/1376](https://togithub.com/typicode/husky/pull/1376) - refactor: reduce file size by [@typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1377](https://togithub.com/typicode/husky/pull/1377) ### [`v9.0.7`](https://togithub.com/typicode/husky/releases/tag/v9.0.7) [Compare Source](https://togithub.com/typicode/husky/compare/v9.0.6...v9.0.7) - fix: typo and source `~/.huskyrc` correctly (compatibility with v8) - docs: fix example by [@typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://togithub.com/typicode/husky/pull/1363) ### [`v9.0.6`](https://togithub.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@rakleed](https://togithub.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@starnayuta](https://togithub.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357) - Fix unbound variable by [@typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@ManuelRauber](https://togithub.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350) - fix: init error by [@typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348) - refactor: simplify by [@typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#1334](https://togithub.com/typicode/husky/issues/1334) by [@rozbo](https://togithub.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@julien-f](https://togithub.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338) - docs: changelog link by [@typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343) - fix: insert final newline by [@chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@rozbo](https://togithub.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@gergelypap](https://togithub.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336) - docs: typo by [@chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337) #### New Contributors - [@gergelypap](https://togithub.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336) **Full Changelog**: https://github.com/typicode/husky/compare/v9.0.1...v9.0.2 ### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)Kicking off the year with an exciting update!
Configuration
📅 Schedule: Branch creation - "before 3am on the first day of the month" in timezone Asia/Calcutta, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.