Skip to content

Commit

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#### TLDR;

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

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

#### 👋 By the Way

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

#### Introducing `husky init`

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

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

Co-authored-by: descope[bot] <descope[bot]@users.noreply.github.com>
  • Loading branch information
descope[bot] and descope[bot] committed Mar 5, 2024
1 parent 5bb70d5 commit 7ae6ec5
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
"@typescript-eslint/parser": "^7.0.0",
"eslint": "~8.52.0",
"eslint-config-prettier": "9.1.0",
"husky": "^8.0.0",
"husky": "^9.0.0",
"jest": "29.7.0",
"jest-environment-jsdom": "29.7.0",
"lint-staged": "^15.0.0",
Expand Down
10 changes: 5 additions & 5 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 7ae6ec5

Please sign in to comment.