diff --git a/web/cashtab/.husky/pre-commit b/web/cashtab/.husky/pre-commit new file mode 100755 --- /dev/null +++ b/web/cashtab/.husky/pre-commit @@ -0,0 +1,5 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +cd web/cashtab +npm test -- --watchAll=false diff --git a/web/cashtab/package-lock.json b/web/cashtab/package-lock.json --- a/web/cashtab/package-lock.json +++ b/web/cashtab/package-lock.json @@ -89,6 +89,9 @@ "webpack-manifest-plugin": "^4.0.2", "wif": "^2.0.6", "workbox-webpack-plugin": "^6.4.1" + }, + "devDependencies": { + "husky": "^8.0.1" } }, "node_modules/@ampproject/remapping": { @@ -10060,6 +10063,21 @@ "node": ">=10.17.0" } }, + "node_modules/husky": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.1.tgz", + "integrity": "sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==", + "dev": true, + "bin": { + "husky": "lib/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, "node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -27446,6 +27464,12 @@ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" }, + "husky": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.1.tgz", + "integrity": "sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==", + "dev": true + }, "iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", diff --git a/web/cashtab/package.json b/web/cashtab/package.json --- a/web/cashtab/package.json +++ b/web/cashtab/package.json @@ -88,6 +88,7 @@ "scripts": { "start": "node scripts/start.js", "build": "node scripts/build.js", + "prepare": "cd ../.. && husky install web/cashtab/.husky", "test": "node scripts/test.js", "test:coverage": "CI=true npm run test --coverage", "preextension": "npm i -g browserify", @@ -177,5 +178,13 @@ "presets": [ "react-app" ] + }, + "devDependencies": { + "husky": "^8.0.1" + }, + "husky": { + "hooks": { + "pre-commit": "echo ”[Husky] pre-commit”" + } } }