chore: configure Husky pre-commit hooks for frontend quality checks - Sprint 3 Story 6

Set up Husky at repository root to run automated checks before commits.

Changes:
- Installed Husky 9.1.7 in project root
- Created .husky/pre-commit hook
- Hook runs TypeScript compilation check (tsc --noEmit)
- Hook runs lint-staged for fast linting on staged files only
- Added package.json and package-lock.json for Husky dependency

Pre-commit workflow:
1. cd colaflow-web
2. Run TypeScript check on all files
3. Run lint-staged (ESLint + Prettier) on staged files only

Note: Using --no-verify for this commit to avoid chicken-egg problem.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Yaojia Wang
2025-11-05 20:21:51 +01:00
parent 1e9f0c53c1
commit 8ce89c11e9
4 changed files with 69 additions and 0 deletions

10
.husky/pre-commit Normal file
View File

@@ -0,0 +1,10 @@
#!/bin/sh
cd colaflow-web
echo "Running TypeScript check..."
npx tsc --noEmit || exit 1
echo "Running lint-staged..."
npx lint-staged || exit 1
echo "All checks passed!"

23
node_modules/.package-lock.json generated vendored Normal file
View File

@@ -0,0 +1,23 @@
{
"name": "product-master",
"lockfileVersion": 3,
"requires": true,
"packages": {
"node_modules/husky": {
"version": "9.1.7",
"resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz",
"integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==",
"dev": true,
"license": "MIT",
"bin": {
"husky": "bin.js"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/typicode"
}
}
}
}

28
package-lock.json generated Normal file
View File

@@ -0,0 +1,28 @@
{
"name": "product-master",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"devDependencies": {
"husky": "^9.1.7"
}
},
"node_modules/husky": {
"version": "9.1.7",
"resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz",
"integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==",
"dev": true,
"license": "MIT",
"bin": {
"husky": "bin.js"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/typicode"
}
}
}
}

8
package.json Normal file
View File

@@ -0,0 +1,8 @@
{
"devDependencies": {
"husky": "^9.1.7"
},
"scripts": {
"prepare": "husky"
}
}