From 18ab8f02aa9efd03166f961fc48bf903a0e4b43e Mon Sep 17 00:00:00 2001
From: Arik Chakma <arikchangma@gmail.com>
Date: Wed, 12 Mar 2025 02:16:42 +0600
Subject: [PATCH] wip

---
 .husky/pre-commit           |  1 +
 package.json                |  4 +++-
 pnpm-lock.yaml              | 10 ++++++++++
 scripts/pre-commit-check.sh | 13 +++++++++++++
 4 files changed, 27 insertions(+), 1 deletion(-)
 create mode 100644 .husky/pre-commit
 create mode 100644 scripts/pre-commit-check.sh

diff --git a/.husky/pre-commit b/.husky/pre-commit
new file mode 100644
index 000000000..1d9c498ff
--- /dev/null
+++ b/.husky/pre-commit
@@ -0,0 +1 @@
+bash scripts/pre-commit-check.sh
\ No newline at end of file
diff --git a/package.json b/package.json
index 4ada6609c..4e942beec 100644
--- a/package.json
+++ b/package.json
@@ -27,7 +27,8 @@
     "compress:images": "tsx ./scripts/compress-images.ts",
     "generate:roadmap-content-json": "tsx ./scripts/editor-roadmap-content-json.ts",
     "migrate:editor-roadmaps": "tsx ./scripts/migrate-editor-roadmap.ts",
-    "test:e2e": "playwright test"
+    "test:e2e": "playwright test",
+    "prepare": "husky"
   },
   "dependencies": {
     "@astrojs/node": "^8.3.4",
@@ -91,6 +92,7 @@
     "@types/turndown": "^5.0.5",
     "csv-parser": "^3.0.0",
     "gh-pages": "^6.2.0",
+    "husky": "^9.1.7",
     "js-yaml": "^4.1.0",
     "markdown-it": "^14.1.0",
     "openai": "^4.67.3",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 7b1bd16ff..64325dfb4 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -186,6 +186,9 @@ importers:
       gh-pages:
         specifier: ^6.2.0
         version: 6.2.0
+      husky:
+        specifier: ^9.1.7
+        version: 9.1.7
       js-yaml:
         specifier: ^4.1.0
         version: 4.1.0
@@ -1986,6 +1989,11 @@ packages:
   humanize-ms@1.2.1:
     resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==}
 
+  husky@9.1.7:
+    resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==}
+    engines: {node: '>=18'}
+    hasBin: true
+
   ignore@5.3.2:
     resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
     engines: {node: '>= 4'}
@@ -5077,6 +5085,8 @@ snapshots:
     dependencies:
       ms: 2.1.3
 
+  husky@9.1.7: {}
+
   ignore@5.3.2: {}
 
   image-size@1.1.1:
diff --git a/scripts/pre-commit-check.sh b/scripts/pre-commit-check.sh
new file mode 100644
index 000000000..98ea5020f
--- /dev/null
+++ b/scripts/pre-commit-check.sh
@@ -0,0 +1,13 @@
+#!/usr/bin/env bash
+
+set -e
+PACKAGE_FILE="package.json"
+SEARCH_STRING="github:roadmapsh/web-draw-v2"
+
+if grep -q "$SEARCH_STRING" "$PACKAGE_FILE"; then
+  echo "❌ Commit blocked! '$SEARCH_STRING' found in $PACKAGE_FILE."
+  exit 1
+fi
+
+echo "✅ Pre-commit check passed."
+exit 0