Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@
"@vitest/coverage-v8": "^1.0.0",
"eslint": "^8.54.0",
"eslint-config-prettier": "^9.0.0",
"husky": "^8.0.3",
"lint-staged": "^16.4.0",
"husky": "^9.1.7",
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔴 Husky v9 upgrade without updating prepare script and hook format

Husky is upgraded from v8 to v9 (a major version bump), but the prepare script at package.json:28 still uses "prepare": "husky install", which is the v8 API. In husky v9, the initialization command changed to just husky (i.e., "prepare": "husky"). Additionally, the existing .husky/pre-commit hook sources . "$(dirname "$0")/_/husky.sh", which is the v8 hook format that is no longer used in v9. Both of these will cause npm install and git hooks to malfunction after this upgrade.

Prompt for agents
Upgrading husky from v8 to v9 requires several migration steps that were not performed in this PR:

1. In package.json line 28, the prepare script must change from "husky install" to just "husky".

2. The git hook files in .husky/ (pre-commit, commit-msg, pre-push) must be updated to remove the v8 sourcing line:
   . "$(dirname "$0")/_/husky.sh"
   In husky v9, hooks are plain shell scripts and this sourcing line is no longer needed (the file it references does not exist in v9).

Without these changes, running npm install will fail or silently not set up hooks (because husky install is not a valid v9 command), and if hooks are somehow triggered they will fail trying to source the nonexistent husky.sh file.

Files to update:
- package.json (line 28: change prepare script)
- .husky/pre-commit (remove husky.sh sourcing line)
- .husky/commit-msg (remove husky.sh sourcing line)
- .husky/pre-push (remove husky.sh sourcing line)
Open in Devin Review (Beta)

Was this helpful? React with 👍 or 👎 to provide feedback.

Debug

Playground

"lint-staged": "^15.1.0",
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 lint-staged unintentionally downgraded from v16 to v15

This PR reverts lint-staged from ^16.4.0 back to ^15.1.0, which is a major version downgrade. The dependabot branch for the husky bump (commit 8f0fa8d) was created from a base that predates PR #19 (which bumped lint-staged from 15.5.2 to 16.4.0). When this branch was rebased/merged onto the current main, it silently overwrote the lint-staged version with the older ^15.1.0 value from the stale branch. This is an unintended regression that undoes a previously accepted dependency upgrade.

Suggested change
"lint-staged": "^15.1.0",
"lint-staged": "^16.4.0",
Open in Devin Review (Beta)

Was this helpful? React with 👍 or 👎 to provide feedback.

Debug

Playground

"prettier": "^3.1.0",
"typescript": "^5.3.2",
"vitest": "^1.0.0"
Expand Down
Loading
Loading