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

Fix tab detection on install command #1376

Merged
merged 1 commit into from
Feb 1, 2024
Merged

Conversation

glensc
Copy link
Contributor

@glensc glensc commented Feb 1, 2024

glensc referenced this pull request Feb 1, 2024
@glensc
Copy link
Contributor Author

glensc commented Feb 1, 2024

@typicode not tested, but change should be fine

@typicode typicode merged commit d091328 into typicode:main Feb 1, 2024
renovate bot referenced this pull request in line/line-bot-sdk-nodejs Feb 1, 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://github.com/typicode/husky) | [`9.0.7` ->
`9.0.8`](https://renovatebot.com/diffs/npm/husky/9.0.7/9.0.8) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/9.0.7/9.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/9.0.7/9.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

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

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->

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://github.com/typicode/husky) | devDependencies | major | [`8.0.3` -> `9.0.8`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.8) |

---

### Release Notes

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing in more features!

*Note: install using `husky@latest` to get the bug fixes that were released after.*

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but open to other stacks Rails, Go, Elixir). You can contact me at my mail: typicode at gmail 🙂

#### Introducing `husky init`

Adding husky to a project is now easier than ever. Although the installation process was straightforward, it often required consulting the documentation.

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

```shell
npx husky init
```

#### Adding a New Hook

Adding a hook is now as simple as creating a file. This can be accomplished using your favorite editor, a script or a basic `echo` command.

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately `6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned 🙌

#### Other Changes

-   **Enhanced security** with CI and npm `--provenance` for safer publishing.
-   Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to `~/.config/husky/init.sh` for centralized configuration.
-   **Fixed permission issue for Windows-created hooks**; they no longer need to be executable.
-   Removed `husky install`. Use `husky` or `husky some/dir` for the same functionality (deprecation notice to be added).
-   Modified behavior when `.git` is missing; it now triggers a warning instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade and migrate your hooks later.

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNjMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE2NS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
mergify bot referenced this pull request in Balvajs/delete-stale-branches Feb 1, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [husky](https://github.com/typicode/husky) | devDependencies | patch
| [`9.0.7` ->
`9.0.9`](https://renovatebot.com/diffs/npm/husky/9.0.7/9.0.9) |

---

### Release Notes

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

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

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

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

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

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

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

</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 [Renovate
Bot](https://github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNjUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE2NS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: Balvajs Renovate Bot <406530+balvajs-renovate[bot]@users.noreply.github.com>
mergify bot referenced this pull request in Balvajs/dismiss-stale-reviews Feb 1, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [husky](https://github.com/typicode/husky) | devDependencies | patch
| [`9.0.7` ->
`9.0.9`](https://renovatebot.com/diffs/npm/husky/9.0.7/9.0.9) |

---

### Release Notes

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

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

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

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

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

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

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

</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 [Renovate
Bot](https://github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNjUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE2NS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: Balvajs Renovate Bot <406530+balvajs-renovate[bot]@users.noreply.github.com>
Lulalaby referenced this pull request in Aiko-IT-Systems/Discord-React-Components Feb 1, 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://github.com/typicode/husky) | [`9.0.7` ->
`9.0.9`](https://renovatebot.com/diffs/npm/husky/9.0.7/9.0.9) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/9.0.7/9.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/9.0.7/9.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

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

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

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

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

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
@glensc glensc deleted the patch-2 branch February 1, 2024 18:53
kodiakhq bot referenced this pull request in timelessco/js-bottomsheet Feb 1, 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://github.com/typicode/husky) | [`^9.0.7` -> `^9.0.10`](https://renovatebot.com/diffs/npm/husky/9.0.7/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/9.0.7/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/9.0.7/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [npm-run-all2](https://github.com/bcomnes/npm-run-all2) | [`^6.1.1` -> `^6.1.2`](https://renovatebot.com/diffs/npm/npm-run-all2/6.1.1/6.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/npm-run-all2/6.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/npm-run-all2/6.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/npm-run-all2/6.1.1/6.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/npm-run-all2/6.1.1/6.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [stylelint](https://stylelint.io) ([source](https://github.com/stylelint/stylelint)) | [`^16.2.0` -> `^16.2.1`](https://renovatebot.com/diffs/npm/stylelint/16.2.0/16.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/stylelint/16.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/stylelint/16.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/stylelint/16.2.0/16.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/stylelint/16.2.0/16.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

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

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

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

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

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

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

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

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

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

</details>

<details>
<summary>bcomnes/npm-run-all2 (npm-run-all2)</summary>

### [`v6.1.2`](https://github.com/bcomnes/npm-run-all2/blob/HEAD/CHANGELOG.md#v612)

[Compare Source](https://github.com/bcomnes/npm-run-all2/compare/v6.1.1...v6.1.2)

##### Merged

-   feat: move to read-package-json-fast [`#130`](https://github.com/bcomnes/npm-run-all2/pull/130)
-   Upgrade: Bump c8 from 8.0.1 to 9.0.0 [`#127`](https://github.com/bcomnes/npm-run-all2/pull/127)
-   Upgrade: Bump github/codeql-action from 2 to 3 [`#126`](https://github.com/bcomnes/npm-run-all2/pull/126)
-   Upgrade: Bump actions/setup-node from 3 to 4 [`#123`](https://github.com/bcomnes/npm-run-all2/pull/123)

##### Commits

-   Publish the whole project [`3dde20c`](https://github.com/bcomnes/npm-run-all2/commit/3dde20c1c8fa973045773e03f4fc121360fdbed4)
-   Utilize CJS require for 'read-package-json-fast' [`605ca15`](https://github.com/bcomnes/npm-run-all2/commit/605ca15d9adee3ce14da6fcaa98cb14d9c03795c)
-   Update FUNDING.yml [`c838ee9`](https://github.com/bcomnes/npm-run-all2/commit/c838ee9eea06e545d1a7f25592f7beb8468f1afd)

</details>

<details>
<summary>stylelint/stylelint (stylelint)</summary>

### [`v16.2.1`](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#1621)

[Compare Source](https://github.com/stylelint/stylelint/compare/16.2.0...16.2.1)

-   Fixed: report flags not reporting on subsequent runs when cache is used ([#&#8203;7483](https://github.com/stylelint/stylelint/pull/7483)) ([@&#8203;ybiquitous](https://github.com/ybiquitous)).
-   Fixed: `custom-property-no-missing-var-function` false positives for properties that can contain author-defined identifiers ([#&#8203;7478](https://github.com/stylelint/stylelint/pull/7478)) ([@&#8203;ybiquitous](https://github.com/ybiquitous)).
-   Fixed: `selector-pseudo-class-no-unknown` false positives for `:seeking`, the media loading state and sound state pseudo-classes ([#&#8203;7490](https://github.com/stylelint/stylelint/pull/7490)) ([@&#8203;Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `selector-max-specificity` false positives with `ignoreSelectors` option for `of <selector>` syntax ([#&#8203;7475](https://github.com/stylelint/stylelint/pull/7475)) ([@&#8203;ybiquitous](https://github.com/ybiquitous)).
-   Fixed: `function-calc-no-unspaced-operator` performance ([#&#8203;7505](https://github.com/stylelint/stylelint/pull/7505)) ([@&#8203;ybiquitous](https://github.com/ybiquitous)).
-   Fixed: `validateOptions` to report when secondary option object is an empty object or null ([#&#8203;7476](https://github.com/stylelint/stylelint/pull/7476)) ([@&#8203;ybiquitous](https://github.com/ybiquitous)).
-   Fixed: `report()` error message responsibility for a missing node or line number ([#&#8203;7474](https://github.com/stylelint/stylelint/pull/7474)) ([@&#8203;ybiquitous](https://github.com/ybiquitous)).

</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**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/timelessco/js-bottomsheet).
bruxisma referenced this pull request in ixm-one/common Feb 1, 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://github.com/typicode/husky) | [`9.0.7` ->
`9.0.10`](https://renovatebot.com/diffs/npm/husky/9.0.7/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/9.0.7/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/9.0.7/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

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

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

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

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

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

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

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

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
bruxisma referenced this pull request in bruxisma/renovate Feb 1, 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://github.com/typicode/husky) | [`9.0.7` ->
`9.0.10`](https://renovatebot.com/diffs/npm/husky/9.0.7/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/9.0.7/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/9.0.7/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

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

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

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

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

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

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

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

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
takecchi referenced this pull request in cuculus-dev/cuculus Feb 1, 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://github.com/typicode/husky) | [`9.0.7` ->
`9.0.10`](https://renovatebot.com/diffs/npm/husky/9.0.7/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/9.0.7/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/9.0.7/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

@coderabbitai: ignore

---

### Release Notes

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

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

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

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

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

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

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

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

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

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

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
fuxingloh referenced this pull request in fuxingloh/cryptomatter 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://github.com/typicode/husky) | [`^9.0.7` ->
`^9.0.10`](https://renovatebot.com/diffs/npm/husky/9.0.7/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/9.0.7/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/9.0.7/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

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

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

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

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

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

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

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

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in adobe/spacecat-shared Feb 3, 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://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-dynamodb)
([source](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-dynamodb))
| [`3.501.0` ->
`3.506.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-dynamodb/3.501.0/3.506.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-dynamodb/3.506.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-dynamodb/3.506.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-dynamodb/3.501.0/3.506.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-dynamodb/3.501.0/3.506.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@aws-sdk/lib-dynamodb](https://github.com/aws/aws-sdk-js-v3/tree/main/lib/lib-dynamodb)
([source](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/lib/lib-dynamodb))
| [`3.501.0` ->
`3.506.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2flib-dynamodb/3.501.0/3.506.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2flib-dynamodb/3.506.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2flib-dynamodb/3.506.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2flib-dynamodb/3.501.0/3.506.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2flib-dynamodb/3.501.0/3.506.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint)
([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin))
| [`6.19.1` ->
`6.20.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/6.19.1/6.20.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/6.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2feslint-plugin/6.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2feslint-plugin/6.19.1/6.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/6.19.1/6.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint)
([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser))
| [`6.19.1` ->
`6.20.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/6.19.1/6.20.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/6.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/6.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/6.19.1/6.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/6.19.1/6.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [husky](https://github.com/typicode/husky) | [`9.0.6` ->
`9.0.10`](https://renovatebot.com/diffs/npm/husky/9.0.6/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/9.0.6/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/9.0.6/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [joi](https://github.com/hapijs/joi) | [`17.12.0` ->
`17.12.1`](https://renovatebot.com/diffs/npm/joi/17.12.0/17.12.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/joi/17.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/joi/17.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/joi/17.12.0/17.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/joi/17.12.0/17.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [jsdoc-to-markdown](https://github.com/jsdoc2md/jsdoc-to-markdown) |
[`8.0.0` ->
`8.0.1`](https://renovatebot.com/diffs/npm/jsdoc-to-markdown/8.0.0/8.0.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/jsdoc-to-markdown/8.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jsdoc-to-markdown/8.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jsdoc-to-markdown/8.0.0/8.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jsdoc-to-markdown/8.0.0/8.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [lint-staged](https://github.com/okonet/lint-staged) | [`15.2.0` ->
`15.2.1`](https://renovatebot.com/diffs/npm/lint-staged/15.2.0/15.2.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/lint-staged/15.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lint-staged/15.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lint-staged/15.2.0/15.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lint-staged/15.2.0/15.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [nock](https://github.com/nock/nock) | [`13.5.0` ->
`13.5.1`](https://renovatebot.com/diffs/npm/nock/13.5.0/13.5.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/nock/13.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nock/13.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nock/13.5.0/13.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nock/13.5.0/13.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

###
[`v3.506.0`](https://github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-dynamodb/CHANGELOG.md#35060-2024-02-02)

[Compare
Source](https://github.com/aws/aws-sdk-js-v3/compare/v3.504.0...v3.506.0)

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

###
[`v3.504.0`](https://github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-dynamodb/CHANGELOG.md#35040-2024-01-31)

[Compare
Source](https://github.com/aws/aws-sdk-js-v3/compare/v3.503.1...v3.504.0)

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

####
[3.503.1](https://github.com/aws/aws-sdk-js-v3/compare/v3.503.0...v3.503.1)
(2024-01-30)

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

###
[`v3.503.1`](https://github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-dynamodb/CHANGELOG.md#35031-2024-01-30)

[Compare
Source](https://github.com/aws/aws-sdk-js-v3/compare/v3.503.0...v3.503.1)

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

###
[`v3.503.0`](https://github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-dynamodb/CHANGELOG.md#35030-2024-01-30)

[Compare
Source](https://github.com/aws/aws-sdk-js-v3/compare/v3.502.0...v3.503.0)

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

###
[`v3.502.0`](https://github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-dynamodb/CHANGELOG.md#35020-2024-01-29)

[Compare
Source](https://github.com/aws/aws-sdk-js-v3/compare/v3.501.0...v3.502.0)

##### Features

- **credential-providers:** lazy load STS & SSO clients in credential
providers
([#&#8203;5681](https://github.com/aws/aws-sdk-js-v3/issues/5681))
([d27301d](https://github.com/aws/aws-sdk-js-v3/commit/d27301d48f3e75fdaccabf58f779f0b33a70664e))

</details>

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

###
[`v3.506.0`](https://github.com/aws/aws-sdk-js-v3/blob/HEAD/lib/lib-dynamodb/CHANGELOG.md#35060-2024-02-02)

[Compare
Source](https://github.com/aws/aws-sdk-js-v3/compare/v3.504.0...v3.506.0)

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

###
[`v3.504.0`](https://github.com/aws/aws-sdk-js-v3/blob/HEAD/lib/lib-dynamodb/CHANGELOG.md#35040-2024-01-31)

[Compare
Source](https://github.com/aws/aws-sdk-js-v3/compare/v3.503.1...v3.504.0)

##### Bug Fixes

- **lib-dynamodb:** skip function properties in data objects for
DynamoDB
([#&#8203;5697](https://github.com/aws/aws-sdk-js-v3/issues/5697))
([d054fe1](https://github.com/aws/aws-sdk-js-v3/commit/d054fe1b1df6b814938a5ba6920c3e1e17329c18))

####
[3.503.1](https://github.com/aws/aws-sdk-js-v3/compare/v3.503.0...v3.503.1)
(2024-01-30)

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

###
[`v3.503.1`](https://github.com/aws/aws-sdk-js-v3/blob/HEAD/lib/lib-dynamodb/CHANGELOG.md#35031-2024-01-30)

[Compare
Source](https://github.com/aws/aws-sdk-js-v3/compare/v3.503.0...v3.503.1)

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

###
[`v3.503.0`](https://github.com/aws/aws-sdk-js-v3/blob/HEAD/lib/lib-dynamodb/CHANGELOG.md#35030-2024-01-30)

[Compare
Source](https://github.com/aws/aws-sdk-js-v3/compare/v3.502.0...v3.503.0)

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

###
[`v3.502.0`](https://github.com/aws/aws-sdk-js-v3/blob/HEAD/lib/lib-dynamodb/CHANGELOG.md#35020-2024-01-29)

[Compare
Source](https://github.com/aws/aws-sdk-js-v3/compare/v3.501.0...v3.502.0)

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

</details>

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

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

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.19.1...v6.20.0)

##### 🚀 Features

- **eslint-plugin:** \[member-ordering] allow easy reuse of the default
ordering

##### 🩹 Fixes

- **eslint-plugin:** \[no-useless-template-literals] incorrect bigint
autofix result

- **eslint-plugin:** \[prefer-nullish-coalescing] treat any/unknown as
non-nullable

- **eslint-plugin:** \[no-useless-template-literals] report Infinity &
NaN

-   **eslint-plugin:** \[prefer-readonly] disable checking accessors

##### ❤️  Thank You

-   Alex Parloti
-   auvred
-   James Browning
-   StyleShit
-   YeonJuan

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

</details>

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

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

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.19.1...v6.20.0)

This was a version bump only for parser to align it with other projects,
there were no code changes.

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

</details>

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

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

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

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

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

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

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

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

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

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

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

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

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

</details>

<details>
<summary>hapijs/joi (joi)</summary>

###
[`v17.12.1`](https://github.com/hapijs/joi/compare/v17.12.0...v17.12.1)

[Compare
Source](https://github.com/hapijs/joi/compare/v17.12.0...v17.12.1)

</details>

<details>
<summary>jsdoc2md/jsdoc-to-markdown (jsdoc-to-markdown)</summary>

###
[`v8.0.1`](https://github.com/jsdoc2md/jsdoc-to-markdown/compare/v8.0.0...v8.0.1)

[Compare
Source](https://github.com/jsdoc2md/jsdoc-to-markdown/compare/v8.0.0...v8.0.1)

</details>

<details>
<summary>okonet/lint-staged (lint-staged)</summary>

###
[`v15.2.1`](https://github.com/okonet/lint-staged/blob/HEAD/CHANGELOG.md#1521)

[Compare
Source](https://github.com/okonet/lint-staged/compare/v15.2.0...v15.2.1)

##### Patch Changes

- [#&#8203;1387](https://github.com/lint-staged/lint-staged/pull/1387)
[`e4023f6`](https://github.com/lint-staged/lint-staged/commit/e4023f687616dcf4816545b8eefbcce50e255c9c)
Thanks [@&#8203;iiroj](https://github.com/iiroj)! - Ignore stdin of
spawned commands so that they don't get stuck waiting. Until now,
*lint-staged* has used the default settings to spawn linter commands.
This means the `stdin` of the spawned commands has accepted input, and
essentially gotten stuck waiting. Now the `stdin` is ignored and
commands will no longer get stuck. If you relied on this behavior,
please open a new issue and describe how; the behavior has not been
intended.

</details>

<details>
<summary>nock/nock (nock)</summary>

### [`v13.5.1`](https://github.com/nock/nock/releases/tag/v13.5.1)

[Compare
Source](https://github.com/nock/nock/compare/v13.5.0...v13.5.1)

##### Bug Fixes

- memory leak when using nock with jest
([#&#8203;2572](https://github.com/nock/nock/issues/2572))
([7468cf1](https://github.com/nock/nock/commit/7468cf1eefc7c89d36f9d5425b9201a6a2eab88a))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 2pm on Saturday" in timezone
Europe/Zurich, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/adobe/spacecat-shared).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in tnez/starter-npm-pkg Feb 5, 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 |
|---|---|---|---|---|---|
|
[@edge-runtime/jest-environment](https://edge-runtime.vercel.app/packages/jest-environment)
([source](https://github.com/vercel/edge-runtime/tree/HEAD/packages/jest-environment))
| [`2.3.7` ->
`2.3.8`](https://renovatebot.com/diffs/npm/@edge-runtime%2fjest-environment/2.3.7/2.3.8)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@edge-runtime%2fjest-environment/2.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@edge-runtime%2fjest-environment/2.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@edge-runtime%2fjest-environment/2.3.7/2.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@edge-runtime%2fjest-environment/2.3.7/2.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@edge-runtime/types](https://edge-runtime.vercel.app/packages/types)
([source](https://github.com/vercel/edge-runtime/tree/HEAD/packages/types))
| [`2.2.7` ->
`2.2.8`](https://renovatebot.com/diffs/npm/@edge-runtime%2ftypes/2.2.7/2.2.8)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@edge-runtime%2ftypes/2.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@edge-runtime%2ftypes/2.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@edge-runtime%2ftypes/2.2.7/2.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@edge-runtime%2ftypes/2.2.7/2.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jest)
([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest))
| [`29.5.11` ->
`29.5.12`](https://renovatebot.com/diffs/npm/@types%2fjest/29.5.11/29.5.12)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fjest/29.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fjest/29.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fjest/29.5.11/29.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fjest/29.5.11/29.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`20.11.0` ->
`20.11.16`](https://renovatebot.com/diffs/npm/@types%2fnode/20.11.0/20.11.16)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.11.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.11.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.11.0/20.11.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.11.0/20.11.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@vercel/style-guide](https://github.com/vercel/style-guide) |
[`5.1.0` ->
`5.2.0`](https://renovatebot.com/diffs/npm/@vercel%2fstyle-guide/5.1.0/5.2.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@vercel%2fstyle-guide/5.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vercel%2fstyle-guide/5.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vercel%2fstyle-guide/5.1.0/5.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vercel%2fstyle-guide/5.1.0/5.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [husky](https://github.com/typicode/husky) | [`9.0.6` ->
`9.0.10`](https://renovatebot.com/diffs/npm/husky/9.0.6/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/9.0.6/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/9.0.6/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [lint-staged](https://github.com/okonet/lint-staged) | [`15.2.0` ->
`15.2.1`](https://renovatebot.com/diffs/npm/lint-staged/15.2.0/15.2.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/lint-staged/15.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lint-staged/15.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lint-staged/15.2.0/15.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lint-staged/15.2.0/15.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [prettier](https://prettier.io)
([source](https://github.com/prettier/prettier)) | [`3.2.2` ->
`3.2.5`](https://renovatebot.com/diffs/npm/prettier/3.2.2/3.2.5) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/prettier/3.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prettier/3.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prettier/3.2.2/3.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier/3.2.2/3.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [ts-jest](https://kulshekhar.github.io/ts-jest)
([source](https://github.com/kulshekhar/ts-jest)) | [`29.1.1` ->
`29.1.2`](https://renovatebot.com/diffs/npm/ts-jest/29.1.1/29.1.2) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/ts-jest/29.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ts-jest/29.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ts-jest/29.1.1/29.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ts-jest/29.1.1/29.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>vercel/edge-runtime
(@&#8203;edge-runtime/jest-environment)</summary>

###
[`v2.3.8`](https://github.com/vercel/edge-runtime/blob/HEAD/packages/jest-environment/CHANGELOG.md#238)

[Compare
Source](https://github.com/vercel/edge-runtime/compare/@edge-runtime/jest-environment@2.3.7...@edge-runtime/jest-environment@2.3.8)

##### Patch Changes

- Updated dependencies
\[[`c313a3cbde5b06ee4ff716a25fbd0118cdfb571b`](https://github.com/vercel/edge-runtime/commit/c313a3cbde5b06ee4ff716a25fbd0118cdfb571b)]:
-
[@&#8203;edge-runtime/vm](https://github.com/edge-runtime/vm)[@&#8203;3](https://github.com/3).1.8

</details>

<details>
<summary>vercel/edge-runtime (@&#8203;edge-runtime/types)</summary>

###
[`v2.2.8`](https://github.com/vercel/edge-runtime/blob/HEAD/packages/types/CHANGELOG.md#228)

[Compare
Source](https://github.com/vercel/edge-runtime/compare/@edge-runtime/types@2.2.7...@edge-runtime/types@2.2.8)

##### Patch Changes

- Updated dependencies
\[[`d26e2ddaffdf7f9ae9bbcdeae00175dabd4a7e44`](https://github.com/vercel/edge-runtime/commit/d26e2ddaffdf7f9ae9bbcdeae00175dabd4a7e44),
[`c313a3cbde5b06ee4ff716a25fbd0118cdfb571b`](https://github.com/vercel/edge-runtime/commit/c313a3cbde5b06ee4ff716a25fbd0118cdfb571b)]:
-
[@&#8203;edge-runtime/primitives](https://github.com/edge-runtime/primitives)[@&#8203;4](https://github.com/4).0.6

</details>

<details>
<summary>vercel/style-guide (@&#8203;vercel/style-guide)</summary>

###
[`v5.2.0`](https://github.com/vercel/style-guide/releases/tag/v5.2.0)

[Compare
Source](https://github.com/vercel/style-guide/compare/v5.1.0...v5.2.0)

##### Bug Fixes

- **typescript:** `es2023` is not valid
([#&#8203;84](https://github.com/vercel/style-guide/issues/84))
([3d9dbdc](https://github.com/vercel/style-guide/commit/3d9dbdc4b458e3fb34b99a7f02ce237870daba90))

##### Features

- **typescript:** add multiple tsconfigs
([#&#8203;60](https://github.com/vercel/style-guide/issues/60))
([3991e02](https://github.com/vercel/style-guide/commit/3991e02ab36fd0175148165c6a0f2c69a878db5d))

</details>

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

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

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

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

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

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

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

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

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

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

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

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

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

</details>

<details>
<summary>okonet/lint-staged (lint-staged)</summary>

###
[`v15.2.1`](https://github.com/okonet/lint-staged/blob/HEAD/CHANGELOG.md#1521)

[Compare
Source](https://github.com/okonet/lint-staged/compare/v15.2.0...v15.2.1)

##### Patch Changes

- [#&#8203;1387](https://github.com/lint-staged/lint-staged/pull/1387)
[`e4023f6`](https://github.com/lint-staged/lint-staged/commit/e4023f687616dcf4816545b8eefbcce50e255c9c)
Thanks [@&#8203;iiroj](https://github.com/iiroj)! - Ignore stdin of
spawned commands so that they don't get stuck waiting. Until now,
*lint-staged* has used the default settings to spawn linter commands.
This means the `stdin` of the spawned commands has accepted input, and
essentially gotten stuck waiting. Now the `stdin` is ignored and
commands will no longer get stuck. If you relied on this behavior,
please open a new issue and describe how; the behavior has not been
intended.

</details>

<details>
<summary>prettier/prettier (prettier)</summary>

###
[`v3.2.5`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#325)

[Compare
Source](https://github.com/prettier/prettier/compare/3.2.4...3.2.5)

[diff](https://github.com/prettier/prettier/compare/3.2.4...3.2.5)

##### Support Angular inline styles as single template literal
([#&#8203;15968](https://github.com/prettier/prettier/pull/15968) by
[@&#8203;sosukesuzuki](https://github.com/sosukesuzuki))

[Angular
v17](https://blog.angular.io/introducing-angular-v17-4d7033312e4b)
supports single string inline styles.

<!-- prettier-ignore -->

```ts
// Input
@&#8203;Component({
  template: `<div>...</div>`,
  styles: `h1 { color: blue; }`,
})
export class AppComponent {}

// Prettier 3.2.4
@&#8203;Component({
  template: `<div>...</div>`,
  styles: `h1 { color: blue; }`,
})
export class AppComponent {}

// Prettier 3.2.5
@&#8203;Component({
  template: `<div>...</div>`,
  styles: `
    h1 {
      color: blue;
    }
  `,
})
export class AppComponent {}

```

##### Unexpected embedded formatting for Angular template
([#&#8203;15969](https://github.com/prettier/prettier/pull/15969) by
[@&#8203;JounQin](https://github.com/JounQin))

Computed template should not be considered as Angular component template

<!-- prettier-ignore -->

```ts
// Input
const template = "foobar";

@&#8203;Component({
  [template]: `<h1>{{       hello }}</h1>`,
})
export class AppComponent {}

// Prettier 3.2.4
const template = "foobar";

@&#8203;Component({
  [template]: `<h1>{{ hello }}</h1>`,
})
export class AppComponent {}

// Prettier 3.2.5
const template = "foobar";

@&#8203;Component({
  [template]: `<h1>{{       hello }}</h1>`,
})
export class AppComponent {}
```

##### Use `"json"` parser for `tsconfig.json` by default
([#&#8203;16012](https://github.com/prettier/prettier/pull/16012) by
[@&#8203;sosukesuzuki](https://github.com/sosukesuzuki))

In
[v2.3.0](https://prettier.io/blog/2024/01/12/3.2.0#new-jsonc-parser-added-15831httpsgithubcomprettierprettierpull15831-by-fiskerhttpsgithubcomfisker),
we introduced `"jsonc"` parser which adds trialing comma **by default**.

When adding a new parser we also define how it will be used based on the
[`linguist-languages`](https://www.npmjs.com/package/linguist-languages)
data.

`tsconfig.json` is a special file used by
[TypeScript](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#using-tsconfigjson-or-jsconfigjson),
it uses `.json` file extension, but it actually uses the [JSON with
Comments](https://code.visualstudio.com/docs/languages/json#\_json-with-comments)
syntax. However, we found that there are many third-party tools not
recognize it correctly because of the confusing `.json` file extension.

We decide to treat it as a JSON file for now to avoid the extra
configuration step.

To keep using the `"jsonc"` parser for your `tsconfig.json` files, add
the following to your `.pretterrc` file

```json
{
  "overrides": [
    {
      "files": ["tsconfig.json", "jsconfig.json"],
      "options": {
        "parser": "jsonc"
      }
    }
  ]
}
```

<!-- prettier-ignore -->

```
```

###
[`v3.2.4`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#324)

[Compare
Source](https://github.com/prettier/prettier/compare/3.2.3...3.2.4)

[diff](https://github.com/prettier/prettier/compare/3.2.3...3.2.4)

##### Fix incorrect parser inference
([#&#8203;15947](https://github.com/prettier/prettier/pull/15947) by
[@&#8203;fisker](https://github.com/fisker))

Files like `.eslintrc.json` were incorrectly formatted as JSONC files.

<!-- prettier-ignore -->

```jsx
// Input
prettier --file-info .eslintrc.json
{ "ignored": false, "inferredParser": "jsonc" }

// Prettier 3.2.4
prettier --file-info .eslintrc.json
{ "ignored": false, "inferredParser": "json" }
```

###
[`v3.2.3`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#323)

[Compare
Source](https://github.com/prettier/prettier/compare/3.2.2...3.2.3)

[diff](https://github.com/prettier/prettier/compare/3.2.2...3.2.3)

##### Throw errors for invalid code
([#&#8203;15881](https://github.com/prettier/prettier/pull/15881) by
[@&#8203;fisker](https://github.com/fisker),
[@&#8203;Josh-Cena](https://github.com/Josh-Cena),
[@&#8203;auvred](https://github.com/auvred))

<!-- prettier-ignore -->

```ts
// Input
1++;

// Prettier 3.2.2
1++;

// Prettier 3.2.3
SyntaxError: Invalid left-hand side expression in unary operation (1:1)
> 1 | 1++;
    | ^
```

<!-- prettier-ignore -->

```ts
// Input
try {} catch (error = 1){}

// Prettier 3.2.2
try {
} catch (error) {}

// Prettier 3.2.3
SyntaxError: Catch clause variable cannot have an initializer. (1:23)
> 1 | try {} catch (error = 1){}
    |                       ^
```

##### Fix parser inference
([#&#8203;15927](https://github.com/prettier/prettier/pull/15927) by
[@&#8203;fisker](https://github.com/fisker))

<!-- prettier-ignore -->

```console
// Prettier 3.2.2
prettier --file-info tsconfig.json
{ "ignored": false, "inferredParser": "json" }

// Prettier 3.2.3
prettier --file-info tsconfig.json
{ "ignored": false, "inferredParser": "jsonc" }
```

</details>

<details>
<summary>kulshekhar/ts-jest (ts-jest)</summary>

###
[`v29.1.2`](https://github.com/kulshekhar/ts-jest/blob/HEAD/CHANGELOG.md#2912-2024-01-22)

[Compare
Source](https://github.com/kulshekhar/ts-jest/compare/v29.1.1...v29.1.2)

##### Bug Fixes

- calculated cache key based on `supportsStaticESM`
([a5d6f2d](https://github.com/kulshekhar/ts-jest/commit/a5d6f2d4f4bfa1c7c217f6faf9310958797b436f))
- correct error handling in `processAsync`
([e7be4bf](https://github.com/kulshekhar/ts-jest/commit/e7be4bf6a863cd76efec28f40fdd5193b2f50bad)),
closes
[#&#8203;4207](https://github.com/kulshekhar/ts-jest/issues/4207)
- use `Config.ProjectConfig`
([918312b](https://github.com/kulshekhar/ts-jest/commit/918312bee22a795ec6bb347f95df4c1ff0a054de)),
closes
[#&#8203;4028](https://github.com/kulshekhar/ts-jest/issues/4028)

</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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/tnez/starter-npm-pkg).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjcuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
hoonoh referenced this pull request in hoonoh/aws-spot-price Feb 5, 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://github.com/typicode/husky) | [`8.0.3` -> `9.0.10`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#### What's Changed

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

#### New Contributors

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

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

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

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

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing in more features!

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but open to other stacks Rails, Go, Elixir). You can contact me at my mail: typicode at gmail 🙂

#### Introducing `husky init`

Adding husky to a project is now easier than ever. Although the installation process was straightforward, it often required consulting the documentation.

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

```shell
npx husky init
```

#### Adding a New Hook

Adding a hook is now as simple as creating a file. This can be accomplished using your favorite editor, a script or a basic `echo` command.

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately `6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned 🙌

#### Other Changes

-   **Enhanced security** with CI and npm `--provenance` for safer publishing.
-   Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to `~/.config/husky/init.sh` for centralized configuration.
-   **Fixed permission issue for Windows-created hooks**; they no longer need to be executable.
-   Removed `husky install`. Use `husky` or `husky some/dir` for the same functionality (deprecation notice to be added).
-   Modified behavior when `.git` is missing; it now triggers a warning instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade and migrate your hooks later.

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 5pm on Friday,every weekend" (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 [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/hoonoh/aws-spot-price).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in SAP/ui5-webcomponents-react Feb 5, 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 |
|---|---|---|---|---|---|
| [@babel/cli](https://babel.dev/docs/en/next/babel-cli)
([source](https://github.com/babel/babel/tree/HEAD/packages/babel-cli))
| [`7.23.4` ->
`7.23.9`](https://renovatebot.com/diffs/npm/@babel%2fcli/7.23.4/7.23.9)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fcli/7.23.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fcli/7.23.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fcli/7.23.4/7.23.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fcli/7.23.4/7.23.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@babel/core](https://babel.dev/docs/en/next/babel-core)
([source](https://github.com/babel/babel/tree/HEAD/packages/babel-core))
| [`7.23.7` ->
`7.23.9`](https://renovatebot.com/diffs/npm/@babel%2fcore/7.23.7/7.23.9)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fcore/7.23.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fcore/7.23.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fcore/7.23.7/7.23.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fcore/7.23.7/7.23.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@babel/preset-env](https://babel.dev/docs/en/next/babel-preset-env)
([source](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env))
| [`7.23.8` ->
`7.23.9`](https://renovatebot.com/diffs/npm/@babel%2fpreset-env/7.23.8/7.23.9)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fpreset-env/7.23.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fpreset-env/7.23.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fpreset-env/7.23.8/7.23.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fpreset-env/7.23.8/7.23.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@cypress/code-coverage](https://github.com/cypress-io/code-coverage)
| [`3.12.18` ->
`3.12.19`](https://renovatebot.com/diffs/npm/@cypress%2fcode-coverage/3.12.18/3.12.19)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@cypress%2fcode-coverage/3.12.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@cypress%2fcode-coverage/3.12.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@cypress%2fcode-coverage/3.12.18/3.12.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@cypress%2fcode-coverage/3.12.18/3.12.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/next/code/addons/a11y)
([source](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/a11y))
| [`7.6.10` ->
`7.6.12`](https://renovatebot.com/diffs/npm/@storybook%2faddon-a11y/7.6.10/7.6.12)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-a11y/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-a11y/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-a11y/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-a11y/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/next/code/addons/essentials)
([source](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials))
| [`7.6.10` ->
`7.6.12`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/7.6.10/7.6.12)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-essentials/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-essentials/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-essentials/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-essentials/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@storybook/blocks](https://github.com/storybookjs/storybook/tree/next/code/ui/blocks)
([source](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/blocks))
| [`7.6.10` ->
`7.6.12`](https://renovatebot.com/diffs/npm/@storybook%2fblocks/7.6.10/7.6.12)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2fblocks/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2fblocks/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2fblocks/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2fblocks/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@storybook/react](https://github.com/storybookjs/storybook/tree/next/code/renderers/react)
([source](https://github.com/storybookjs/storybook/tree/HEAD/code/renderers/react))
| [`7.6.10` ->
`7.6.12`](https://renovatebot.com/diffs/npm/@storybook%2freact/7.6.10/7.6.12)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@storybook/react-vite](https://github.com/storybookjs/storybook/tree/next/code/frameworks/react-vite)
([source](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite))
| [`7.6.10` ->
`7.6.12`](https://renovatebot.com/diffs/npm/@storybook%2freact-vite/7.6.10/7.6.12)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact-vite/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact-vite/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact-vite/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact-vite/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@storybook/theming](https://github.com/storybookjs/storybook/tree/next/code/lib/theming)
([source](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/theming))
| [`7.6.10` ->
`7.6.12`](https://renovatebot.com/diffs/npm/@storybook%2ftheming/7.6.10/7.6.12)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2ftheming/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2ftheming/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2ftheming/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2ftheming/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`20.11.5` ->
`20.11.16`](https://renovatebot.com/diffs/npm/@types%2fnode/20.11.5/20.11.16)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.11.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.11.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.11.5/20.11.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.11.5/20.11.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react)
([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react))
| [`18.2.48` ->
`18.2.53`](https://renovatebot.com/diffs/npm/@types%2freact/18.2.48/18.2.53)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/18.2.53?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/18.2.53?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/18.2.48/18.2.53?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/18.2.48/18.2.53?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [cypress](https://cypress.io)
([source](https://github.com/cypress-io/cypress)) | [`13.6.3` ->
`13.6.4`](https://renovatebot.com/diffs/npm/cypress/13.6.3/13.6.4) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/cypress/13.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/cypress/13.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/cypress/13.6.3/13.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/cypress/13.6.3/13.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [husky](https://github.com/typicode/husky) | [`9.0.6` ->
`9.0.10`](https://renovatebot.com/diffs/npm/husky/9.0.6/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/9.0.6/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/9.0.6/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [lint-staged](https://github.com/okonet/lint-staged) | [`15.2.0` ->
`15.2.1`](https://renovatebot.com/diffs/npm/lint-staged/15.2.0/15.2.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/lint-staged/15.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lint-staged/15.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lint-staged/15.2.0/15.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lint-staged/15.2.0/15.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [npm-run-all2](https://github.com/bcomnes/npm-run-all2) | [`6.1.1`
-> `6.1.2`](https://renovatebot.com/diffs/npm/npm-run-all2/6.1.1/6.1.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/npm-run-all2/6.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/npm-run-all2/6.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/npm-run-all2/6.1.1/6.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/npm-run-all2/6.1.1/6.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [prettier](https://prettier.io)
([source](https://github.com/prettier/prettier)) | [`3.2.4` ->
`3.2.5`](https://renovatebot.com/diffs/npm/prettier/3.2.4/3.2.5) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/prettier/3.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prettier/3.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prettier/3.2.4/3.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier/3.2.4/3.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[storybook](https://github.com/storybookjs/storybook/tree/next/code/lib/cli)
([source](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/cli))
| [`7.6.10` ->
`7.6.12`](https://renovatebot.com/diffs/npm/storybook/7.6.10/7.6.12) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/storybook/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>babel/babel (@&#8203;babel/cli)</summary>

###
[`v7.23.9`](https://github.com/babel/babel/blob/HEAD/CHANGELOG.md#v7239-2024-01-25)

[Compare
Source](https://github.com/babel/babel/compare/v7.23.4...v7.23.9)

##### 🐛 Bug Fix

- `babel-helper-transform-fixture-test-runner`,
`babel-plugin-transform-function-name`,
`babel-plugin-transform-modules-systemjs`, `babel-preset-env`
- [#&#8203;16225](https://github.com/babel/babel/pull/16225) fix:
`systemjs` re-traverses helpers
([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
- `babel-helper-create-class-features-plugin`,
`babel-plugin-proposal-decorators`
- [#&#8203;16226](https://github.com/babel/babel/pull/16226) Improve
decorated private method check
([@&#8203;JLHwung](https://github.com/JLHwung))
- `babel-plugin-proposal-decorators`,
`babel-plugin-transform-async-generator-functions`,
`babel-plugin-transform-runtime`, `babel-preset-env`
- [#&#8203;16224](https://github.com/babel/babel/pull/16224) Properly
sort `core-js@3` imports
([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))
-   `babel-traverse`
- [#&#8203;15383](https://github.com/babel/babel/pull/15383) fix:
Don't throw in `getTypeAnnotation` when using TS+inference
([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
-   Other
- [#&#8203;16210](https://github.com/babel/babel/pull/16210) \[eslint]
Fix `no-use-before-define` for class ref in fields
([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))

##### 🏠 Internal

-   `babel-core`, `babel-parser`, `babel-template`
- [#&#8203;16222](https://github.com/babel/babel/pull/16222) Migrate
`eslint-parser` to cts
([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
-   `babel-types`
- [#&#8203;16213](https://github.com/babel/babel/pull/16213) Remove
`@babel/types` props that are not produced by the parser
([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))

##### 🏃‍♀️ Performance

-   `babel-parser`
- [#&#8203;16072](https://github.com/babel/babel/pull/16072) perf:
Improve parser performance for typescript
([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))

##### 🔬 Output optimization

- `babel-helper-create-class-features-plugin`,
`babel-plugin-proposal-decorators`,
`babel-plugin-proposal-destructuring-private`,
`babel-plugin-proposal-pipeline-operator`,
`babel-plugin-transform-class-properties`,
`babel-plugin-transform-class-static-block`,
`babel-plugin-transform-new-target`,
`babel-plugin-transform-parameters`,
`babel-plugin-transform-private-methods`, `babel-preset-env`
- [#&#8203;16218](https://github.com/babel/babel/pull/16218) Improve
temporary variables for decorators
([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
- `babel-helpers`, `babel-plugin-proposal-explicit-resource-management`,
`babel-runtime-corejs2`, `babel-runtime-corejs3`, `babel-runtime`
- [#&#8203;15959](https://github.com/babel/babel/pull/15959) Improve
output of `using`
([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))

</details>

<details>
<summary>cypress-io/code-coverage
(@&#8203;cypress/code-coverage)</summary>

###
[`v3.12.19`](https://github.com/cypress-io/code-coverage/releases/tag/v3.12.19)

[Compare
Source](https://github.com/cypress-io/code-coverage/compare/v3.12.18...v3.12.19)

##### Bug Fixes

- **deps:** update dependency
[@&#8203;types/react](https://github.com/types/react) to v18.2.48
([#&#8203;769](https://github.com/cypress-io/code-coverage/issues/769))
([b87408b](https://github.com/cypress-io/code-coverage/commit/b87408ba2d5a10958c8934a5ed08c9a9992ccfb5))

</details>

<details>
<summary>storybookjs/storybook (@&#8203;storybook/addon-a11y)</summary>

###
[`v7.6.12`](https://github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#7612)

[Compare
Source](https://github.com/storybookjs/storybook/compare/v7.6.11...v7.6.12)

- CLI: Fix `upgrade` detecting the wrong version of existing Storybooks
-
[#&#8203;25752](https://github.com/storybookjs/storybook/pull/25752),
thanks [@&#8203;JReinhold](https://github.com/JReinhold)!

###
[`v7.6.11`](https://github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#7611)

[Compare
Source](https://github.com/storybookjs/storybook/compare/v7.6.10...v7.6.11)

- CLI: Update init for react native v7 -
[#&#8203;25780](https://github.com/storybookjs/storybook/pull/25780),
thanks [@&#8203;dannyhw](https://github.com/dannyhw)!
- Codemods: Add support for multiple file extensions in runCodemod
function -
[#&#8203;25708](https://github.com/storybookjs/storybook/pull/25708),
thanks
[@&#8203;valentinpalkovic](https://github.com/valentinpalkovic)!

</details>

<details>
<summary>cypress-io/cypress (cypress)</summary>

###
[`v13.6.4`](https://github.com/cypress-io/cypress/releases/tag/v13.6.4)

[Compare
Source](https://github.com/cypress-io/cypress/compare/v13.6.3...v13.6.4)

Changelog: https://docs.cypress.io/guides/references/changelog#13-6-4

</details>

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

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

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

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

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

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

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

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

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

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

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

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

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

</details>

<details>
<summary>okonet/lint-staged (lint-staged)</summary>

###
[`v15.2.1`](https://github.com/okonet/lint-staged/blob/HEAD/CHANGELOG.md#1521)

[Compare
Source](https://github.com/okonet/lint-staged/compare/v15.2.0...v15.2.1)

##### Patch Changes

- [#&#8203;1387](https://github.com/lint-staged/lint-staged/pull/1387)
[`e4023f6`](https://github.com/lint-staged/lint-staged/commit/e4023f687616dcf4816545b8eefbcce50e255c9c)
Thanks [@&#8203;iiroj](https://github.com/iiroj)! - Ignore stdin of
spawned commands so that they don't get stuck waiting. Until now,
*lint-staged* has used the default settings to spawn linter commands.
This means the `stdin` of the spawned commands has accepted input, and
essentially gotten stuck waiting. Now the `stdin` is ignored and
commands will no longer get stuck. If you relied on this behavior,
please open a new issue and describe how; the behavior has not been
intended.

</details>

<details>
<summary>bcomnes/npm-run-all2 (npm-run-all2)</summary>

###
[`v6.1.2`](https://github.com/bcomnes/npm-run-all2/blob/HEAD/CHANGELOG.md#v612)

[Compare
Source](https://github.com/bcomnes/npm-run-all2/compare/v6.1.1...v6.1.2)

##### Merged

- feat: move to read-package-json-fast
[`#130`](https://github.com/bcomnes/npm-run-all2/pull/130)
- Upgrade: Bump c8 from 8.0.1 to 9.0.0
[`#127`](https://github.com/bcomnes/npm-run-all2/pull/127)
- Upgrade: Bump github/codeql-action from 2 to 3
[`#126`](https://github.com/bcomnes/npm-run-all2/pull/126)
- Upgrade: Bump actions/setup-node from 3 to 4
[`#123`](https://github.com/bcomnes/npm-run-all2/pull/123)

##### Commits

- Publish the whole project
[`3dde20c`](https://github.com/bcomnes/npm-run-all2/commit/3dde20c1c8fa973045773e03f4fc121360fdbed4)
- Utilize CJS require for 'read-package-json-fast'
[`605ca15`](https://github.com/bcomnes/npm-run-all2/commit/605ca15d9adee3ce14da6fcaa98cb14d9c03795c)
- Update FUNDING.yml
[`c838ee9`](https://github.com/bcomnes/npm-run-all2/commit/c838ee9eea06e545d1a7f25592f7beb8468f1afd)

</details>

<details>
<summary>prettier/prettier (prettier)</summary>

###
[`v3.2.5`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#325)

[Compare
Source](https://github.com/prettier/prettier/compare/3.2.4...3.2.5)

[diff](https://github.com/prettier/prettier/compare/3.2.4...3.2.5)

##### Support Angular inline styles as single template literal
([#&#8203;15968](https://github.com/prettier/prettier/pull/15968) by
[@&#8203;sosukesuzuki](https://github.com/sosukesuzuki))

[Angular
v17](https://blog.angular.io/introducing-angular-v17-4d7033312e4b)
supports single string inline styles.

<!-- prettier-ignore -->

```ts
// Input
@&#8203;Component({
  template: `<div>...</div>`,
  styles: `h1 { color: blue; }`,
})
export class AppComponent {}

// Prettier 3.2.4
@&#8203;Component({
  template: `<div>...</div>`,
  styles: `h1 { color: blue; }`,
})
export class AppComponent {}

// Prettier 3.2.5
@&#8203;Component({
  template: `<div>...</div>`,
  styles: `
    h1 {
      color: blue;
    }
  `,
})
export class AppComponent {}

```

##### Unexpected embedded formatting for Angular template
([#&#8203;15969](https://github.com/prettier/prettier/pull/15969) by
[@&#8203;JounQin](https://github.com/JounQin))

Computed template should not be considered as Angular component template

<!-- prettier-ignore -->

```ts
// Input
const template = "foobar";

@&#8203;Component({
  [template]: `<h1>{{       hello }}</h1>`,
})
export class AppComponent {}

// Prettier 3.2.4
const template = "foobar";

@&#8203;Component({
  [template]: `<h1>{{ hello }}</h1>`,
})
export class AppComponent {}

// Prettier 3.2.5
const template = "foobar";

@&#8203;Component({
  [template]: `<h1>{{       hello }}</h1>`,
})
export class AppComponent {}
```

##### Use `"json"` parser for `tsconfig.json` by default
([#&#8203;16012](https://github.com/prettier/prettier/pull/16012) by
[@&#8203;sosukesuzuki](https://github.com/sosukesuzuki))

In
[v2.3.0](https://prettier.io/blog/2024/01/12/3.2.0#new-jsonc-parser-added-15831httpsgithubcomprettierprettierpull15831-by-fiskerhttpsgithubcomfisker),
we introduced `"jsonc"` parser which adds trialing comma **by default**.

When adding a new parser we also define how it will be used based on the
[`linguist-languages`](https://www.npmjs.com/package/linguist-languages)
data.

`tsconfig.json` is a special file used by
[TypeScript](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#using-tsconfigjson-or-jsconfigjson),
it uses `.json` file extension, but it actually uses the [JSON with
Comments](https://code.visualstudio.com/docs/languages/json#\_json-with-comments)
syntax. However, we found that there are many third-party tools not
recognize it correctly because of the confusing `.json` file extension.

We decide to treat it as a JSON file for now to avoid the extra
configuration step.

To keep using the `"jsonc"` parser for your `tsconfig.json` files, add
the following to your `.pretterrc` file

```json
{
  "overrides": [
    {
      "files": ["tsconfig.json", "jsconfig.json"],
      "options": {
        "parser": "jsonc"
      }
    }
  ]
}
```

<!-- prettier-ignore -->

```
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/SAP/ui5-webcomponents-react).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
kodiakhq bot referenced this pull request in weareinreach/TransMascFutures Feb 5, 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 |
|---|---|---|---|---|---|
| [@prisma/adapter-neon](https://github.com/prisma/prisma) ([source](https://github.com/prisma/prisma/tree/HEAD/packages/adapter-neon)) | [`5.8.1` -> `5.9.1`](https://renovatebot.com/diffs/npm/@prisma%2fadapter-neon/5.8.1/5.9.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2fadapter-neon/5.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2fadapter-neon/5.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2fadapter-neon/5.8.1/5.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2fadapter-neon/5.8.1/5.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@prisma/client](https://www.prisma.io) ([source](https://github.com/prisma/prisma/tree/HEAD/packages/client)) | [`5.8.1` -> `5.9.1`](https://renovatebot.com/diffs/npm/@prisma%2fclient/5.8.1/5.9.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2fclient/5.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2fclient/5.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2fclient/5.8.1/5.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2fclient/5.8.1/5.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/next/code/addons/a11y) ([source](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/a11y)) | [`7.6.10` -> `7.6.12`](https://renovatebot.com/diffs/npm/@storybook%2faddon-a11y/7.6.10/7.6.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-a11y/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-a11y/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-a11y/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-a11y/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/next/code/addons/essentials) ([source](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials)) | [`7.6.10` -> `7.6.12`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/7.6.10/7.6.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-essentials/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-essentials/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-essentials/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-essentials/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-interactions](https://github.com/storybookjs/storybook/tree/next/code/addons/interactions) ([source](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions)) | [`7.6.10` -> `7.6.12`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/7.6.10/7.6.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-interactions/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-interactions/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-interactions/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-interactions/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/next/code/addons/links) ([source](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/links)) | [`7.6.10` -> `7.6.12`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/7.6.10/7.6.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-links/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-links/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-links/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-links/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-viewport](https://github.com/storybookjs/storybook/tree/next/code/addons/viewport) ([source](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/viewport)) | [`7.6.10` -> `7.6.12`](https://renovatebot.com/diffs/npm/@storybook%2faddon-viewport/7.6.10/7.6.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-viewport/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-viewport/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-viewport/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-viewport/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/blocks](https://github.com/storybookjs/storybook/tree/next/code/ui/blocks) ([source](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/blocks)) | [`7.6.10` -> `7.6.12`](https://renovatebot.com/diffs/npm/@storybook%2fblocks/7.6.10/7.6.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2fblocks/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2fblocks/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2fblocks/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2fblocks/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/nextjs](https://github.com/storybookjs/storybook/tree/next/code/frameworks/nextjs) ([source](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/nextjs)) | [`7.6.10` -> `7.6.12`](https://renovatebot.com/diffs/npm/@storybook%2fnextjs/7.6.10/7.6.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2fnextjs/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2fnextjs/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2fnextjs/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2fnextjs/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/react](https://github.com/storybookjs/storybook/tree/next/code/renderers/react) ([source](https://github.com/storybookjs/storybook/tree/HEAD/code/renderers/react)) | [`7.6.10` -> `7.6.12`](https://renovatebot.com/diffs/npm/@storybook%2freact/7.6.10/7.6.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@tabler/icons-react](https://tabler-icons.io) ([source](https://github.com/tabler/tabler-icons/tree/HEAD/packages/icons-react)) | [`2.46.0` -> `2.47.0`](https://renovatebot.com/diffs/npm/@tabler%2ficons-react/2.46.0/2.47.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tabler%2ficons-react/2.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tabler%2ficons-react/2.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tabler%2ficons-react/2.46.0/2.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tabler%2ficons-react/2.46.0/2.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.11.10` -> `20.11.16`](https://renovatebot.com/diffs/npm/@types%2fnode/20.11.10/20.11.16) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.11.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.11.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.11.10/20.11.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.11.10/20.11.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)) | [`18.2.48` -> `18.2.53`](https://renovatebot.com/diffs/npm/@types%2freact/18.2.48/18.2.53) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/18.2.53?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/18.2.53?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/18.2.48/18.2.53?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/18.2.48/18.2.53?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vercel/speed-insights](https://github.com/vercel/speed-insights) ([source](https://github.com/vercel/speed-insights/tree/HEAD/packages/web)) | [`1.0.8` -> `1.0.9`](https://renovatebot.com/diffs/npm/@vercel%2fspeed-insights/1.0.8/1.0.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vercel%2fspeed-insights/1.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vercel%2fspeed-insights/1.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vercel%2fspeed-insights/1.0.8/1.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vercel%2fspeed-insights/1.0.8/1.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [chromatic](https://www.chromatic.com) ([source](https://github.com/chromaui/chromatic-cli)) | [`10.6.1` -> `10.7.1`](https://renovatebot.com/diffs/npm/chromatic/10.6.1/10.7.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/chromatic/10.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/chromatic/10.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/chromatic/10.6.1/10.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/chromatic/10.6.1/10.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [eslint-plugin-turbo](https://github.com/vercel/turbo) ([source](https://github.com/vercel/turbo/tree/HEAD/packages/eslint-plugin-turbo)) | [`1.11.3` -> `1.12.2`](https://renovatebot.com/diffs/npm/eslint-plugin-turbo/1.11.3/1.12.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-turbo/1.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-turbo/1.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-turbo/1.11.3/1.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-turbo/1.11.3/1.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [husky](https://github.com/typicode/husky) | [`9.0.7` -> `9.0.10`](https://renovatebot.com/diffs/npm/husky/9.0.7/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/9.0.7/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/9.0.7/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [i18next](https://www.i18next.com) ([source](https://github.com/i18next/i18next)) | [`23.8.1` -> `23.8.2`](https://renovatebot.com/diffs/npm/i18next/23.8.1/23.8.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/i18next/23.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/i18next/23.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/i18next/23.8.1/23.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/i18next/23.8.1/23.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [i18next-http-backend](https://github.com/i18next/i18next-http-backend) | [`2.4.2` -> `2.4.3`](https://renovatebot.com/diffs/npm/i18next-http-backend/2.4.2/2.4.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/i18next-http-backend/2.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/i18next-http-backend/2.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/i18next-http-backend/2.4.2/2.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/i18next-http-backend/2.4.2/2.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [lint-staged](https://github.com/okonet/lint-staged) | [`15.2.0` -> `15.2.2`](https://renovatebot.com/diffs/npm/lint-staged/15.2.0/15.2.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lint-staged/15.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lint-staged/15.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lint-staged/15.2.0/15.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lint-staged/15.2.0/15.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [nanoid](https://github.com/ai/nanoid) | [`5.0.4` -> `5.0.5`](https://renovatebot.com/diffs/npm/nanoid/5.0.4/5.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nanoid/5.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nanoid/5.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nanoid/5.0.4/5.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nanoid/5.0.4/5.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [pnpm](https://pnpm.io) ([source](https://github.com/pnpm/pnpm)) | [`8.15.0` -> `8.15.1`](https://renovatebot.com/diffs/npm/pnpm/8.15.0/8.15.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/8.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/8.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/8.15.0/8.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/8.15.0/8.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [prettier](https://prettier.io) ([source](https://github.com/prettier/prettier)) | [`3.2.4` -> `3.2.5`](https://renovatebot.com/diffs/npm/prettier/3.2.4/3.2.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prettier/3.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prettier/3.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prettier/3.2.4/3.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier/3.2.4/3.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [prettier-plugin-packagejson](https://github.com/matzkoh/prettier-plugin-packagejson) | [`2.4.9` -> `2.4.10`](https://renovatebot.com/diffs/npm/prettier-plugin-packagejson/2.4.9/2.4.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prettier-plugin-packagejson/2.4.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prettier-plugin-packagejson/2.4.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prettier-plugin-packagejson/2.4.9/2.4.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier-plugin-packagejson/2.4.9/2.4.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [prisma](https://www.prisma.io) ([source](https://github.com/prisma/prisma/tree/HEAD/packages/cli)) | [`5.8.1` -> `5.9.1`](https://renovatebot.com/diffs/npm/prisma/5.8.1/5.9.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prisma/5.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prisma/5.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prisma/5.8.1/5.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prisma/5.8.1/5.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [react-i18next](https://github.com/i18next/react-i18next) | [`14.0.1` -> `14.0.3`](https://renovatebot.com/diffs/npm/react-i18next/14.0.1/14.0.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-i18next/14.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-i18next/14.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-i18next/14.0.1/14.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-i18next/14.0.1/14.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [storybook](https://github.com/storybookjs/storybook/tree/next/code/lib/cli) ([source](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/cli)) | [`7.6.10` -> `7.6.12`](https://renovatebot.com/diffs/npm/storybook/7.6.10/7.6.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/storybook/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook/7.6.10/7.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [turbo](https://turbo.build/repo) ([source](https://github.com/vercel/turbo)) | [`1.11.3` -> `1.12.2`](https://renovatebot.com/diffs/npm/turbo/1.11.3/1.12.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/turbo/1.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/turbo/1.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/turbo/1.11.3/1.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/turbo/1.11.3/1.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [type-fest](https://github.com/sindresorhus/type-fest) | [`4.10.1` -> `4.10.2`](https://renovatebot.com/diffs/npm/type-fest/4.10.1/4.10.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/type-fest/4.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/type-fest/4.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/type-fest/4.10.1/4.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/type-fest/4.10.1/4.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>prisma/prisma (@&#8203;prisma/adapter-neon)</summary>

### [`v5.9.1`](https://github.com/prisma/prisma/releases/tag/5.9.1)

[Compare Source](https://github.com/prisma/prisma/compare/5.9.0...5.9.1)

Today, we are issuing the `5.9.1` patch release.

#### Fixes in Prisma Client

In `5.9.0` we have changed our conditional exports in `@prisma/client`. This resulted in broken types for TypesScript users using certain combinations of `module`/`moduleResolution` settings. Additionally, it also caused a regression for Next.js users which have encountered invalid error messages from our side.

You can now try out `5.9.1` and let us know if you find a bug at https://pris.ly/prisma-prisma-bug-report

-   [\[5.9.0\] Getting strange types after generating #&#8203;22903](https://github.com/prisma/prisma/issues/22903)
-   [v5.9.0 / Don't generate type. And the error from the previous version is still there #&#8203;22896](https://github.com/prisma/prisma/issues/22896)
-   [\[5.9.0\] Error: Prisma Client is unable to run in an edge runtime. As an alternative, try Accelerate: https://pris.ly/d/accelerate. #&#8203;22893](https://github.com/prisma/prisma/issues/22893)
-   [`Error: Prisma Client is unable to run in an edge runtime. As an alternative, try Accelerate: https://pris.ly/d/accelerate.` #&#8203;22889](https://github.com/prisma/prisma/issues/22889)
-   [\[5.9.0\] All queries result in any type #&#8203;22888](https://github.com/prisma/prisma/issues/22888)
-   [Prisma edge runtime error #&#8203;22886](https://github.com/prisma/prisma/issues/22886)
-   [please how i cant fix this message issues #&#8203;22885](https://github.com/prisma/prisma/issues/22885)
-   [\[v5.9.0\] $extends always return any #&#8203;22884](https://github.com/prisma/prisma/issues/22884)
-   [\[5.9.0\] @&#8203;prisma/client in Next.js middleware #&#8203;22877](https://github.com/prisma/prisma/issues/22877)
-   [Error after Upgrading from 5.8.1 to 5.9.0 #&#8203;22875](https://github.com/prisma/prisma/issues/22875)
-   [\[5.9.0 Bug\] Prisma.TransactionClient appears to be missing types #&#8203;22870](https://github.com/prisma/prisma/issues/22870)

Note: many issues are duplicates.

### [`v5.9.0`](https://github.com/prisma/prisma/releases/tag/5.9.0)

[Compare Source](https://github.com/prisma/prisma/compare/5.8.1...5.9.0)

Today, we are excited to share the `5.9.0` stable release 🎉 

🌟 **Help us spread the word about Prisma by starring the repo ☝️ or [posting on X](https://twitter.com/intent/tweet?text=Check) about the release.**

This release brings a number of small improvements as we continue our work on larger features which you will hear more about in the coming weeks:

-   Improve the performance of relation queries by introducing JOINs (see [last release](https://github.com/prisma/prisma/releases/tag/5.8.0)).
-   Support deployment to edge functions (already available in Early Access, you can apply for trying it out by taking our [survey](https://pris.ly/survey/edge-functions-release-notes-5-9-0)).

#### Highlights

##### Optimized result sets for more efficient queries

We continue our efforts of the performance of Prisma Client queries. In [`5.1.0`](https://github.com/prisma/prisma/releases/tag/5.1.0), we introduced the `RETURNING` keyword for several queries on PostrgeSQL and CockroachDB. We now expanded the use of `RETURNING` to SQLite and a broader range of queries for existing databases (e.g. `delete` on PostgreSQL and MongoDB). You can learn more about the optimizations of the result sets in these PRs:

-   [feat(qe): avoid extra select on delete queries](https://github.com/prisma/prisma-engines/pull/4595)
-   [feat(qe): enable queries with returning for sqlite](https://github.com/prisma/prisma-engines/pull/46)

##### SQL Server: Return proper error for unreachable database

When trying migrate/introspect a SQL server instance that’s unreachable, Prisma ORM now returns the correct `P1001` error instead of failing without an error. Learn more in this PR: [SQL Server: Migrate/Introspection engine doesn't return P1001 error for unreachable url](https://github.com/prisma/prisma/issues/11407).

#### Fixes and improvements

##### Prisma Client

-   [Skip unnecessary `select` queries on create/update/delete](https://github.com/prisma/prisma/issues/8069)
-   [.prisma/client: Name can't start with a dot](https://github.com/prisma/prisma/issues/17685)
-   [Nested json is transformed to string when used “$type” key in object](https://github.com/prisma/prisma/issues/21454)
-   [Parallel execution with Promise.all causes P2024 error in version 5.8.0 due to connection limit](https://github.com/prisma/prisma/issues/22610)

##### Prisma Migrate

-   [SQL Server: Migrate/Introspection engine doesn't return P1001 error for unreachable url](https://github.com/prisma/prisma/issues/11407)
-   [Prisma errors fetching table 'CHECK_CONSTRAINTS' (which only exists in MySQL 8.0.16+) in MySQL 8.0.14](https://github.com/prisma/prisma/issues/19775)
-   [`ERROR: column "..." being dropped, try again later` when applying migrations with CRDB 23.1](https://github.com/prisma/prisma/issues/20851)

##### Language tools (e.g. VS Code)

-   [Extension wrongfully suggests Json as a valid type completion on Sqlite](https://github.com/prisma/language-tools/issues/1638)

#### Company news

##### Test edge functions support in Early Access

Today, the only way how to use Prisma ORM in edge functions (e.g. Cloudflare Workers or Vercel Edge Functions) is by using [Prisma Accelerate](https://www.prisma.io/data-platform/accelerate). However, we are actively working on making Prisma ORM compatible with edge functions natively as well. If you want to become an early tester, you can apply for the private Early Accessing program by taking this [survey](https://pris.ly/survey/edge-functions-release-notes-5-9-0).

##### We Transitioned Prisma Accelerate to IPv6 Without Anyone Noticing

Last year, AWS announced the decision to begin charging for IPv4 addresses beginning in February 2024. This move had a major impact on Prisma Accelerate, prompting us to go all-in on IPv6. [Learn more in this technical deep dive](https://www.prisma.io/blog/accelerate-ipv6-first) into how we approached our IPv6 migration, lessons learned, and the outcome for users of Prisma Accelerate.

#### Credits

Huge thanks to [@&#8203;laplab](https://github.com/laplab), [@&#8203;Druue](https://github.com/Druue), [@&#8203;anuraaga](https://github.com/anuraaga), [@&#8203;onichandame](https://github.com/onichandame), [@&#8203;LucianBuzzo](https://github.com/LucianBuzzo), [@&#8203;RobertCraigie](https://github.com/RobertCraigie), [@&#8203;almeidx](https://github.com/almeidx), [@&#8203;victorgdb](https://github.com/victorgdb), [@&#8203;tinola](https://github.com/tinola), [@&#8203;sampolahtinen](https://github.com/sampolahtinen), [@&#8203;AikoRamalho](https://github.com/AikoRamalho), [@&#8203;petradonka](https://github.com/petradonka) for helping!

</details>

<details>
<summary>storybookjs/storybook (@&#8203;storybook/addon-a11y)</summary>

### [`v7.6.12`](https://github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#7612)

[Compare Source](https://github.com/storybookjs/storybook/compare/v7.6.11...v7.6.12)

-   CLI: Fix `upgrade` detecting the wrong version of existing Storybooks - [#&#8203;25752](https://github.com/storybookjs/storybook/pull/25752), thanks [@&#8203;JReinhold](https://github.com/JReinhold)!

### [`v7.6.11`](https://github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#7611)

[Compare Source](https://github.com/storybookjs/storybook/compare/v7.6.10...v7.6.11)

-   CLI: Update init for react native v7 - [#&#8203;25780](https://github.com/storybookjs/storybook/pull/25780), thanks [@&#8203;dannyhw](https://github.com/dannyhw)!
-   Codemods: Add support for multiple file extensions in runCodemod function - [#&#8203;25708](https://github.com/storybookjs/storybook/pull/25708), thanks [@&#8203;valentinpalkovic](https://github.com/valentinpalkovic)!

</details>

<details>
<summary>tabler/tabler-icons (@&#8203;tabler/icons-react)</summary>

### [`v2.47.0`](https://github.com/tabler/tabler-icons/releases/tag/v2.47.0): Release 2.47.0

[Compare Source](https://github.com/tabler/tabler-icons/compare/v2.46.0...v2.47.0)

<img src="https://github.com/tabler/tabler-icons/assets/1282324/d4de3bc6-95ed-4e1e-abf5-4c089f8838e0" width="584" alt="" />

##### 18 new icons:

-   `border-corner-ios`
-   `brightness-auto`
-   `clipboard-smile`
-   `database-smile`
-   `glass-champagne`
-   `glass-cocktail`
-   `glass-gin`
-   `image-in-picture`
-   `math-max-min`
-   `prong`
-   `shopping-bag-heart`
-   `temperature-snow`
-   `temperature-sun`
-   `transform-point-bottom-left`
-   `transform-point-bottom-right`
-   `transform-point-top-left`
-   `transform-point-top-right`
-   `transform-point`

Fixed icons: `brand-linktree`, `glass-off`, `glass`, `math-max`, `math-min`

</details>

<details>
<summary>vercel/speed-insights (@&#8203;vercel/speed-insights)</summary>

### [`v1.0.9`](https://github.com/vercel/speed-insights/releases/tag/1.0.9)

[Compare Source](https://github.com/vercel/speed-insights/compare/1.0.8...1.0.9)

Improved `route` support for Next.js pages router

</details>

<details>
<summary>chromaui/chromatic-cli (chromatic)</summary>

### [`v10.7.1`](https://github.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1071-Fri-Feb-02-2024)

[Compare Source](https://github.com/chromaui/chromatic-cli/compare/v10.7.0...v10.7.1)

##### 🐛 Bug Fix

-   Add Fallback getGitInfo if we cannot find the origin URL [#&#8203;910](https://github.com/chromaui/chromatic-cli/pull/910) ([@&#8203;thafryer](https://github.com/thafryer))

##### Authors: 1

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

***

### [`v10.7.0`](https://github.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1070-Fri-Feb-02-2024)

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

##### 🚀 Enhancement

-   Rename E2E peer dependencies [#&#8203;909](https://github.com/chromaui/chromatic-cli/pull/909) ([@&#8203;tevanoff](https://github.com/tevanoff))

##### Authors: 1

-   Todd Evanoff ([@&#8203;tevanoff](https://github.com/tevanoff))

***

</details>

<details>
<summary>vercel/turbo (eslint-plugin-turbo)</summary>

### [`v1.12.2`](https://github.com/vercel/turbo/releases/tag/v1.12.2): Turborepo v1.12.2

[Compare Source](https://github.com/vercel/turbo/compare/v1.12.1...v1.12.2)



#### What's Changed

##### create-turbo

-   release(turborepo): 1.12.1 by [@&#8203;github-actions](https://github.com/github-actions) in [https://github.com/vercel/turbo/pull/7193](https://github.com/vercel/turbo/pull/7193)

##### Changelog

-   feat(lockfile): traverse lockfile in parallel by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7178](https://github.com/vercel/turbo/pull/7178)
-   perf: remove duplicate git construction by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7194](https://github.com/vercel/turbo/pull/7194)
-   Make clippy happy by [@&#8203;Zertsov](https://github.com/Zertsov) in [https://github.com/vercel/turbo/pull/7195](https://github.com/vercel/turbo/pull/7195)
-   fix: keep stdin open for persistent tasks by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7196](https://github.com/vercel/turbo/pull/7196)
-   add vc config dir by [@&#8203;Zertsov](https://github.com/Zertsov) in [https://github.com/vercel/turbo/pull/7173](https://github.com/vercel/turbo/pull/7173)
-   fix(Turborepo): Handle spaces in path names in git status by [@&#8203;gsoltis](https://github.com/gsoltis) in [https://github.com/vercel/turbo/pull/7197](https://github.com/vercel/turbo/pull/7197)
-   feat: enable vt processing on windows by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7158](https://github.com/vercel/turbo/pull/7158)

**Full Changelog**: https://github.com/vercel/turbo/compare/v1.12.1...v1.12.2

### [`v1.12.1`](https://github.com/vercel/turbo/releases/tag/v1.12.1): Turborepo v1.12.1

[Compare Source](https://github.com/vercel/turbo/compare/v1.12.0...v1.12.1)



#### What's Changed

##### Docs

-   docs: fix link in telemetry by [@&#8203;A7med3bdulBaset](https://github.com/A7med3bdulBaset) in [https://github.com/vercel/turbo/pull/7190](https://github.com/vercel/turbo/pull/7190)

##### create-turbo

-   release(turborepo): 1.12.0 by [@&#8203;github-actions](https://github.com/github-actions) in [https://github.com/vercel/turbo/pull/7177](https://github.com/vercel/turbo/pull/7177)

##### Changelog

-   Print telemetry warning on stderr by [@&#8203;laat](https://github.com/laat) in [https://github.com/vercel/turbo/pull/7189](https://github.com/vercel/turbo/pull/7189)
-   chore(integration): remove \_helpers & fallback by [@&#8203;tknickman](https://github.com/tknickman) in [https://github.com/vercel/turbo/pull/7172](https://github.com/vercel/turbo/pull/7172)

#### New Contributors

-   [@&#8203;A7med3bdulBaset](https://github.com/A7med3bdulBaset) made their first contribution in [https://github.com/vercel/turbo/pull/7190](https://github.com/vercel/turbo/pull/7190)
-   [@&#8203;laat](https://github.com/laat) made their first contribution in [https://github.com/vercel/turbo/pull/7189](https://github.com/vercel/turbo/pull/7189)

**Full Changelog**: https://github.com/vercel/turbo/compare/v1.12.0...v1.12.1

### [`v1.12.0`](https://github.com/vercel/turbo/releases/tag/v1.12.0): Turborepo v1.12.0

[Compare Source](https://github.com/vercel/turbo/compare/v1.11.3...v1.12.0)



#### What's Changed

##### Docs

-   General CI steps on doc. by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [https://github.com/vercel/turbo/pull/6894](https://github.com/vercel/turbo/pull/6894)
-   \[Docs] create-new.mdx - npm double slash typo fix by [@&#8203;Firfi](https://github.com/Firfi) in [https://github.com/vercel/turbo/pull/6933](https://github.com/vercel/turbo/pull/6933)
-   fix(docs): correct option heading by [@&#8203;tknickman](https://github.com/tknickman) in [https://github.com/vercel/turbo/pull/6973](https://github.com/vercel/turbo/pull/6973)
-   Clean up inputs doc. by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [https://github.com/vercel/turbo/pull/6980](https://github.com/vercel/turbo/pull/6980)
-   fix(docs): typo in `what-to-cache.mdx` by [@&#8203;pjlangley](https://github.com/pjlangley) in [https://github.com/vercel/turbo/pull/6960](https://github.com/vercel/turbo/pull/6960)
-   fix(docs): update vercel.mdx by [@&#8203;tknickman](https://github.com/tknickman) in [https://github.com/vercel/turbo/pull/6987](https://github.com/vercel/turbo/pull/6987)
-   Doc for running setup tasks prior to development tasks. by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [https://github.com/vercel/turbo/pull/6999](https://github.com/vercel/turbo/pull/6999)
-   Add Glossary to sidebar. by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [https://github.com/vercel/turbo/pull/7011](https://github.com/vercel/turbo/pull/7011)
-   fix(docs): remote cache go -> rust by [@&#8203;tknickman](https://github.com/tknickman) in [https://github.com/vercel/turbo/pull/7082](https://github.com/vercel/turbo/pull/7082)
-   Use `exports`  in Internal Packages doc. by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [https://github.com/vercel/turbo/pull/7079](https://github.com/vercel/turbo/pull/7079)
-   fix: typo in github-actions.mdx by [@&#8203;mattiadevivo](https://github.com/mattiadevivo) in [https://github.com/vercel/turbo/pull/7069](https://github.com/vercel/turbo/pull/7069)
-   Document glob spec. by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [https://github.com/vercel/turbo/pull/7076](https://github.com/vercel/turbo/pull/7076)
-   Document handling of Node.js versions, OS, and arch. by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [https://github.com/vercel/turbo/pull/7072](https://github.com/vercel/turbo/pull/7072)
-   Add generalized deployment advice for Prisma doc. by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [https://github.com/vercel/turbo/pull/7130](https://github.com/vercel/turbo/pull/7130)
-   \[DO NOT MERGE] feat(telemetry): cli reference by [@&#8203;tknickman](https://github.com/tknickman) in [https://github.com/vercel/turbo/pull/6826](https://github.com/vercel/turbo/pull/6826)
-   \[DO NOT MERGE] feat(telemetry): feature docs by [@&#8203;tknickman](https://github.com/tknickman) in [https://github.com/vercel/turbo/pull/6827](https://github.com/vercel/turbo/pull/6827)
-   \[DO NOT MERGE] feat(docs): $TURBO_DEFAULT$ by [@&#8203;tknickman](https://github.com/tknickman) in [https://github.com/vercel/turbo/pull/7155](https://github.com/vercel/turbo/pull/7155)

##### create-turbo

-   release(turborepo): 1.11.3 by [@&#8203;github-actions](https://github.com/github-actions) in [https://github.com/vercel/turbo/pull/6891](https://github.com/vercel/turbo/pull/6891)
-   release(turborepo): 1.11.4-canary.0 by [@&#8203;github-actions](https://github.com/github-actions) in [https://github.com/vercel/turbo/pull/6975](https://github.com/vercel/turbo/pull/6975)
-   release(turborepo): 1.11.4-canary.1 by [@&#8203;github-actions](https://github.com/github-actions) in [https://github.com/vercel/turbo/pull/6997](https://github.com/vercel/turbo/pull/6997)
-   release(turborepo): 1.11.4-canary.3 by [@&#8203;github-actions](https://github.com/github-actions) in [https://github.com/vercel/turbo/pull/7157](https://github.com/vercel/turbo/pull/7157)
-   release(turborepo): 1.11.4-canary.4 by [@&#8203;github-actions](https://github.com/github-actions) in [https://github.com/vercel/turbo/pull/7170](https://github.com/vercel/turbo/pull/7170)

##### Examples

-   chore(deps-dev): bump the example-dependencies group in /examples/with-shell-commands with 1 update by [@&#8203;dependabot](https://github.com/dependabot) in [https://github.com/vercel/turbo/pull/6901](https://github.com/vercel/turbo/pull/6901)
-   Update dependencies in examples. by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [https://github.com/vercel/turbo/pull/6920](https://github.com/vercel/turbo/pull/6920)
-   Fix with-svelte-example by [@&#8203;dummdidumm](https://github.com/dummdidumm) in [https://github.com/vercel/turbo/pull/6986](https://github.com/vercel/turbo/pull/6986)
-   fix(examples): fontSize type is number not string by [@&#8203;devjiwonchoi](https://github.com/devjiwonchoi) in [https://github.com/vercel/turbo/pull/7005](https://github.com/vercel/turbo/pull/7005)
-   Fix Svelte package export map by [@&#8203;dummdidumm](https://github.com/dummdidumm) in [https://github.com/vercel/turbo/pull/7007](https://github.com/vercel/turbo/pull/7007)
-   fix(examples): basic generator by [@&#8203;tknickman](https://github.com/tknickman) in [https://github.com/vercel/turbo/pull/7022](https://github.com/vercel/turbo/pull/7022)
-   fix(examples): ui turbo.json no longer needed by [@&#8203;tknickman](https://github.com/tknickman) in [https://github.com/vercel/turbo/pull/7087](https://github.com/vercel/turbo/pull/7087)
-   chore(docs): remove unnecessary spaces by [@&#8203;GyoHeon](https://github.com/GyoHeon) in [https://github.com/vercel/turbo/pull/7118](https://github.com/vercel/turbo/pull/7118)
-   chore: install jest in examples/kitchen-sink by [@&#8203;llllvvuu](https://github.com/llllvvuu) in [https://github.com/vercel/turbo/pull/7132](https://github.com/vercel/turbo/pull/7132)

##### Changelog

-   fix: Make execution state use auth crate by [@&#8203;Zertsov](https://github.com/Zertsov) in [https://github.com/vercel/turbo/pull/6880](https://github.com/vercel/turbo/pull/6880)
-   fix(telemetry): obfuscate rc endpoint by [@&#8203;tknickman](https://github.com/tknickman) in [https://github.com/vercel/turbo/pull/6925](https://github.com/vercel/turbo/pull/6925)
-   fix: treat empty environement variables as unset by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/6929](https://github.com/vercel/turbo/pull/6929)
-   Error out if dependent flags are provided without their parent by [@&#8203;arlyon](https://github.com/arlyon) in [https://github.com/vercel/turbo/pull/6780](https://github.com/vercel/turbo/pull/6780)
-   fix: make sure that our concurrency check ignore packages without task by [@&#8203;arlyon](https://github.com/arlyon) in [https://github.com/vercel/turbo/pull/6790](https://github.com/vercel/turbo/pull/6790)
-   chore: avoid panic on invalid directory filters by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/6955](https://github.com/vercel/turbo/pull/6955)
-   feat(Turborepo): Use a wrapper around the raw strings we pass to globwalk by [@&#8203;gsoltis](https://github.com/gsoltis) in [https://github.com/vercel/turbo/pull/6847](https://github.com/vercel/turbo/pull/6847)
-   fix: ignore permission errors during globbing by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/6957](https://github.com/vercel/turbo/pull/6957)
-   fix: avoid retry panic by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/6926](https://github.com/vercel/turbo/pull/6926)
-   add better messaging when running with api flag by [@&#8203;Zertsov](https://github.com/Zertsov) in [https://github.com/vercel/turbo/pull/6927](https://github.com/vercel/turbo/pull/6927)
-   fix some clippy lints by [@&#8203;arlyon](https://github.com/arlyon) in [https://github.com/vercel/turbo/pull/6959](https://github.com/vercel/turbo/pull/6959)
-   Fix/unrevert daemon discovery by [@&#8203;arlyon](https://github.com/arlyon) in [https://github.com/vercel/turbo/pull/6712](https://github.com/vercel/turbo/pull/6712)
-   feat(telemetry): track prune args by [@&#8203;tknickman](https://github.com/tknickman) in [https://github.com/vercel/turbo/pull/6970](https://github.com/vercel/turbo/pull/6970)
-   feat(lockfiles): support Yarn 4 patches by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/6974](https://github.com/vercel/turbo/pull/6974)
-   feat(telemetry): track global args by [@&#8203;tknickman](https://github.com/tknickman) in [https://github.com/vercel/turbo/pull/6972](https://github.com/vercel/turbo/pull/6972)
-   fix: update Cargo.lock with correct workspace dependencies by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/6990](https://github.com/vercel/turbo/pull/6990)
-   fix: rewrite prefix after carriage return by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/6989](https://github.com/vercel/turbo/pull/6989)
-   feat(telemetry): track run arguments by [@&#8203;tknickman](https://github.com/tknickman) in [https://github.com/vercel/turbo/pull/6985](https://github.com/vercel/turbo/pull/6985)
-   chore: remove usage of command groups by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/6992](https://github.com/vercel/turbo/pull/6992)
-   chore: add reason for service being unavailable by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/6993](https://github.com/vercel/turbo/pull/6993)
-   fix(turbo): validate graph extension by [@&#8203;tknickman](https://github.com/tknickman) in [https://github.com/vercel/turbo/pull/6995](https://github.com/vercel/turbo/pull/6995)
-   chore: Adjusted error message for APIClient errors in cache by [@&#8203;NicholasLYang](https://github.com/NicholasLYang) in [https://github.com/vercel/turbo/pull/6996](https://github.com/vercel/turbo/pull/6996)
-   fix(integration): update help integration test by [@&#8203;tknickman](https://github.com/tknickman) in [https://github.com/vercel/turbo/pull/7017](https://github.com/vercel/turbo/pull/7017)
-   fix(cache): truncate metadata file when writing by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7016](https://github.com/vercel/turbo/pull/7016)
-   fix(prune): correctly create symlinks to directories  by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/6983](https://github.com/vercel/turbo/pull/6983)
-   fix: forward fixes for LSP by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7023](https://github.com/vercel/turbo/pull/7023)
-   fix(daemon): make sure cookie dir exists before writing cookie by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7015](https://github.com/vercel/turbo/pull/7015)
-   feat(telemetry): track more daemon errors by [@&#8203;tknickman](https://github.com/tknickman) in [https://github.com/vercel/turbo/pull/7031](https://github.com/vercel/turbo/pull/7031)
-   chore: revert auth json by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7026](https://github.com/vercel/turbo/pull/7026)
-   chore: prefactor process manager by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7034](https://github.com/vercel/turbo/pull/7034)
-   chore(Turborepo): Scope down opts needed by the visitor, remove run lifetime by [@&#8203;gsoltis](https://github.com/gsoltis) in [https://github.com/vercel/turbo/pull/7032](https://github.com/vercel/turbo/pull/7032)
-   fix: Examples turbo.json outputs key by [@&#8203;NicholasLYang](https://github.com/NicholasLYang) in [https://github.com/vercel/turbo/pull/7071](https://github.com/vercel/turbo/pull/7071)
-   fix: filter package.json files that are subfolders of other packages by [@&#8203;arlyon](https://github.com/arlyon) in [https://github.com/vercel/turbo/pull/7025](https://github.com/vercel/turbo/pull/7025)
-   feat: update `@turbo/repository` to use new terminology by [@&#8203;mrmckeb](https://github.com/mrmckeb) in [https://github.com/vercel/turbo/pull/7078](https://github.com/vercel/turbo/pull/7078)
-   fix(turbo): sort dependents and dependencies during normalization by [@&#8203;mehulkar](https://github.com/mehulkar) in [https://github.com/vercel/turbo/pull/7018](https://github.com/vercel/turbo/pull/7018)
-   release: `@turbo/repository@0.0.1-canary.3` by [@&#8203;mrmckeb](https://github.com/mrmckeb) in [https://github.com/vercel/turbo/pull/7090](https://github.com/vercel/turbo/pull/7090)
-   chore(daemon): swap fallback logs to debug by [@&#8203;tknickman](https://github.com/tknickman) in [https://github.com/vercel/turbo/pull/7102](https://github.com/vercel/turbo/pull/7102)
-   feat: add ability to spawn child process with pty by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7077](https://github.com/vercel/turbo/pull/7077)
-   chore(Turborepo): Move more CLI stuff out of run code by [@&#8203;gsoltis](https://github.com/gsoltis) in [https://github.com/vercel/turbo/pull/7085](https://github.com/vercel/turbo/pull/7085)
-   fix(hashing): include gitignored files in fallback by [@&#8203;tknickman](https://github.com/tknickman) in [https://github.com/vercel/turbo/pull/7105](https://github.com/vercel/turbo/pull/7105)
-   fix(clippy): remove unused import by [@&#8203;tknickman](https://github.com/tknickman) in [https://github.com/vercel/turbo/pull/7120](https://github.com/vercel/turbo/pull/7120)
-   fix(hashing): include default files in fallback by [@&#8203;tknickman](https://github.com/tknickman) in [https://github.com/vercel/turbo/pull/7106](https://github.com/vercel/turbo/pull/7106)
-   chore: add tracing to pty usage by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7127](https://github.com/vercel/turbo/pull/7127)
-   fix disable echoctl by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7109](https://github.com/vercel/turbo/pull/7109)
-   feat(telemetry): enable feature by [@&#8203;tknickman](https://github.com/tknickman) in [https://github.com/vercel/turbo/pull/7122](https://github.com/vercel/turbo/pull/7122)
-   feat: enable pty usage by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7128](https://github.com/vercel/turbo/pull/7128)
-   feat(hashing): support $TURBO_DEFAULT$ in inputs by [@&#8203;tknickman](https://github.com/tknickman) in [https://github.com/vercel/turbo/pull/7113](https://github.com/vercel/turbo/pull/7113)
-   fix: process manager tests tty by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7156](https://github.com/vercel/turbo/pull/7156)
-   fix(tests): mock telemetry config by [@&#8203;tknickman](https://github.com/tknickman) in [https://github.com/vercel/turbo/pull/7168](https://github.com/vercel/turbo/pull/7168)
-   chore: clean pnpm lockfile by [@&#8203;mehulkar](https://github.com/mehulkar) in [https://github.com/vercel/turbo/pull/7171](https://github.com/vercel/turbo/pull/7171)
-   fix: tasks with no newline by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7175](https://github.com/vercel/turbo/pull/7175)

#### New Contributors

-   [@&#8203;Firfi](https://github.com/Firfi) made their first contribution in [https://github.com/vercel/turbo/pull/6933](https://github.com/vercel/turbo/pull/6933)
-   [@&#8203;pjlangley](https://github.com/pjlangley) made their first contribution in [https://github.com/vercel/turbo/pull/6960](https://github.com/vercel/turbo/pull/6960)
-   [@&#8203;dummdidumm](https://github.com/dummdidumm) made their first contribution in [https://github.com/vercel/turbo/pull/6986](https://github.com/vercel/turbo/pull/6986)
-   [@&#8203;devjiwonchoi](https://github.com/devjiwonchoi) made their first contribution in [https://github.com/vercel/turbo/pull/7005](https://github.com/vercel/turbo/pull/7005)
-   [@&#8203;nirban07](https://github.com/nirban07) made their first contribution in [https://github.com/vercel/turbo/pull/7008](https://github.com/vercel/turbo/pull/7008)
-   [@&#8203;mrmckeb](https://github.com/mrmckeb) made their first contribution in [https://github.com/vercel/turbo/pull/7078](https://github.com/vercel/turbo/pull/7078)
-   [@&#8203;mattiadevivo](https://github.com/mattiadevivo) made their first contribution in [https://github.com/vercel/turbo/pull/7069](https://github.com/vercel/turbo/pull/7069)
-   [@&#8203;GyoHeon](https://github.com/GyoHeon) made their first contribution in [https://github.com/vercel/turbo/pull/7118](https://github.com/vercel/turbo/pull/7118)
-   [@&#8203;llllvvuu](https://github.com/llllvvuu) made their first contribution in [https://github.com/vercel/turbo/pull/7132](https://github.com/vercel/turbo/pull/7132)

**Full Changelog**: https://github.com/vercel/turbo/compare/v1.11.3...v1.12.0

</details>

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

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

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

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

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

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

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

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

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

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

</details>

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

### [`v23.8.2`](https://github.com/i18next/i18next/blob/HEAD/CHANGELOG.md#2382)

[Compare Source](https://github.com/i18next/i18next/compare/v23.8.1...v23.8.2)

-   optimize `addResources` to address [2130](https://github.com/i18next/i18next/issues/2130)

</details>

<details>
<summary>i18next/i18next-http-backend (i18next-http-backend)</summary>

### [`v2.4.3`](https://github.com/i18next/i18next-http-backend/blob/HEAD/CHANGELOG.md#243)

[Compare Source](https://github.com/i18next/i18next-http-backend/compare/v2.4.2...v2.4.3)

-   fix: overriding options

</details>

<details>
<summary>okonet/lint-staged (lint-staged)</summary>

### [`v15.2.2`](https://github.com/okonet/lint-staged/blob/HEAD/CHANGELOG.md#1522)

[Compare Source](https://github.com/okonet/lint-staged/compare/v15.2.1...v15.2.2)

##### Patch Changes

-   [#&#8203;1391](https://github.com/lint-staged/lint-staged/pull/1391) [`fdcdad4`](https://github.com/lint-stage

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday,before 4am on Thursday" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/weareinreach/GLAAD).



PR-URL: https://github.com/weareinreach/GLAAD/pull/328
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
nicolewhite referenced this pull request in autoblocksai/javascript-sdk Feb 5, 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://github.com/typicode/husky) | [`^8.0.0` ->
`^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.10) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#### What's Changed

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

#### New Contributors

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

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

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

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

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img
src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263"
height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing
in more features!

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but
open to other stacks Rails, Go, Elixir). You can contact me at my mail:
typicode at gmail 🙂

#### Introducing `husky init`

Adding husky to a project is now easier than ever. Although the
installation process was straightforward, it often required consulting
the documentation.

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

```shell
npx husky init
```

#### Adding a New Hook

Adding a hook is now as simple as creating a file. This can be
accomplished using your favorite editor, a script or a basic `echo`
command.

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately
`6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely
making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the
project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned
🙌

#### Other Changes

- **Enhanced security** with CI and npm `--provenance` for safer
publishing.
- Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to
`~/.config/husky/init.sh` for centralized configuration.
- **Fixed permission issue for Windows-created hooks**; they no longer
need to be executable.
- Removed `husky install`. Use `husky` or `husky some/dir` for the same
functionality (deprecation notice to be added).
- Modified behavior when `.git` is missing; it now triggers a warning
instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade
and migrate your hooks later.

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone
America/Chicago, 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/autoblocksai/javascript-sdk).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
ckomop0x referenced this pull request in ckomop0x/ckomop0x.me.site Feb 5, 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://github.com/typicode/husky) | [`8.0.3` ->
`9.0.10`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.10) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#### What's Changed

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

#### New Contributors

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

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

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

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

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img
src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263"
height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing
in more features!

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but
open to other stacks Rails, Go, Elixir). You can contact me at my mail:
typicode at gmail 🙂

#### Introducing `husky init`

Adding husky to a project is now easier than ever. Although the
installation process was straightforward, it often required consulting
the documentation.

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

```shell
npx husky init
```

#### Adding a New Hook

Adding a hook is now as simple as creating a file. This can be
accomplished using your favorite editor, a script or a basic `echo`
command.

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately
`6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely
making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the
project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned
🙌

#### Other Changes

- **Enhanced security** with CI and npm `--provenance` for safer
publishing.
- Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to
`~/.config/husky/init.sh` for centralized configuration.
- **Fixed permission issue for Windows-created hooks**; they no longer
need to be executable.
- Removed `husky install`. Use `husky` or `husky some/dir` for the same
functionality (deprecation notice to be added).
- Modified behavior when `.git` is missing; it now triggers a warning
instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade
and migrate your hooks later.

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/ckomop0x/ckomop0x.me.site.v2).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
ckomop0x referenced this pull request in ckomop0x/f1-seasons Feb 8, 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://github.com/typicode/husky) | [`8.0.3` ->
`9.0.10`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.10) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#### What's Changed

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

#### New Contributors

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

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

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

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

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img
src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263"
height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing
in more features!

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but
open to other stacks Rails, Go, Elixir). You can contact me at my mail:
typicode at gmail 🙂

#### Introducing `husky init`

Adding husky to a project is now easier than ever. Although the
installation process was straightforward, it often required consulting
the documentation.

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

```shell
npx husky init
```

#### Adding a New Hook

Adding a hook is now as simple as creating a file. This can be
accomplished using your favorite editor, a script or a basic `echo`
command.

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately
`6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely
making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the
project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned
🙌

#### Other Changes

- **Enhanced security** with CI and npm `--provenance` for safer
publishing.
- Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to
`~/.config/husky/init.sh` for centralized configuration.
- **Fixed permission issue for Windows-created hooks**; they no longer
need to be executable.
- Removed `husky install`. Use `husky` or `husky some/dir` for the same
functionality (deprecation notice to be added).
- Modified behavior when `.git` is missing; it now triggers a warning
instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade
and migrate your hooks later.

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/ckomop0x/f1-seasons).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
diegohaz referenced this pull request in ariakit/ariakit Feb 9, 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://github.com/typicode/husky) | [`9.0.7` ->
`9.0.10`](https://renovatebot.com/diffs/npm/husky/9.0.7/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/9.0.7/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/9.0.7/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

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

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

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

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

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

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

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

</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/ariakit/ariakit).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
kodiakhq bot referenced this pull request in mheob/used-pm Feb 12, 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://github.com/typicode/husky) | [`^8.0.3` -> `^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#### What's Changed

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

#### New Contributors

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

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

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

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

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing in more features!

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but open to other stacks Rails, Go, Elixir). You can contact me at my mail: typicode at gmail 🙂

#### Introducing `husky init`

Adding husky to a project is now easier than ever. Although the installation process was straightforward, it often required consulting the documentation.

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

```shell
npx husky init
```

#### Adding a New Hook

Adding a hook is now as simple as creating a file. This can be accomplished using your favorite editor, a script or a basic `echo` command.

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately `6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned 🙌

#### Other Changes

-   **Enhanced security** with CI and npm `--provenance` for safer publishing.
-   Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to `~/.config/husky/init.sh` for centralized configuration.
-   **Fixed permission issue for Windows-created hooks**; they no longer need to be executable.
-   Removed `husky install`. Use `husky` or `husky some/dir` for the same functionality (deprecation notice to be added).
-   Modified behavior when `.git` is missing; it now triggers a warning instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade and migrate your hooks later.

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone Europe/Berlin, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/mheob/used-pm).



Co-authored-by: Alex Böhm <3983539+mheob@users.noreply.github.com>
fuxingloh referenced this pull request in fuxingloh/contented 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://github.com/typicode/husky) | [`^8.0.3` ->
`^9.0.10`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.10) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#### What's Changed

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

#### New Contributors

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

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

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

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

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img
src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263"
height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing
in more features!

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but
open to other stacks Rails, Go, Elixir). You can contact me at my mail:
typicode at gmail 🙂

#### Introducing `husky init`

Adding husky to a project is now easier than ever. Although the
installation process was straightforward, it often required consulting
the documentation.

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

```shell
npx husky init
```

#### Adding a New Hook

Adding a hook is now as simple as creating a file. This can be
accomplished using your favorite editor, a script or a basic `echo`
command.

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately
`6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely
making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the
project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned
🙌

#### Other Changes

- **Enhanced security** with CI and npm `--provenance` for safer
publishing.
- Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to
`~/.config/husky/init.sh` for centralized configuration.
- **Fixed permission issue for Windows-created hooks**; they no longer
need to be executable.
- Removed `husky install`. Use `husky` or `husky some/dir` for the same
functionality (deprecation notice to be added).
- Modified behavior when `.git` is missing; it now triggers a warning
instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade
and migrate your hooks later.

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/fuxingloh/contented).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Fuxing Loh <git@fuxing.dev>
renovate bot referenced this pull request in JoshuaKGoldberg/create-typescript-app 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://github.com/typicode/husky) | [`^8.0.3` ->
`^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.10) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#### What's Changed

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

#### New Contributors

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

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

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

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

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img
src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263"
height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing
in more features!

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but
open to other stacks Rails, Go, Elixir). You can contact me at my mail:
typicode at gmail 🙂

#### Introducing `husky init`

Adding husky to a project is now easier than ever. Although the
installation process was straightforward, it often required consulting
the documentation.

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

```shell
npx husky init
```

#### Adding a New Hook

Adding a hook is now as simple as creating a file. This can be
accomplished using your favorite editor, a script or a basic `echo`
command.

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately
`6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely
making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the
project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned
🙌

#### Other Changes

- **Enhanced security** with CI and npm `--provenance` for safer
publishing.
- Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to
`~/.config/husky/init.sh` for centralized configuration.
- **Fixed permission issue for Windows-created hooks**; they no longer
need to be executable.
- Removed `husky install`. Use `husky` or `husky some/dir` for the same
functionality (deprecation notice to be added).
- Modified behavior when `.git` is missing; it now triggers a warning
instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade
and migrate your hooks later.

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: 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/create-typescript-app).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in JoshuaKGoldberg/all-contributors-for-repository 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://github.com/typicode/husky) | [`^8.0.3` ->
`^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.10) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#### What's Changed

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

#### New Contributors

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

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

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

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

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img
src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263"
height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing
in more features!

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but
open to other stacks Rails, Go, Elixir). You can contact me at my mail:
typicode at gmail 🙂

#### Introducing `husky init`

Adding husky to a project is now easier than ever. Although the
installation process was straightforward, it often required consulting
the documentation.

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

```shell
npx husky init
```

#### Adding a New Hook

Adding a hook is now as simple as creating a file. This can be
accomplished using your favorite editor, a script or a basic `echo`
command.

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately
`6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely
making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the
project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned
🙌

#### Other Changes

- **Enhanced security** with CI and npm `--provenance` for safer
publishing.
- Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to
`~/.config/husky/init.sh` for centralized configuration.
- **Fixed permission issue for Windows-created hooks**; they no longer
need to be executable.
- Removed `husky install`. Use `husky` or `husky some/dir` for the same
functionality (deprecation notice to be added).
- Modified behavior when `.git` is missing; it now triggers a warning
instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade
and migrate your hooks later.

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: 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-for-repository).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in JoshuaKGoldberg/console-fail-test 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://github.com/typicode/husky) | [`^8.0.3` ->
`^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.10) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#### What's Changed

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

#### New Contributors

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

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

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

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

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img
src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263"
height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing
in more features!

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but
open to other stacks Rails, Go, Elixir). You can contact me at my mail:
typicode at gmail 🙂

#### Introducing `husky init`

Adding husky to a project is now easier than ever. Although the
installation process was straightforward, it often required consulting
the documentation.

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

```shell
npx husky init
```

#### Adding a New Hook

Adding a hook is now as simple as creating a file. This can be
accomplished using your favorite editor, a script or a basic `echo`
command.

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately
`6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely
making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the
project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned
🙌

#### Other Changes

- **Enhanced security** with CI and npm `--provenance` for safer
publishing.
- Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to
`~/.config/husky/init.sh` for centralized configuration.
- **Fixed permission issue for Windows-created hooks**; they no longer
need to be executable.
- Removed `husky install`. Use `husky` or `husky some/dir` for the same
functionality (deprecation notice to be added).
- Modified behavior when `.git` is missing; it now triggers a warning
instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade
and migrate your hooks later.

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: 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/console-fail-test).

<!--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-package-json 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://github.com/typicode/husky) | [`^8.0.3` ->
`^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.10) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#### What's Changed

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

#### New Contributors

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

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

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

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

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img
src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263"
height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing
in more features!

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but
open to other stacks Rails, Go, Elixir). You can contact me at my mail:
typicode at gmail 🙂

#### Introducing `husky init`

Adding husky to a project is now easier than ever. Although the
installation process was straightforward, it often required consulting
the documentation.

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

```shell
npx husky init
```

#### Adding a New Hook

Adding a hook is now as simple as creating a file. This can be
accomplished using your favorite editor, a script or a basic `echo`
command.

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately
`6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely
making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the
project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned
🙌

#### Other Changes

- **Enhanced security** with CI and npm `--provenance` for safer
publishing.
- Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to
`~/.config/husky/init.sh` for centralized configuration.
- **Fixed permission issue for Windows-created hooks**; they no longer
need to be executable.
- Removed `husky install`. Use `husky` or `husky some/dir` for the same
functionality (deprecation notice to be added).
- Modified behavior when `.git` is missing; it now triggers a warning
instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade
and migrate your hooks later.

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: 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-package-json).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
remcolakens referenced this pull request in remcolakens/next-boilerplate Feb 17, 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://github.com/typicode/husky) | [`^8.0.3` ->
`^9.0.11`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.11) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

- chore: update package-lock.json by
[@&#8203;btea](https://github.com/btea) in
[https://github.com/typicode/husky/pull/1383](https://github.com/typicode/husky/pull/1383)
- fix: husky=0 in init (fixes
[#&#8203;1393](https://github.com/typicode/husky/issues/1393)) by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1395](https://github.com/typicode/husky/pull/1395)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#### What's Changed

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

#### New Contributors

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

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

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

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

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img
src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263"
height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing
in more features!

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but
open to other stacks Rails, Go, Elixir). You can contact me at my mail:
typicode at gmail 🙂

#### Introducing `husky init`

Adding husky to a project is now easier than ever. Although the
installation process was straightforward, it often required consulting
the documentation.

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

```shell
npx husky init
```

#### Adding a New Hook

Adding a hook is now as simple as creating a file. This can be
accomplished using your favorite editor, a script or a basic `echo`
command.

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately
`6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely
making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the
project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned
🙌

#### Other Changes

- **Enhanced security** with CI and npm `--provenance` for safer
publishing.
- Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to
`~/.config/husky/init.sh` for centralized configuration.
- **Fixed permission issue for Windows-created hooks**; they no longer
need to be executable.
- Removed `husky install`. Use `husky` or `husky some/dir` for the same
functionality (deprecation notice to be added).
- Modified behavior when `.git` is missing; it now triggers a warning
instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade
and migrate your hooks later.

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone
Europe/Amsterdam, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/remcolakens/next-boilerplate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Remco Lakens <remco.lakens@gmail.com>
Adriel-M referenced this pull request in Adriel-M/adriel.dev Feb 18, 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://github.com/typicode/husky) | [`^8.0.3` ->
`^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.11) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

- chore: update package-lock.json by
[@&#8203;btea](https://github.com/btea) in
[https://github.com/typicode/husky/pull/1383](https://github.com/typicode/husky/pull/1383)
- fix: husky=0 in init (fixes
[#&#8203;1393](https://github.com/typicode/husky/issues/1393)) by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1395](https://github.com/typicode/husky/pull/1395)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#### What's Changed

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

#### New Contributors

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

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

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

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

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img
src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263"
height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing
in more features!

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but
open to other stacks Rails, Go, Elixir). You can contact me at my mail:
typicode at gmail 🙂

#### Introducing `husky init`

Adding husky to a project is now easier than ever. Although the
installation process was straightforward, it often required consulting
the documentation.

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

```shell
npx husky init
```

#### Adding a New Hook

Adding a hook is now as simple as creating a file. This can be
accomplished using your favorite editor, a script or a basic `echo`
command.

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately
`6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely
making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the
project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned
🙌

#### Other Changes

- **Enhanced security** with CI and npm `--provenance` for safer
publishing.
- Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to
`~/.config/husky/init.sh` for centralized configuration.
- **Fixed permission issue for Windows-created hooks**; they no longer
need to be executable.
- Removed `husky install`. Use `husky` or `husky some/dir` for the same
functionality (deprecation notice to be added).
- Modified behavior when `.git` is missing; it now triggers a warning
instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade
and migrate your hooks later.

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Adriel-M/adriel.dev).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Adriel <20115135+Adriel-M@users.noreply.github.com>
gastonfournier referenced this pull request in Unleash/unleash Feb 19, 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://github.com/typicode/husky) | [`8.0.3` ->
`9.0.11`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.11) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

- chore: update package-lock.json by
[@&#8203;btea](https://github.com/btea) in
[https://github.com/typicode/husky/pull/1383](https://github.com/typicode/husky/pull/1383)
- fix: husky=0 in init (fixes
[#&#8203;1393](https://github.com/typicode/husky/issues/1393)) by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1395](https://github.com/typicode/husky/pull/1395)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#### What's Changed

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

#### New Contributors

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

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

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

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

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img
src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263"
height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing
in more features!

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but
open to other stacks Rails, Go, Elixir). You can contact me at my mail:
typicode at gmail 🙂

#### Introducing `husky init`

Adding husky to a project is now easier than ever. Although the
installation process was straightforward, it often required consulting
the documentation.

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

```shell
npx husky init
```

#### Adding a New Hook

Adding a hook is now as simple as creating a file. This can be
accomplished using your favorite editor, a script or a basic `echo`
command.

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately
`6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely
making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the
project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned
🙌

#### Other Changes

- **Enhanced security** with CI and npm `--provenance` for safer
publishing.
- Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to
`~/.config/husky/init.sh` for centralized configuration.
- **Fixed permission issue for Windows-created hooks**; they no longer
need to be executable.
- Removed `husky install`. Use `husky` or `husky some/dir` for the same
functionality (deprecation notice to be added).
- Modified behavior when `.git` is missing; it now triggers a warning
instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade
and migrate your hooks later.

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 7pm every weekday,before 5am
every weekday" in timezone Europe/Madrid, Automerge - At any time (no
schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in valora-inc/address-metadata Feb 19, 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://github.com/typicode/husky) | [`^8.0.3` ->
`^9.0.11`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.11) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

- chore: update package-lock.json by
[@&#8203;btea](https://github.com/btea) in
[https://github.com/typicode/husky/pull/1383](https://github.com/typicode/husky/pull/1383)
- fix: husky=0 in init (fixes
[#&#8203;1393](https://github.com/typicode/husky/issues/1393)) by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1395](https://github.com/typicode/husky/pull/1395)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#### What's Changed

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

#### New Contributors

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

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

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

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

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img
src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263"
height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing
in more features!

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but
open to other stacks Rails, Go, Elixir). You can contact me at my mail:
typicode at gmail 🙂

#### Introducing `husky init`

Adding husky to a project is now easier than ever. Although the
installation process was straightforward, it often required consulting
the documentation.

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

```shell
npx husky init
```

#### Adding a New Hook

Adding a hook is now as simple as creating a file. This can be
accomplished using your favorite editor, a script or a basic `echo`
command.

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately
`6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely
making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the
project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned
🙌

#### Other Changes

- **Enhanced security** with CI and npm `--provenance` for safer
publishing.
- Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to
`~/.config/husky/init.sh` for centralized configuration.
- **Fixed permission issue for Windows-created hooks**; they no longer
need to be executable.
- Removed `husky install`. Use `husky` or `husky some/dir` for the same
functionality (deprecation notice to be added).
- Modified behavior when `.git` is missing; it now triggers a warning
instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade
and migrate your hooks later.

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone
UTC, Automerge - "after 8:00 before 23:00 every weekday except on
Friday" in timezone UTC.

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/valora-inc/address-metadata).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xOTEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE5MS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
descope bot referenced this pull request in descope/descope-js Mar 5, 2024
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [husky](https://github.com/typicode/husky) | devDependencies | major
| [`^8.0.0` ->
`^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.10) |
`9.0.11` |

---

### Release Notes

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img
src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263"
height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing
in more features!

*Note: install using `husky@latest` to get the bug fixes that were
released after.*

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but
open to other stacks Rails, Go, Elixir). You can contact me at my mail:
typicode at gmail 🙂

#### Introducing `husky init`

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

Adding husky to a project is now easier than ever. It's just a single
line that does the same as above. No need to read the docs to get
started anymore.

```shell
npx husky init
```

#### Adding a New Hook

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

Adding a hook is as simple as creating a file. This can be accomplished
using your favorite editor, a script or a basic `echo` command. For
example, on Linux/macOS:

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately
`6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely
making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the
project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned
🙌

#### Other Changes

- **Enhanced security** with CI and npm `--provenance` for safer
publishing.
- Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to
`~/.config/husky/init.sh` for centralized configuration.
- **Fixed permission issue for Windows-created hooks**; they no longer
need to be executable.
- Removed `husky install`. Use `husky` or `husky some/dir` for the same
functionality (deprecation notice to be added).
- Modified behavior when `.git` is missing; it now triggers a warning
instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade
and migrate your hooks later.

Here are the steps to migrate:

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test 
```

*Note: `sh` will be used to run hooks, even if a shebang is set.*

If you were using `husky` as a module:

```diff
- const husky = require('husky')
- // ...
+ import husky from 'husky'
+ console.log(husky())
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 10pm every weekday,every
weekend,before 5am every weekday" in timezone Asia/Jerusalem, Automerge
- At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy42NC4yIiwidXBkYXRlZEluVmVyIjoiMzcuNjQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: descope[bot] <descope[bot]@users.noreply.github.com>
kodiakhq bot referenced this pull request in X-oss-byte/Nextjs Mar 9, 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://github.com/typicode/husky) | [`8.0.3` -> `9.0.11`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

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

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

-   chore: update package-lock.json by [@&#8203;btea](https://github.com/btea) in [https://github.com/typicode/husky/pull/1383](https://github.com/typicode/husky/pull/1383)
-   fix: husky=0 in init (fixes [#&#8203;1393](https://github.com/typicode/husky/issues/1393)) by [@&#8203;typicode](https://github.com/typicode) in [https://github.com/typicode/husky/pull/1395](https://github.com/typicode/husky/pull/1395)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#### What's Changed

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

#### New Contributors

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

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

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

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

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing in more features!

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but open to other stacks Rails, Go, Elixir). You can contact me at my mail: typicode at gmail 🙂

#### Introducing `husky init`

Adding husky to a project is now easier than ever. Although the installation process was straightforward, it often required consulting the documentation.

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

```shell
npx husky init
```

#### Adding a New Hook

Adding a hook is now as simple as creating a file. This can be accomplished using your favorite editor, a script or a basic `echo` command.

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately `6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned 🙌

#### Other Changes

-   **Enhanced security** with CI and npm `--provenance` for safer publishing.
-   Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to `~/.config/husky/init.sh` for centralized configuration.
-   **Fixed permission issue for Windows-created hooks**; they no longer need to be executable.
-   Removed `husky install`. Use `husky` or `husky some/dir` for the same functionality (deprecation notice to be added).
-   Modified behavior when `.git` is missing; it now triggers a warning instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade and migrate your hooks later.

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/X-oss-byte/Nextjs).
hobroker referenced this pull request in hobroker/selfhosted Mar 15, 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://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`20.11.0` ->
`20.11.28`](https://renovatebot.com/diffs/npm/@types%2fnode/20.11.0/20.11.28)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.11.28?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.11.28?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.11.0/20.11.28?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.11.0/20.11.28?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [husky](https://github.com/typicode/husky) | [`^8.0.3` ->
`^9.0.0`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.11) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [lint-staged](https://github.com/okonet/lint-staged) | [`15.2.0` ->
`15.2.2`](https://renovatebot.com/diffs/npm/lint-staged/15.2.0/15.2.2) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/lint-staged/15.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lint-staged/15.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lint-staged/15.2.0/15.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lint-staged/15.2.0/15.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

- chore: update package-lock.json by
[@&#8203;btea](https://github.com/btea) in
[https://github.com/typicode/husky/pull/1383](https://github.com/typicode/husky/pull/1383)
- fix: husky=0 in init (fixes
[#&#8203;1393](https://github.com/typicode/husky/issues/1393)) by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1395](https://github.com/typicode/husky/pull/1395)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#### What's Changed

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

#### New Contributors

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

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

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

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

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img
src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263"
height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing
in more features!

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but
open to other stacks Rails, Go, Elixir). You can contact me at my mail:
typicode at gmail 🙂

#### Introducing `husky init`

Adding husky to a project is now easier than ever. Although the
installation process was straightforward, it often required consulting
the documentation.

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

```shell
npx husky init
```

#### Adding a New Hook

Adding a hook is now as simple as creating a file. This can be
accomplished using your favorite editor, a script or a basic `echo`
command.

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately
`6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely
making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the
project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned
🙌

#### Other Changes

- **Enhanced security** with CI and npm `--provenance` for safer
publishing.
- Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to
`~/.config/husky/init.sh` for centralized configuration.
- **Fixed permission issue for Windows-created hooks**; they no longer
need to be executable.
- Removed `husky install`. Use `husky` or `husky some/dir` for the same
functionality (deprecation notice to be added).
- Modified behavior when `.git` is missing; it now triggers a warning
instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade
and migrate your hooks later.

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```

</details>

<details>
<summary>okonet/lint-staged (lint-staged)</summary>

###
[`v15.2.2`](https://github.com/okonet/lint-staged/blob/HEAD/CHANGELOG.md#1522)

[Compare
Source](https://github.com/okonet/lint-staged/compare/v15.2.1...v15.2.2)

##### Patch Changes

- [#&#8203;1391](https://github.com/lint-staged/lint-staged/pull/1391)
[`fdcdad4`](https://github.com/lint-staged/lint-staged/commit/fdcdad42ff96fea3c05598e378d3c44ad4a51bde)
Thanks [@&#8203;iiroj](https://github.com/iiroj)! - *Lint-staged* no
longer tries to load configuration from files that are not checked out.
This might happen when using sparse-checkout.

###
[`v15.2.1`](https://github.com/okonet/lint-staged/blob/HEAD/CHANGELOG.md#1521)

[Compare
Source](https://github.com/okonet/lint-staged/compare/v15.2.0...v15.2.1)

##### Patch Changes

- [#&#8203;1387](https://github.com/lint-staged/lint-staged/pull/1387)
[`e4023f6`](https://github.com/lint-staged/lint-staged/commit/e4023f687616dcf4816545b8eefbcce50e255c9c)
Thanks [@&#8203;iiroj](https://github.com/iiroj)! - Ignore stdin of
spawned commands so that they don't get stuck waiting. Until now,
*lint-staged* has used the default settings to spawn linter commands.
This means the `stdin` of the spawned commands has accepted input, and
essentially gotten stuck waiting. Now the `stdin` is ignored and
commands will no longer get stuck. If you relied on this behavior,
please open a new issue and describe how; the behavior has not been
intended.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/hobroker/selfhosted).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNDUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI0NS4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Igor <4361921+hobroker@users.noreply.github.com>
ykzts referenced this pull request in manaelproxy/manael Mar 23, 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://github.com/typicode/husky) | [`^8.0.3` ->
`^9.0.11`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.11) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

- chore: update package-lock.json by
[@&#8203;btea](https://github.com/btea) in
[https://github.com/typicode/husky/pull/1383](https://github.com/typicode/husky/pull/1383)
- fix: husky=0 in init (fixes
[#&#8203;1393](https://github.com/typicode/husky/issues/1393)) by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1395](https://github.com/typicode/husky/pull/1395)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#### What's Changed

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

#### New Contributors

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

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

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

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

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img
src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263"
height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing
in more features!

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but
open to other stacks Rails, Go, Elixir). You can contact me at my mail:
typicode at gmail 🙂

#### Introducing `husky init`

Adding husky to a project is now easier than ever. Although the
installation process was straightforward, it often required consulting
the documentation.

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

```shell
npx husky init
```

#### Adding a New Hook

Adding a hook is now as simple as creating a file. This can be
accomplished using your favorite editor, a script or a basic `echo`
command.

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately
`6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely
making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the
project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned
🙌

#### Other Changes

- **Enhanced security** with CI and npm `--provenance` for safer
publishing.
- Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to
`~/.config/husky/init.sh` for centralized configuration.
- **Fixed permission issue for Windows-created hooks**; they no longer
need to be executable.
- Removed `husky install`. Use `husky` or `husky some/dir` for the same
functionality (deprecation notice to be added).
- Modified behavior when `.git` is missing; it now triggers a warning
instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade
and migrate your hooks later.

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/manaelproxy/manael).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
github-merge-queue bot referenced this pull request in camunda/camunda Apr 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://github.com/typicode/husky) | [`8.0.3` ->
`9.0.11`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.0.11) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

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

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

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

- chore: update package-lock.json by
[@&#8203;btea](https://github.com/btea) in
[https://github.com/typicode/husky/pull/1383](https://github.com/typicode/husky/pull/1383)
- fix: husky=0 in init (fixes
[#&#8203;1393](https://github.com/typicode/husky/issues/1393)) by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1395](https://github.com/typicode/husky/pull/1395)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#### What's Changed

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

#### New Contributors

- [@&#8203;gergelypap](https://github.com/gergelypap) made their first
contribution in
[https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336)

**Full Changelog**:
typicode/husky@v9.0.1...v9.0.2

### [`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1)

[Compare
Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1)

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img
src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263"
height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing
in more features!

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but
open to other stacks Rails, Go, Elixir). You can contact me at my mail:
typicode at gmail 🙂

#### Introducing `husky init`

Adding husky to a project is now easier than ever. Although the
installation process was straightforward, it often required consulting
the documentation.

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

```shell
npx husky init
```

#### Adding a New Hook

Adding a hook is now as simple as creating a file. This can be
accomplished using your favorite editor, a script or a basic `echo`
command.

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately
`6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely
making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the
project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned
🙌

#### Other Changes

- **Enhanced security** with CI and npm `--provenance` for safer
publishing.
- Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to
`~/.config/husky/init.sh` for centralized configuration.
- **Fixed permission issue for Windows-created hooks**; they no longer
need to be executable.
- Removed `husky install`. Use `husky` or `husky some/dir` for the same
functionality (deprecation notice to be added).
- Modified behavior when `.git` is missing; it now triggers a warning
instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade
and migrate your hooks later.

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/camunda/zeebe).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMTMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjMxMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJhdXRvbWVyZ2UiXX0=-->
renovate bot referenced this pull request in davidsneighbour/hugo-modules Sep 15, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [husky](https://github.com/typicode/husky) | [`^5.2.0` ->
`^9.0.0`](https://renovatebot.com/diffs/npm/husky/5.2.0/9.1.6) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/5.2.0/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/5.2.0/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>typicode/husky (husky)</summary>

###
[`v9.1.6`](https://github.com/typicode/husky/compare/v9.1.5...a2d942a670b3d6a04578005a0fd2dc310e511849)

[Compare
Source](https://github.com/typicode/husky/compare/v9.1.5...v9.1.6)

###
[`v9.1.5`](https://github.com/typicode/husky/compare/v9.1.4...2fee8d212c601942ad146ea9209f15c20a07fb6d)

[Compare
Source](https://github.com/typicode/husky/compare/v9.1.4...v9.1.5)

###
[`v9.1.4`](https://github.com/typicode/husky/compare/v9.1.3...fc549e0e5c8723a6d796f6ad26ef6590769f5d82)

[Compare
Source](https://github.com/typicode/husky/compare/v9.1.3...v9.1.4)

###
[`v9.1.3`](https://github.com/typicode/husky/releases/tag/v9.1.3)

[Compare
Source](https://github.com/typicode/husky/compare/v9.1.2...v9.1.3)

-   fix: better handle space in `PATH`

###
[`v9.1.2`](https://github.com/typicode/husky/compare/v9.1.1...v9.1.2)

[Compare
Source](https://github.com/typicode/husky/compare/v9.1.1...v9.1.2)

###
[`v9.1.1`](https://github.com/typicode/husky/compare/v9.1.0...2968998755465f69069f297b5bb603e26d6b1772)

[Compare
Source](https://github.com/typicode/husky/compare/v9.1.0...v9.1.1)

###
[`v9.1.0`](https://github.com/typicode/husky/releases/tag/v9.1.0)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.11...v9.1.0)

<p>
<img
src="https://github.com/user-attachments/assets/72a03e68-e9c3-4644-94f9-d5ceb343aca5"
height="500px" alt="" />
</p>

*Super saiyan ~~god~~ dog! It's over 9.0.0!*

*There's a bug with this release which prevents the deprecation notice
to appear and requires to remove `#!/usr/bin/env sh` and `. "$(dirname
-- "$0")/_/husky.sh"` (which are deprecated by the way). I'll publish a
new version to fix that. Sorry about any inconvenience.*

### What's new

You can now run package commands directly, no need for `npx` or
equivalents.
It makes writing hooks more intuitive and is also slightly faster 🐺⚡️

```diff

### .husky/pre-commit
- npx jest
+ jest # ~0.2s faster
```

A new recipe has been added to the docs. Lint staged files without
external dependencies (inspired by Prettier docs). Feel free to modify
it.

```shell

### .husky/pre-commit
prettier $(git diff --cached --name-only --diff-filter=ACMR | sed 's| |\\ |g') --write --ignore-unknown
git update-index --again
```

For more advanced use cases, see
[lint-staged](https://github.com/lint-staged/lint-staged).

### Fixes

-   `bunx husky init` command
-   Workaround for some hooks implementation on Windows 🤷

### Deprecations

- Remove `#!/usr/bin/env sh` and `. "$(dirname -- "$0")/_/husky.sh"`
from your hooks
-   Move your code from `~/.huskyrc` to `.config/husky/init.sh`

Support for these will be removed in v10, notices have been added.

### Friendly reminder

If Git hooks don't fit your workflow, you can disable Husky globally.
Just add `export HUSKY=0` to `.config/husky/init.sh`.

I've seen some confusion about this on X, so just a heads-up!

### Sponsoring

Husky is downloaded over 45M times per month and used by ~1.5M projects.
If your company wants to sponsor, you can do so here: [GitHub
Sponsors](https://github.com/sponsors/typicode).

**Have a nice summer ☀️ I'm open to new opportunities/consulting so feel
free to drop me a message 😉**

###
[`v9.0.11`](https://github.com/typicode/husky/releases/tag/v9.0.11)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.10...v9.0.11)

- chore: update package-lock.json by
[@&#8203;btea](https://github.com/btea) in
[https://github.com/typicode/husky/pull/1383](https://github.com/typicode/husky/pull/1383)
- fix: husky=0 in init (fixes
[#&#8203;1393](https://github.com/typicode/husky/issues/1393))
by [@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1395](https://github.com/typicode/husky/pull/1395)

###
[`v9.0.10`](https://github.com/typicode/husky/releases/tag/v9.0.10)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.9...v9.0.10)

- fix: rename index.d.ts to index.d.mts by
[@&#8203;mrkjdy](https://github.com/mrkjdy) in
[https://github.com/typicode/husky/pull/1379](https://github.com/typicode/husky/pull/1379)

###
[`v9.0.9`](https://github.com/typicode/husky/releases/tag/v9.0.9)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.8...v9.0.9)

- refactor: rename files by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1378](https://github.com/typicode/husky/pull/1378)

###
[`v9.0.8`](https://github.com/typicode/husky/releases/tag/v9.0.8)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.7...v9.0.8)

- docs: update index.md by
[@&#8203;khaledYS](https://github.com/khaledYS) in
[https://github.com/typicode/husky/pull/1369](https://github.com/typicode/husky/pull/1369)
- Fix tab detection on install command by
[@&#8203;glensc](https://github.com/glensc) in
[https://github.com/typicode/husky/pull/1376](https://github.com/typicode/husky/pull/1376)
- refactor: reduce file size by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1377](https://github.com/typicode/husky/pull/1377)

###
[`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.6...v9.0.7)

-   fix: typo and source `~/.huskyrc` correctly (compatibility with v8)
- docs: fix example by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363)

###
[`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6)

- docs: add favicon by
[@&#8203;rakleed](https://github.com/rakleed) in
[https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354)
- chore: apply editorconfig to code only by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355)
- docs: update install script to mjs and fix CI checks by
[@&#8203;starnayuta](https://github.com/starnayuta) in
[https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357)
- Fix unbound variable by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359)

###
[`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://github.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350)
- fix: init error by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353)

###
[`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://github.com/typicode/husky/issues/1334)
by [@&#8203;rozbo](https://github.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347)

###
[`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://github.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://github.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://github.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://github.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346)

###
[`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

- fix: exit code by
[@&#8203;gergelypap](https://github.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://github.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337)

#### New Contributors

- [@&#8203;gergelypap](https://github.com/gergelypap) made
their first contribution in
[https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336)

**Full Changelog**:
typicode/husky@v9.0.1...v9.0.2

###
[`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1)

[Compare
Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1)

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img
src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263"
height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing
in more features!

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but
open to other stacks Rails, Go, Elixir). You can contact me at my mail:
typicode at gmail 🙂

#### Introducing `husky init`

Adding husky to a project is now easier than ever. Although the
installation process was straightforward, it often required consulting
the documentation.

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

```shell
npx husky init
```

#### Adding a New Hook

Adding a hook is now as simple as creating a file. This can be
accomplished using your favorite editor, a script or a basic `echo`
command.

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately
`6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely
making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the
project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned
🙌

#### Other Changes

- **Enhanced security** with CI and npm `--provenance` for safer
publishing.
- Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to
`~/.config/husky/init.sh` for centralized configuration.
- **Fixed permission issue for Windows-created hooks**; they no longer
need to be executable.
- Removed `husky install`. Use `husky` or `husky some/dir` for the same
functionality (deprecation notice to be added).
- Modified behavior when `.git` is missing; it now triggers a warning
instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade
and migrate your hooks later.

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```

###
[`v8.0.3`](https://github.com/typicode/husky/releases/tag/v8.0.3)

[Compare
Source](https://github.com/typicode/husky/compare/v8.0.2...v8.0.3)

- fix: add git not installed message
[#&#8203;1208](https://github.com/typicode/husky/issues/1208)

###
[`v8.0.2`](https://github.com/typicode/husky/releases/tag/v8.0.2)

[Compare
Source](https://github.com/typicode/husky/compare/v8.0.1...v8.0.2)

-   docs: remove deprecated npm set-script

###
[`v8.0.1`](https://github.com/typicode/husky/releases/tag/v8.0.1)

[Compare
Source](https://github.com/typicode/husky/compare/v8.0.0...v8.0.1)

-   fix: use POSIX equality operator

###
[`v8.0.0`](https://github.com/typicode/husky/releases/tag/v8.0.0)

[Compare
Source](https://github.com/typicode/husky/compare/v7.0.4...v8.0.0)

#### What's Changed

##### Feats

- feat: add `husky -` prefix to logged global error messages by
[@&#8203;joshbalfour](https://github.com/joshbalfour) in
[https://github.com/typicode/husky/pull/1092](https://github.com/typicode/husky/pull/1092)
-   feat: show `PATH` when command not found to improve debuggability
-   feat: drop Node 12 support
-   feat: skip install if `$HUSKY=0`

##### Fixes

- fix: hook script use `/usr/bin/env sh` instead of direct path of `sh`
by [@&#8203;skhaz](https://github.com/skhaz) in
[https://github.com/typicode/husky/pull/1051](https://github.com/typicode/husky/pull/1051)
- fix: actually set 'husky_skip_init' as readonly in `./husky.sh` by
[@&#8203;hyperupcall](https://github.com/hyperupcall) in
[https://github.com/typicode/husky/pull/1104](https://github.com/typicode/husky/pull/1104)
- fix: force `basename`/`dirname` to treat `$0` as an argument by
[@&#8203;mataha](https://github.com/mataha) in
[https://github.com/typicode/husky/pull/1132](https://github.com/typicode/husky/pull/1132)
- fix: remove `git.io` links by
[@&#8203;renbaoshuo](https://github.com/renbaoshuo) in
[https://github.com/typicode/husky/pull/1136](https://github.com/typicode/husky/pull/1136)

##### Docs

- docs: fix uninstall via npm by
[@&#8203;pddpd](https://github.com/pddpd) in
[https://github.com/typicode/husky/pull/1033](https://github.com/typicode/husky/pull/1033)
- docs: add dog emoji as favicon by
[@&#8203;jamiehaywood](https://github.com/jamiehaywood) in
[https://github.com/typicode/husky/pull/1095](https://github.com/typicode/husky/pull/1095)
- docs: replace deprecated `npx --no-install` option with `npx --no` by
[@&#8203;sibiraj-s](https://github.com/sibiraj-s) in
[https://github.com/typicode/husky/pull/1070](https://github.com/typicode/husky/pull/1070)
- docs: add `pnpm` installation by
[@&#8203;MohamadKh75](https://github.com/MohamadKh75) in
[https://github.com/typicode/husky/pull/1139](https://github.com/typicode/husky/pull/1139)

##### Chore

- chore: update workflows by
[@&#8203;tiziodcaio](https://github.com/tiziodcaio) in
[https://github.com/typicode/husky/pull/1125](https://github.com/typicode/husky/pull/1125)

###
[`v7.0.4`](https://github.com/typicode/husky/releases/tag/v7.0.4)

[Compare
Source](https://github.com/typicode/husky/compare/v7.0.3...v7.0.4)

*No changes. Husky v7.0.3 was reverted, this version is the same as
v7.0.2.*

###
[`v7.0.3`](https://github.com/typicode/husky/compare/v7.0.2...v7.0.3)

[Compare
Source](https://github.com/typicode/husky/compare/v7.0.2...v7.0.3)

###
[`v7.0.2`](https://github.com/typicode/husky/releases/tag/v7.0.2)

[Compare
Source](https://github.com/typicode/husky/compare/v7.0.1...v7.0.2)

Fix pre-commit hook in WebStorm
([#&#8203;1023](https://github.com/typicode/husky/issues/1023))

###
[`v7.0.1`](https://github.com/typicode/husky/releases/tag/v7.0.1)

[Compare
Source](https://github.com/typicode/husky/compare/v7.0.0...v7.0.1)

- Fix gracefully fail if Git command is not found
[#&#8203;1003](https://github.com/typicode/husky/issues/1003)
(same as in v6)

###
[`v7.0.0`](https://github.com/typicode/husky/releases/tag/v7.0.0)

[Compare
Source](https://github.com/typicode/husky/compare/v6.0.0...v7.0.0)

- Improve `.husky/` directory structure. **`.husky/.gitignore` is now
unnecessary and can be removed**.
-   Improve error output (shorter)
- Update [`husky-init`](https://github.com/typicode/husky-init)
CLI
- Update
[`husky-4-to-7`](https://github.com/typicode/husky-4-to-7) CLI
-   Drop Node 10 support

*Please help me develop and release OSS projects ❤️ on [GitHub
Sponsors](https://github.com/sponsors/typicode) or [Open
Collective](https://opencollective.com/husky). Thank you for your
support!*

###
[`v6.0.0`](https://github.com/typicode/husky/releases/tag/v6.0.0)

[Compare
Source](https://github.com/typicode/husky/compare/v5.2.0...v6.0.0)

After being in early access for Open Source projects and Sponsors for a
limited time, **I'm happy to announce that husky 6 is MIT again** and
can be freely used in commercial projects! 🎉

**Many thanks to the [Open Source
projects](https://typicode.github.io/husky/#/?id=used-by) and Companies
which have switched to/sponsored the new husky during this period!**

*OSS is my full-time job, please consider sponsoring the development of
husky on [GitHub
sponsors](https://github.com/sponsors/typicode) or [Open
Collective](https://opencollective.com/husky). Thank you!*

### Breaking change

-   `husky init` has been moved to its own package (`npx husky-init`)

### Added

-   Programmatically use husky: `require('husky')`
-   TypeScript definitions

### Migrating from husky 4

Husky 6 contains breaking changes. If you're coming from v4, `npm
install husky@6` won't be enough.

**Recommended:** see
[husky-4-to-6](https://typicode.github.io/husky/#/?id=husky-4-to-6-cli)
CLI to automatically migrate your config. There's also a dedicated
section in the
[docs](https://typicode.github.io/husky/#/?id=migrate-from-v4-to-v6).

**If you're curious why config has changed, you may be interested in
reading:**
https://blog.typicode.com/husky-git-hooks-javascript-config/

**Also Husky 6 follows official
[npm](https://docs.npmjs.com/cli/v7/using-npm/scripts#best-practices)
and
[Yarn](https://yarnpkg.com/advanced/lifecycle-scripts#a-note-about-postinstall)
best practices regarding autoinstall.** It's recommended to use
`prepare` script instead (see
[usage](https://typicode.github.io/husky/#/?id=usage) in docs).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/davidsneighbour/hugo-modules).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC43NC4xIiwidXBkYXRlZEluVmVyIjoiMzguNzQuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
github-merge-queue bot referenced this pull request in rustymotors/server Sep 19, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [husky](https://github.com/typicode/husky) | [`^8.0.3` ->
`^9.1.6`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.1.6) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>typicode/husky (husky)</summary>

###
[`v9.1.6`](https://github.com/typicode/husky/compare/v9.1.5...a2d942a670b3d6a04578005a0fd2dc310e511849)

[Compare
Source](https://github.com/typicode/husky/compare/v9.1.5...v9.1.6)

###
[`v9.1.5`](https://github.com/typicode/husky/compare/v9.1.4...2fee8d212c601942ad146ea9209f15c20a07fb6d)

[Compare
Source](https://github.com/typicode/husky/compare/v9.1.4...v9.1.5)

###
[`v9.1.4`](https://github.com/typicode/husky/compare/v9.1.3...fc549e0e5c8723a6d796f6ad26ef6590769f5d82)

[Compare
Source](https://github.com/typicode/husky/compare/v9.1.3...v9.1.4)

###
[`v9.1.3`](https://github.com/typicode/husky/releases/tag/v9.1.3)

[Compare
Source](https://github.com/typicode/husky/compare/v9.1.2...v9.1.3)

-   fix: better handle space in `PATH`

###
[`v9.1.2`](https://github.com/typicode/husky/compare/v9.1.1...v9.1.2)

[Compare
Source](https://github.com/typicode/husky/compare/v9.1.1...v9.1.2)

###
[`v9.1.1`](https://github.com/typicode/husky/compare/v9.1.0...2968998755465f69069f297b5bb603e26d6b1772)

[Compare
Source](https://github.com/typicode/husky/compare/v9.1.0...v9.1.1)

###
[`v9.1.0`](https://github.com/typicode/husky/releases/tag/v9.1.0)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.11...v9.1.0)

<p>
<img
src="https://github.com/user-attachments/assets/72a03e68-e9c3-4644-94f9-d5ceb343aca5"
height="500px" alt="" />
</p>

*Super saiyan ~~god~~ dog! It's over 9.0.0!*

*There's a bug with this release which prevents the deprecation notice
to appear and requires to remove `#!/usr/bin/env sh` and `. "$(dirname
-- "$0")/_/husky.sh"` (which are deprecated by the way). I'll publish a
new version to fix that. Sorry about any inconvenience.*

### What's new

You can now run package commands directly, no need for `npx` or
equivalents.
It makes writing hooks more intuitive and is also slightly faster 🐺⚡️

```diff

### .husky/pre-commit
- npx jest
+ jest # ~0.2s faster
```

A new recipe has been added to the docs. Lint staged files without
external dependencies (inspired by Prettier docs). Feel free to modify
it.

```shell

### .husky/pre-commit
prettier $(git diff --cached --name-only --diff-filter=ACMR | sed 's| |\\ |g') --write --ignore-unknown
git update-index --again
```

For more advanced use cases, see
[lint-staged](https://github.com/lint-staged/lint-staged).

### Fixes

-   `bunx husky init` command
-   Workaround for some hooks implementation on Windows 🤷

### Deprecations

- Remove `#!/usr/bin/env sh` and `. "$(dirname -- "$0")/_/husky.sh"`
from your hooks
-   Move your code from `~/.huskyrc` to `.config/husky/init.sh`

Support for these will be removed in v10, notices have been added.

### Friendly reminder

If Git hooks don't fit your workflow, you can disable Husky globally.
Just add `export HUSKY=0` to `.config/husky/init.sh`.

I've seen some confusion about this on X, so just a heads-up!

### Sponsoring

Husky is downloaded over 45M times per month and used by ~1.5M projects.
If your company wants to sponsor, you can do so here: [GitHub
Sponsors](https://github.com/sponsors/typicode).

**Have a nice summer ☀️ I'm open to new opportunities/consulting so feel
free to drop me a message 😉**

###
[`v9.0.11`](https://github.com/typicode/husky/releases/tag/v9.0.11)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.10...v9.0.11)

- chore: update package-lock.json by
[@&#8203;btea](https://github.com/btea) in
[https://github.com/typicode/husky/pull/1383](https://github.com/typicode/husky/pull/1383)
- fix: husky=0 in init (fixes
[#&#8203;1393](https://github.com/typicode/husky/issues/1393))
by [@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1395](https://github.com/typicode/husky/pull/1395)

###
[`v9.0.10`](https://github.com/typicode/husky/releases/tag/v9.0.10)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.9...v9.0.10)

- fix: rename index.d.ts to index.d.mts by
[@&#8203;mrkjdy](https://github.com/mrkjdy) in
[https://github.com/typicode/husky/pull/1379](https://github.com/typicode/husky/pull/1379)

###
[`v9.0.9`](https://github.com/typicode/husky/releases/tag/v9.0.9)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.8...v9.0.9)

- refactor: rename files by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1378](https://github.com/typicode/husky/pull/1378)

###
[`v9.0.8`](https://github.com/typicode/husky/releases/tag/v9.0.8)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.7...v9.0.8)

- docs: update index.md by
[@&#8203;khaledYS](https://github.com/khaledYS) in
[https://github.com/typicode/husky/pull/1369](https://github.com/typicode/husky/pull/1369)
- Fix tab detection on install command by
[@&#8203;glensc](https://github.com/glensc) in
[https://github.com/typicode/husky/pull/1376](https://github.com/typicode/husky/pull/1376)
- refactor: reduce file size by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1377](https://github.com/typicode/husky/pull/1377)

###
[`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.6...v9.0.7)

-   fix: typo and source `~/.huskyrc` correctly (compatibility with v8)
- docs: fix example by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363)

###
[`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6)

- docs: add favicon by
[@&#8203;rakleed](https://github.com/rakleed) in
[https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354)
- chore: apply editorconfig to code only by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355)
- docs: update install script to mjs and fix CI checks by
[@&#8203;starnayuta](https://github.com/starnayuta) in
[https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357)
- Fix unbound variable by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359)

###
[`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://github.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350)
- fix: init error by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353)

###
[`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://github.com/typicode/husky/issues/1334)
by [@&#8203;rozbo](https://github.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347)

###
[`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://github.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://github.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://github.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://github.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346)

###
[`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

- fix: exit code by
[@&#8203;gergelypap](https://github.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://github.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337)

#### New Contributors

- [@&#8203;gergelypap](https://github.com/gergelypap) made
their first contribution in
[https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336)

**Full Changelog**:
typicode/husky@v9.0.1...v9.0.2

###
[`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1)

[Compare
Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1)

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img
src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263"
height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing
in more features!

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but
open to other stacks Rails, Go, Elixir). You can contact me at my mail:
typicode at gmail 🙂

#### Introducing `husky init`

Adding husky to a project is now easier than ever. Although the
installation process was straightforward, it often required consulting
the documentation.

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

```shell
npx husky init
```

#### Adding a New Hook

Adding a hook is now as simple as creating a file. This can be
accomplished using your favorite editor, a script or a basic `echo`
command.

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately
`6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely
making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the
project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned
🙌

#### Other Changes

- **Enhanced security** with CI and npm `--provenance` for safer
publishing.
- Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to
`~/.config/husky/init.sh` for centralized configuration.
- **Fixed permission issue for Windows-created hooks**; they no longer
need to be executable.
- Removed `husky install`. Use `husky` or `husky some/dir` for the same
functionality (deprecation notice to be added).
- Modified behavior when `.git` is missing; it now triggers a warning
instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade
and migrate your hooks later.

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled because a matching PR was automerged
previously.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/rustymotors/server).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6ImRldiIsImxhYmVscyI6W119-->
github-merge-queue bot referenced this pull request in rustymotors/server Sep 19, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [husky](https://github.com/typicode/husky) | [`^8.0.3` ->
`^9.1.6`](https://renovatebot.com/diffs/npm/husky/8.0.3/9.1.6) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/8.0.3/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/8.0.3/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>typicode/husky (husky)</summary>

###
[`v9.1.6`](https://github.com/typicode/husky/compare/v9.1.5...a2d942a670b3d6a04578005a0fd2dc310e511849)

[Compare
Source](https://github.com/typicode/husky/compare/v9.1.5...v9.1.6)

###
[`v9.1.5`](https://github.com/typicode/husky/compare/v9.1.4...2fee8d212c601942ad146ea9209f15c20a07fb6d)

[Compare
Source](https://github.com/typicode/husky/compare/v9.1.4...v9.1.5)

###
[`v9.1.4`](https://github.com/typicode/husky/compare/v9.1.3...fc549e0e5c8723a6d796f6ad26ef6590769f5d82)

[Compare
Source](https://github.com/typicode/husky/compare/v9.1.3...v9.1.4)

###
[`v9.1.3`](https://github.com/typicode/husky/releases/tag/v9.1.3)

[Compare
Source](https://github.com/typicode/husky/compare/v9.1.2...v9.1.3)

-   fix: better handle space in `PATH`

###
[`v9.1.2`](https://github.com/typicode/husky/compare/v9.1.1...v9.1.2)

[Compare
Source](https://github.com/typicode/husky/compare/v9.1.1...v9.1.2)

###
[`v9.1.1`](https://github.com/typicode/husky/compare/v9.1.0...2968998755465f69069f297b5bb603e26d6b1772)

[Compare
Source](https://github.com/typicode/husky/compare/v9.1.0...v9.1.1)

###
[`v9.1.0`](https://github.com/typicode/husky/releases/tag/v9.1.0)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.11...v9.1.0)

<p>
<img
src="https://github.com/user-attachments/assets/72a03e68-e9c3-4644-94f9-d5ceb343aca5"
height="500px" alt="" />
</p>

*Super saiyan ~~god~~ dog! It's over 9.0.0!*

*There's a bug with this release which prevents the deprecation notice
to appear and requires to remove `#!/usr/bin/env sh` and `. "$(dirname
-- "$0")/_/husky.sh"` (which are deprecated by the way). I'll publish a
new version to fix that. Sorry about any inconvenience.*

### What's new

You can now run package commands directly, no need for `npx` or
equivalents.
It makes writing hooks more intuitive and is also slightly faster 🐺⚡️

```diff

### .husky/pre-commit
- npx jest
+ jest # ~0.2s faster
```

A new recipe has been added to the docs. Lint staged files without
external dependencies (inspired by Prettier docs). Feel free to modify
it.

```shell

### .husky/pre-commit
prettier $(git diff --cached --name-only --diff-filter=ACMR | sed 's| |\\ |g') --write --ignore-unknown
git update-index --again
```

For more advanced use cases, see
[lint-staged](https://github.com/lint-staged/lint-staged).

### Fixes

-   `bunx husky init` command
-   Workaround for some hooks implementation on Windows 🤷

### Deprecations

- Remove `#!/usr/bin/env sh` and `. "$(dirname -- "$0")/_/husky.sh"`
from your hooks
-   Move your code from `~/.huskyrc` to `.config/husky/init.sh`

Support for these will be removed in v10, notices have been added.

### Friendly reminder

If Git hooks don't fit your workflow, you can disable Husky globally.
Just add `export HUSKY=0` to `.config/husky/init.sh`.

I've seen some confusion about this on X, so just a heads-up!

### Sponsoring

Husky is downloaded over 45M times per month and used by ~1.5M projects.
If your company wants to sponsor, you can do so here: [GitHub
Sponsors](https://github.com/sponsors/typicode).

**Have a nice summer ☀️ I'm open to new opportunities/consulting so feel
free to drop me a message 😉**

###
[`v9.0.11`](https://github.com/typicode/husky/releases/tag/v9.0.11)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.10...v9.0.11)

- chore: update package-lock.json by
[@&#8203;btea](https://github.com/btea) in
[https://github.com/typicode/husky/pull/1383](https://github.com/typicode/husky/pull/1383)
- fix: husky=0 in init (fixes
[#&#8203;1393](https://github.com/typicode/husky/issues/1393))
by [@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1395](https://github.com/typicode/husky/pull/1395)

###
[`v9.0.10`](https://github.com/typicode/husky/releases/tag/v9.0.10)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.9...v9.0.10)

- fix: rename index.d.ts to index.d.mts by
[@&#8203;mrkjdy](https://github.com/mrkjdy) in
[https://github.com/typicode/husky/pull/1379](https://github.com/typicode/husky/pull/1379)

###
[`v9.0.9`](https://github.com/typicode/husky/releases/tag/v9.0.9)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.8...v9.0.9)

- refactor: rename files by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1378](https://github.com/typicode/husky/pull/1378)

###
[`v9.0.8`](https://github.com/typicode/husky/releases/tag/v9.0.8)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.7...v9.0.8)

- docs: update index.md by
[@&#8203;khaledYS](https://github.com/khaledYS) in
[https://github.com/typicode/husky/pull/1369](https://github.com/typicode/husky/pull/1369)
- Fix tab detection on install command by
[@&#8203;glensc](https://github.com/glensc) in
[https://github.com/typicode/husky/pull/1376](https://github.com/typicode/husky/pull/1376)
- refactor: reduce file size by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1377](https://github.com/typicode/husky/pull/1377)

###
[`v9.0.7`](https://github.com/typicode/husky/releases/tag/v9.0.7)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.6...v9.0.7)

-   fix: typo and source `~/.huskyrc` correctly (compatibility with v8)
- docs: fix example by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1363](https://github.com/typicode/husky/pull/1363)

###
[`v9.0.6`](https://github.com/typicode/husky/releases/tag/v9.0.6)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.5...v9.0.6)

- docs: add favicon by
[@&#8203;rakleed](https://github.com/rakleed) in
[https://github.com/typicode/husky/pull/1354](https://github.com/typicode/husky/pull/1354)
- chore: apply editorconfig to code only by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1355](https://github.com/typicode/husky/pull/1355)
- docs: update install script to mjs and fix CI checks by
[@&#8203;starnayuta](https://github.com/starnayuta) in
[https://github.com/typicode/husky/pull/1357](https://github.com/typicode/husky/pull/1357)
- Fix unbound variable by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1359](https://github.com/typicode/husky/pull/1359)

###
[`v9.0.5`](https://github.com/typicode/husky/releases/tag/v9.0.5)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.4...v9.0.5)

- docs: update path to startup files by
[@&#8203;ManuelRauber](https://github.com/ManuelRauber) in
[https://github.com/typicode/husky/pull/1350](https://github.com/typicode/husky/pull/1350)
- fix: init error by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1353](https://github.com/typicode/husky/pull/1353)

###
[`v9.0.4`](https://github.com/typicode/husky/releases/tag/v9.0.4)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.3...v9.0.4)

- fix: init create dir before by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1348](https://github.com/typicode/husky/pull/1348)
- refactor: simplify by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1349](https://github.com/typicode/husky/pull/1349)
- fix: init not working on pnpm
[#&#8203;1334](https://github.com/typicode/husky/issues/1334)
by [@&#8203;rozbo](https://github.com/rozbo) in
[https://github.com/typicode/husky/pull/1347](https://github.com/typicode/husky/pull/1347)

###
[`v9.0.3`](https://github.com/typicode/husky/releases/tag/v9.0.3)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.2...v9.0.3)

- docs: fix link by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1340](https://github.com/typicode/husky/pull/1340)
- chore: fix links in issue template by
[@&#8203;julien-f](https://github.com/julien-f) in
[https://github.com/typicode/husky/pull/1341](https://github.com/typicode/husky/pull/1341)
- fix: add scripts field if not present by
[@&#8203;chalkygames123](https://github.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1338](https://github.com/typicode/husky/pull/1338)
- docs: changelog link by
[@&#8203;typicode](https://github.com/typicode) in
[https://github.com/typicode/husky/pull/1343](https://github.com/typicode/husky/pull/1343)
- fix: insert final newline by
[@&#8203;chalkygames123](https://github.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1339](https://github.com/typicode/husky/pull/1339)
- fix: fix git hooks path on windows by
[@&#8203;rozbo](https://github.com/rozbo) in
[https://github.com/typicode/husky/pull/1346](https://github.com/typicode/husky/pull/1346)

###
[`v9.0.2`](https://github.com/typicode/husky/releases/tag/v9.0.2)

[Compare
Source](https://github.com/typicode/husky/compare/v9.0.1...v9.0.2)

#### What's Changed

- fix: exit code by
[@&#8203;gergelypap](https://github.com/gergelypap) in
[https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336)
- docs: typo by
[@&#8203;chalkygames123](https://github.com/chalkygames123) in
[https://github.com/typicode/husky/pull/1337](https://github.com/typicode/husky/pull/1337)

#### New Contributors

- [@&#8203;gergelypap](https://github.com/gergelypap) made
their first contribution in
[https://github.com/typicode/husky/pull/1336](https://github.com/typicode/husky/pull/1336)

**Full Changelog**:
typicode/husky@v9.0.1...v9.0.2

###
[`v9.0.1`](https://github.com/typicode/husky/releases/tag/v9.0.1)

[Compare
Source](https://github.com/typicode/husky/compare/v8.0.3...v9.0.1)

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img
src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263"
height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing
in more features!

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but
open to other stacks Rails, Go, Elixir). You can contact me at my mail:
typicode at gmail 🙂

#### Introducing `husky init`

Adding husky to a project is now easier than ever. Although the
installation process was straightforward, it often required consulting
the documentation.

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

```shell
npx husky init
```

#### Adding a New Hook

Adding a hook is now as simple as creating a file. This can be
accomplished using your favorite editor, a script or a basic `echo`
command.

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately
`6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely
making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the
project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned
🙌

#### Other Changes

- **Enhanced security** with CI and npm `--provenance` for safer
publishing.
- Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to
`~/.config/husky/init.sh` for centralized configuration.
- **Fixed permission issue for Windows-created hooks**; they no longer
need to be executable.
- Removed `husky install`. Use `husky` or `husky some/dir` for the same
functionality (deprecation notice to be added).
- Modified behavior when `.git` is missing; it now triggers a warning
instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade
and migrate your hooks later.

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled because a matching PR was automerged
previously.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/rustymotors/server).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6ImRldiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
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.

2 participants