Skip to content
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

refactor: simplify #1349

Merged
merged 2 commits into from
Jan 25, 2024
Merged

refactor: simplify #1349

merged 2 commits into from
Jan 25, 2024

Conversation

typicode
Copy link
Owner

No description provided.

@typicode typicode merged commit f874dfb into main Jan 25, 2024
6 checks passed
@typicode typicode deleted the refactor--simplify branch January 25, 2024 14:22
renovate bot referenced this pull request in ixm-one/common Jan 25, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://togithub.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://togithub.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>
renovate bot referenced this pull request in line/line-bot-sdk-nodejs Jan 25, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://togithub.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://togithub.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>
kodiakhq bot referenced this pull request in timelessco/js-bottomsheet Jan 25, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

-   docs: update path to startup files by [@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
-   fix: init error by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

-   fix: init create dir before by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
-   refactor: simplify by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
-   fix: init not working on pnpm [#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by [@&#8203;rozbo](https://togithub.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

-   docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
-   chore: fix links in issue template by [@&#8203;julien-f](https://togithub.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
-   fix: add scripts field if not present by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
-   docs: changelog link by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
-   fix: insert final newline by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
-   fix: fix git hooks path on windows by [@&#8203;rozbo](https://togithub.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

-   fix: exit code by [@&#8203;gergelypap](https://togithub.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
-   docs: typo by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

-   [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**: typicode/husky@v9.0.1...v9.0.2

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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).
Lulalaby referenced this pull request in Aiko-IT-Systems/Discord-React-Components Jan 25, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://togithub.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

- fix: exit code by
[@&#8203;gergelypap](https://togithub.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

- [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first
contribution in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**:
typicode/husky@v9.0.1...v9.0.2

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare
Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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-->
Lulalaby referenced this pull request in Aiko-IT-Systems/Discord-React-Components Jan 25, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://togithub.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

- fix: exit code by
[@&#8203;gergelypap](https://togithub.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

- [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first
contribution in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**:
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-->
renovate bot referenced this pull request in bruxisma/renovate Jan 25, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://togithub.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

- fix: exit code by
[@&#8203;gergelypap](https://togithub.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

- [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first
contribution in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**:
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>
fuxingloh referenced this pull request in fuxingloh/cryptomatter Jan 26, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://togithub.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

- fix: exit code by
[@&#8203;gergelypap](https://togithub.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

- [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first
contribution in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**:
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>
Brooooooklyn referenced this pull request in toeverything/AFFiNE Jan 26, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.6)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6)

-   docs: add favicon by [@&#8203;rakleed](https://togithub.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
-   chore: apply editorconfig to code only by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
-   docs: update install script to mjs and fix CI checks by [@&#8203;starnayuta](https://togithub.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
-   Fix  unbound variable by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)

### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

-   docs: update path to startup files by [@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
-   fix: init error by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

-   fix: init create dir before by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
-   refactor: simplify by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
-   fix: init not working on pnpm [#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by [@&#8203;rozbo](https://togithub.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

-   docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
-   chore: fix links in issue template by [@&#8203;julien-f](https://togithub.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
-   fix: add scripts field if not present by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
-   docs: changelog link by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
-   fix: insert final newline by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
-   fix: fix git hooks path on windows by [@&#8203;rozbo](https://togithub.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

-   fix: exit code by [@&#8203;gergelypap](https://togithub.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
-   docs: typo by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

-   [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**: typicode/husky@v9.0.1...v9.0.2

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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=-->
solaris007 referenced this pull request in adobe/spacecat-shared Jan 26, 2024
[![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://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-dynamodb)
([source](https://togithub.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://togithub.com/aws/aws-sdk-js-v3/tree/main/lib/lib-dynamodb)
([source](https://togithub.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://togithub.com/typescript-eslint/typescript-eslint)
([source](https://togithub.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://togithub.com/typescript-eslint/typescript-eslint)
([source](https://togithub.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://togithub.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 (@&#8203;aws-sdk/client-dynamodb)</summary>

###
[`v3.499.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-dynamodb/CHANGELOG.md#34990-2024-01-24)

[Compare
Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.496.0...v3.499.0)

**Note:** Version bump only for package
[@&#8203;aws-sdk/client-dynamodb](https://togithub.com/aws-sdk/client-dynamodb)

</details>

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/lib-dynamodb)</summary>

###
[`v3.499.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/lib/lib-dynamodb/CHANGELOG.md#34990-2024-01-24)

[Compare
Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.496.0...v3.499.0)

**Note:** Version bump only for package
[@&#8203;aws-sdk/lib-dynamodb](https://togithub.com/aws-sdk/lib-dynamodb)

</details>

<details>
<summary>typescript-eslint/typescript-eslint
(@&#8203;typescript-eslint/eslint-plugin)</summary>

###
[`v6.19.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6191-2024-01-22)

[Compare
Source](https://togithub.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
(@&#8203;typescript-eslint/parser)</summary>

###
[`v6.19.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6191-2024-01-22)

[Compare
Source](https://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.6)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6)

- docs: add favicon by [@&#8203;rakleed](https://togithub.com/rakleed)
in
[https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
- chore: apply editorconfig to code only by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
- docs: update install script to mjs and fix CI checks by
[@&#8203;starnayuta](https://togithub.com/starnayuta) in
[https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
- Fix unbound variable by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)

### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://togithub.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

- fix: exit code by
[@&#8203;gergelypap](https://togithub.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

- [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first
contribution in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**:
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://togithub.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>
abhi-markan referenced this pull request in UK-Export-Finance/mdm-api Jan 27, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.6)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6)

- docs: add favicon by [@&#8203;rakleed](https://togithub.com/rakleed)
in
[https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
- chore: apply editorconfig to code only by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
- docs: update install script to mjs and fix CI checks by
[@&#8203;starnayuta](https://togithub.com/starnayuta) in
[https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
- Fix unbound variable by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)

### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://togithub.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

- fix: exit code by
[@&#8203;gergelypap](https://togithub.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

- [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first
contribution in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**:
typicode/husky@v9.0.1...v9.0.2

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare
Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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 <[email protected]>
Co-authored-by: Abhi Markan <[email protected]>
peterjokumsen referenced this pull request in helderberg-pirates-baseball/websites Jan 28, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [husky](https://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.6)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6)

- docs: add favicon by [@&#8203;rakleed](https://togithub.com/rakleed)
in
[https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
- chore: apply editorconfig to code only by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
- docs: update install script to mjs and fix CI checks by
[@&#8203;starnayuta](https://togithub.com/starnayuta) in
[https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
- Fix unbound variable by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)

### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://togithub.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

- fix: exit code by
[@&#8203;gergelypap](https://togithub.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare
Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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://togithub.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: Renovate Bot GitHub <[email protected]>
ddadaal referenced this pull request in PKUHPC/OpenSCOW Jan 28, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.6)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6)

- docs: add favicon by [@&#8203;rakleed](https://togithub.com/rakleed)
in
[https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
- chore: apply editorconfig to code only by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
- docs: update install script to mjs and fix CI checks by
[@&#8203;starnayuta](https://togithub.com/starnayuta) in
[https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
- Fix unbound variable by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)

### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://togithub.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

- fix: exit code by
[@&#8203;gergelypap](https://togithub.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

- [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first
contribution in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**:
typicode/husky@v9.0.1...v9.0.2

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare
Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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 <[email protected]>
mergify bot referenced this pull request in Balvajs/dismiss-stale-reviews Jan 28, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [husky](https://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.6)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6)

- docs: add favicon by [@&#8203;rakleed](https://togithub.com/rakleed)
in
[https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
- chore: apply editorconfig to code only by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
- docs: update install script to mjs and fix CI checks by
[@&#8203;starnayuta](https://togithub.com/starnayuta) in
[https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
- Fix unbound variable by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)

### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://togithub.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

- fix: exit code by
[@&#8203;gergelypap](https://togithub.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare
Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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://togithub.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>
mergify bot referenced this pull request in Balvajs/delete-stale-branches Jan 28, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [husky](https://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.6)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6)

- docs: add favicon by [@&#8203;rakleed](https://togithub.com/rakleed)
in
[https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
- chore: apply editorconfig to code only by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
- docs: update install script to mjs and fix CI checks by
[@&#8203;starnayuta](https://togithub.com/starnayuta) in
[https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
- Fix unbound variable by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)

### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://togithub.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

- fix: exit code by
[@&#8203;gergelypap](https://togithub.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare
Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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://togithub.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>
saranshisatgit referenced this pull request in Meta-Root-Zones/AFFiNE Jan 28, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.6)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6)

-   docs: add favicon by [@&toeverything#8203;rakleed](https://togithub.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
-   chore: apply editorconfig to code only by [@&toeverything#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
-   docs: update install script to mjs and fix CI checks by [@&toeverything#8203;starnayuta](https://togithub.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
-   Fix  unbound variable by [@&toeverything#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)

### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

-   docs: update path to startup files by [@&toeverything#8203;ManuelRauber](https://togithub.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
-   fix: init error by [@&toeverything#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

-   fix: init create dir before by [@&toeverything#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
-   refactor: simplify by [@&toeverything#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
-   fix: init not working on pnpm [#&toeverything#8203;1334](https://togithub.com/typicode/husky/issues/1334) by [@&toeverything#8203;rozbo](https://togithub.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

-   docs: fix link by [@&toeverything#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
-   chore: fix links in issue template by [@&toeverything#8203;julien-f](https://togithub.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
-   fix: add scripts field if not present by [@&toeverything#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
-   docs: changelog link by [@&toeverything#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
-   fix: insert final newline by [@&toeverything#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
-   fix: fix git hooks path on windows by [@&toeverything#8203;rozbo](https://togithub.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

-   fix: exit code by [@&toeverything#8203;gergelypap](https://togithub.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
-   docs: typo by [@&toeverything#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

-   [@&toeverything#8203;gergelypap](https://togithub.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**: typicode/husky@v9.0.1...v9.0.2

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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=-->
kodiakhq bot referenced this pull request in timelessco/node-ts-app-template Jan 28, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

-   docs: update path to startup files by [@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
-   fix: init error by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

-   fix: init create dir before by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
-   refactor: simplify by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
-   fix: init not working on pnpm [#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by [@&#8203;rozbo](https://togithub.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

-   docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
-   chore: fix links in issue template by [@&#8203;julien-f](https://togithub.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
-   fix: add scripts field if not present by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
-   docs: changelog link by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
-   fix: insert final newline by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
-   fix: fix git hooks path on windows by [@&#8203;rozbo](https://togithub.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

-   fix: exit code by [@&#8203;gergelypap](https://togithub.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
-   docs: typo by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

-   [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**: typicode/husky@v9.0.1...v9.0.2

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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).
kodiakhq bot referenced this pull request in timelessco/recollect Jan 28, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

-   docs: update path to startup files by [@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
-   fix: init error by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

-   fix: init create dir before by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
-   refactor: simplify by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
-   fix: init not working on pnpm [#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by [@&#8203;rozbo](https://togithub.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

-   docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
-   chore: fix links in issue template by [@&#8203;julien-f](https://togithub.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
-   fix: add scripts field if not present by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
-   docs: changelog link by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
-   fix: insert final newline by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
-   fix: fix git hooks path on windows by [@&#8203;rozbo](https://togithub.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

-   fix: exit code by [@&#8203;gergelypap](https://togithub.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
-   docs: typo by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

-   [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**: typicode/husky@v9.0.1...v9.0.2

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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).
kodiakhq bot referenced this pull request in timelessco/next-ts-app-template Jan 28, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

-   docs: update path to startup files by [@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
-   fix: init error by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

-   fix: init create dir before by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
-   refactor: simplify by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
-   fix: init not working on pnpm [#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by [@&#8203;rozbo](https://togithub.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

-   docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
-   chore: fix links in issue template by [@&#8203;julien-f](https://togithub.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
-   fix: add scripts field if not present by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
-   docs: changelog link by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
-   fix: insert final newline by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
-   fix: fix git hooks path on windows by [@&#8203;rozbo](https://togithub.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

-   fix: exit code by [@&#8203;gergelypap](https://togithub.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
-   docs: typo by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

-   [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**: typicode/husky@v9.0.1...v9.0.2

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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).
renovate bot referenced this pull request in tnez/starter-npm-pkg Jan 29, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.6)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6)

- docs: add favicon by [@&#8203;rakleed](https://togithub.com/rakleed)
in
[https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
- chore: apply editorconfig to code only by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
- docs: update install script to mjs and fix CI checks by
[@&#8203;starnayuta](https://togithub.com/starnayuta) in
[https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
- Fix unbound variable by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)

### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://togithub.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

- fix: exit code by
[@&#8203;gergelypap](https://togithub.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

- [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first
contribution in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**:
typicode/husky@v9.0.1...v9.0.2

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare
Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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>
Miracle575 referenced this pull request in PKUHPC/OpenSCOW Jan 29, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.6)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6)

- docs: add favicon by [@&#8203;rakleed](https://togithub.com/rakleed)
in
[https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
- chore: apply editorconfig to code only by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
- docs: update install script to mjs and fix CI checks by
[@&#8203;starnayuta](https://togithub.com/starnayuta) in
[https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
- Fix unbound variable by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)

### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://togithub.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

- fix: exit code by
[@&#8203;gergelypap](https://togithub.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

- [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first
contribution in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**:
typicode/husky@v9.0.1...v9.0.2

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare
Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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 <[email protected]>
kodiakhq bot referenced this pull request in weareinreach/TransMascFutures Jan 29, 2024
[![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://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.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://togithub.com/typescript-eslint/typescript-eslint) ([source](https://togithub.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://togithub.com/typescript-eslint/typescript-eslint) ([source](https://togithub.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://togithub.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://togithub.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://togithub.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://togithub.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://togithub.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://togithub.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 (@&#8203;typescript-eslint/eslint-plugin)</summary>

### [`v6.20.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6200-2024-01-29)

[Compare Source](https://togithub.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 (@&#8203;typescript-eslint/parser)</summary>

### [`v6.20.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6200-2024-01-29)

[Compare Source](https://togithub.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://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1061-Fri-Jan-26-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.6.0...v10.6.1)

##### 🐛 Bug Fix

-   Remove after-release script [#&#8203;906](https://togithub.com/chromaui/chromatic-cli/pull/906) ([@&#8203;skitterm](https://togithub.com/skitterm))

##### Authors: 1

-   Steven Kitterman ([@&#8203;skitterm](https://togithub.com/skitterm))

***

### [`v10.6.0`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1060-Fri-Jan-26-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.5.2...v10.6.0)

##### 🚀 Enhancement

-   CLI should throw error when using TurboSnap but missing a stats file. [#&#8203;899](https://togithub.com/chromaui/chromatic-cli/pull/899) ([@&#8203;thafryer](https://togithub.com/thafryer))

##### Authors: 1

-   Jarel Fryer ([@&#8203;thafryer](https://togithub.com/thafryer))

***

### [`v10.5.2`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1052-Thu-Jan-25-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.5.1...v10.5.2)

##### 🐛 Bug Fix

-   Remove latest from the chromatic package in Init script [#&#8203;902](https://togithub.com/chromaui/chromatic-cli/pull/902) ([@&#8203;thafryer](https://togithub.com/thafryer))

##### Authors: 1

-   Jarel Fryer ([@&#8203;thafryer](https://togithub.com/thafryer))

***

### [`v10.5.1`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1051-Thu-Jan-25-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.5.0...v10.5.1)

##### 🐛 Bug Fix

-   Add "package.json" to exports map [#&#8203;900](https://togithub.com/chromaui/chromatic-cli/pull/900) ([@&#8203;yannbf](https://togithub.com/yannbf))
-   Improve logging around upload errors [#&#8203;894](https://togithub.com/chromaui/chromatic-cli/pull/894) ([@&#8203;ghengeveld](https://togithub.com/ghengeveld))
-   Don't skip uploading of empty files, it works now [#&#8203;901](https://togithub.com/chromaui/chromatic-cli/pull/901) ([@&#8203;ghengeveld](https://togithub.com/ghengeveld))

##### Authors: 2

-   Gert Hengeveld ([@&#8203;ghengeveld](https://togithub.com/ghengeveld))
-   Yann Braga ([@&#8203;yannbf](https://togithub.com/yannbf))

***

</details>

<details>
<summary>mmkal/eslint-plugin-codegen (eslint-plugin-codegen)</summary>

### [`v0.23.0`](https://togithub.com/mmkal/eslint-plugin-codegen/releases/tag/v0.23.0)

[Compare Source](https://togithub.com/mmkal/eslint-plugin-codegen/compare/v0.22.1...v0.23.0)

-   add child_process to dependencies  [`d0f6bbe`](https://togithub.com/mmkal/eslint-plugin-codegen/commit/d0f6bbe)

</details>

<details>
<summary>typicode/husky (husky)</summary>

### [`v9.0.7`](https://togithub.com/typicode/husky/releases/tag/v9.0.7)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.6...v9.0.7)

-   fix: typo and source `~/.huskyrc` correctly (compatibility with v8)
-   docs: fix example by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://togithub.com/typicode/husky/pull/1363)

### [`v9.0.6`](https://togithub.com/typicode/husky/releases/tag/v9.0.6)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6)

-   docs: add favicon by [@&#8203;rakleed](https://togithub.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
-   chore: apply editorconfig to code only by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
-   docs: update install script to mjs and fix CI checks by [@&#8203;starnayuta](https://togithub.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
-   Fix  unbound variable by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)

### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

-   docs: update path to startup files by [@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
-   fix: init error by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

-   fix: init create dir before by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
-   refactor: simplify by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
-   fix: init not working on pnpm [#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by [@&#8203;rozbo](https://togithub.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

</details>

<details>
<summary>i18next/i18next (i18next)</summary>

### [`v23.8.1`](https://togithub.com/i18next/i18next/blob/HEAD/CHANGELOG.md#2381)

[Compare Source](https://togithub.com/i18next/i18next/compare/v23.8.0...v23.8.1)

-   types: support stricter typechecking for returnEmptyString and returnNull [2129](https://togithub.com/i18next/i18next/pull/2129)

### [`v23.8.0`](https://togithub.com/i18next/i18next/blob/HEAD/CHANGELOG.md#2380)

[Compare Source](https://togithub.com/i18next/i18next/compare/v23.7.20...v23.8.0)

-   improve performance by reducing array slices and RegExp recreation [2128](https://togithub.com/i18next/i18next/pull/2128)

### [`v23.7.20`](https://togithub.com/i18next/i18next/blob/HEAD/CHANGELOG.md#23720)

[Compare Source](https://togithub.com/i18next/i18next/compare/v23.7.19...v23.7.20)

-   optimize: consistent \_zero special handling also for defaultValue_zero [2124](https://togithub.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://togithub.com/listr2/listr2/releases/tag/listr2%408.0.2)

[Compare Source](https://togithub.com/listr2/listr2/compare/listr2@&#8203;8.0.1...listr2@&#8203;8.0.2)

#### listr2 [8.0.2](https://togithub.com/listr2/listr2/compare/listr2@&#8203;8.0.1...listr2@&#8203;8.0.2) (2024-01-27)

##### Bug Fixes

-   **deps:** update all minor dependency updates ([6662e0b](https://togithub.com/listr2/listr2/commit/6662e0bda139742578505da4ceeddffc83234611))

</details>

<details>
<summary>pnpm/pnpm (pnpm)</summary>

### [`v8.15.0`](https://togithub.com/pnpm/pnpm/releases/tag/v8.15.0)

[Compare Source](https://togithub.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 [#&#8203;7530](https://togithub.com/pnpm/pnpm/pull/7530).

#### Patch Changes

-   Running `pnpm update -r --latest` will no longer downgrade prerelease dependencies [#&#8203;7436](https://togithub.com/pnpm/pnpm/issues/7436).
-   `--aggregate-output` should work on scripts executed from the same project [#&#8203;7556](https://togithub.com/pnpm/pnpm/issues/7556).
-   Prefer hard links over reflinks on Windows as they perform better [#&#8203;7564](https://togithub.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 [#&#8203;7563](https://togithub.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 [#&#8203;7567](https://togithub.com/pnpm/pnpm/pull/7567).
-   Don't fail in Windows CoW if the file already exists [#&#8203;7554](https://togithub.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://togithub.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 <[email protected]>
hyochan referenced this pull request in hyochan/dooboo-ui Jan 30, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.6)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6)

- docs: add favicon by [@&#8203;rakleed](https://togithub.com/rakleed)
in
[https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
- chore: apply editorconfig to code only by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
- docs: update install script to mjs and fix CI checks by
[@&#8203;starnayuta](https://togithub.com/starnayuta) in
[https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
- Fix unbound variable by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)

### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://togithub.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

- fix: exit code by
[@&#8203;gergelypap](https://togithub.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

- [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first
contribution in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**:
typicode/husky@v9.0.1...v9.0.2

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare
Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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>
gisbdzhch pushed a commit to gisktzh/gb3-web_ui that referenced this pull request Jan 31, 2024
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 [@&#8203;rakleed](https://github.com/rakleed) in typicode/husky#1354
-   chore: apply editorconfig to code only by [@&#8203;typicode](https://github.com/typicode) in typicode/husky#1355
-   docs: update install script to mjs and fix CI checks by [@&#8203;starnayuta](https://github.com/starnayuta) in typicode/husky#1357
-   Fix  unbound variable by [@&#8203;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 [@&#8203;ManuelRauber](https://github.com/ManuelRauber) in typicode/husky#1350
-   fix: init error by [@&#8203;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 [@&#8203;typicode](https://github.com/typicode) in typicode/husky#1348
-   refactor: simplify by [@&#8203;typicode](https://github.com/typicode) in typicode/husky#1349
-   fix: init not working on pnpm [#&#8203;1334](typicode/husky#1334) by [@&#8203;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 [@&#8203;typicode](https://github.com/typicode) in typicode/husky#1340
-   chore: fix links in issue template by [@&#8203;julien-f](https://github.com/julien-f) in typicode/husky#1341
-   fi...
takecchi referenced this pull request in cuculus-dev/cuculus Jan 31, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.7)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.6...v9.0.7)

-   fix: typo and source `~/.huskyrc` correctly (compatibility with v8)
- docs: fix example by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1363](https://togithub.com/typicode/husky/pull/1363)

### [`v9.0.6`](https://togithub.com/typicode/husky/releases/tag/v9.0.6)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6)

- docs: add favicon by [@&#8203;rakleed](https://togithub.com/rakleed)
in
[https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
- chore: apply editorconfig to code only by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
- docs: update install script to mjs and fix CI checks by
[@&#8203;starnayuta](https://togithub.com/starnayuta) in
[https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
- Fix unbound variable by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)

### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://togithub.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

- fix: exit code by
[@&#8203;gergelypap](https://togithub.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

- [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first
contribution in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**:
typicode/husky@v9.0.1...v9.0.2

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare
Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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>
kodiakhq bot referenced this pull request in cloudquery/setup-cloudquery Feb 1, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [husky](https://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.8)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.7...v9.0.8)

-   docs: update index.md by [@&#8203;khaledYS](https://togithub.com/khaledYS) in [https://github.com/typicode/husky/pull/1369](https://togithub.com/typicode/husky/pull/1369)
-   Fix tab detection on install command by [@&#8203;glensc](https://togithub.com/glensc) in [https://github.com/typicode/husky/pull/1376](https://togithub.com/typicode/husky/pull/1376)
-   refactor: reduce file size by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1377](https://togithub.com/typicode/husky/pull/1377)

### [`v9.0.7`](https://togithub.com/typicode/husky/releases/tag/v9.0.7)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.6...v9.0.7)

-   fix: typo and source `~/.huskyrc` correctly (compatibility with v8)
-   docs: fix example by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1363](https://togithub.com/typicode/husky/pull/1363)

### [`v9.0.6`](https://togithub.com/typicode/husky/releases/tag/v9.0.6)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6)

-   docs: add favicon by [@&#8203;rakleed](https://togithub.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
-   chore: apply editorconfig to code only by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
-   docs: update install script to mjs and fix CI checks by [@&#8203;starnayuta](https://togithub.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
-   Fix  unbound variable by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)

### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

-   docs: update path to startup files by [@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
-   fix: init error by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

-   fix: init create dir before by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
-   refactor: simplify by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
-   fix: init not working on pnpm [#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by [@&#8203;rozbo](https://togithub.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

-   docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
-   chore: fix links in issue template by [@&#8203;julien-f](https://togithub.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
-   fix: add scripts field if not present by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
-   docs: changelog link by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
-   fix: insert final newline by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
-   fix: fix git hooks path on windows by [@&#8203;rozbo](https://togithub.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

-   fix: exit code by [@&#8203;gergelypap](https://togithub.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
-   docs: typo by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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://togithub.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNjMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE2NS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Brooooooklyn referenced this pull request in napi-rs/tar Feb 2, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.6)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6)

-   docs: add favicon by [@&#8203;rakleed](https://togithub.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
-   chore: apply editorconfig to code only by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
-   docs: update install script to mjs and fix CI checks by [@&#8203;starnayuta](https://togithub.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
-   Fix  unbound variable by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)

### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

-   docs: update path to startup files by [@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
-   fix: init error by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

-   fix: init create dir before by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
-   refactor: simplify by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
-   fix: init not working on pnpm [#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by [@&#8203;rozbo](https://togithub.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

-   docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
-   chore: fix links in issue template by [@&#8203;julien-f](https://togithub.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
-   fix: add scripts field if not present by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
-   docs: changelog link by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
-   fix: insert final newline by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
-   fix: fix git hooks path on windows by [@&#8203;rozbo](https://togithub.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

-   fix: exit code by [@&#8203;gergelypap](https://togithub.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
-   docs: typo by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

-   [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**: typicode/husky@v9.0.1...v9.0.2

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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/napi-rs/tar).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
renovate bot referenced this pull request in JoshuaKGoldberg/all-contributors-auto-action Feb 13, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.10)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.9...v9.0.10)

- fix: rename index.d.ts to index.d.mts by
[@&#8203;mrkjdy](https://togithub.com/mrkjdy) in
[https://github.com/typicode/husky/pull/1379](https://togithub.com/typicode/husky/pull/1379)

### [`v9.0.9`](https://togithub.com/typicode/husky/releases/tag/v9.0.9)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.8...v9.0.9)

- refactor: rename files by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1378](https://togithub.com/typicode/husky/pull/1378)

### [`v9.0.8`](https://togithub.com/typicode/husky/releases/tag/v9.0.8)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.7...v9.0.8)

- docs: update index.md by
[@&#8203;khaledYS](https://togithub.com/khaledYS) in
[https://github.com/typicode/husky/pull/1369](https://togithub.com/typicode/husky/pull/1369)
- Fix tab detection on install command by
[@&#8203;glensc](https://togithub.com/glensc) in
[https://github.com/typicode/husky/pull/1376](https://togithub.com/typicode/husky/pull/1376)
- refactor: reduce file size by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1377](https://togithub.com/typicode/husky/pull/1377)

### [`v9.0.7`](https://togithub.com/typicode/husky/releases/tag/v9.0.7)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.6...v9.0.7)

-   fix: typo and source `~/.huskyrc` correctly (compatibility with v8)
- docs: fix example by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1363](https://togithub.com/typicode/husky/pull/1363)

### [`v9.0.6`](https://togithub.com/typicode/husky/releases/tag/v9.0.6)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6)

- docs: add favicon by [@&#8203;rakleed](https://togithub.com/rakleed)
in
[https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
- chore: apply editorconfig to code only by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
- docs: update install script to mjs and fix CI checks by
[@&#8203;starnayuta](https://togithub.com/starnayuta) in
[https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
- Fix unbound variable by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)

### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://togithub.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

- fix: exit code by
[@&#8203;gergelypap](https://togithub.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

- [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first
contribution in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**:
typicode/husky@v9.0.1...v9.0.2

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare
Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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/all-contributors-auto-action).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in JoshuaKGoldberg/are-docs-informative Feb 13, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.10)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.9...v9.0.10)

- fix: rename index.d.ts to index.d.mts by
[@&#8203;mrkjdy](https://togithub.com/mrkjdy) in
[https://github.com/typicode/husky/pull/1379](https://togithub.com/typicode/husky/pull/1379)

### [`v9.0.9`](https://togithub.com/typicode/husky/releases/tag/v9.0.9)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.8...v9.0.9)

- refactor: rename files by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1378](https://togithub.com/typicode/husky/pull/1378)

### [`v9.0.8`](https://togithub.com/typicode/husky/releases/tag/v9.0.8)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.7...v9.0.8)

- docs: update index.md by
[@&#8203;khaledYS](https://togithub.com/khaledYS) in
[https://github.com/typicode/husky/pull/1369](https://togithub.com/typicode/husky/pull/1369)
- Fix tab detection on install command by
[@&#8203;glensc](https://togithub.com/glensc) in
[https://github.com/typicode/husky/pull/1376](https://togithub.com/typicode/husky/pull/1376)
- refactor: reduce file size by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1377](https://togithub.com/typicode/husky/pull/1377)

### [`v9.0.7`](https://togithub.com/typicode/husky/releases/tag/v9.0.7)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.6...v9.0.7)

-   fix: typo and source `~/.huskyrc` correctly (compatibility with v8)
- docs: fix example by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1363](https://togithub.com/typicode/husky/pull/1363)

### [`v9.0.6`](https://togithub.com/typicode/husky/releases/tag/v9.0.6)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6)

- docs: add favicon by [@&#8203;rakleed](https://togithub.com/rakleed)
in
[https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
- chore: apply editorconfig to code only by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
- docs: update install script to mjs and fix CI checks by
[@&#8203;starnayuta](https://togithub.com/starnayuta) in
[https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
- Fix unbound variable by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)

### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://togithub.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

- fix: exit code by
[@&#8203;gergelypap](https://togithub.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

- [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first
contribution in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**:
typicode/husky@v9.0.1...v9.0.2

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare
Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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/are-docs-informative).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in JoshuaKGoldberg/release-it-action Feb 13, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.10)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.9...v9.0.10)

- fix: rename index.d.ts to index.d.mts by
[@&#8203;mrkjdy](https://togithub.com/mrkjdy) in
[https://github.com/typicode/husky/pull/1379](https://togithub.com/typicode/husky/pull/1379)

### [`v9.0.9`](https://togithub.com/typicode/husky/releases/tag/v9.0.9)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.8...v9.0.9)

- refactor: rename files by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1378](https://togithub.com/typicode/husky/pull/1378)

### [`v9.0.8`](https://togithub.com/typicode/husky/releases/tag/v9.0.8)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.7...v9.0.8)

- docs: update index.md by
[@&#8203;khaledYS](https://togithub.com/khaledYS) in
[https://github.com/typicode/husky/pull/1369](https://togithub.com/typicode/husky/pull/1369)
- Fix tab detection on install command by
[@&#8203;glensc](https://togithub.com/glensc) in
[https://github.com/typicode/husky/pull/1376](https://togithub.com/typicode/husky/pull/1376)
- refactor: reduce file size by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1377](https://togithub.com/typicode/husky/pull/1377)

### [`v9.0.7`](https://togithub.com/typicode/husky/releases/tag/v9.0.7)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.6...v9.0.7)

-   fix: typo and source `~/.huskyrc` correctly (compatibility with v8)
- docs: fix example by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1363](https://togithub.com/typicode/husky/pull/1363)

### [`v9.0.6`](https://togithub.com/typicode/husky/releases/tag/v9.0.6)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6)

- docs: add favicon by [@&#8203;rakleed](https://togithub.com/rakleed)
in
[https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
- chore: apply editorconfig to code only by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
- docs: update install script to mjs and fix CI checks by
[@&#8203;starnayuta](https://togithub.com/starnayuta) in
[https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
- Fix unbound variable by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)

### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://togithub.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

- fix: exit code by
[@&#8203;gergelypap](https://togithub.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

- [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first
contribution in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**:
typicode/husky@v9.0.1...v9.0.2

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare
Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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/release-it-action).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in JoshuaKGoldberg/eslint-plugin-expect-type Feb 13, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.10)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.9...v9.0.10)

- fix: rename index.d.ts to index.d.mts by
[@&#8203;mrkjdy](https://togithub.com/mrkjdy) in
[https://github.com/typicode/husky/pull/1379](https://togithub.com/typicode/husky/pull/1379)

### [`v9.0.9`](https://togithub.com/typicode/husky/releases/tag/v9.0.9)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.8...v9.0.9)

- refactor: rename files by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1378](https://togithub.com/typicode/husky/pull/1378)

### [`v9.0.8`](https://togithub.com/typicode/husky/releases/tag/v9.0.8)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.7...v9.0.8)

- docs: update index.md by
[@&#8203;khaledYS](https://togithub.com/khaledYS) in
[https://github.com/typicode/husky/pull/1369](https://togithub.com/typicode/husky/pull/1369)
- Fix tab detection on install command by
[@&#8203;glensc](https://togithub.com/glensc) in
[https://github.com/typicode/husky/pull/1376](https://togithub.com/typicode/husky/pull/1376)
- refactor: reduce file size by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1377](https://togithub.com/typicode/husky/pull/1377)

### [`v9.0.7`](https://togithub.com/typicode/husky/releases/tag/v9.0.7)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.6...v9.0.7)

-   fix: typo and source `~/.huskyrc` correctly (compatibility with v8)
- docs: fix example by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1363](https://togithub.com/typicode/husky/pull/1363)

### [`v9.0.6`](https://togithub.com/typicode/husky/releases/tag/v9.0.6)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6)

- docs: add favicon by [@&#8203;rakleed](https://togithub.com/rakleed)
in
[https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
- chore: apply editorconfig to code only by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
- docs: update install script to mjs and fix CI checks by
[@&#8203;starnayuta](https://togithub.com/starnayuta) in
[https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
- Fix unbound variable by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)

### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://togithub.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

- fix: exit code by
[@&#8203;gergelypap](https://togithub.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

- [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first
contribution in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**:
typicode/husky@v9.0.1...v9.0.2

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare
Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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/eslint-plugin-expect-type).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in JoshuaKGoldberg/sinon-timers-repeatable Feb 13, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.10)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.9...v9.0.10)

- fix: rename index.d.ts to index.d.mts by
[@&#8203;mrkjdy](https://togithub.com/mrkjdy) in
[https://github.com/typicode/husky/pull/1379](https://togithub.com/typicode/husky/pull/1379)

### [`v9.0.9`](https://togithub.com/typicode/husky/releases/tag/v9.0.9)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.8...v9.0.9)

- refactor: rename files by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1378](https://togithub.com/typicode/husky/pull/1378)

### [`v9.0.8`](https://togithub.com/typicode/husky/releases/tag/v9.0.8)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.7...v9.0.8)

- docs: update index.md by
[@&#8203;khaledYS](https://togithub.com/khaledYS) in
[https://github.com/typicode/husky/pull/1369](https://togithub.com/typicode/husky/pull/1369)
- Fix tab detection on install command by
[@&#8203;glensc](https://togithub.com/glensc) in
[https://github.com/typicode/husky/pull/1376](https://togithub.com/typicode/husky/pull/1376)
- refactor: reduce file size by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1377](https://togithub.com/typicode/husky/pull/1377)

### [`v9.0.7`](https://togithub.com/typicode/husky/releases/tag/v9.0.7)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.6...v9.0.7)

-   fix: typo and source `~/.huskyrc` correctly (compatibility with v8)
- docs: fix example by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1363](https://togithub.com/typicode/husky/pull/1363)

### [`v9.0.6`](https://togithub.com/typicode/husky/releases/tag/v9.0.6)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6)

- docs: add favicon by [@&#8203;rakleed](https://togithub.com/rakleed)
in
[https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
- chore: apply editorconfig to code only by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
- docs: update install script to mjs and fix CI checks by
[@&#8203;starnayuta](https://togithub.com/starnayuta) in
[https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
- Fix unbound variable by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)

### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://togithub.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

- fix: exit code by
[@&#8203;gergelypap](https://togithub.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

- [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first
contribution in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**:
typicode/husky@v9.0.1...v9.0.2

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare
Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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/sinon-timers-repeatable).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in JoshuaKGoldberg/tidelift-me-up Feb 13, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.10)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.9...v9.0.10)

- fix: rename index.d.ts to index.d.mts by
[@&#8203;mrkjdy](https://togithub.com/mrkjdy) in
[https://github.com/typicode/husky/pull/1379](https://togithub.com/typicode/husky/pull/1379)

### [`v9.0.9`](https://togithub.com/typicode/husky/releases/tag/v9.0.9)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.8...v9.0.9)

- refactor: rename files by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1378](https://togithub.com/typicode/husky/pull/1378)

### [`v9.0.8`](https://togithub.com/typicode/husky/releases/tag/v9.0.8)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.7...v9.0.8)

- docs: update index.md by
[@&#8203;khaledYS](https://togithub.com/khaledYS) in
[https://github.com/typicode/husky/pull/1369](https://togithub.com/typicode/husky/pull/1369)
- Fix tab detection on install command by
[@&#8203;glensc](https://togithub.com/glensc) in
[https://github.com/typicode/husky/pull/1376](https://togithub.com/typicode/husky/pull/1376)
- refactor: reduce file size by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1377](https://togithub.com/typicode/husky/pull/1377)

### [`v9.0.7`](https://togithub.com/typicode/husky/releases/tag/v9.0.7)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.6...v9.0.7)

-   fix: typo and source `~/.huskyrc` correctly (compatibility with v8)
- docs: fix example by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1363](https://togithub.com/typicode/husky/pull/1363)

### [`v9.0.6`](https://togithub.com/typicode/husky/releases/tag/v9.0.6)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6)

- docs: add favicon by [@&#8203;rakleed](https://togithub.com/rakleed)
in
[https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
- chore: apply editorconfig to code only by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
- docs: update install script to mjs and fix CI checks by
[@&#8203;starnayuta](https://togithub.com/starnayuta) in
[https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
- Fix unbound variable by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)

### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://togithub.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

- fix: exit code by
[@&#8203;gergelypap](https://togithub.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

- [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first
contribution in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**:
typicode/husky@v9.0.1...v9.0.2

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare
Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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/tidelift-me-up).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in danvk/gravlax Feb 13, 2024
[![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://togithub.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://togithub.com/typicode/husky/releases/tag/v9.0.10)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.9...v9.0.10)

- fix: rename index.d.ts to index.d.mts by
[@&#8203;mrkjdy](https://togithub.com/mrkjdy) in
[https://github.com/typicode/husky/pull/1379](https://togithub.com/typicode/husky/pull/1379)

### [`v9.0.9`](https://togithub.com/typicode/husky/releases/tag/v9.0.9)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.8...v9.0.9)

- refactor: rename files by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1378](https://togithub.com/typicode/husky/pull/1378)

### [`v9.0.8`](https://togithub.com/typicode/husky/releases/tag/v9.0.8)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.7...v9.0.8)

- docs: update index.md by
[@&#8203;khaledYS](https://togithub.com/khaledYS) in
[https://github.com/typicode/husky/pull/1369](https://togithub.com/typicode/husky/pull/1369)
- Fix tab detection on install command by
[@&#8203;glensc](https://togithub.com/glensc) in
[https://github.com/typicode/husky/pull/1376](https://togithub.com/typicode/husky/pull/1376)
- refactor: reduce file size by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1377](https://togithub.com/typicode/husky/pull/1377)

### [`v9.0.7`](https://togithub.com/typicode/husky/releases/tag/v9.0.7)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.6...v9.0.7)

-   fix: typo and source `~/.huskyrc` correctly (compatibility with v8)
- docs: fix example by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1363](https://togithub.com/typicode/husky/pull/1363)

### [`v9.0.6`](https://togithub.com/typicode/husky/releases/tag/v9.0.6)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.5...v9.0.6)

- docs: add favicon by [@&#8203;rakleed](https://togithub.com/rakleed)
in
[https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
- chore: apply editorconfig to code only by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
- docs: update install script to mjs and fix CI checks by
[@&#8203;starnayuta](https://togithub.com/starnayuta) in
[https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
- Fix unbound variable by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)

### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
- fix: init error by [@&#8203;typicode](https://togithub.com/typicode)
in
[https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://togithub.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://togithub.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://togithub.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://togithub.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

- fix: exit code by
[@&#8203;gergelypap](https://togithub.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://togithub.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

- [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first
contribution in
[https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**:
typicode/husky@v9.0.1...v9.0.2

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare
Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<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/danvk/gravlax).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant