chore(deps): update dependency husky to v9 - #321
Conversation
21d9f75 to
18b7a8d
Compare
18b7a8d to
52061a6
Compare
52061a6 to
87af343
Compare
Pull Request Review: Husky v8 → v9 MigrationOverviewThis PR updates Husky from v8.0.1 to v9.0.0, which is a major version upgrade with breaking changes. While the dependency update itself is straightforward, this PR is incomplete and will cause issues in the current state. Critical Issues
|
87af343 to
bc2b034
Compare
Pull Request Review: Husky v8 → v9 MigrationSummaryThis PR updates husky from Critical Issues - Migration Required1. Deprecated Hook Format (package.json:24) 2. Deprecated Hook Syntax (.husky/pre-commit:1-2, .husky/commit-msg:1-2) Migration Checklist
Positive Aspects
Additional SuggestionsThe commit-msg hook appears empty. Consider adding commitlint integration since you have @commitlint packages installed. VerdictDo Not Merge without completing the migration steps. The update is beneficial but requires configuration changes to work properly with v9. |
bc2b034 to
e57cb30
Compare
Code Review - Husky v8 to v9 UpgradeThank you for the automated dependency update! This PR upgrades husky from v8 to v9. Breaking Changes - Migration RequiredThis PR only updates the dependency version but does not include the required migration steps for husky v9. The current setup will continue to work due to backward compatibility, but there are deprecated patterns that need to be addressed. Required Migration Steps1. Update package.json scripts (line 24) The postinstall script needs updating:
2. Update hook files Both .husky/commit-msg and .husky/pre-commit contain deprecated code (lines 1-2) that will be removed in v10. Remove these lines:
In v9, hooks no longer need the shebang or husky.sh sourcing. Hooks are executed with sh automatically. Code Quality AssessmentPositive aspects:
Issues identified:
Potential Bugs and Issues
Performance Considerations
Security Concerns
Test Coverage
Recommendations
ConclusionRecommendation: Request changes before merging While the dependency update is fine, the PR is incomplete without migration steps. The code will work due to backward compatibility, but leaves deprecated code that will break in v10. Suggested action: Either add the migration changes to this PR, or merge and create a follow-up PR to complete the migration. Review generated by Claude Code |
e57cb30 to
315d52e
Compare
Code Review: Husky v8 → v9 UpgradeSummaryThis PR upgrades the husky dependency from v8.0.1 to v9.0.0. While the package.json change itself is minimal (1 line), this is a breaking change that requires additional migration steps to work properly. Critical Issues1. Incomplete Migration - Hooks Will BreakThe existing husky hooks use deprecated v8 syntax that is incompatible with v9. The hooks contain these deprecated lines that need removal:
2. Package.json Script Needs UpdateThe postinstall script in package.json:24 uses the deprecated husky install command and must be changed to just husky. Required Migration Steps
These deprecated lines will be automatically removed by husky v9 on first run, but its better to do it explicitly in this PR. |
Positive Aspects
Testing RecommendationsAfter applying the migration changes:
RecommendationDo not merge as-is. The PR needs additional commits to complete the husky v9 migration. Without these changes, git hooks will either show deprecation warnings and auto-remove the deprecated code (causing confusion) or potentially fail to execute properly in husky v10. I recommend updating this PR with the migration changes above. References: |
315d52e to
3e2e536
Compare
3e2e536 to
56087ba
Compare
56087ba to
b9676c8
Compare
This PR contains the following updates:
^8.0.1→^9.0.0Release Notes
typicode/husky (husky)
v9.1.7Compare Source
What's Changed
New Contributors
Full Changelog: typicode/husky@v9.1.6...v9.1.7
v9.1.6Compare Source
What's Changed
New Contributors
Full Changelog: typicode/husky@v9.1.5...v9.1.6
v9.1.5Compare Source
What's Changed
pre-merge-commithook by @RainMeoCat in #1497New Contributors
Full Changelog: typicode/husky@v9.1.4...v9.1.5
v9.1.4Compare Source
v9.1.3Compare Source
PATHv9.1.2Compare Source
Show a message instead of automatically removing deprecated code.
This only concerns projects that still have the following code in their hooks:
Hooks with these lines will fail in
v10.0.0v9.1.1Compare Source
Super saiyan
goddog! It's over 9.0.0!What's new
You can now run package commands directly, no need for
npxor equivalents.It makes writing hooks more intuitive and is also slightly 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.
For more advanced use cases, see lint-staged.
Fixes
bunx husky initcommandDeprecations
#!/usr/bin/env shand. "$(dirname -- "$0")/_/husky.sh"are deprecated.huskycommand will automatically remove them, no action required.~/.huskyrcplease move it to.config/husky/init.shSupport for these will be removed in v10.
Friendly reminder
If Git hooks don't fit your workflow, you can disable Husky globally. Just add
export HUSKY=0to.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.1.0Compare Source
v9.0.11Compare Source
package-lock.jsonby @btea in #1383export HUSKY=0in init (fixes #1393) by @typicode in #1395v9.0.10Compare Source
v9.0.9Compare Source
v9.0.8Compare Source
v9.0.7Compare Source
~/.huskyrccorrectly (compatibility with v8)v9.0.6Compare Source
v9.0.5Compare Source
v9.0.4Compare Source
v9.0.3Compare Source
v9.0.2Compare Source
v9.0.1Compare Source
Kicking off the year with an exciting update!
Note: install using
husky@latestto get the bug fixes that were released after.Introducing
husky initv8
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.
Adding a New Hook
v8
v9
Adding a hook is as simple as creating a file. This can be accomplished using your favorite editor, a script or a basic
echocommand. For example, on Linux/macOS:Further Size Reduction
v8was already the most compact Git hooks manager at approximately6kB.v9takes this a step further, reducing the size to just3kB, 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
--provenancefor safer publishing.$XDG_CONFIG_HOMEsupport. Move~/.huskyrcto~/.config/husky/init.shfor centralized configuration.husky install. Usehuskyorhusky some/dirfor the same functionality (deprecation notice to be added)..gitis missing; it now triggers a warning instead of failure.HUSKY_DEBUG=1withHUSKY=2for debugging.ESMfor module usage.How to Migrate
v9is backward compatible withv8, allowing you to freely upgrade and migrate your hooks later.Here are the steps to migrate:
package.json{ "scripts": { - "prepare": "husky install" + "prepare": "husky" } }.husky/pre-commitNote:
shwill be used to run hooks, even if a shebang is set.If you were using
huskyas a module:Configuration
📅 Schedule: (UTC)
🚦 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.
This PR was generated by Mend Renovate. View the repository job log.