From c8c2ee9d3ed50b3f61286e140e3c11a0a8ec4487 Mon Sep 17 00:00:00 2001 From: Tatsinnit Date: Thu, 3 Jul 2025 06:06:04 +1200 Subject: [PATCH] Feat/enable husky precommit check (#159) * Add husky precommit hook. Signed-off-by: Tatsat Mishra * Add husky precommit hook. Signed-off-by: Tatsat Mishra * Add more informative messaging. Signed-off-by: Tatsat Mishra --------- Signed-off-by: Tatsat Mishra --- .husky/pre-commit | 7 +++++++ package-lock.json | 21 +++++++++++++++++++++ package.json | 4 +++- 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 .husky/pre-commit diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100644 index 0000000..b7652ed --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,7 @@ +npm test +npm run format-check || { + echo "" + echo "❌ Formatting check failed." + echo "💡 Run 'npm run format' or 'prettier --write .' to fix formatting issues." + exit 1 +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index f718dee..38fac62 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "@actions/exec": "^1.1.1", "@actions/io": "^1.1.3", "@kubernetes/client-node": "^1.3.0", + "husky": "^9.1.7", "js-yaml": "^4.1.0" }, "devDependencies": { @@ -4176,6 +4177,21 @@ "node": ">=10.17.0" } }, + "node_modules/husky": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz", + "integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==", + "license": "MIT", + "bin": { + "husky": "bin.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, "node_modules/import-local": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", @@ -9547,6 +9563,11 @@ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true }, + "husky": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz", + "integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==" + }, "import-local": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", diff --git a/package.json b/package.json index 03107bd..1ef773e 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,8 @@ "test": "jest", "test-coverage": "jest --coverage", "format": "prettier --write .", - "format-check": "prettier --check ." + "format-check": "prettier --check .", + "prepare": "husky" }, "keywords": [ "actions", @@ -24,6 +25,7 @@ "@actions/exec": "^1.1.1", "@actions/io": "^1.1.3", "@kubernetes/client-node": "^1.3.0", + "husky": "^9.1.7", "js-yaml": "^4.1.0" }, "devDependencies": {