Skip to content

Commit

Permalink
chore(deps): update dependency husky to v9 (#2139)
Browse files Browse the repository at this point in the history
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [husky](https://redirect.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://redirect.github.com/typicode/husky/compare/v9.1.5...a2d942a670b3d6a04578005a0fd2dc310e511849)

[Compare
Source](https://redirect.github.com/typicode/husky/compare/v9.1.5...v9.1.6)

###
[`v9.1.5`](https://redirect.github.com/typicode/husky/compare/v9.1.4...2fee8d212c601942ad146ea9209f15c20a07fb6d)

[Compare
Source](https://redirect.github.com/typicode/husky/compare/v9.1.4...v9.1.5)

###
[`v9.1.4`](https://redirect.github.com/typicode/husky/compare/v9.1.3...fc549e0e5c8723a6d796f6ad26ef6590769f5d82)

[Compare
Source](https://redirect.github.com/typicode/husky/compare/v9.1.3...v9.1.4)

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

[Compare
Source](https://redirect.github.com/typicode/husky/compare/v9.1.2...v9.1.3)

-   fix: better handle space in `PATH`

###
[`v9.1.2`](https://redirect.github.com/typicode/husky/compare/v9.1.1...v9.1.2)

[Compare
Source](https://redirect.github.com/typicode/husky/compare/v9.1.1...v9.1.2)

###
[`v9.1.1`](https://redirect.github.com/typicode/husky/compare/v9.1.0...2968998755465f69069f297b5bb603e26d6b1772)

[Compare
Source](https://redirect.github.com/typicode/husky/compare/v9.1.0...v9.1.1)

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

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

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

- chore: update package-lock.json by
[@&#8203;btea](https://redirect.github.com/btea) in
[https://github.com/typicode/husky/pull/1383](https://redirect.github.com/typicode/husky/pull/1383)
- fix: husky=0 in init (fixes
[#&#8203;1393](https://redirect.github.com/typicode/husky/issues/1393))
by [@&#8203;typicode](https://redirect.github.com/typicode) in
[https://github.com/typicode/husky/pull/1395](https://redirect.github.com/typicode/husky/pull/1395)

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

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

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

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

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

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

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

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

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

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

[Compare
Source](https://redirect.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://redirect.github.com/typicode) in
[https://github.com/typicode/husky/pull/1363](https://redirect.github.com/typicode/husky/pull/1363)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#### What's Changed

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

#### New Contributors

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

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

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

[Compare
Source](https://redirect.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>
  • Loading branch information
renovate[bot] authored Sep 19, 2024
1 parent 0ac8cdd commit 37a905a
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 12 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@
"eslint": "^9.10.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-prettier": "5.2.1",
"husky": "^8.0.3",
"husky": "^9.1.6",
"jsdoc": "^4.0.3",
"lint-staged": "^15.2.10",
"prettier": "3.3.3",
Expand Down
20 changes: 9 additions & 11 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 37a905a

Please sign in to comment.