Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore(deps): update dependency husky to v9 (#1346)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [husky](https://redirect.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://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 [@​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 [#​1393](https://redirect.github.com/typicode/husky/issues/1393)) by [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [#​1334](https://redirect.github.com/typicode/husky/issues/1334) by [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​chalkygames123](https://redirect.github.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://redirect.github.com/typicode/husky/pull/1337) #### New Contributors - [@​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 ``` ### [`v8.0.3`](https://redirect.github.com/typicode/husky/releases/tag/v8.0.3) [Compare Source](https://redirect.github.com/typicode/husky/compare/v8.0.2...v8.0.3) - fix: add git not installed message [#​1208](https://redirect.github.com/typicode/husky/issues/1208) ### [`v8.0.2`](https://redirect.github.com/typicode/husky/releases/tag/v8.0.2) [Compare Source](https://redirect.github.com/typicode/husky/compare/v8.0.1...v8.0.2) - docs: remove deprecated npm set-script ### [`v8.0.1`](https://redirect.github.com/typicode/husky/releases/tag/v8.0.1) [Compare Source](https://redirect.github.com/typicode/husky/compare/v8.0.0...v8.0.1) - fix: use POSIX equality operator ### [`v8.0.0`](https://redirect.github.com/typicode/husky/releases/tag/v8.0.0) [Compare Source](https://redirect.github.com/typicode/husky/compare/v7.0.4...v8.0.0) #### What's Changed ##### Feats - feat: add `husky -` prefix to logged global error messages by [@​joshbalfour](https://redirect.github.com/joshbalfour) in [https://github.com/typicode/husky/pull/1092](https://redirect.github.com/typicode/husky/pull/1092) - feat: show `PATH` when command not found to improve debuggability - feat: drop Node 12 support - feat: skip install if `$HUSKY=0` ##### Fixes - fix: hook script use `/usr/bin/env sh` instead of direct path of `sh` by [@​skhaz](https://redirect.github.com/skhaz) in [https://github.com/typicode/husky/pull/1051](https://redirect.github.com/typicode/husky/pull/1051) - fix: actually set 'husky_skip_init' as readonly in `./husky.sh` by [@​hyperupcall](https://redirect.github.com/hyperupcall) in [https://github.com/typicode/husky/pull/1104](https://redirect.github.com/typicode/husky/pull/1104) - fix: force `basename`/`dirname` to treat `$0` as an argument by [@​mataha](https://redirect.github.com/mataha) in [https://github.com/typicode/husky/pull/1132](https://redirect.github.com/typicode/husky/pull/1132) - fix: remove `git.io` links by [@​renbaoshuo](https://redirect.github.com/renbaoshuo) in [https://github.com/typicode/husky/pull/1136](https://redirect.github.com/typicode/husky/pull/1136) ##### Docs - docs: fix uninstall via npm by [@​pddpd](https://redirect.github.com/pddpd) in [https://github.com/typicode/husky/pull/1033](https://redirect.github.com/typicode/husky/pull/1033) - docs: add dog emoji as favicon by [@​jamiehaywood](https://redirect.github.com/jamiehaywood) in [https://github.com/typicode/husky/pull/1095](https://redirect.github.com/typicode/husky/pull/1095) - docs: replace deprecated `npx --no-install` option with `npx --no` by [@​sibiraj-s](https://redirect.github.com/sibiraj-s) in [https://github.com/typicode/husky/pull/1070](https://redirect.github.com/typicode/husky/pull/1070) - docs: add `pnpm` installation by [@​MohamadKh75](https://redirect.github.com/MohamadKh75) in [https://github.com/typicode/husky/pull/1139](https://redirect.github.com/typicode/husky/pull/1139) ##### Chore - chore: update workflows by [@​tiziodcaio](https://redirect.github.com/tiziodcaio) in [https://github.com/typicode/husky/pull/1125](https://redirect.github.com/typicode/husky/pull/1125) ### [`v7.0.4`](https://redirect.github.com/typicode/husky/releases/tag/v7.0.4) [Compare Source](https://redirect.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://redirect.github.com/typicode/husky/compare/v7.0.2...v7.0.3) [Compare Source](https://redirect.github.com/typicode/husky/compare/v7.0.2...v7.0.3) ### [`v7.0.2`](https://redirect.github.com/typicode/husky/releases/tag/v7.0.2) [Compare Source](https://redirect.github.com/typicode/husky/compare/v7.0.1...v7.0.2) Fix pre-commit hook in WebStorm ([#​1023](https://redirect.github.com/typicode/husky/issues/1023)) ### [`v7.0.1`](https://redirect.github.com/typicode/husky/releases/tag/v7.0.1) [Compare Source](https://redirect.github.com/typicode/husky/compare/v7.0.0...v7.0.1) - Fix gracefully fail if Git command is not found [#​1003](https://redirect.github.com/typicode/husky/issues/1003) (same as in v6) ### [`v7.0.0`](https://redirect.github.com/typicode/husky/releases/tag/v7.0.0) [Compare Source](https://redirect.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://redirect.github.com/typicode/husky-init) CLI - Update [`husky-4-to-7`](https://redirect.github.com/typicode/husky-4-to-7) CLI - Drop Node 10 support *Please help me develop and release OSS projects ❤️ on [GitHub Sponsors](https://redirect.github.com/sponsors/typicode) or [Open Collective](https://opencollective.com/husky). Thank you for your support!* ### [`v6.0.0`](https://redirect.github.com/typicode/husky/releases/tag/v6.0.0) [Compare Source](https://redirect.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://redirect.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>
- Loading branch information