Skip to content
This repository was archived by the owner on Mar 31, 2025. It is now read-only.

chore(deps): update dependency husky to v9#93

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/husky-9.x
Open

chore(deps): update dependency husky to v9#93
renovate[bot] wants to merge 1 commit intomainfrom
renovate/husky-9.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Jan 24, 2025

This PR contains the following updates:

Package Type Update Change OpenSSF
husky devDependencies major ^0.14.3 -> ^9.0.0 OpenSSF Scorecard

Release Notes

typicode/husky (husky)

v9.1.7

Compare Source

v9.1.6

Compare Source

v9.1.5

Compare Source

v9.1.4

Compare Source

v9.1.3

Compare Source

  • fix: better handle space in PATH

v9.1.2

Compare Source

v9.1.1

Compare Source

v9.1.0

Compare Source

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 🐺⚡️

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

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

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.

Have a nice summer ☀️ I'm open to new opportunities/consulting so feel free to drop me a message 😉

v9.0.11

Compare Source

v9.0.10

Compare Source

v9.0.9

Compare Source

v9.0.8

Compare Source

v9.0.7

Compare Source

v9.0.6

Compare Source

v9.0.5

Compare Source

v9.0.4

Compare Source

v9.0.3

Compare Source

v9.0.2

Compare Source

What's Changed

New Contributors

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

v9.0.1

Compare Source

Kicking off the year with an exciting update!

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
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
v9
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
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
v9
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

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

.husky/pre-commit

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

v8.0.3

Compare Source

  • fix: add git not installed message #​1208

v8.0.2

Compare Source

  • docs: remove deprecated npm set-script

v8.0.1

Compare Source

  • fix: use POSIX equality operator

v8.0.0

Compare Source

What's Changed

Feats
Fixes
Docs
Chore

v7.0.4

Compare Source

No changes. Husky v7.0.3 was reverted, this version is the same as v7.0.2.

v7.0.3

Compare Source

v7.0.2

Compare Source

Fix pre-commit hook in WebStorm (#​1023)

v7.0.1

Compare Source

  • Fix gracefully fail if Git command is not found #​1003 (same as in v6)

v7.0.0

Compare Source

  • Improve .husky/ directory structure. .husky/.gitignore is now unnecessary and can be removed.
  • Improve error output (shorter)
  • Update husky-init CLI
  • Update husky-4-to-7 CLI
  • Drop Node 10 support

Please help me develop and release OSS projects ❤️ on GitHub Sponsors or Open Collective. Thank you for your support!

v6.0.0

Compare Source

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 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 or Open Collective. 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 CLI to automatically migrate your config. There's also a dedicated section in the docs.

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 and Yarn best practices regarding autoinstall. It's recommended to use prepare script instead (see usage in docs).

v5.2.0

Compare Source

  • Add set command to replace hooks (husky set .husky/pre-commit cmd)
  • Update add command to append command (husky add .husky/pre-commit cmd)
  • Improve error messages

v5.1.3

Compare Source

  • docs: add specific Yarn v2 install/uninstall instructions
  • cli: husky init will detect Yarn v2 and initialize accordingly

v5.1.2

Compare Source

  • docs: recommend prepare script instead of postinstall (#​890)
  • cli: husky init use prepare script (#​890)

v5.1.1

Compare Source

  • style(shell): add trailing newlines (#​870)
  • fix(init): update package.json postinstall

v5.1.0

Compare Source

  • Add husky init

v5.0.9

Compare Source

  • fix(install): do not fail if not inside a Git directory (closes #​851)

See https://github.com/typicode/husky/releases/tag/v5.0.0 for v5 release notes

v5.0.8

Compare Source

v5.0.7

Compare Source

  • fix(shell): double quote params (#​824)

v5.0.6

Compare Source

  • Remove unused files

v5.0.5

Compare Source

  • Fix custom directory support #​827

v5.0.4

Compare Source

v5.0.3

Compare Source

v5.0.2

Compare Source

v5.0.1

Compare Source

v5.0.0

Compare Source

👉 See https://typicode.github.io/husky for breaking changes and new installation instructions.

Note about the license

Husky 5 is released under The Parity Public License.

It doesn't affect you if you're using husky in an Open Source project or if you're a sponsor. You're free to use it as usual and I hope you'll enjoy this new release ❤️

If you're using husky in a commercial project, you may want to consider becoming a sponsor to support the project. You can also try it for 30 days.

This is only for a limited time, husky will be MIT again later.

Migrating

Important Husky v5 brings a lot of improvements but is also very different from v4. Git hooks won't work if you only upgrade husky dependency, existing config needs to be migrated too.

The best way to switch to v5 is to follow the new installation instructions and migrate existing hooks command using husky add.

v4.3.8

Compare Source

  • Fix Cannot read property 'toString' of null
  • Improve error messages

v4.3.7

Compare Source

v4.3.6

Compare Source

  • Fix prepare-commit-msg on windows #​737

v4.3.5

Compare Source

  • Rollback and do not throw error if husky install fails

v4.3.4

Compare Source

  • Throw error if husky install fails
  • Add workaround for npm 7 currently missing INIT_CWD environment variable

v4.3.3

Compare Source

v4.3.2

Compare Source

v4.3.1

Compare Source

v4.3.0

Compare Source

  • Add .cjs config file support #​754

v4.2.5

Compare Source

v4.2.4

Compare Source

  • When Node version is unsupported, log actual version in addition to the error message #​701
  • Fix: support cnpm package manager #​687
  • Fix: always use sh to run scripts and avoid inconsistencies #​707
  • Fix: don't throw error if files are already removed during uninstall #​708

v4.2.3

Compare Source

  • Fix: check for husky.config.js not .huskyrc.config.js #​669

v4.2.2

Compare Source

  • Fix #​662 disable fast-skip heuristic for .husky.js and .husky.config.js
  • Fix do not install update, pre/post-receive hooks

v4.2.1

Compare Source

  • Fix: support spaces in path to husky.local.sh #​658

v4.2.0

Compare Source

  • Check Git version during install and log an error if it's <2.13.0

v4.1.0

Compare Source

  • Improve speed and refactor hooks

v4.0.10

Compare Source

v4.0.9

Compare Source

  • Fix: read stdin from hook script (#​645)

v4.0.8

Compare Source

v4.0.7

Compare Source

  • Fix: Yarn when running inside winpty (#​634)

v4.0.6

Compare Source

  • Revert change in v4.0.5

v4.0.5

Compare Source

  • Fix: use process.exit if install fails #​633

v4.0.4

Compare Source

  • Fix: npm ignore .eslintrc.js (#​627)

v4.0.3

Compare Source

  • Fix: error message if trying to install in a non-git repo (#​627)

v4.0.2

Compare Source

  • Fix: show error message when hook fails

v4.0.1

Compare Source

  • Fix: make Yarn silent. When Husky was installed with Yarn 1.21.1, hooks output was too verbose (#​626).

v4.0.0

Compare Source

  • Support Yarn v2 new Plug'n'Play feature (thanks to @​arcanis)
  • Improve path handling on Windows (in particular with Cygwin and Cmdr)
  • Remove dependencies and simplify code
  • Breaking requires Node 10+

Thanks to all contributors and everyone who is supporting Husky on Open Collective, GitHub sponsors and Patreon!

v3.1.0

Compare Source

  • Add pre-merge-commit hook (#​605)

v3.0.9

Compare Source

  • Reduce dependencies: replace is-ci with ci-info #​579

v3.0.8

Compare Source

  • Fix: git worktree support #​580
  • Debug: check GIT_DIR environment variable when hooks are run

v3.0.7

Compare Source

Debug: display husky version and created at

v3.0.6

Compare Source

Debug: improve messages

v3.0.5

Compare Source

Fix: prevent postinstall from failing on windows https://github.com/typicode/husky/pull/573

v3.0.4

Compare Source

Fix: skip install earlier when HUSKY_SKIP_INSTALL=1 (https://github.com/typicode/husky/issues/563)

v3.0.3

Compare Source

Fix: prevent old hooks (husky < 1.0) to be run if new ones are defined (husky >= 1.0 ) https://github.com/typicode/husky/issues/556

v3.0.2

Compare Source

  • Fix: add shebang to run.js (#​528)

v3.0.1

Compare Source

  • Improve error message if git command fails

v3.0.0

Compare Source

  • Fix HUSKY_SKIP_INSTALL=1 not skipping install
  • Breaking change husky requires now Git >= 2.13.2. If you're already using husky v2 and don't use an old version of Git, you can safely upgrade.

v2.7.0

Compare Source

v2.6.0

Compare Source

v2.5.0

Compare Source

v2.4.1

Compare Source

v2.4.0

Compare Source

v2.3.0

Compare Source

v2.2.0

Compare Source

v2.1.0

Compare Source

v2.0.0

Compare Source

v1.3.1

Compare Source

v1.3.0

Compare Source

v1.2.1

Compare Source

v1.2.0

Compare Source

v1.1.4

Compare Source

v1.1.3

Compare Source

v1.1.2

Compare Source

v1.1.1

Compare Source

v1.1.0

Compare Source

v1.0.1

Compare Source

v1.0.0

Compare Source


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 was generated by Mend Renovate. View the repository job log.

@sourcery-ai
Copy link
Copy Markdown

sourcery-ai Bot commented Jan 24, 2025

Reviewer's Guide by Sourcery

This pull request updates the husky dependency from version 0.14.3 to 9.0.0. This is a major version update that includes several new features, bug fixes, and deprecations.

Flow diagram of husky v9 hook execution

flowchart TD
    A[Git Hook Triggered] --> B{Check HUSKY=0?}
    B -->|Yes| C[Skip Hook]
    B -->|No| D[Load Hook Script]
    D --> E[Execute Command]
    E --> F{Success?}
    F -->|Yes| G[Continue Git Operation]
    F -->|No| H[Abort Git Operation]
Loading

File-Level Changes

Change Details Files
Updated husky dependency to v9
  • Updated the husky dependency in package.json from ^0.14.3 to ^9.0.0.
  • Updated the husky dependency in package-lock.json to version 9.0.0.
package.json
package-lock.json

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!
  • Generate a plan of action for an issue: Comment @sourcery-ai plan on
    an issue to generate a plan of action for it.

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have skipped reviewing this pull request. It seems to have been created by a bot (hey, renovate[bot]!). We assume it knows what it's doing!

@renovate renovate Bot force-pushed the renovate/husky-9.x branch from dee6cf0 to f7365ec Compare January 24, 2025 14:21
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@renovate renovate Bot force-pushed the renovate/husky-9.x branch from f7365ec to 05a9e3a Compare January 24, 2025 19:10
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants