diff --git a/output/vue/package.json b/output/vue/package.json
index a3bfa98b884..fed94370655 100644
--- a/output/vue/package.json
+++ b/output/vue/package.json
@@ -46,8 +46,8 @@
     "replace-in-file": "^8.1.0",
     "tsx": "^4.16.2",
     "typescript": "^5.4.5",
-    "vite": "^5.3.4",
-    "vue-tsc": "^2.0.28"
+    "vite": "^5.3.5",
+    "vue-tsc": "^2.0.29"
   },
   "publishConfig": {
     "registry": "https://registry.npmjs.org/",
diff --git a/package-lock.json b/package-lock.json
index 351ded94f25..453d1383a33 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -35,7 +35,7 @@
         "fs-extra": "^11.2.0",
         "glob": "^11.0.0",
         "http-server": "14.1.1",
-        "husky": "9.1.1",
+        "husky": "9.1.2",
         "jscpd": "^4.0.5",
         "lint-staged": "^15.2.7",
         "markdownlint-cli": "^0.41.0",
@@ -12231,6 +12231,16 @@
         "@vue/shared": "3.4.34"
       }
     },
+    "node_modules/@vue/compiler-vue2": {
+      "version": "2.7.16",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz",
+      "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==",
+      "devOptional": true,
+      "dependencies": {
+        "de-indent": "^1.0.2",
+        "he": "^1.2.0"
+      }
+    },
     "node_modules/@vue/devtools-api": {
       "version": "6.6.3",
       "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.3.tgz",
@@ -12272,19 +12282,19 @@
       }
     },
     "node_modules/@vue/language-core": {
-      "version": "2.0.28",
-      "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.0.28.tgz",
-      "integrity": "sha512-0z4tyCCaqqPbdyz0T4yTFQeLpCo4TOM/ZHAC3geGLHeCiFAjVbROB9PiEtrXR1AoLObqUPFHSmKZeWtEMssSqw==",
+      "version": "2.0.29",
+      "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.0.29.tgz",
+      "integrity": "sha512-o2qz9JPjhdoVj8D2+9bDXbaI4q2uZTHQA/dbyZT4Bj1FR9viZxDJnLcKVHfxdn6wsOzRgpqIzJEEmSSvgMvDTQ==",
       "devOptional": true,
       "dependencies": {
         "@volar/language-core": "~2.4.0-alpha.18",
         "@vue/compiler-dom": "^3.4.0",
+        "@vue/compiler-vue2": "^2.7.16",
         "@vue/shared": "^3.4.0",
         "computeds": "^0.0.1",
         "minimatch": "^9.0.3",
         "muggle-string": "^0.4.1",
-        "path-browserify": "^1.0.1",
-        "vue-template-compiler": "^2.7.14"
+        "path-browserify": "^1.0.1"
       },
       "peerDependencies": {
         "typescript": "*"
@@ -20433,9 +20443,9 @@
       }
     },
     "node_modules/husky": {
-      "version": "9.1.1",
-      "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.1.tgz",
-      "integrity": "sha512-fCqlqLXcBnXa/TJXmT93/A36tJsjdJkibQ1MuIiFyCCYUlpYpIaj2mv1w+3KR6Rzu1IC3slFTje5f6DUp2A2rg==",
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.2.tgz",
+      "integrity": "sha512-1/aDMXZdhr1VdJJTLt6e7BipM0Jd9qkpubPiIplon1WmCeOy3nnzsCMeBqS9AsL5ioonl8F8y/F2CLOmk19/Pw==",
       "dev": true,
       "bin": {
         "husky": "bin.js"
@@ -35736,9 +35746,9 @@
       }
     },
     "node_modules/vite": {
-      "version": "5.3.4",
-      "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.4.tgz",
-      "integrity": "sha512-Cw+7zL3ZG9/NZBB8C+8QbQZmR54GwqIz+WMI4b3JgdYJvX+ny9AjJXqkGQlDXSXRP9rP0B4tbciRMOVEKulVOA==",
+      "version": "5.3.5",
+      "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.5.tgz",
+      "integrity": "sha512-MdjglKR6AQXQb9JGiS7Rc2wC6uMjcm7Go/NHNO63EwiJXfuk9PgqiP/n5IDJCziMkfw9n4Ubp7lttNwz+8ZVKA==",
       "dependencies": {
         "esbuild": "^0.21.3",
         "postcss": "^8.4.39",
@@ -36381,24 +36391,14 @@
       "resolved": "showcases/vue-showcase",
       "link": true
     },
-    "node_modules/vue-template-compiler": {
-      "version": "2.7.16",
-      "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz",
-      "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==",
-      "devOptional": true,
-      "dependencies": {
-        "de-indent": "^1.0.2",
-        "he": "^1.2.0"
-      }
-    },
     "node_modules/vue-tsc": {
-      "version": "2.0.28",
-      "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.0.28.tgz",
-      "integrity": "sha512-PQ/OFDM3NtQVMThaVlQf8plyL0j7UGdak4lb1KkUOSL0uyx/F9Liu6aOclgHiMMBKNGIjJWoiFh3HjIdV6DS/Q==",
+      "version": "2.0.29",
+      "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.0.29.tgz",
+      "integrity": "sha512-MHhsfyxO3mYShZCGYNziSbc63x7cQ5g9kvijV7dRe1TTXBRLxXyL0FnXWpUF1xII2mJ86mwYpYsUmMwkmerq7Q==",
       "devOptional": true,
       "dependencies": {
         "@volar/typescript": "~2.4.0-alpha.18",
-        "@vue/language-core": "2.0.28",
+        "@vue/language-core": "2.0.29",
         "semver": "^7.5.4"
       },
       "bin": {
@@ -38226,8 +38226,8 @@
         "replace-in-file": "^8.1.0",
         "tsx": "^4.16.2",
         "typescript": "^5.4.5",
-        "vite": "^5.3.4",
-        "vue-tsc": "^2.0.28"
+        "vite": "^5.3.5",
+        "vue-tsc": "^2.0.29"
       }
     },
     "output/webcomponent": {
@@ -39033,7 +39033,7 @@
         "@vitejs/plugin-react": "^4.3.1",
         "cross-env": "^7.0.3",
         "typescript": "^5.4.5",
-        "vite": "^5.3.4"
+        "vite": "^5.3.5"
       }
     },
     "showcases/vanilla-showcase": {
@@ -39041,7 +39041,7 @@
       "devDependencies": {
         "cpr": "3.0.1",
         "npm-run-all": "4.1.5",
-        "vite": "^5.3.4"
+        "vite": "^5.3.5"
       }
     },
     "showcases/vue-showcase": {
@@ -39055,8 +39055,8 @@
         "@vitejs/plugin-vue": "^5.1.0",
         "cross-env": "^7.0.3",
         "typescript": "^5.4.5",
-        "vite": "^5.3.4",
-        "vue-tsc": "^2.0.28"
+        "vite": "^5.3.5",
+        "vue-tsc": "^2.0.29"
       }
     }
   }
diff --git a/package.json b/package.json
index 6cbd3fd336b..3ee70fdc1fb 100644
--- a/package.json
+++ b/package.json
@@ -63,7 +63,7 @@
     "fs-extra": "^11.2.0",
     "glob": "^11.0.0",
     "http-server": "14.1.1",
-    "husky": "9.1.1",
+    "husky": "9.1.2",
     "jscpd": "^4.0.5",
     "lint-staged": "^15.2.7",
     "markdownlint-cli": "^0.41.0",
diff --git a/showcases/react-showcase/package.json b/showcases/react-showcase/package.json
index 1f6d5ac1950..0848572e804 100644
--- a/showcases/react-showcase/package.json
+++ b/showcases/react-showcase/package.json
@@ -27,6 +27,6 @@
     "@vitejs/plugin-react": "^4.3.1",
     "cross-env": "^7.0.3",
     "typescript": "^5.4.5",
-    "vite": "^5.3.4"
+    "vite": "^5.3.5"
   }
 }
diff --git a/showcases/vanilla-showcase/package.json b/showcases/vanilla-showcase/package.json
index c8ca4902a27..8cd7936f880 100644
--- a/showcases/vanilla-showcase/package.json
+++ b/showcases/vanilla-showcase/package.json
@@ -20,6 +20,6 @@
   "devDependencies": {
     "cpr": "3.0.1",
     "npm-run-all": "4.1.5",
-    "vite": "^5.3.4"
+    "vite": "^5.3.5"
   }
 }
diff --git a/showcases/vue-showcase/package.json b/showcases/vue-showcase/package.json
index 54897b24363..bfcd10032c8 100644
--- a/showcases/vue-showcase/package.json
+++ b/showcases/vue-showcase/package.json
@@ -20,7 +20,7 @@
     "@vitejs/plugin-vue": "^5.1.0",
     "cross-env": "^7.0.3",
     "typescript": "^5.4.5",
-    "vite": "^5.3.4",
-    "vue-tsc": "^2.0.28"
+    "vite": "^5.3.5",
+    "vue-tsc": "^2.0.29"
   }
 }