feat: add pre-commit hook to enforce linting

- Install husky for git hook management
- Add pre-commit hook that runs 'npm run lint'
- Ensures all commits pass linting before being allowed
This commit is contained in:
Derek Slenk 2025-06-30 11:17:35 -04:00
parent 09f78df1da
commit b2475a845c
3 changed files with 100 additions and 78 deletions

1
.husky/pre-commit Normal file
View file

@ -0,0 +1 @@
npm run lint

21
package-lock.json generated
View file

@ -59,9 +59,10 @@
"aws-cdk-lib": "^2.189.1",
"constructs": "^10.4.2",
"esbuild": "^0.25.5",
"eslint": "9.30.0",
"eslint": "^9.30.0",
"eslint-config-next": "15.3.4",
"genkit-cli": "^1.13.0",
"husky": "^9.1.7",
"postcss": "^8",
"tailwindcss": "^3.4.1",
"tsx": "^4.20.3",
@ -6355,6 +6356,8 @@
},
"node_modules/eslint": {
"version": "9.30.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.30.0.tgz",
"integrity": "sha512-iN/SiPxmQu6EVkf+m1qpBxzUhE12YqFLOSySuOyVLJLEF9nzTf+h/1AJYc1JWzCnktggeNrjvQGLngDzXirU6g==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -8044,6 +8047,22 @@
"node": ">= 14"
}
},
"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"
}
},
"node_modules/iconv-lite": {
"version": "0.4.24",
"license": "MIT",

View file

@ -12,7 +12,8 @@
"lint": "next lint",
"typecheck": "tsc --noEmit",
"deploy:s3": "npm run build:static && aws s3 sync out/ s3://$S3_BUCKET_NAME --delete --no-cli-pager",
"create-s3-bucket": "node scripts/create-s3-bucket.js"
"create-s3-bucket": "node scripts/create-s3-bucket.js",
"prepare": "husky"
},
"dependencies": {
"@genkit-ai/googleai": "^1.13.0",
@ -66,9 +67,10 @@
"aws-cdk-lib": "^2.189.1",
"constructs": "^10.4.2",
"esbuild": "^0.25.5",
"eslint": "9.30.0",
"eslint": "^9.30.0",
"eslint-config-next": "15.3.4",
"genkit-cli": "^1.13.0",
"husky": "^9.1.7",
"postcss": "^8",
"tailwindcss": "^3.4.1",
"tsx": "^4.20.3",