-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: init create dir before #1348
Conversation
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`9.0.2` -> `9.0.5`](https://renovatebot.com/diffs/npm/husky/9.0.2/9.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/9.0.2/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/9.0.2/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/ixm-one/common). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`9.0.2` -> `9.0.5`](https://renovatebot.com/diffs/npm/husky/9.0.2/9.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/9.0.2/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/9.0.2/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/line/line-bot-sdk-nodejs). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://typicode.github.io/husky) ([source](https://github.com/typicode/husky)) | [`^8.0.3` -> `^9.0.5`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 12am and before 5am every weekday,every weekend" in timezone Asia/Kolkata, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, 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](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/timelessco/js-bottomsheet).
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://typicode.github.io/husky) ([source](https://github.com/typicode/husky)) | [`^8.0.3` -> `^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/Aiko-IT-Systems/Discord-React-Components). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`9.0.1` -> `9.0.5`](https://renovatebot.com/diffs/npm/husky/9.0.1/9.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/9.0.1/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/9.0.1/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/Aiko-IT-Systems/Discord-React-Components). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`9.0.1` -> `9.0.5`](https://renovatebot.com/diffs/npm/husky/9.0.1/9.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/9.0.1/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/9.0.1/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/bruxisma/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`^9.0.1` -> `^9.0.5`](https://renovatebot.com/diffs/npm/husky/9.0.1/9.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/9.0.1/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/9.0.1/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/levaintech/frontmatter). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`^8.0.3` -> `^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@aws-sdk/client-dynamodb](https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-dynamodb) ([source](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-dynamodb)) | [`3.496.0` -> `3.499.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-dynamodb/3.496.0/3.499.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-dynamodb/3.499.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-dynamodb/3.499.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-dynamodb/3.496.0/3.499.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-dynamodb/3.496.0/3.499.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@aws-sdk/lib-dynamodb](https://github.com/aws/aws-sdk-js-v3/tree/main/lib/lib-dynamodb) ([source](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/lib/lib-dynamodb)) | [`3.496.0` -> `3.499.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2flib-dynamodb/3.496.0/3.499.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2flib-dynamodb/3.499.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2flib-dynamodb/3.499.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2flib-dynamodb/3.496.0/3.499.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2flib-dynamodb/3.496.0/3.499.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`6.19.0` -> `6.19.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/6.19.0/6.19.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/6.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2feslint-plugin/6.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2feslint-plugin/6.19.0/6.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/6.19.0/6.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`6.19.0` -> `6.19.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/6.19.0/6.19.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/6.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/6.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/6.19.0/6.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/6.19.0/6.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [husky](https://github.com/typicode/husky) | [`9.0.1` -> `9.0.6`](https://renovatebot.com/diffs/npm/husky/9.0.1/9.0.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/9.0.1/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/9.0.1/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>aws/aws-sdk-js-v3 (@​aws-sdk/client-dynamodb)</summary> ### [`v3.499.0`](https://github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-dynamodb/CHANGELOG.md#34990-2024-01-24) [Compare Source](https://github.com/aws/aws-sdk-js-v3/compare/v3.496.0...v3.499.0) **Note:** Version bump only for package [@​aws-sdk/client-dynamodb](https://github.com/aws-sdk/client-dynamodb) </details> <details> <summary>aws/aws-sdk-js-v3 (@​aws-sdk/lib-dynamodb)</summary> ### [`v3.499.0`](https://github.com/aws/aws-sdk-js-v3/blob/HEAD/lib/lib-dynamodb/CHANGELOG.md#34990-2024-01-24) [Compare Source](https://github.com/aws/aws-sdk-js-v3/compare/v3.496.0...v3.499.0) **Note:** Version bump only for package [@​aws-sdk/lib-dynamodb](https://github.com/aws-sdk/lib-dynamodb) </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)</summary> ### [`v6.19.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6191-2024-01-22) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.19.0...v6.19.1) ##### 🩹 Fixes - **type-utils:** preventing isUnsafeAssignment infinite recursive calls - **eslint-plugin:** \[no-unnecessary-condition] fix false positive for type variable ##### ❤️ Thank You - YeonJuan You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/parser)</summary> ### [`v6.19.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6191-2024-01-22) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.19.0...v6.19.1) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. </details> <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 2pm on Saturday" in timezone Europe/Zurich, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/adobe/spacecat-shared). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`^8.0.3` -> `^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/UK-Export-Finance/mdm-api). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Abhi Markan <32125108+abhi-markan@users.noreply.github.com> Co-authored-by: Abhi Markan <abhi.markan@ukexportfinance.gov.uk>
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`8.0.3` -> `9.0.6`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### TLDR; Improved user experience and a (even) smaller package size while packing in more features! *Note: install using `husky@latest` to get the bug fixes that were released after.* #### 👋 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: Renovate Bot GitHub <bot@renovateapp.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`8.0.3` -> `9.0.6`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on sunday" in timezone Asia/Shanghai, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/PKUHPC/SCOW). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Chen Junda <ddadaal@outlook.com>
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [husky](https://github.com/typicode/husky) | devDependencies | major | [`8.0.3` -> `9.0.6`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.6) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### TLDR; Improved user experience and a (even) smaller package size while packing in more features! *Note: install using `husky@latest` to get the bug fixes that were released after.* #### 👋 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE1Mi4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: Balvajs Renovate Bot <406530+balvajs-renovate[bot]@users.noreply.github.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [husky](https://github.com/typicode/husky) | devDependencies | major | [`8.0.3` -> `9.0.6`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.6) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### TLDR; Improved user experience and a (even) smaller package size while packing in more features! *Note: install using `husky@latest` to get the bug fixes that were released after.* #### 👋 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE1Mi4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: Balvajs Renovate Bot <406530+balvajs-renovate[bot]@users.noreply.github.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`^8.0.3` -> `^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@&toeverything#8203;rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@&toeverything#8203;typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@&toeverything#8203;starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@&toeverything#8203;typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@&toeverything#8203;ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@&toeverything#8203;typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@&toeverything#8203;typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@&toeverything#8203;typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#&toeverything#8203;1334](https://github.com/typicode/husky/issues/1334) by [@&toeverything#8203;rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@&toeverything#8203;typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@&toeverything#8203;julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@&toeverything#8203;chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@&toeverything#8203;typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@&toeverything#8203;chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@&toeverything#8203;rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@&toeverything#8203;gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@&toeverything#8203;chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@&toeverything#8203;gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`8.0.3` -> `9.0.5`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone Asia/Kolkata, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, 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](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/timelessco/node-ts-app).
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`8.0.3` -> `9.0.5`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone Asia/Kolkata, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, 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](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/timelessco/recollect).
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`8.0.3` -> `9.0.5`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone Asia/Kolkata, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, 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](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/timelessco/next-ts-app).
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://typicode.github.io/husky) ([source](https://github.com/typicode/husky)) | [`8.0.3` -> `9.0.6`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - "before 4am on Monday" (UTC). 🚦 **Automerge**: Enabled. ♻ **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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/tnez/starter-npm-pkg). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`8.0.3` -> `9.0.6`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on sunday" in timezone Asia/Shanghai, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/PKUHPC/SCOW). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Chen Junda <ddadaal@outlook.com>
@@ -11,6 +11,7 @@ if (a == 'init') { | |||
d.scripts.prepare = 'husky' | |||
w('package.json', JSON.stringify(d, null, /\t/.test() ? '\t' : 2) + '\n') | |||
process.stdout.write(i()) | |||
try { f.mkdirSync('.husky') } catch {} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unidented commit. seems to use tab while rest of the code use spaces
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That was a mistake. It was fixed by another commit (using tabs with .editorconfig)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Time to dogfood and setup git hooks to husky repo to auto lint? ;)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ahah probably :D Dog fooding json-server already.
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.11.6` -> `20.11.10`](https://renovatebot.com/diffs/npm/@types%2fnode/20.11.6/20.11.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.11.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.11.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.11.6/20.11.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.11.6/20.11.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`6.19.1` -> `6.20.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/6.19.1/6.20.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/6.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2feslint-plugin/6.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2feslint-plugin/6.19.1/6.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/6.19.1/6.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`6.19.1` -> `6.20.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/6.19.1/6.20.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/6.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/6.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/6.19.1/6.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/6.19.1/6.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [chromatic](https://www.chromatic.com) ([source](https://github.com/chromaui/chromatic-cli)) | [`10.5.0` -> `10.6.1`](https://renovatebot.com/diffs/npm/chromatic/10.5.0/10.6.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/chromatic/10.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/chromatic/10.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/chromatic/10.5.0/10.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/chromatic/10.5.0/10.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [eslint-plugin-codegen](https://github.com/mmkal/eslint-plugin-codegen) | [`0.22.1` -> `0.23.0`](https://renovatebot.com/diffs/npm/eslint-plugin-codegen/0.22.1/0.23.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-codegen/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-codegen/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-codegen/0.22.1/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-codegen/0.22.1/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [husky](https://github.com/typicode/husky) | [`9.0.3` -> `9.0.7`](https://renovatebot.com/diffs/npm/husky/9.0.3/9.0.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/9.0.3/9.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/9.0.3/9.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [i18next](https://www.i18next.com) ([source](https://github.com/i18next/i18next)) | [`23.7.19` -> `23.8.1`](https://renovatebot.com/diffs/npm/i18next/23.7.19/23.8.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/i18next/23.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/i18next/23.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/i18next/23.7.19/23.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/i18next/23.7.19/23.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [listr2](https://github.com/listr2/listr2) | [`8.0.1` -> `8.0.2`](https://renovatebot.com/diffs/npm/listr2/8.0.1/8.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/listr2/8.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/listr2/8.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/listr2/8.0.1/8.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/listr2/8.0.1/8.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [pnpm](https://pnpm.io) ([source](https://github.com/pnpm/pnpm)) | [`8.14.3` -> `8.15.0`](https://renovatebot.com/diffs/npm/pnpm/8.14.3/8.15.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/8.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/8.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/8.14.3/8.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/8.14.3/8.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)</summary> ### [`v6.20.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6200-2024-01-29) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.19.1...v6.20.0) ##### 🚀 Features - **eslint-plugin:** \[member-ordering] allow easy reuse of the default ordering ##### 🩹 Fixes - **eslint-plugin:** \[no-useless-template-literals] incorrect bigint autofix result - **eslint-plugin:** \[prefer-nullish-coalescing] treat any/unknown as non-nullable - **eslint-plugin:** \[no-useless-template-literals] report Infinity & NaN - **eslint-plugin:** \[prefer-readonly] disable checking accessors ##### ❤️ Thank You - Alex Parloti - auvred - James Browning - StyleShit - YeonJuan You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/parser)</summary> ### [`v6.20.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6200-2024-01-29) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.19.1...v6.20.0) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. </details> <details> <summary>chromaui/chromatic-cli (chromatic)</summary> ### [`v10.6.1`](https://github.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1061-Fri-Jan-26-2024) [Compare Source](https://github.com/chromaui/chromatic-cli/compare/v10.6.0...v10.6.1) ##### 🐛 Bug Fix - Remove after-release script [#​906](https://github.com/chromaui/chromatic-cli/pull/906) ([@​skitterm](https://github.com/skitterm)) ##### Authors: 1 - Steven Kitterman ([@​skitterm](https://github.com/skitterm)) *** ### [`v10.6.0`](https://github.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1060-Fri-Jan-26-2024) [Compare Source](https://github.com/chromaui/chromatic-cli/compare/v10.5.2...v10.6.0) ##### 🚀 Enhancement - CLI should throw error when using TurboSnap but missing a stats file. [#​899](https://github.com/chromaui/chromatic-cli/pull/899) ([@​thafryer](https://github.com/thafryer)) ##### Authors: 1 - Jarel Fryer ([@​thafryer](https://github.com/thafryer)) *** ### [`v10.5.2`](https://github.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1052-Thu-Jan-25-2024) [Compare Source](https://github.com/chromaui/chromatic-cli/compare/v10.5.1...v10.5.2) ##### 🐛 Bug Fix - Remove latest from the chromatic package in Init script [#​902](https://github.com/chromaui/chromatic-cli/pull/902) ([@​thafryer](https://github.com/thafryer)) ##### Authors: 1 - Jarel Fryer ([@​thafryer](https://github.com/thafryer)) *** ### [`v10.5.1`](https://github.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1051-Thu-Jan-25-2024) [Compare Source](https://github.com/chromaui/chromatic-cli/compare/v10.5.0...v10.5.1) ##### 🐛 Bug Fix - Add "package.json" to exports map [#​900](https://github.com/chromaui/chromatic-cli/pull/900) ([@​yannbf](https://github.com/yannbf)) - Improve logging around upload errors [#​894](https://github.com/chromaui/chromatic-cli/pull/894) ([@​ghengeveld](https://github.com/ghengeveld)) - Don't skip uploading of empty files, it works now [#​901](https://github.com/chromaui/chromatic-cli/pull/901) ([@​ghengeveld](https://github.com/ghengeveld)) ##### Authors: 2 - Gert Hengeveld ([@​ghengeveld](https://github.com/ghengeveld)) - Yann Braga ([@​yannbf](https://github.com/yannbf)) *** </details> <details> <summary>mmkal/eslint-plugin-codegen (eslint-plugin-codegen)</summary> ### [`v0.23.0`](https://github.com/mmkal/eslint-plugin-codegen/releases/tag/v0.23.0) [Compare Source](https://github.com/mmkal/eslint-plugin-codegen/compare/v0.22.1...v0.23.0) - add child_process to dependencies [`d0f6bbe`](https://github.com/mmkal/eslint-plugin-codegen/commit/d0f6bbe) </details> <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7) [Compare Source](https://github.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://github.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363) ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) </details> <details> <summary>i18next/i18next (i18next)</summary> ### [`v23.8.1`](https://github.com/i18next/i18next/blob/HEAD/CHANGELOG.md#2381) [Compare Source](https://github.com/i18next/i18next/compare/v23.8.0...v23.8.1) - types: support stricter typechecking for returnEmptyString and returnNull [2129](https://github.com/i18next/i18next/pull/2129) ### [`v23.8.0`](https://github.com/i18next/i18next/blob/HEAD/CHANGELOG.md#2380) [Compare Source](https://github.com/i18next/i18next/compare/v23.7.20...v23.8.0) - improve performance by reducing array slices and RegExp recreation [2128](https://github.com/i18next/i18next/pull/2128) ### [`v23.7.20`](https://github.com/i18next/i18next/blob/HEAD/CHANGELOG.md#23720) [Compare Source](https://github.com/i18next/i18next/compare/v23.7.19...v23.7.20) - optimize: consistent \_zero special handling also for defaultValue_zero [2124](https://github.com/i18next/i18next/issues/2124) - intl plural rule for dev is now en (consistent with v3 compatibility) </details> <details> <summary>listr2/listr2 (listr2)</summary> ### [`v8.0.2`](https://github.com/listr2/listr2/releases/tag/listr2%408.0.2) [Compare Source](https://github.com/listr2/listr2/compare/listr2@​8.0.1...listr2@​8.0.2) #### listr2 [8.0.2](https://github.com/listr2/listr2/compare/listr2@​8.0.1...listr2@​8.0.2) (2024-01-27) ##### Bug Fixes - **deps:** update all minor dependency updates ([6662e0b](https://github.com/listr2/listr2/commit/6662e0bda139742578505da4ceeddffc83234611)) </details> <details> <summary>pnpm/pnpm (pnpm)</summary> ### [`v8.15.0`](https://github.com/pnpm/pnpm/releases/tag/v8.15.0) [Compare Source](https://github.com/pnpm/pnpm/compare/v8.14.3...v8.15.0) #### Minor Changes - When the license field does not exist in `package.json` but a license file exists, try to match and extract the license name [#​7530](https://github.com/pnpm/pnpm/pull/7530). #### Patch Changes - Running `pnpm update -r --latest` will no longer downgrade prerelease dependencies [#​7436](https://github.com/pnpm/pnpm/issues/7436). - `--aggregate-output` should work on scripts executed from the same project [#​7556](https://github.com/pnpm/pnpm/issues/7556). - Prefer hard links over reflinks on Windows as they perform better [#​7564](https://github.com/pnpm/pnpm/pull/7564). - Reduce the length of the side-effects cache key. Instead of saving a stringified object composed from the dependency versions of the package, use the hash calculated from the said object [#​7563](https://github.com/pnpm/pnpm/pull/7563). - Throw an error if `pnpm update --latest` runs with arguments containing versions specs. For instance, `pnpm update --latest foo@next` is not allowed [#​7567](https://github.com/pnpm/pnpm/pull/7567). - Don't fail in Windows CoW if the file already exists [#​7554](https://github.com/pnpm/pnpm/issues/7554). #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"></a> </td> <td align="center" valign="middle"> <a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/figma.svg" width="80"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://prisma.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/prisma.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/prisma_light.svg" /> <img src="https://pnpm.io/img/users/prisma.svg" width="180" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/uscreen.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/uscreen_light.svg" /> <img src="https://pnpm.io/img/users/uscreen.svg" width="180" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/jetbrains.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/jetbrains.svg" /> <img src="https://pnpm.io/img/users/jetbrains.svg" width="85" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="120" /> </picture> </a> </td> </tr> </tbody> </table> #### Our Silver Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <img src="https://pnpm.io/img/users/leniolabs.jpg" width="80"> </a> </td> <td align="center" valign="middle"> <a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/vercel.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/vercel_light.svg" /> <img src="https://pnpm.io/img/users/vercel.svg" width="180" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/depot.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/depot_light.svg" /> <img src="https://pnpm.io/img/users/depot.svg" width="200" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/moonrepo.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/moonrepo_light.svg" /> <img src="https://pnpm.io/img/users/moonrepo.svg" width="200" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://www.thinkmill.com.au/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/thinkmill.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/thinkmill_light.svg" /> <img src="https://pnpm.io/img/users/thinkmill.svg" width="200" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/devowlio.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/devowlio.svg" /> <img src="https://pnpm.io/img/users/devowlio.svg" width="200" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://macpaw.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/macpaw.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/macpaw_light.svg" /> <img src="https://pnpm.io/img/users/macpaw.svg" width="200" /> </picture> </a> </td> </tr> </tbody> </table> </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday,before 4am on Thursday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/weareinreach/GLAAD). PR-URL: #327 Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Joe Karow <58997957+JoeKarow@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://typicode.github.io/husky) ([source](https://github.com/typicode/husky)) | [`^8.0.3` -> `^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/dooboolab-community/dooboo-ui). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`^8.0.1` -> `^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](typicode/husky@v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in typicode/husky#1354 - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in typicode/husky#1355 - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in typicode/husky#1357 - Fix unbound variable by [@​typicode](https://github.com/typicode) in typicode/husky#1359 ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](typicode/husky@v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in typicode/husky#1350 - fix: init error by [@​typicode](https://github.com/typicode) in typicode/husky#1353 ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](typicode/husky@v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in typicode/husky#1348 - refactor: simplify by [@​typicode](https://github.com/typicode) in typicode/husky#1349 - fix: init not working on pnpm [#​1334](typicode/husky#1334) by [@​rozbo](https://github.com/rozbo) in typicode/husky#1347 ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](typicode/husky@v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in typicode/husky#1340 - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in typicode/husky#1341 - fi...
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`8.0.3` -> `9.0.7`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | @coderabbitai: ignore --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7) [Compare Source](https://github.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://github.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363) ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/cuculus-dev/cuculus). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [husky](https://github.com/typicode/husky) | devDependencies | major | [`8.0.3` -> `9.0.8`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.8) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.8`](https://github.com/typicode/husky/releases/tag/v9.0.8) [Compare Source](https://github.com/typicode/husky/compare/v9.0.7...v9.0.8) - docs: update index.md by [@​khaledYS](https://github.com/khaledYS) in [https://github.com/typicode/husky/pull/1369](https://github.com/typicode/husky/pull/1369) - Fix tab detection on install command by [@​glensc](https://github.com/glensc) in [https://github.com/typicode/husky/pull/1376](https://github.com/typicode/husky/pull/1376) - refactor: reduce file size by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1377](https://github.com/typicode/husky/pull/1377) ### [`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7) [Compare Source](https://github.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://github.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363) ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### TLDR; Improved user experience and a (even) smaller package size while packing in more features! *Note: install using `husky@latest` to get the bug fixes that were released after.* #### 👋 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on the first day of the month" (UTC), 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNjMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE2NS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`^8.0.3` -> `^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.10`](https://github.com/typicode/husky/releases/tag/v9.0.10) [Compare Source](https://github.com/typicode/husky/compare/v9.0.9...v9.0.10) - fix: rename index.d.ts to index.d.mts by [@​mrkjdy](https://github.com/mrkjdy) in [https://github.com/typicode/husky/pull/1379](https://github.com/typicode/husky/pull/1379) ### [`v9.0.9`](https://github.com/typicode/husky/releases/tag/v9.0.9) [Compare Source](https://github.com/typicode/husky/compare/v9.0.8...v9.0.9) - refactor: rename files by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1378](https://github.com/typicode/husky/pull/1378) ### [`v9.0.8`](https://github.com/typicode/husky/releases/tag/v9.0.8) [Compare Source](https://github.com/typicode/husky/compare/v9.0.7...v9.0.8) - docs: update index.md by [@​khaledYS](https://github.com/khaledYS) in [https://github.com/typicode/husky/pull/1369](https://github.com/typicode/husky/pull/1369) - Fix tab detection on install command by [@​glensc](https://github.com/glensc) in [https://github.com/typicode/husky/pull/1376](https://github.com/typicode/husky/pull/1376) - refactor: reduce file size by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1377](https://github.com/typicode/husky/pull/1377) ### [`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7) [Compare Source](https://github.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://github.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363) ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/JoshuaKGoldberg/github-sponsors-to-markdown). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`^8.0.3` -> `^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.10`](https://github.com/typicode/husky/releases/tag/v9.0.10) [Compare Source](https://github.com/typicode/husky/compare/v9.0.9...v9.0.10) - fix: rename index.d.ts to index.d.mts by [@​mrkjdy](https://github.com/mrkjdy) in [https://github.com/typicode/husky/pull/1379](https://github.com/typicode/husky/pull/1379) ### [`v9.0.9`](https://github.com/typicode/husky/releases/tag/v9.0.9) [Compare Source](https://github.com/typicode/husky/compare/v9.0.8...v9.0.9) - refactor: rename files by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1378](https://github.com/typicode/husky/pull/1378) ### [`v9.0.8`](https://github.com/typicode/husky/releases/tag/v9.0.8) [Compare Source](https://github.com/typicode/husky/compare/v9.0.7...v9.0.8) - docs: update index.md by [@​khaledYS](https://github.com/khaledYS) in [https://github.com/typicode/husky/pull/1369](https://github.com/typicode/husky/pull/1369) - Fix tab detection on install command by [@​glensc](https://github.com/glensc) in [https://github.com/typicode/husky/pull/1376](https://github.com/typicode/husky/pull/1376) - refactor: reduce file size by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1377](https://github.com/typicode/husky/pull/1377) ### [`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7) [Compare Source](https://github.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://github.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363) ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/JoshuaKGoldberg/npm-username-to-packages). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE3MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`^8.0.3` -> `^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.10`](https://github.com/typicode/husky/releases/tag/v9.0.10) [Compare Source](https://github.com/typicode/husky/compare/v9.0.9...v9.0.10) - fix: rename index.d.ts to index.d.mts by [@​mrkjdy](https://github.com/mrkjdy) in [https://github.com/typicode/husky/pull/1379](https://github.com/typicode/husky/pull/1379) ### [`v9.0.9`](https://github.com/typicode/husky/releases/tag/v9.0.9) [Compare Source](https://github.com/typicode/husky/compare/v9.0.8...v9.0.9) - refactor: rename files by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1378](https://github.com/typicode/husky/pull/1378) ### [`v9.0.8`](https://github.com/typicode/husky/releases/tag/v9.0.8) [Compare Source](https://github.com/typicode/husky/compare/v9.0.7...v9.0.8) - docs: update index.md by [@​khaledYS](https://github.com/khaledYS) in [https://github.com/typicode/husky/pull/1369](https://github.com/typicode/husky/pull/1369) - Fix tab detection on install command by [@​glensc](https://github.com/glensc) in [https://github.com/typicode/husky/pull/1376](https://github.com/typicode/husky/pull/1376) - refactor: reduce file size by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1377](https://github.com/typicode/husky/pull/1377) ### [`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7) [Compare Source](https://github.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://github.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363) ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/JoshuaKGoldberg/JoshuaKGoldberg). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`^8.0.3` -> `^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.10`](https://github.com/typicode/husky/releases/tag/v9.0.10) [Compare Source](https://github.com/typicode/husky/compare/v9.0.9...v9.0.10) - fix: rename index.d.ts to index.d.mts by [@​mrkjdy](https://github.com/mrkjdy) in [https://github.com/typicode/husky/pull/1379](https://github.com/typicode/husky/pull/1379) ### [`v9.0.9`](https://github.com/typicode/husky/releases/tag/v9.0.9) [Compare Source](https://github.com/typicode/husky/compare/v9.0.8...v9.0.9) - refactor: rename files by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1378](https://github.com/typicode/husky/pull/1378) ### [`v9.0.8`](https://github.com/typicode/husky/releases/tag/v9.0.8) [Compare Source](https://github.com/typicode/husky/compare/v9.0.7...v9.0.8) - docs: update index.md by [@​khaledYS](https://github.com/khaledYS) in [https://github.com/typicode/husky/pull/1369](https://github.com/typicode/husky/pull/1369) - Fix tab detection on install command by [@​glensc](https://github.com/glensc) in [https://github.com/typicode/husky/pull/1376](https://github.com/typicode/husky/pull/1376) - refactor: reduce file size by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1377](https://github.com/typicode/husky/pull/1377) ### [`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7) [Compare Source](https://github.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://github.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363) ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/JoshuaKGoldberg/refined-saved-replies). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`^8.0.3` -> `^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.10`](https://github.com/typicode/husky/releases/tag/v9.0.10) [Compare Source](https://github.com/typicode/husky/compare/v9.0.9...v9.0.10) - fix: rename index.d.ts to index.d.mts by [@​mrkjdy](https://github.com/mrkjdy) in [https://github.com/typicode/husky/pull/1379](https://github.com/typicode/husky/pull/1379) ### [`v9.0.9`](https://github.com/typicode/husky/releases/tag/v9.0.9) [Compare Source](https://github.com/typicode/husky/compare/v9.0.8...v9.0.9) - refactor: rename files by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1378](https://github.com/typicode/husky/pull/1378) ### [`v9.0.8`](https://github.com/typicode/husky/releases/tag/v9.0.8) [Compare Source](https://github.com/typicode/husky/compare/v9.0.7...v9.0.8) - docs: update index.md by [@​khaledYS](https://github.com/khaledYS) in [https://github.com/typicode/husky/pull/1369](https://github.com/typicode/husky/pull/1369) - Fix tab detection on install command by [@​glensc](https://github.com/glensc) in [https://github.com/typicode/husky/pull/1376](https://github.com/typicode/husky/pull/1376) - refactor: reduce file size by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1377](https://github.com/typicode/husky/pull/1377) ### [`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7) [Compare Source](https://github.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://github.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363) ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/JoshuaKGoldberg/github-username-to-emails). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`^8.0.3` -> `^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.11`](https://github.com/typicode/husky/releases/tag/v9.0.11) [Compare Source](https://github.com/typicode/husky/compare/v9.0.10...v9.0.11) - chore: update package-lock.json by [@​btea](https://github.com/btea) in [https://github.com/typicode/husky/pull/1383](https://github.com/typicode/husky/pull/1383) - fix: husky=0 in init (fixes [#​1393](https://github.com/typicode/husky/issues/1393)) by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1395](https://github.com/typicode/husky/pull/1395) ### [`v9.0.10`](https://github.com/typicode/husky/releases/tag/v9.0.10) [Compare Source](https://github.com/typicode/husky/compare/v9.0.9...v9.0.10) - fix: rename index.d.ts to index.d.mts by [@​mrkjdy](https://github.com/mrkjdy) in [https://github.com/typicode/husky/pull/1379](https://github.com/typicode/husky/pull/1379) ### [`v9.0.9`](https://github.com/typicode/husky/releases/tag/v9.0.9) [Compare Source](https://github.com/typicode/husky/compare/v9.0.8...v9.0.9) - refactor: rename files by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1378](https://github.com/typicode/husky/pull/1378) ### [`v9.0.8`](https://github.com/typicode/husky/releases/tag/v9.0.8) [Compare Source](https://github.com/typicode/husky/compare/v9.0.7...v9.0.8) - docs: update index.md by [@​khaledYS](https://github.com/khaledYS) in [https://github.com/typicode/husky/pull/1369](https://github.com/typicode/husky/pull/1369) - Fix tab detection on install command by [@​glensc](https://github.com/glensc) in [https://github.com/typicode/husky/pull/1376](https://github.com/typicode/husky/pull/1376) - refactor: reduce file size by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1377](https://github.com/typicode/husky/pull/1377) ### [`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7) [Compare Source](https://github.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://github.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363) ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/ASVGay/the-rhapsodies). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoiZGV2In0=-->
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`^8.0.3` -> `^9.0.11`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.11`](https://github.com/typicode/husky/releases/tag/v9.0.11) [Compare Source](https://github.com/typicode/husky/compare/v9.0.10...v9.0.11) - chore: update package-lock.json by [@​btea](https://github.com/btea) in [https://github.com/typicode/husky/pull/1383](https://github.com/typicode/husky/pull/1383) - fix: husky=0 in init (fixes [#​1393](https://github.com/typicode/husky/issues/1393)) by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1395](https://github.com/typicode/husky/pull/1395) ### [`v9.0.10`](https://github.com/typicode/husky/releases/tag/v9.0.10) [Compare Source](https://github.com/typicode/husky/compare/v9.0.9...v9.0.10) - fix: rename index.d.ts to index.d.mts by [@​mrkjdy](https://github.com/mrkjdy) in [https://github.com/typicode/husky/pull/1379](https://github.com/typicode/husky/pull/1379) ### [`v9.0.9`](https://github.com/typicode/husky/releases/tag/v9.0.9) [Compare Source](https://github.com/typicode/husky/compare/v9.0.8...v9.0.9) - refactor: rename files by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1378](https://github.com/typicode/husky/pull/1378) ### [`v9.0.8`](https://github.com/typicode/husky/releases/tag/v9.0.8) [Compare Source](https://github.com/typicode/husky/compare/v9.0.7...v9.0.8) - docs: update index.md by [@​khaledYS](https://github.com/khaledYS) in [https://github.com/typicode/husky/pull/1369](https://github.com/typicode/husky/pull/1369) - Fix tab detection on install command by [@​glensc](https://github.com/glensc) in [https://github.com/typicode/husky/pull/1376](https://github.com/typicode/husky/pull/1376) - refactor: reduce file size by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1377](https://github.com/typicode/husky/pull/1377) ### [`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7) [Compare Source](https://github.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://github.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363) ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone Europe/Amsterdam, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/remcolakens/next-boilerplate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Remco Lakens <remco.lakens@gmail.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`^8.0.3` -> `^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.11`](https://github.com/typicode/husky/releases/tag/v9.0.11) [Compare Source](https://github.com/typicode/husky/compare/v9.0.10...v9.0.11) - chore: update package-lock.json by [@​btea](https://github.com/btea) in [https://github.com/typicode/husky/pull/1383](https://github.com/typicode/husky/pull/1383) - fix: husky=0 in init (fixes [#​1393](https://github.com/typicode/husky/issues/1393)) by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1395](https://github.com/typicode/husky/pull/1395) ### [`v9.0.10`](https://github.com/typicode/husky/releases/tag/v9.0.10) [Compare Source](https://github.com/typicode/husky/compare/v9.0.9...v9.0.10) - fix: rename index.d.ts to index.d.mts by [@​mrkjdy](https://github.com/mrkjdy) in [https://github.com/typicode/husky/pull/1379](https://github.com/typicode/husky/pull/1379) ### [`v9.0.9`](https://github.com/typicode/husky/releases/tag/v9.0.9) [Compare Source](https://github.com/typicode/husky/compare/v9.0.8...v9.0.9) - refactor: rename files by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1378](https://github.com/typicode/husky/pull/1378) ### [`v9.0.8`](https://github.com/typicode/husky/releases/tag/v9.0.8) [Compare Source](https://github.com/typicode/husky/compare/v9.0.7...v9.0.8) - docs: update index.md by [@​khaledYS](https://github.com/khaledYS) in [https://github.com/typicode/husky/pull/1369](https://github.com/typicode/husky/pull/1369) - Fix tab detection on install command by [@​glensc](https://github.com/glensc) in [https://github.com/typicode/husky/pull/1376](https://github.com/typicode/husky/pull/1376) - refactor: reduce file size by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1377](https://github.com/typicode/husky/pull/1377) ### [`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7) [Compare Source](https://github.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://github.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363) ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/Adriel-M/adriel.dev). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Adriel <20115135+Adriel-M@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`8.0.3` -> `9.0.11`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.11`](https://github.com/typicode/husky/releases/tag/v9.0.11) [Compare Source](https://github.com/typicode/husky/compare/v9.0.10...v9.0.11) - chore: update package-lock.json by [@​btea](https://github.com/btea) in [https://github.com/typicode/husky/pull/1383](https://github.com/typicode/husky/pull/1383) - fix: husky=0 in init (fixes [#​1393](https://github.com/typicode/husky/issues/1393)) by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1395](https://github.com/typicode/husky/pull/1395) ### [`v9.0.10`](https://github.com/typicode/husky/releases/tag/v9.0.10) [Compare Source](https://github.com/typicode/husky/compare/v9.0.9...v9.0.10) - fix: rename index.d.ts to index.d.mts by [@​mrkjdy](https://github.com/mrkjdy) in [https://github.com/typicode/husky/pull/1379](https://github.com/typicode/husky/pull/1379) ### [`v9.0.9`](https://github.com/typicode/husky/releases/tag/v9.0.9) [Compare Source](https://github.com/typicode/husky/compare/v9.0.8...v9.0.9) - refactor: rename files by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1378](https://github.com/typicode/husky/pull/1378) ### [`v9.0.8`](https://github.com/typicode/husky/releases/tag/v9.0.8) [Compare Source](https://github.com/typicode/husky/compare/v9.0.7...v9.0.8) - docs: update index.md by [@​khaledYS](https://github.com/khaledYS) in [https://github.com/typicode/husky/pull/1369](https://github.com/typicode/husky/pull/1369) - Fix tab detection on install command by [@​glensc](https://github.com/glensc) in [https://github.com/typicode/husky/pull/1376](https://github.com/typicode/husky/pull/1376) - refactor: reduce file size by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1377](https://github.com/typicode/husky/pull/1377) ### [`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7) [Compare Source](https://github.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://github.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363) ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 7pm every weekday,before 5am every weekday" in timezone Europe/Madrid, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/Unleash/unleash). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`^8.0.3` -> `^9.0.11`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.11`](https://github.com/typicode/husky/releases/tag/v9.0.11) [Compare Source](https://github.com/typicode/husky/compare/v9.0.10...v9.0.11) - chore: update package-lock.json by [@​btea](https://github.com/btea) in [https://github.com/typicode/husky/pull/1383](https://github.com/typicode/husky/pull/1383) - fix: husky=0 in init (fixes [#​1393](https://github.com/typicode/husky/issues/1393)) by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1395](https://github.com/typicode/husky/pull/1395) ### [`v9.0.10`](https://github.com/typicode/husky/releases/tag/v9.0.10) [Compare Source](https://github.com/typicode/husky/compare/v9.0.9...v9.0.10) - fix: rename index.d.ts to index.d.mts by [@​mrkjdy](https://github.com/mrkjdy) in [https://github.com/typicode/husky/pull/1379](https://github.com/typicode/husky/pull/1379) ### [`v9.0.9`](https://github.com/typicode/husky/releases/tag/v9.0.9) [Compare Source](https://github.com/typicode/husky/compare/v9.0.8...v9.0.9) - refactor: rename files by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1378](https://github.com/typicode/husky/pull/1378) ### [`v9.0.8`](https://github.com/typicode/husky/releases/tag/v9.0.8) [Compare Source](https://github.com/typicode/husky/compare/v9.0.7...v9.0.8) - docs: update index.md by [@​khaledYS](https://github.com/khaledYS) in [https://github.com/typicode/husky/pull/1369](https://github.com/typicode/husky/pull/1369) - Fix tab detection on install command by [@​glensc](https://github.com/glensc) in [https://github.com/typicode/husky/pull/1376](https://github.com/typicode/husky/pull/1376) - refactor: reduce file size by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1377](https://github.com/typicode/husky/pull/1377) ### [`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7) [Compare Source](https://github.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://github.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363) ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone UTC, Automerge - "after 8:00 before 23:00 every weekday except on Friday" in timezone UTC. 🚦 **Automerge**: Enabled. ♻ **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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/valora-inc/address-metadata). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xOTEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE5MS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Type | Update | Change | Pending | |---|---|---|---|---| | [husky](https://github.com/typicode/husky) | devDependencies | major | [`^8.0.0` -> `^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.10) | `9.0.11` | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.10`](https://github.com/typicode/husky/releases/tag/v9.0.10) [Compare Source](https://github.com/typicode/husky/compare/v9.0.9...v9.0.10) - fix: rename index.d.ts to index.d.mts by [@​mrkjdy](https://github.com/mrkjdy) in [https://github.com/typicode/husky/pull/1379](https://github.com/typicode/husky/pull/1379) ### [`v9.0.9`](https://github.com/typicode/husky/releases/tag/v9.0.9) [Compare Source](https://github.com/typicode/husky/compare/v9.0.8...v9.0.9) - refactor: rename files by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1378](https://github.com/typicode/husky/pull/1378) ### [`v9.0.8`](https://github.com/typicode/husky/releases/tag/v9.0.8) [Compare Source](https://github.com/typicode/husky/compare/v9.0.7...v9.0.8) - docs: update index.md by [@​khaledYS](https://github.com/khaledYS) in [https://github.com/typicode/husky/pull/1369](https://github.com/typicode/husky/pull/1369) - Fix tab detection on install command by [@​glensc](https://github.com/glensc) in [https://github.com/typicode/husky/pull/1376](https://github.com/typicode/husky/pull/1376) - refactor: reduce file size by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1377](https://github.com/typicode/husky/pull/1377) ### [`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7) [Compare Source](https://github.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://github.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363) ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### TLDR; Improved user experience and a (even) smaller package size while packing in more features! *Note: install using `husky@latest` to get the bug fixes that were released after.* #### 👋 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 🙂 #### Introducing `husky init` ##### v8 ```shell npm pkg set scripts.prepare="husky install" npm run prepare npx husky add .husky/pre-commit "npm test" ``` ##### v9 Adding husky to a project is now easier than ever. It's just a single line that does the same as above. No need to read the docs to get started anymore. ```shell npx husky init ``` #### Adding a New Hook ##### v8 ```shell npx husky add .husky/pre-commit "npm test" git add --chmod=+x .husky/pre-commit # On Windows ``` ##### v9 Adding a hook is as simple as creating a file. This can be accomplished using your favorite editor, a script or a basic `echo` command. For example, on Linux/macOS: ```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 🙌 #### 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. Here are the steps to migrate: `package.json` ```diff { "scripts": { - "prepare": "husky install" + "prepare": "husky" } } ``` `.husky/pre-commit` ```diff - #!/usr/bin/env sh - . "$(dirname -- "$0")/_/husky.sh" npm test ``` *Note: `sh` will be used to run hooks, even if a shebang is set.* If you were using `husky` as a module: ```diff - const husky = require('husky') - // ... + import husky from 'husky' + console.log(husky()) ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 10pm every weekday,every weekend,before 5am every weekday" in timezone Asia/Jerusalem, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy42NC4yIiwidXBkYXRlZEluVmVyIjoiMzcuNjQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: descope[bot] <descope[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`8.0.3` -> `9.0.11`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.11`](https://github.com/typicode/husky/releases/tag/v9.0.11) [Compare Source](https://github.com/typicode/husky/compare/v9.0.10...v9.0.11) - chore: update package-lock.json by [@​btea](https://github.com/btea) in [https://github.com/typicode/husky/pull/1383](https://github.com/typicode/husky/pull/1383) - fix: husky=0 in init (fixes [#​1393](https://github.com/typicode/husky/issues/1393)) by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1395](https://github.com/typicode/husky/pull/1395) ### [`v9.0.10`](https://github.com/typicode/husky/releases/tag/v9.0.10) [Compare Source](https://github.com/typicode/husky/compare/v9.0.9...v9.0.10) - fix: rename index.d.ts to index.d.mts by [@​mrkjdy](https://github.com/mrkjdy) in [https://github.com/typicode/husky/pull/1379](https://github.com/typicode/husky/pull/1379) ### [`v9.0.9`](https://github.com/typicode/husky/releases/tag/v9.0.9) [Compare Source](https://github.com/typicode/husky/compare/v9.0.8...v9.0.9) - refactor: rename files by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1378](https://github.com/typicode/husky/pull/1378) ### [`v9.0.8`](https://github.com/typicode/husky/releases/tag/v9.0.8) [Compare Source](https://github.com/typicode/husky/compare/v9.0.7...v9.0.8) - docs: update index.md by [@​khaledYS](https://github.com/khaledYS) in [https://github.com/typicode/husky/pull/1369](https://github.com/typicode/husky/pull/1369) - Fix tab detection on install command by [@​glensc](https://github.com/glensc) in [https://github.com/typicode/husky/pull/1376](https://github.com/typicode/husky/pull/1376) - refactor: reduce file size by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1377](https://github.com/typicode/husky/pull/1377) ### [`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7) [Compare Source](https://github.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://github.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363) ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), 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](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/X-oss-byte/Nextjs).
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.11.0` -> `20.11.28`](https://renovatebot.com/diffs/npm/@types%2fnode/20.11.0/20.11.28) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.11.28?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.11.28?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.11.0/20.11.28?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.11.0/20.11.28?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [husky](https://github.com/typicode/husky) | [`^8.0.3` -> `^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [lint-staged](https://github.com/okonet/lint-staged) | [`15.2.0` -> `15.2.2`](https://renovatebot.com/diffs/npm/lint-staged/15.2.0/15.2.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lint-staged/15.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lint-staged/15.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lint-staged/15.2.0/15.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lint-staged/15.2.0/15.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.11`](https://github.com/typicode/husky/releases/tag/v9.0.11) [Compare Source](https://github.com/typicode/husky/compare/v9.0.10...v9.0.11) - chore: update package-lock.json by [@​btea](https://github.com/btea) in [https://github.com/typicode/husky/pull/1383](https://github.com/typicode/husky/pull/1383) - fix: husky=0 in init (fixes [#​1393](https://github.com/typicode/husky/issues/1393)) by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1395](https://github.com/typicode/husky/pull/1395) ### [`v9.0.10`](https://github.com/typicode/husky/releases/tag/v9.0.10) [Compare Source](https://github.com/typicode/husky/compare/v9.0.9...v9.0.10) - fix: rename index.d.ts to index.d.mts by [@​mrkjdy](https://github.com/mrkjdy) in [https://github.com/typicode/husky/pull/1379](https://github.com/typicode/husky/pull/1379) ### [`v9.0.9`](https://github.com/typicode/husky/releases/tag/v9.0.9) [Compare Source](https://github.com/typicode/husky/compare/v9.0.8...v9.0.9) - refactor: rename files by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1378](https://github.com/typicode/husky/pull/1378) ### [`v9.0.8`](https://github.com/typicode/husky/releases/tag/v9.0.8) [Compare Source](https://github.com/typicode/husky/compare/v9.0.7...v9.0.8) - docs: update index.md by [@​khaledYS](https://github.com/khaledYS) in [https://github.com/typicode/husky/pull/1369](https://github.com/typicode/husky/pull/1369) - Fix tab detection on install command by [@​glensc](https://github.com/glensc) in [https://github.com/typicode/husky/pull/1376](https://github.com/typicode/husky/pull/1376) - refactor: reduce file size by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1377](https://github.com/typicode/husky/pull/1377) ### [`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7) [Compare Source](https://github.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://github.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363) ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> <details> <summary>okonet/lint-staged (lint-staged)</summary> ### [`v15.2.2`](https://github.com/okonet/lint-staged/blob/HEAD/CHANGELOG.md#1522) [Compare Source](https://github.com/okonet/lint-staged/compare/v15.2.1...v15.2.2) ##### Patch Changes - [#​1391](https://github.com/lint-staged/lint-staged/pull/1391) [`fdcdad4`](https://github.com/lint-staged/lint-staged/commit/fdcdad42ff96fea3c05598e378d3c44ad4a51bde) Thanks [@​iiroj](https://github.com/iiroj)! - *Lint-staged* no longer tries to load configuration from files that are not checked out. This might happen when using sparse-checkout. ### [`v15.2.1`](https://github.com/okonet/lint-staged/blob/HEAD/CHANGELOG.md#1521) [Compare Source](https://github.com/okonet/lint-staged/compare/v15.2.0...v15.2.1) ##### Patch Changes - [#​1387](https://github.com/lint-staged/lint-staged/pull/1387) [`e4023f6`](https://github.com/lint-staged/lint-staged/commit/e4023f687616dcf4816545b8eefbcce50e255c9c) Thanks [@​iiroj](https://github.com/iiroj)! - Ignore stdin of spawned commands so that they don't get stuck waiting. Until now, *lint-staged* has used the default settings to spawn linter commands. This means the `stdin` of the spawned commands has accepted input, and essentially gotten stuck waiting. Now the `stdin` is ignored and commands will no longer get stuck. If you relied on this behavior, please open a new issue and describe how; the behavior has not been intended. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC), 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. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/hobroker/selfhosted). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNDUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI0NS4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Igor <4361921+hobroker@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`^8.0.3` -> `^9.0.11`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.11`](https://github.com/typicode/husky/releases/tag/v9.0.11) [Compare Source](https://github.com/typicode/husky/compare/v9.0.10...v9.0.11) - chore: update package-lock.json by [@​btea](https://github.com/btea) in [https://github.com/typicode/husky/pull/1383](https://github.com/typicode/husky/pull/1383) - fix: husky=0 in init (fixes [#​1393](https://github.com/typicode/husky/issues/1393)) by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1395](https://github.com/typicode/husky/pull/1395) ### [`v9.0.10`](https://github.com/typicode/husky/releases/tag/v9.0.10) [Compare Source](https://github.com/typicode/husky/compare/v9.0.9...v9.0.10) - fix: rename index.d.ts to index.d.mts by [@​mrkjdy](https://github.com/mrkjdy) in [https://github.com/typicode/husky/pull/1379](https://github.com/typicode/husky/pull/1379) ### [`v9.0.9`](https://github.com/typicode/husky/releases/tag/v9.0.9) [Compare Source](https://github.com/typicode/husky/compare/v9.0.8...v9.0.9) - refactor: rename files by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1378](https://github.com/typicode/husky/pull/1378) ### [`v9.0.8`](https://github.com/typicode/husky/releases/tag/v9.0.8) [Compare Source](https://github.com/typicode/husky/compare/v9.0.7...v9.0.8) - docs: update index.md by [@​khaledYS](https://github.com/khaledYS) in [https://github.com/typicode/husky/pull/1369](https://github.com/typicode/husky/pull/1369) - Fix tab detection on install command by [@​glensc](https://github.com/glensc) in [https://github.com/typicode/husky/pull/1376](https://github.com/typicode/husky/pull/1376) - refactor: reduce file size by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1377](https://github.com/typicode/husky/pull/1377) ### [`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7) [Compare Source](https://github.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://github.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363) ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/manaelproxy/manael). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`8.0.3` -> `9.0.11`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.0.11`](https://github.com/typicode/husky/releases/tag/v9.0.11) [Compare Source](https://github.com/typicode/husky/compare/v9.0.10...v9.0.11) - chore: update package-lock.json by [@​btea](https://github.com/btea) in [https://github.com/typicode/husky/pull/1383](https://github.com/typicode/husky/pull/1383) - fix: husky=0 in init (fixes [#​1393](https://github.com/typicode/husky/issues/1393)) by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1395](https://github.com/typicode/husky/pull/1395) ### [`v9.0.10`](https://github.com/typicode/husky/releases/tag/v9.0.10) [Compare Source](https://github.com/typicode/husky/compare/v9.0.9...v9.0.10) - fix: rename index.d.ts to index.d.mts by [@​mrkjdy](https://github.com/mrkjdy) in [https://github.com/typicode/husky/pull/1379](https://github.com/typicode/husky/pull/1379) ### [`v9.0.9`](https://github.com/typicode/husky/releases/tag/v9.0.9) [Compare Source](https://github.com/typicode/husky/compare/v9.0.8...v9.0.9) - refactor: rename files by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1378](https://github.com/typicode/husky/pull/1378) ### [`v9.0.8`](https://github.com/typicode/husky/releases/tag/v9.0.8) [Compare Source](https://github.com/typicode/husky/compare/v9.0.7...v9.0.8) - docs: update index.md by [@​khaledYS](https://github.com/khaledYS) in [https://github.com/typicode/husky/pull/1369](https://github.com/typicode/husky/pull/1369) - Fix tab detection on install command by [@​glensc](https://github.com/glensc) in [https://github.com/typicode/husky/pull/1376](https://github.com/typicode/husky/pull/1376) - refactor: reduce file size by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1377](https://github.com/typicode/husky/pull/1377) ### [`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7) [Compare Source](https://github.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://github.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363) ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/camunda/zeebe). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMTMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjMxMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJhdXRvbWVyZ2UiXX0=-->
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`^5.2.0` -> `^9.0.0`](https://renovatebot.com/diffs/npm/husky/5.2.0/9.1.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/5.2.0/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/5.2.0/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.1.6`](https://github.com/typicode/husky/compare/v9.1.5...a2d942a670b3d6a04578005a0fd2dc310e511849) [Compare Source](https://github.com/typicode/husky/compare/v9.1.5...v9.1.6) ### [`v9.1.5`](https://github.com/typicode/husky/compare/v9.1.4...2fee8d212c601942ad146ea9209f15c20a07fb6d) [Compare Source](https://github.com/typicode/husky/compare/v9.1.4...v9.1.5) ### [`v9.1.4`](https://github.com/typicode/husky/compare/v9.1.3...fc549e0e5c8723a6d796f6ad26ef6590769f5d82) [Compare Source](https://github.com/typicode/husky/compare/v9.1.3...v9.1.4) ### [`v9.1.3`](https://github.com/typicode/husky/releases/tag/v9.1.3) [Compare Source](https://github.com/typicode/husky/compare/v9.1.2...v9.1.3) - fix: better handle space in `PATH` ### [`v9.1.2`](https://github.com/typicode/husky/compare/v9.1.1...v9.1.2) [Compare Source](https://github.com/typicode/husky/compare/v9.1.1...v9.1.2) ### [`v9.1.1`](https://github.com/typicode/husky/compare/v9.1.0...2968998755465f69069f297b5bb603e26d6b1772) [Compare Source](https://github.com/typicode/husky/compare/v9.1.0...v9.1.1) ### [`v9.1.0`](https://github.com/typicode/husky/releases/tag/v9.1.0) [Compare Source](https://github.com/typicode/husky/compare/v9.0.11...v9.1.0) <p> <img src="https://github.com/user-attachments/assets/72a03e68-e9c3-4644-94f9-d5ceb343aca5" height="500px" alt="" /> </p> *Super saiyan ~~god~~ dog! It's over 9.0.0!* *There's a bug with this release which prevents the deprecation notice to appear and requires to remove `#!/usr/bin/env sh` and `. "$(dirname -- "$0")/_/husky.sh"` (which are deprecated by the way). I'll publish a new version to fix that. Sorry about any inconvenience.* ### What's new You can now run package commands directly, no need for `npx` or equivalents. It makes writing hooks more intuitive and is also slightly faster 🐺⚡️ ```diff ### .husky/pre-commit - npx jest + jest # ~0.2s faster ``` A new recipe has been added to the docs. Lint staged files without external dependencies (inspired by Prettier docs). Feel free to modify it. ```shell ### .husky/pre-commit prettier $(git diff --cached --name-only --diff-filter=ACMR | sed 's| |\\ |g') --write --ignore-unknown git update-index --again ``` For more advanced use cases, see [lint-staged](https://github.com/lint-staged/lint-staged). ### Fixes - `bunx husky init` command - Workaround for some hooks implementation on Windows 🤷 ### Deprecations - Remove `#!/usr/bin/env sh` and `. "$(dirname -- "$0")/_/husky.sh"` from your hooks - Move your code from `~/.huskyrc` to `.config/husky/init.sh` Support for these will be removed in v10, notices have been added. ### Friendly reminder If Git hooks don't fit your workflow, you can disable Husky globally. Just add `export HUSKY=0` to `.config/husky/init.sh`. I've seen some confusion about this on X, so just a heads-up! ### Sponsoring Husky is downloaded over 45M times per month and used by ~1.5M projects. If your company wants to sponsor, you can do so here: [GitHub Sponsors](https://github.com/sponsors/typicode). **Have a nice summer ☀️ I'm open to new opportunities/consulting so feel free to drop me a message 😉** ### [`v9.0.11`](https://github.com/typicode/husky/releases/tag/v9.0.11) [Compare Source](https://github.com/typicode/husky/compare/v9.0.10...v9.0.11) - chore: update package-lock.json by [@​btea](https://github.com/btea) in [https://github.com/typicode/husky/pull/1383](https://github.com/typicode/husky/pull/1383) - fix: husky=0 in init (fixes [#​1393](https://github.com/typicode/husky/issues/1393)) by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1395](https://github.com/typicode/husky/pull/1395) ### [`v9.0.10`](https://github.com/typicode/husky/releases/tag/v9.0.10) [Compare Source](https://github.com/typicode/husky/compare/v9.0.9...v9.0.10) - fix: rename index.d.ts to index.d.mts by [@​mrkjdy](https://github.com/mrkjdy) in [https://github.com/typicode/husky/pull/1379](https://github.com/typicode/husky/pull/1379) ### [`v9.0.9`](https://github.com/typicode/husky/releases/tag/v9.0.9) [Compare Source](https://github.com/typicode/husky/compare/v9.0.8...v9.0.9) - refactor: rename files by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1378](https://github.com/typicode/husky/pull/1378) ### [`v9.0.8`](https://github.com/typicode/husky/releases/tag/v9.0.8) [Compare Source](https://github.com/typicode/husky/compare/v9.0.7...v9.0.8) - docs: update index.md by [@​khaledYS](https://github.com/khaledYS) in [https://github.com/typicode/husky/pull/1369](https://github.com/typicode/husky/pull/1369) - Fix tab detection on install command by [@​glensc](https://github.com/glensc) in [https://github.com/typicode/husky/pull/1376](https://github.com/typicode/husky/pull/1376) - refactor: reduce file size by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1377](https://github.com/typicode/husky/pull/1377) ### [`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7) [Compare Source](https://github.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://github.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363) ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` ### [`v8.0.3`](https://github.com/typicode/husky/releases/tag/v8.0.3) [Compare Source](https://github.com/typicode/husky/compare/v8.0.2...v8.0.3) - fix: add git not installed message [#​1208](https://github.com/typicode/husky/issues/1208) ### [`v8.0.2`](https://github.com/typicode/husky/releases/tag/v8.0.2) [Compare Source](https://github.com/typicode/husky/compare/v8.0.1...v8.0.2) - docs: remove deprecated npm set-script ### [`v8.0.1`](https://github.com/typicode/husky/releases/tag/v8.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.0...v8.0.1) - fix: use POSIX equality operator ### [`v8.0.0`](https://github.com/typicode/husky/releases/tag/v8.0.0) [Compare Source](https://github.com/typicode/husky/compare/v7.0.4...v8.0.0) #### What's Changed ##### Feats - feat: add `husky -` prefix to logged global error messages by [@​joshbalfour](https://github.com/joshbalfour) in [https://github.com/typicode/husky/pull/1092](https://github.com/typicode/husky/pull/1092) - feat: show `PATH` when command not found to improve debuggability - feat: drop Node 12 support - feat: skip install if `$HUSKY=0` ##### Fixes - fix: hook script use `/usr/bin/env sh` instead of direct path of `sh` by [@​skhaz](https://github.com/skhaz) in [https://github.com/typicode/husky/pull/1051](https://github.com/typicode/husky/pull/1051) - fix: actually set 'husky_skip_init' as readonly in `./husky.sh` by [@​hyperupcall](https://github.com/hyperupcall) in [https://github.com/typicode/husky/pull/1104](https://github.com/typicode/husky/pull/1104) - fix: force `basename`/`dirname` to treat `$0` as an argument by [@​mataha](https://github.com/mataha) in [https://github.com/typicode/husky/pull/1132](https://github.com/typicode/husky/pull/1132) - fix: remove `git.io` links by [@​renbaoshuo](https://github.com/renbaoshuo) in [https://github.com/typicode/husky/pull/1136](https://github.com/typicode/husky/pull/1136) ##### Docs - docs: fix uninstall via npm by [@​pddpd](https://github.com/pddpd) in [https://github.com/typicode/husky/pull/1033](https://github.com/typicode/husky/pull/1033) - docs: add dog emoji as favicon by [@​jamiehaywood](https://github.com/jamiehaywood) in [https://github.com/typicode/husky/pull/1095](https://github.com/typicode/husky/pull/1095) - docs: replace deprecated `npx --no-install` option with `npx --no` by [@​sibiraj-s](https://github.com/sibiraj-s) in [https://github.com/typicode/husky/pull/1070](https://github.com/typicode/husky/pull/1070) - docs: add `pnpm` installation by [@​MohamadKh75](https://github.com/MohamadKh75) in [https://github.com/typicode/husky/pull/1139](https://github.com/typicode/husky/pull/1139) ##### Chore - chore: update workflows by [@​tiziodcaio](https://github.com/tiziodcaio) in [https://github.com/typicode/husky/pull/1125](https://github.com/typicode/husky/pull/1125) ### [`v7.0.4`](https://github.com/typicode/husky/releases/tag/v7.0.4) [Compare Source](https://github.com/typicode/husky/compare/v7.0.3...v7.0.4) *No changes. Husky v7.0.3 was reverted, this version is the same as v7.0.2.* ### [`v7.0.3`](https://github.com/typicode/husky/compare/v7.0.2...v7.0.3) [Compare Source](https://github.com/typicode/husky/compare/v7.0.2...v7.0.3) ### [`v7.0.2`](https://github.com/typicode/husky/releases/tag/v7.0.2) [Compare Source](https://github.com/typicode/husky/compare/v7.0.1...v7.0.2) Fix pre-commit hook in WebStorm ([#​1023](https://github.com/typicode/husky/issues/1023)) ### [`v7.0.1`](https://github.com/typicode/husky/releases/tag/v7.0.1) [Compare Source](https://github.com/typicode/husky/compare/v7.0.0...v7.0.1) - Fix gracefully fail if Git command is not found [#​1003](https://github.com/typicode/husky/issues/1003) (same as in v6) ### [`v7.0.0`](https://github.com/typicode/husky/releases/tag/v7.0.0) [Compare Source](https://github.com/typicode/husky/compare/v6.0.0...v7.0.0) - Improve `.husky/` directory structure. **`.husky/.gitignore` is now unnecessary and can be removed**. - Improve error output (shorter) - Update [`husky-init`](https://github.com/typicode/husky-init) CLI - Update [`husky-4-to-7`](https://github.com/typicode/husky-4-to-7) CLI - Drop Node 10 support *Please help me develop and release OSS projects ❤️ on [GitHub Sponsors](https://github.com/sponsors/typicode) or [Open Collective](https://opencollective.com/husky). Thank you for your support!* ### [`v6.0.0`](https://github.com/typicode/husky/releases/tag/v6.0.0) [Compare Source](https://github.com/typicode/husky/compare/v5.2.0...v6.0.0) After being in early access for Open Source projects and Sponsors for a limited time, **I'm happy to announce that husky 6 is MIT again** and can be freely used in commercial projects! 🎉 **Many thanks to the [Open Source projects](https://typicode.github.io/husky/#/?id=used-by) and Companies which have switched to/sponsored the new husky during this period!** *OSS is my full-time job, please consider sponsoring the development of husky on [GitHub sponsors](https://github.com/sponsors/typicode) or [Open Collective](https://opencollective.com/husky). Thank you!* ### Breaking change - `husky init` has been moved to its own package (`npx husky-init`) ### Added - Programmatically use husky: `require('husky')` - TypeScript definitions ### Migrating from husky 4 Husky 6 contains breaking changes. If you're coming from v4, `npm install husky@6` won't be enough. **Recommended:** see [husky-4-to-6](https://typicode.github.io/husky/#/?id=husky-4-to-6-cli) CLI to automatically migrate your config. There's also a dedicated section in the [docs](https://typicode.github.io/husky/#/?id=migrate-from-v4-to-v6). **If you're curious why config has changed, you may be interested in reading:** https://blog.typicode.com/husky-git-hooks-javascript-config/ **Also Husky 6 follows official [npm](https://docs.npmjs.com/cli/v7/using-npm/scripts#best-practices) and [Yarn](https://yarnpkg.com/advanced/lifecycle-scripts#a-note-about-postinstall) best practices regarding autoinstall.** It's recommended to use `prepare` script instead (see [usage](https://typicode.github.io/husky/#/?id=usage) in docs). </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/davidsneighbour/hugo-modules). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC43NC4xIiwidXBkYXRlZEluVmVyIjoiMzguNzQuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`^8.0.3` -> `^9.1.6`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.1.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.1.6`](https://github.com/typicode/husky/compare/v9.1.5...a2d942a670b3d6a04578005a0fd2dc310e511849) [Compare Source](https://github.com/typicode/husky/compare/v9.1.5...v9.1.6) ### [`v9.1.5`](https://github.com/typicode/husky/compare/v9.1.4...2fee8d212c601942ad146ea9209f15c20a07fb6d) [Compare Source](https://github.com/typicode/husky/compare/v9.1.4...v9.1.5) ### [`v9.1.4`](https://github.com/typicode/husky/compare/v9.1.3...fc549e0e5c8723a6d796f6ad26ef6590769f5d82) [Compare Source](https://github.com/typicode/husky/compare/v9.1.3...v9.1.4) ### [`v9.1.3`](https://github.com/typicode/husky/releases/tag/v9.1.3) [Compare Source](https://github.com/typicode/husky/compare/v9.1.2...v9.1.3) - fix: better handle space in `PATH` ### [`v9.1.2`](https://github.com/typicode/husky/compare/v9.1.1...v9.1.2) [Compare Source](https://github.com/typicode/husky/compare/v9.1.1...v9.1.2) ### [`v9.1.1`](https://github.com/typicode/husky/compare/v9.1.0...2968998755465f69069f297b5bb603e26d6b1772) [Compare Source](https://github.com/typicode/husky/compare/v9.1.0...v9.1.1) ### [`v9.1.0`](https://github.com/typicode/husky/releases/tag/v9.1.0) [Compare Source](https://github.com/typicode/husky/compare/v9.0.11...v9.1.0) <p> <img src="https://github.com/user-attachments/assets/72a03e68-e9c3-4644-94f9-d5ceb343aca5" height="500px" alt="" /> </p> *Super saiyan ~~god~~ dog! It's over 9.0.0!* *There's a bug with this release which prevents the deprecation notice to appear and requires to remove `#!/usr/bin/env sh` and `. "$(dirname -- "$0")/_/husky.sh"` (which are deprecated by the way). I'll publish a new version to fix that. Sorry about any inconvenience.* ### What's new You can now run package commands directly, no need for `npx` or equivalents. It makes writing hooks more intuitive and is also slightly faster 🐺⚡️ ```diff ### .husky/pre-commit - npx jest + jest # ~0.2s faster ``` A new recipe has been added to the docs. Lint staged files without external dependencies (inspired by Prettier docs). Feel free to modify it. ```shell ### .husky/pre-commit prettier $(git diff --cached --name-only --diff-filter=ACMR | sed 's| |\\ |g') --write --ignore-unknown git update-index --again ``` For more advanced use cases, see [lint-staged](https://github.com/lint-staged/lint-staged). ### Fixes - `bunx husky init` command - Workaround for some hooks implementation on Windows 🤷 ### Deprecations - Remove `#!/usr/bin/env sh` and `. "$(dirname -- "$0")/_/husky.sh"` from your hooks - Move your code from `~/.huskyrc` to `.config/husky/init.sh` Support for these will be removed in v10, notices have been added. ### Friendly reminder If Git hooks don't fit your workflow, you can disable Husky globally. Just add `export HUSKY=0` to `.config/husky/init.sh`. I've seen some confusion about this on X, so just a heads-up! ### Sponsoring Husky is downloaded over 45M times per month and used by ~1.5M projects. If your company wants to sponsor, you can do so here: [GitHub Sponsors](https://github.com/sponsors/typicode). **Have a nice summer ☀️ I'm open to new opportunities/consulting so feel free to drop me a message 😉** ### [`v9.0.11`](https://github.com/typicode/husky/releases/tag/v9.0.11) [Compare Source](https://github.com/typicode/husky/compare/v9.0.10...v9.0.11) - chore: update package-lock.json by [@​btea](https://github.com/btea) in [https://github.com/typicode/husky/pull/1383](https://github.com/typicode/husky/pull/1383) - fix: husky=0 in init (fixes [#​1393](https://github.com/typicode/husky/issues/1393)) by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1395](https://github.com/typicode/husky/pull/1395) ### [`v9.0.10`](https://github.com/typicode/husky/releases/tag/v9.0.10) [Compare Source](https://github.com/typicode/husky/compare/v9.0.9...v9.0.10) - fix: rename index.d.ts to index.d.mts by [@​mrkjdy](https://github.com/mrkjdy) in [https://github.com/typicode/husky/pull/1379](https://github.com/typicode/husky/pull/1379) ### [`v9.0.9`](https://github.com/typicode/husky/releases/tag/v9.0.9) [Compare Source](https://github.com/typicode/husky/compare/v9.0.8...v9.0.9) - refactor: rename files by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1378](https://github.com/typicode/husky/pull/1378) ### [`v9.0.8`](https://github.com/typicode/husky/releases/tag/v9.0.8) [Compare Source](https://github.com/typicode/husky/compare/v9.0.7...v9.0.8) - docs: update index.md by [@​khaledYS](https://github.com/khaledYS) in [https://github.com/typicode/husky/pull/1369](https://github.com/typicode/husky/pull/1369) - Fix tab detection on install command by [@​glensc](https://github.com/glensc) in [https://github.com/typicode/husky/pull/1376](https://github.com/typicode/husky/pull/1376) - refactor: reduce file size by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1377](https://github.com/typicode/husky/pull/1377) ### [`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7) [Compare Source](https://github.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://github.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363) ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled because a matching PR was automerged previously. ♻ **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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/rustymotors/server). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6ImRldiIsImxhYmVscyI6W119-->
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://github.com/typicode/husky) | [`^8.0.3` -> `^9.1.6`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.1.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typicode/husky (husky)</summary> ### [`v9.1.6`](https://github.com/typicode/husky/compare/v9.1.5...a2d942a670b3d6a04578005a0fd2dc310e511849) [Compare Source](https://github.com/typicode/husky/compare/v9.1.5...v9.1.6) ### [`v9.1.5`](https://github.com/typicode/husky/compare/v9.1.4...2fee8d212c601942ad146ea9209f15c20a07fb6d) [Compare Source](https://github.com/typicode/husky/compare/v9.1.4...v9.1.5) ### [`v9.1.4`](https://github.com/typicode/husky/compare/v9.1.3...fc549e0e5c8723a6d796f6ad26ef6590769f5d82) [Compare Source](https://github.com/typicode/husky/compare/v9.1.3...v9.1.4) ### [`v9.1.3`](https://github.com/typicode/husky/releases/tag/v9.1.3) [Compare Source](https://github.com/typicode/husky/compare/v9.1.2...v9.1.3) - fix: better handle space in `PATH` ### [`v9.1.2`](https://github.com/typicode/husky/compare/v9.1.1...v9.1.2) [Compare Source](https://github.com/typicode/husky/compare/v9.1.1...v9.1.2) ### [`v9.1.1`](https://github.com/typicode/husky/compare/v9.1.0...2968998755465f69069f297b5bb603e26d6b1772) [Compare Source](https://github.com/typicode/husky/compare/v9.1.0...v9.1.1) ### [`v9.1.0`](https://github.com/typicode/husky/releases/tag/v9.1.0) [Compare Source](https://github.com/typicode/husky/compare/v9.0.11...v9.1.0) <p> <img src="https://github.com/user-attachments/assets/72a03e68-e9c3-4644-94f9-d5ceb343aca5" height="500px" alt="" /> </p> *Super saiyan ~~god~~ dog! It's over 9.0.0!* *There's a bug with this release which prevents the deprecation notice to appear and requires to remove `#!/usr/bin/env sh` and `. "$(dirname -- "$0")/_/husky.sh"` (which are deprecated by the way). I'll publish a new version to fix that. Sorry about any inconvenience.* ### What's new You can now run package commands directly, no need for `npx` or equivalents. It makes writing hooks more intuitive and is also slightly faster 🐺⚡️ ```diff ### .husky/pre-commit - npx jest + jest # ~0.2s faster ``` A new recipe has been added to the docs. Lint staged files without external dependencies (inspired by Prettier docs). Feel free to modify it. ```shell ### .husky/pre-commit prettier $(git diff --cached --name-only --diff-filter=ACMR | sed 's| |\\ |g') --write --ignore-unknown git update-index --again ``` For more advanced use cases, see [lint-staged](https://github.com/lint-staged/lint-staged). ### Fixes - `bunx husky init` command - Workaround for some hooks implementation on Windows 🤷 ### Deprecations - Remove `#!/usr/bin/env sh` and `. "$(dirname -- "$0")/_/husky.sh"` from your hooks - Move your code from `~/.huskyrc` to `.config/husky/init.sh` Support for these will be removed in v10, notices have been added. ### Friendly reminder If Git hooks don't fit your workflow, you can disable Husky globally. Just add `export HUSKY=0` to `.config/husky/init.sh`. I've seen some confusion about this on X, so just a heads-up! ### Sponsoring Husky is downloaded over 45M times per month and used by ~1.5M projects. If your company wants to sponsor, you can do so here: [GitHub Sponsors](https://github.com/sponsors/typicode). **Have a nice summer ☀️ I'm open to new opportunities/consulting so feel free to drop me a message 😉** ### [`v9.0.11`](https://github.com/typicode/husky/releases/tag/v9.0.11) [Compare Source](https://github.com/typicode/husky/compare/v9.0.10...v9.0.11) - chore: update package-lock.json by [@​btea](https://github.com/btea) in [https://github.com/typicode/husky/pull/1383](https://github.com/typicode/husky/pull/1383) - fix: husky=0 in init (fixes [#​1393](https://github.com/typicode/husky/issues/1393)) by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1395](https://github.com/typicode/husky/pull/1395) ### [`v9.0.10`](https://github.com/typicode/husky/releases/tag/v9.0.10) [Compare Source](https://github.com/typicode/husky/compare/v9.0.9...v9.0.10) - fix: rename index.d.ts to index.d.mts by [@​mrkjdy](https://github.com/mrkjdy) in [https://github.com/typicode/husky/pull/1379](https://github.com/typicode/husky/pull/1379) ### [`v9.0.9`](https://github.com/typicode/husky/releases/tag/v9.0.9) [Compare Source](https://github.com/typicode/husky/compare/v9.0.8...v9.0.9) - refactor: rename files by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1378](https://github.com/typicode/husky/pull/1378) ### [`v9.0.8`](https://github.com/typicode/husky/releases/tag/v9.0.8) [Compare Source](https://github.com/typicode/husky/compare/v9.0.7...v9.0.8) - docs: update index.md by [@​khaledYS](https://github.com/khaledYS) in [https://github.com/typicode/husky/pull/1369](https://github.com/typicode/husky/pull/1369) - Fix tab detection on install command by [@​glensc](https://github.com/glensc) in [https://github.com/typicode/husky/pull/1376](https://github.com/typicode/husky/pull/1376) - refactor: reduce file size by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1377](https://github.com/typicode/husky/pull/1377) ### [`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7) [Compare Source](https://github.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://github.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363) ### [`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6) [Compare Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6) - docs: add favicon by [@​rakleed](https://github.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354) - chore: apply editorconfig to code only by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355) - docs: update install script to mjs and fix CI checks by [@​starnayuta](https://github.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357) - Fix unbound variable by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359) ### [`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5) [Compare Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5) - docs: update path to startup files by [@​ManuelRauber](https://github.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350) - fix: init error by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353) ### [`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4) [Compare Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4) - fix: init create dir before by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348) - refactor: simplify by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349) - fix: init not working on pnpm [#​1334](https://github.com/typicode/husky/issues/1334) by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347) ### [`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3) [Compare Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3) - docs: fix link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340) - chore: fix links in issue template by [@​julien-f](https://github.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341) - fix: add scripts field if not present by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338) - docs: changelog link by [@​typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343) - fix: insert final newline by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339) - fix: fix git hooks path on windows by [@​rozbo](https://github.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346) ### [`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2) [Compare Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2) #### What's Changed - fix: exit code by [@​gergelypap](https://github.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) - docs: typo by [@​chalkygames123](https://github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337) #### New Contributors - [@​gergelypap](https://github.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336) **Full Changelog**: typicode/husky@v9.0.1...v9.0.2 ### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1) [Compare Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1) <p align="center"> Kicking off the year with an exciting update! </p> <p align="center"> <img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" /> </p> #### 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 🙂 #### 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 🙌 #### 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 ``` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled because a matching PR was automerged previously. ♻ **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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/rustymotors/server). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6ImRldiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
No description provided.